ibms-MCUT/Frontend/lib/FixedColumns-4.2.2/js/dataTables.fixedColumns.min.js

4 lines
8.0 KiB
JavaScript

/*! FixedColumns 4.2.2
* © SpryMedia Ltd - datatables.net/license
*/
!function(e){var i,l;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(t){return e(t,window,document)}):"object"==typeof exports?(i=require("jquery"),l=function(t,s){s.fn.dataTable||require("datatables.net")(t,s)},"undefined"!=typeof window?module.exports=function(t,s){return t=t||window,s=s||i(t),l(t,s),e(s,0,t.document)}:(l(window,i),module.exports=e(i,window,window.document))):e(jQuery,window,document)}(function(l,t,s,F){"use strict";var A,i,e,o,r=l.fn.dataTable;function d(t,s){var e=this;if(i&&i.versionCheck&&i.versionCheck("1.10.0"))return t=new i.Api(t),this.classes=A.extend(!0,{},d.classes),this.c=A.extend(!0,{},d.defaults,s),s&&s.left!==F||this.c.leftColumns===F||(this.c.left=this.c.leftColumns),s&&s.right!==F||this.c.rightColumns===F||(this.c.right=this.c.rightColumns),this.s={barWidth:0,dt:t,rtl:"rtl"===A("body").css("direction")},s={bottom:"0px",display:"block",position:"absolute",width:this.s.barWidth+1+"px"},this.dom={leftBottomBlocker:A("<div>").css(s).css("left",0).addClass(this.classes.leftBottomBlocker),leftTopBlocker:A("<div>").css(s).css({left:0,top:0}).addClass(this.classes.leftTopBlocker),rightBottomBlocker:A("<div>").css(s).css("right",0).addClass(this.classes.rightBottomBlocker),rightTopBlocker:A("<div>").css(s).css({right:0,top:0}).addClass(this.classes.rightTopBlocker)},this.s.dt.settings()[0]._bInitComplete?(this._addStyles(),this._setKeyTableListener()):t.one("init.dt",function(){e._addStyles(),e._setKeyTableListener()}),t.on("column-sizing.dt",function(){return e._addStyles()}),t.settings()[0]._fixedColumns=this;throw new Error("StateRestore requires DataTables 1.10 or newer")}function h(t,s){void 0===s&&(s=null);t=new r.Api(t),s=s||t.init().fixedColumns||r.defaults.fixedColumns;new e(t,s)}return d.prototype.left=function(t){return t!==F&&(this.c.left=t,this._addStyles()),this.c.left},d.prototype.right=function(t){return t!==F&&(this.c.right=t,this._addStyles()),this.c.right},d.prototype._addStyles=function(){this.s.dt.settings()[0].oScroll.sY&&(s=A(this.s.dt.table().node()).closest("div.dataTables_scrollBody")[0],e=this.s.dt.settings()[0].oBrowser.barWidth,s.offsetWidth-s.clientWidth>=e?this.s.barWidth=e:this.s.barWidth=0,this.dom.rightTopBlocker.css("width",this.s.barWidth+1),this.dom.leftTopBlocker.css("width",this.s.barWidth+1),this.dom.rightBottomBlocker.css("width",this.s.barWidth+1),this.dom.leftBottomBlocker.css("width",this.s.barWidth+1));for(var t=null,s=this.s.dt.column(0).header(),e=null,i=(null!==s&&(e=(s=A(s)).outerHeight()+1,t=A(s.closest("div.dataTables_scroll")).css("position","relative")),this.s.dt.column(0).footer()),l=null,o=(null!==i&&(l=(i=A(i)).outerHeight(),null===t)&&(t=A(i.closest("div.dataTables_scroll")).css("position","relative")),this.s.dt.columns().data().toArray().length),r=0,d=0,h=A(this.s.dt.table().node()).children("tbody").children("tr"),n=0,a=new Map,c=0;c<o;c++){var f=this.s.dt.column(c);if(0<c&&a.set(c-1,n),f.visible()){var u=A(f.header()),g=A(f.footer());if(c-n<this.c.left){if(A(this.s.dt.table().node()).addClass(this.classes.tableFixedLeft),t.addClass(this.classes.tableFixedLeft),0<c-n)for(var C=c;C+1<o;){if((y=this.s.dt.column(C-1,{page:"current"})).visible()){r+=A(y.nodes()[0]).outerWidth(),d+=y.header()||y.footer()?A(y.header()).outerWidth():0;break}C--}for(var m=0,p=h;m<p.length;m++){var x=p[m];A(A(x).children()[c-n]).css(this._getCellCSS(!1,r,"left")).addClass(this.classes.fixedLeft)}u.css(this._getCellCSS(!0,d,"left")).addClass(this.classes.fixedLeft),g.css(this._getCellCSS(!0,d,"left")).addClass(this.classes.fixedLeft)}else{for(var b=0,v=h;b<v.length;b++){x=v[b];(R=A(A(x).children()[c-n])).hasClass(this.classes.fixedLeft)&&R.css(this._clearCellCSS("left")).removeClass(this.classes.fixedLeft)}u.hasClass(this.classes.fixedLeft)&&u.css(this._clearCellCSS("left")).removeClass(this.classes.fixedLeft),g.hasClass(this.classes.fixedLeft)&&g.css(this._clearCellCSS("left")).removeClass(this.classes.fixedLeft)}}else n++}for(var B=0,S=0,_=0,c=o-1;0<=c;c--)if((f=this.s.dt.column(c)).visible()){var u=A(f.header()),g=A(f.footer()),k=a.get(c);if(k===F&&(k=n),c+_>=o-this.c.right){if(A(this.s.dt.table().node()).addClass(this.classes.tableFixedRight),t.addClass(this.classes.tableFixedRight),c+1+_<o)for(var y,C=c;C+1<o;){if((y=this.s.dt.column(C+1,{page:"current"})).visible()){B+=A(y.nodes()[0]).outerWidth(),S+=y.header()||y.footer()?A(y.header()).outerWidth():0;break}C++}for(var w=0,T=h;w<T.length;w++){x=T[w];A(A(x).children()[c-k]).css(this._getCellCSS(!1,B,"right")).addClass(this.classes.fixedRight)}u.css(this._getCellCSS(!0,S,"right")).addClass(this.classes.fixedRight),g.css(this._getCellCSS(!0,S,"right")).addClass(this.classes.fixedRight)}else{for(var L=0,W=h;L<W.length;L++){var R,x=W[L];(R=A(A(x).children()[c-k])).hasClass(this.classes.fixedRight)&&R.css(this._clearCellCSS("right")).removeClass(this.classes.fixedRight)}u.hasClass(this.classes.fixedRight)&&u.css(this._clearCellCSS("right")).removeClass(this.classes.fixedRight),g.hasClass(this.classes.fixedRight)&&g.css(this._clearCellCSS("right")).removeClass(this.classes.fixedRight)}}else _++;s&&(this.s.rtl?(this.dom.leftTopBlocker.outerHeight(e),t.append(this.dom.leftTopBlocker)):(this.dom.rightTopBlocker.outerHeight(e),t.append(this.dom.rightTopBlocker))),i&&(this.s.rtl?(this.dom.leftBottomBlocker.outerHeight(l),t.append(this.dom.leftBottomBlocker)):(this.dom.rightBottomBlocker.outerHeight(l),t.append(this.dom.rightBottomBlocker)))},d.prototype._getCellCSS=function(t,s,e){return"left"===e?this.s.rtl?{position:"sticky",right:s+"px"}:{left:s+"px",position:"sticky"}:this.s.rtl?{left:s+(t?this.s.barWidth:0)+"px",position:"sticky"}:{position:"sticky",right:s+(t?this.s.barWidth:0)+"px"}},d.prototype._clearCellCSS=function(t){return"left"===t?this.s.rtl?{position:"",right:""}:{left:"",position:""}:this.s.rtl?{left:"",position:""}:{position:"",right:""}},d.prototype._setKeyTableListener=function(){var h=this;this.s.dt.on("key-focus",function(t,s,e){var i,l,o,r=A(e.node()).offset(),d=A(A(h.s.dt.table().node()).closest("div.dataTables_scrollBody"));0<h.c.left&&(i=(l=A(h.s.dt.column(h.c.left-1).header())).offset(),l=l.outerWidth(),r.left<i.left+l)&&(o=d.scrollLeft(),d.scrollLeft(o-(i.left+l-r.left))),0<h.c.right&&(i=h.s.dt.columns().data().toArray().length,l=A(e.node()).outerWidth(),e=A(h.s.dt.column(i-h.c.right).header()).offset(),r.left+l>e.left)&&(o=d.scrollLeft(),d.scrollLeft(o-(e.left-(r.left+l))))}),this.s.dt.on("draw",function(){h._addStyles()}),this.s.dt.on("column-reorder",function(){h._addStyles()}),this.s.dt.on("column-visibility",function(t,s,e,i,l){l&&!s.bDestroying&&setTimeout(function(){h._addStyles()},50)})},d.version="4.2.2",d.classes={fixedLeft:"dtfc-fixed-left",fixedRight:"dtfc-fixed-right",leftBottomBlocker:"dtfc-left-bottom-blocker",leftTopBlocker:"dtfc-left-top-blocker",rightBottomBlocker:"dtfc-right-bottom-blocker",rightTopBlocker:"dtfc-right-top-blocker",tableFixedLeft:"dtfc-has-left",tableFixedRight:"dtfc-has-right"},d.defaults={i18n:{button:"FixedColumns"},left:1,right:0},e=d,i=(A=l).fn.dataTable,l.fn.dataTable.FixedColumns=e,l.fn.DataTable.FixedColumns=e,(o=r.Api.register)("fixedColumns()",function(){return this}),o("fixedColumns().left()",function(t){var s=this.context[0];return t!==F?(s._fixedColumns.left(t),this):s._fixedColumns.left()}),o("fixedColumns().right()",function(t){var s=this.context[0];return t!==F?(s._fixedColumns.right(t),this):s._fixedColumns.right()}),r.ext.buttons.fixedColumns={action:function(t,s,e,i){l(e).attr("active")?(l(e).removeAttr("active").removeClass("active"),s.fixedColumns().left(0),s.fixedColumns().right(0)):(l(e).attr("active","true").addClass("active"),s.fixedColumns().left(i.config.left),s.fixedColumns().right(i.config.right))},config:{left:1,right:0},init:function(t,s,e){t.settings()[0]._fixedColumns===F&&h(t.settings(),e),l(s).attr("active","true").addClass("active"),t.button(s).text(e.text||t.i18n("buttons.fixedColumns",t.settings()[0]._fixedColumns.c.i18n.button))},text:null},l(s).on("plugin-init.dt",function(t,s){"dt"!==t.namespace||!s.oInit.fixedColumns&&!r.defaults.fixedColumns||s._fixedColumns||h(s,null)}),r});