jquery.dgtable 0.6.8 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * jquery.dgtable 0.6.8
2
+ * jquery.dgtable 0.6.9
3
3
  * git://github.com/danielgindi/jquery.dgtable.git
4
4
  */
5
- import e from"jquery";import{getScrollHorz as t,setScrollHorz as r}from"@danielgindi/dom-utils/lib/ScrollHelper";import{getElementOffset as o,getElementWidth as i,getElementHeight as n,setElementWidth as l}from"@danielgindi/dom-utils/lib/Css";var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},a=function(e){return e&&e.Math==Math&&e},d=a("object"==typeof globalThis&&globalThis)||a("object"==typeof window&&window)||a("object"==typeof self&&self)||a("object"==typeof s&&s)||function(){return this}()||Function("return this")(),u={},h=function(e){try{return!!e()}catch(e){return!0}},c=!h((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),p=!h((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),m=p,f=Function.prototype.call,g=m?f.bind(f):function(){return f.apply(f,arguments)},b={},v={}.propertyIsEnumerable,C=Object.getOwnPropertyDescriptor,y=C&&!v.call({1:2},1);b.f=y?function(e){var t=C(this,e);return!!t&&t.enumerable}:v;var w,_,W=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},I=p,E=Function.prototype,R=E.call,S=I&&E.bind.bind(R,R),x=I?S:function(e){return function(){return R.apply(e,arguments)}},H=x,N=H({}.toString),T=H("".slice),P=function(e){return T(N(e),8,-1)},F=h,A=P,M=Object,O=x("".split),z=F((function(){return!M("z").propertyIsEnumerable(0)}))?function(e){return"String"==A(e)?O(e,""):M(e)}:M,k=function(e){return null==e},L=k,$=TypeError,V=function(e){if(L(e))throw $("Can't call method on "+e);return e},B=z,D=V,j=function(e){return B(D(e))},U="object"==typeof document&&document.all,q={all:U,IS_HTMLDDA:void 0===U&&void 0!==U},X=q.all,Y=q.IS_HTMLDDA?function(e){return"function"==typeof e||e===X}:function(e){return"function"==typeof e},G=Y,J=q.all,K=q.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:G(e)||e===J}:function(e){return"object"==typeof e?null!==e:G(e)},Q=d,Z=Y,ee=function(e){return Z(e)?e:void 0},te=function(e,t){return arguments.length<2?ee(Q[e]):Q[e]&&Q[e][t]},re=x({}.isPrototypeOf),oe=te("navigator","userAgent")||"",ie=d,ne=oe,le=ie.process,se=ie.Deno,ae=le&&le.versions||se&&se.version,de=ae&&ae.v8;de&&(_=(w=de.split("."))[0]>0&&w[0]<4?1:+(w[0]+w[1])),!_&&ne&&(!(w=ne.match(/Edge\/(\d+)/))||w[1]>=74)&&(w=ne.match(/Chrome\/(\d+)/))&&(_=+w[1]);var ue=_,he=ue,ce=h,pe=!!Object.getOwnPropertySymbols&&!ce((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&he&&he<41})),me=pe&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,fe=te,ge=Y,be=re,ve=Object,Ce=me?function(e){return"symbol"==typeof e}:function(e){var t=fe("Symbol");return ge(t)&&be(t.prototype,ve(e))},ye=String,we=function(e){try{return ye(e)}catch(e){return"Object"}},_e=Y,We=we,Ie=TypeError,Ee=function(e){if(_e(e))return e;throw Ie(We(e)+" is not a function")},Re=Ee,Se=k,xe=g,He=Y,Ne=K,Te=TypeError,Pe={exports:{}},Fe=d,Ae=Object.defineProperty,Me=function(e,t){try{Ae(Fe,e,{value:t,configurable:!0,writable:!0})}catch(r){Fe[e]=t}return t},Oe=Me,ze=d["__core-js_shared__"]||Oe("__core-js_shared__",{}),ke=ze;(Pe.exports=function(e,t){return ke[e]||(ke[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.26.1",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Le=V,$e=Object,Ve=function(e){return $e(Le(e))},Be=Ve,De=x({}.hasOwnProperty),je=Object.hasOwn||function(e,t){return De(Be(e),t)},Ue=x,qe=0,Xe=Math.random(),Ye=Ue(1..toString),Ge=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Ye(++qe+Xe,36)},Je=d,Ke=Pe.exports,Qe=je,Ze=Ge,et=pe,tt=me,rt=Ke("wks"),ot=Je.Symbol,it=ot&&ot.for,nt=tt?ot:ot&&ot.withoutSetter||Ze,lt=function(e){if(!Qe(rt,e)||!et&&"string"!=typeof rt[e]){var t="Symbol."+e;et&&Qe(ot,e)?rt[e]=ot[e]:rt[e]=tt&&it?it(t):nt(t)}return rt[e]},st=g,at=K,dt=Ce,ut=TypeError,ht=lt("toPrimitive"),ct=function(e,t){if(!at(e)||dt(e))return e;var r,o,i=(o=e[ht],Se(o)?void 0:Re(o));if(i){if(void 0===t&&(t="default"),r=st(i,e,t),!at(r)||dt(r))return r;throw ut("Can't convert object to primitive value")}return void 0===t&&(t="number"),function(e,t){var r,o;if("string"===t&&He(r=e.toString)&&!Ne(o=xe(r,e)))return o;if(He(r=e.valueOf)&&!Ne(o=xe(r,e)))return o;if("string"!==t&&He(r=e.toString)&&!Ne(o=xe(r,e)))return o;throw Te("Can't convert object to primitive value")}(e,t)},pt=Ce,mt=function(e){var t=ct(e,"string");return pt(t)?t:t+""},ft=K,gt=d.document,bt=ft(gt)&&ft(gt.createElement),vt=!c&&!h((function(){return 7!=Object.defineProperty((e="div",bt?gt.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),Ct=c,yt=g,wt=b,_t=W,Wt=j,It=mt,Et=je,Rt=vt,St=Object.getOwnPropertyDescriptor;u.f=Ct?St:function(e,t){if(e=Wt(e),t=It(t),Rt)try{return St(e,t)}catch(e){}if(Et(e,t))return _t(!yt(wt.f,e,t),e[t])};var xt={},Ht=c&&h((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Nt=K,Tt=String,Pt=TypeError,Ft=function(e){if(Nt(e))return e;throw Pt(Tt(e)+" is not an object")},At=c,Mt=vt,Ot=Ht,zt=Ft,kt=mt,Lt=TypeError,$t=Object.defineProperty,Vt=Object.getOwnPropertyDescriptor;xt.f=At?Ot?function(e,t,r){if(zt(e),t=kt(t),zt(r),"function"==typeof e&&"prototype"===t&&"value"in r&&"writable"in r&&!r.writable){var o=Vt(e,t);o&&o.writable&&(e[t]=r.value,r={configurable:"configurable"in r?r.configurable:o.configurable,enumerable:"enumerable"in r?r.enumerable:o.enumerable,writable:!1})}return $t(e,t,r)}:$t:function(e,t,r){if(zt(e),t=kt(t),zt(r),Mt)try{return $t(e,t,r)}catch(e){}if("get"in r||"set"in r)throw Lt("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var Bt=xt,Dt=W,jt=c?function(e,t,r){return Bt.f(e,t,Dt(1,r))}:function(e,t,r){return e[t]=r,e},Ut={exports:{}},qt=c,Xt=je,Yt=Function.prototype,Gt=qt&&Object.getOwnPropertyDescriptor,Jt=Xt(Yt,"name"),Kt={EXISTS:Jt,PROPER:Jt&&"something"===function(){}.name,CONFIGURABLE:Jt&&(!qt||qt&&Gt(Yt,"name").configurable)},Qt=Y,Zt=ze,er=x(Function.toString);Qt(Zt.inspectSource)||(Zt.inspectSource=function(e){return er(e)});var tr,rr,or,ir,nr=Zt.inspectSource,lr=Y,sr=d.WeakMap,ar=lr(sr)&&/native code/.test(String(sr)),dr=Pe.exports,ur=Ge,hr=dr("keys"),cr={},pr=ar,mr=d,fr=K,gr=jt,br=je,vr=ze,Cr=cr,yr=mr.TypeError,wr=mr.WeakMap;if(pr||vr.state){var _r=vr.state||(vr.state=new wr);_r.get=_r.get,_r.has=_r.has,_r.set=_r.set,tr=function(e,t){if(_r.has(e))throw yr("Object already initialized");return t.facade=e,_r.set(e,t),t},rr=function(e){return _r.get(e)||{}},or=function(e){return _r.has(e)}}else{var Wr=hr[ir="state"]||(hr[ir]=ur(ir));Cr[Wr]=!0,tr=function(e,t){if(br(e,Wr))throw yr("Object already initialized");return t.facade=e,gr(e,Wr,t),t},rr=function(e){return br(e,Wr)?e[Wr]:{}},or=function(e){return br(e,Wr)}}var Ir={set:tr,get:rr,has:or,enforce:function(e){return or(e)?rr(e):tr(e,{})},getterFor:function(e){return function(t){var r;if(!fr(t)||(r=rr(t)).type!==e)throw yr("Incompatible receiver, "+e+" required");return r}}},Er=h,Rr=Y,Sr=je,xr=c,Hr=Kt.CONFIGURABLE,Nr=nr,Tr=Ir.enforce,Pr=Ir.get,Fr=Object.defineProperty,Ar=xr&&!Er((function(){return 8!==Fr((function(){}),"length",{value:8}).length})),Mr=String(String).split("String"),Or=Ut.exports=function(e,t,r){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Sr(e,"name")||Hr&&e.name!==t)&&(xr?Fr(e,"name",{value:t,configurable:!0}):e.name=t),Ar&&r&&Sr(r,"arity")&&e.length!==r.arity&&Fr(e,"length",{value:r.arity});try{r&&Sr(r,"constructor")&&r.constructor?xr&&Fr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var o=Tr(e);return Sr(o,"source")||(o.source=Mr.join("string"==typeof t?t:"")),e};Function.prototype.toString=Or((function(){return Rr(this)&&Pr(this).source||Nr(this)}),"toString");var zr=Y,kr=xt,Lr=Ut.exports,$r=Me,Vr={},Br=Math.ceil,Dr=Math.floor,jr=Math.trunc||function(e){var t=+e;return(t>0?Dr:Br)(t)},Ur=function(e){var t=+e;return t!=t||0===t?0:jr(t)},qr=Ur,Xr=Math.max,Yr=Math.min,Gr=function(e,t){var r=qr(e);return r<0?Xr(r+t,0):Yr(r,t)},Jr=Ur,Kr=Math.min,Qr=function(e){return(t=e.length)>0?Kr(Jr(t),9007199254740991):0;var t},Zr=j,eo=Gr,to=Qr,ro=function(e){return function(t,r,o){var i,n=Zr(t),l=to(n),s=eo(o,l);if(e&&r!=r){for(;l>s;)if((i=n[s++])!=i)return!0}else for(;l>s;s++)if((e||s in n)&&n[s]===r)return e||s||0;return!e&&-1}},oo={includes:ro(!0),indexOf:ro(!1)},io=je,no=j,lo=oo.indexOf,so=cr,ao=x([].push),uo=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");Vr.f=Object.getOwnPropertyNames||function(e){return function(e,t){var r,o=no(e),i=0,n=[];for(r in o)!io(so,r)&&io(o,r)&&ao(n,r);for(;t.length>i;)io(o,r=t[i++])&&(~lo(n,r)||ao(n,r));return n}(e,uo)};var ho={};ho.f=Object.getOwnPropertySymbols;var co=te,po=Vr,mo=ho,fo=Ft,go=x([].concat),bo=co("Reflect","ownKeys")||function(e){var t=po.f(fo(e)),r=mo.f;return r?go(t,r(e)):t},vo=je,Co=bo,yo=u,wo=xt,_o=function(e,t,r){for(var o=Co(t),i=wo.f,n=yo.f,l=0;l<o.length;l++){var s=o[l];vo(e,s)||r&&vo(r,s)||i(e,s,n(t,s))}},Wo=h,Io=Y,Eo=/#|\.prototype\./,Ro=function(e,t){var r=xo[So(e)];return r==No||r!=Ho&&(Io(t)?Wo(t):!!t)},So=Ro.normalize=function(e){return String(e).replace(Eo,".").toLowerCase()},xo=Ro.data={},Ho=Ro.NATIVE="N",No=Ro.POLYFILL="P",To=Ro,Po=d,Fo=u.f,Ao=jt,Mo=function(e,t,r,o){o||(o={});var i=o.enumerable,n=void 0!==o.name?o.name:t;if(zr(r)&&Lr(r,n,o),o.global)i?e[t]=r:$r(t,r);else{try{o.unsafe?e[t]&&(i=!0):delete e[t]}catch(e){}i?e[t]=r:kr.f(e,t,{value:r,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return e},Oo=Me,zo=_o,ko=To,Lo=function(e,t){var r,o,i,n,l,s=e.target,a=e.global,d=e.stat;if(r=a?Po:d?Po[s]||Oo(s,{}):(Po[s]||{}).prototype)for(o in t){if(n=t[o],i=e.dontCallGetSet?(l=Fo(r,o))&&l.value:r[o],!ko(a?o:s+(d?".":"#")+o,e.forced)&&void 0!==i){if(typeof n==typeof i)continue;zo(n,i)}(e.sham||i&&i.sham)&&Ao(n,"sham",!0),Mo(r,o,n,e)}},$o={};$o[lt("toStringTag")]="z";var Vo="[object z]"===String($o),Bo=Y,Do=P,jo=lt("toStringTag"),Uo=Object,qo="Arguments"==Do(function(){return arguments}()),Xo=Vo?Do:function(e){var t,r,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Uo(e),jo))?r:qo?Do(t):"Object"==(o=Do(t))&&Bo(t.callee)?"Arguments":o},Yo=String,Go=function(e){if("Symbol"===Xo(e))throw TypeError("Cannot convert a Symbol value to a string");return Yo(e)},Jo=Lo,Ko=c,Qo=d,Zo=x,ei=je,ti=Y,ri=re,oi=Go,ii=xt.f,ni=_o,li=Qo.Symbol,si=li&&li.prototype;if(Ko&&ti(li)&&(!("description"in si)||void 0!==li().description)){var ai={},di=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:oi(arguments[0]),t=ri(si,this)?new li(e):void 0===e?li():li(e);return""===e&&(ai[t]=!0),t};ni(di,li),di.prototype=si,si.constructor=di;var ui="Symbol(test)"==String(li("test")),hi=Zo(si.valueOf),ci=Zo(si.toString),pi=/^Symbol\((.*)\)[^)]+$/,mi=Zo("".replace),fi=Zo("".slice);ii(si,"description",{configurable:!0,get:function(){var e=hi(this);if(ei(ai,e))return"";var t=ci(e),r=ui?fi(t,7,-1):mi(t,pi,"$1");return""===r?void 0:r}}),Jo({global:!0,constructor:!0,forced:!0},{Symbol:di})}var gi,bi,vi=we,Ci=TypeError,yi=mt,wi=xt,_i=W,Wi=Gr,Ii=Qr,Ei=function(e,t,r){var o=yi(t);o in e?wi.f(e,o,_i(0,r)):e[o]=r},Ri=Array,Si=Math.max,xi=function(e,t,r){for(var o=Ii(e),i=Wi(t,o),n=Wi(void 0===r?o:r,o),l=Ri(Si(n-i,0)),s=0;i<n;i++,s++)Ei(l,s,e[i]);return l.length=s,l},Hi=Math.floor,Ni=function(e,t){var r=e.length,o=Hi(r/2);return r<8?Ti(e,t):Pi(e,Ni(xi(e,0,o),t),Ni(xi(e,o),t),t)},Ti=function(e,t){for(var r,o,i=e.length,n=1;n<i;){for(o=n,r=e[n];o&&t(e[o-1],r)>0;)e[o]=e[--o];o!==n++&&(e[o]=r)}return e},Pi=function(e,t,r,o){for(var i=t.length,n=r.length,l=0,s=0;l<i||s<n;)e[l+s]=l<i&&s<n?o(t[l],r[s])<=0?t[l++]:r[s++]:l<i?t[l++]:r[s++];return e},Fi=Ni,Ai=h,Mi=oe.match(/firefox\/(\d+)/i),Oi=!!Mi&&+Mi[1],zi=/MSIE|Trident/.test(oe),ki=oe.match(/AppleWebKit\/(\d+)\./),Li=!!ki&&+ki[1],$i=Lo,Vi=x,Bi=Ee,Di=Ve,ji=Qr,Ui=function(e,t){if(!delete e[t])throw Ci("Cannot delete property "+vi(t)+" of "+vi(e))},qi=Go,Xi=h,Yi=Fi,Gi=Oi,Ji=zi,Ki=ue,Qi=Li,Zi=[],en=Vi(Zi.sort),tn=Vi(Zi.push),rn=Xi((function(){Zi.sort(void 0)})),on=Xi((function(){Zi.sort(null)})),nn=!!(bi=[]["sort"])&&Ai((function(){bi.call(null,gi||function(){return 1},1)})),ln=!Xi((function(){if(Ki)return Ki<70;if(!(Gi&&Gi>3)){if(Ji)return!0;if(Qi)return Qi<603;var e,t,r,o,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(o=0;o<47;o++)Zi.push({k:t+o,v:r})}for(Zi.sort((function(e,t){return t.v-e.v})),o=0;o<Zi.length;o++)t=Zi[o].k.charAt(0),i.charAt(i.length-1)!==t&&(i+=t);return"DGBEFHACIJK"!==i}}));$i({target:"Array",proto:!0,forced:rn||!on||!nn||!ln},{sort:function(e){void 0!==e&&Bi(e);var t=Di(this);if(ln)return void 0===e?en(t):en(t,e);var r,o,i=[],n=ji(t);for(o=0;o<n;o++)o in t&&tn(i,t[o]);for(Yi(i,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:qi(t)>qi(r)?1:-1}}(e)),r=ji(i),o=0;o<r;)t[o]=i[o++];for(;o<n;)Ui(t,o++);return t}});const sn=Array.prototype.indexOf,an=function(e,t){for(let r=0,o=e.length;r>=0&&r<o;r+=1)if(t(e[r],r,e))return e[r]},dn=function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")};function un(){let e=[];return Object.assign(e,un.prototype),e.initialize.apply(e,arguments),e}un.prototype=[],un.prototype.initialize=function(e){e=e||{},this.sortColumn=null==e.sortColumn?[]:e.sortColumn},un.prototype.add=function(e,t){let r,o;if("splice"in e&&"length"in e)if("number"==typeof t)for(r=0,o=e.length;r<o;r++)this.splice(t++,0,e[r]);else for(r=0,o=e.length;r<o;r++)this.push(e[r]);else"number"==typeof t?this.splice(t,0,e):this.push(e)},un.prototype.reset=function(e){this.length=0,e&&this.add(e)},un.prototype.filteredCollection=function(e,t){if(e&&t){let r=new un({sortColumn:this.sortColumn});for(let o,i=0,n=this.length;i<n;i++)o=this[i],e(o,t)&&(o.__i=i,r.push(o));return r}return null},un.prototype.onComparatorRequired=null,un.prototype.onSort=null;let hn=un.prototype.sort;function cn(e,t){let r=e.column,o=e.comparePath||r;"string"==typeof o&&(o=o.split("."));let i,n=o.length,l=n>1,s=t?1:-1,a=t?-1:1;return function(e,t){let r=e[o[0]],d=t[o[0]];if(l)for(i=1;i<n;i++)r=r&&r[o[i]],d=d&&d[o[i]];return r===d?0:null==r?s:null==d?a:r<d?s:a}}function pn(){let e=[];return Object.assign(e,pn.prototype),e.initialize.apply(e,arguments),e}un.prototype.sort=function(e){let t;if(this.sortColumn.length){let r=[];for(let e=0;e<this.sortColumn.length;e++){t=null;const o=cn(this.sortColumn[e],this.sortColumn[e].descending);this.onComparatorRequired&&(t=this.onComparatorRequired(this.sortColumn[e].column,this.sortColumn[e].descending,o)),t||(t=o),r.push(t.bind(this))}if(1===r.length)t=r[0],hn.call(this,t);else{let e,o=r.length;t=function(t,i){for(let n=0;n<o;n++)if(e=r[n](t,i),0!==e)return e;return e},hn.call(this,t)}e||this.onSort&&this.onSort(t)}return t},pn.prototype=[],pn.prototype.initialize=function(){},pn.prototype.get=function(e){for(let t=0,r=this.length;t<r;t++)if(this[t].name===e)return this[t];return null},pn.prototype.indexOf=function(e){for(let t=0,r=this.length;t<r;t++)if(this[t].name===e)return t;return-1},pn.prototype.getByOrder=function(e){for(let t=0,r=this.length;t<r;t++)if(this[t].order===e)return this[t];return null},pn.prototype.normalizeOrder=function(){let e,t=[];for(e=0;e<this.length;e++)t.push(this[e]);for(t.sort((function(e,t){return e.order<t.order?-1:e.order>t.order?1:0})),e=0;e<t.length;e++)t[e].order=e;return this},pn.prototype.getColumns=function(){let e=[];for(let t,r=0;r<this.length;r++)t=this[r],e.push(t);return e.sort(((e,t)=>e.order<t.order?-1:e.order>t.order?1:0)),e},pn.prototype.getVisibleColumns=function(){let e=[];for(let t,r=0;r<this.length;r++)t=this[r],t.visible&&e.push(t);return e.sort(((e,t)=>e.order<t.order?-1:e.order>t.order?1:0)),e},pn.prototype.getMaxOrder=function(){let e=0;for(let t,r=0;r<this.length;r++)t=this[r],t.order>e&&(e=t.order);return e},pn.prototype.moveColumn=function(e,t){if(e&&t){let r,o,i=e.order,n=t.order;if(i<n)for(r=i+1;r<=n;r++)o=this.getByOrder(r),o.order--;else for(r=i-1;r>=n;r--)o=this.getByOrder(r),o.order++;e.order=n}return this};class mn{static saveSelection(e){let t=window.getSelection().getRangeAt(0);if(e!==t.commonAncestorContainer&&!function(e,t){for(;(e=e.parentNode)&&e!==t;);return!!e}(t.commonAncestorContainer,e))return null;let r=t.cloneRange();r.selectNodeContents(e),r.setEnd(t.startContainer,t.startOffset);let o=r.toString().length;return{start:o,end:o+t.toString().length}}static restoreSelection(e,t){let r,o=0,i=[e],n=!1,l=!1,s=document.createRange();for(s.setStart(e,0),s.collapse(!0);!l&&(r=i.pop());)if(3===r.nodeType){let e=o+r.length;!n&&t.start>=o&&t.start<=e&&(s.setStart(r,t.start-o),n=!0),n&&t.end>=o&&t.end<=e&&(s.setEnd(r,t.end-o),l=!0),o=e}else{let e=r.childNodes.length;for(;e--;)i.push(r.childNodes[e])}let a=window.getSelection();a.removeAllRanges(),a.addRange(s)}}const fn=Object.prototype.hasOwnProperty,gn=void 0!==Element.prototype.insertAdjacentElement;function bn(e,t,r){t?!1===gn||e instanceof DocumentFragment?r.insertBefore(e,t):t.insertAdjacentElement("beforebegin",e):r.appendChild(e)}function vn(e,t,r,o){return e.parentNode!==o?(t||(t=document.createDocumentFragment()),t.appendChild(e)):(t&&t.childNodes.length>0&&(bn(t,r,o),t=null),e.nextSibling!==r&&bn(e,r,o)),t}class Cn{constructor(e){var t;const r=this._p={list:e.list||null,hookScrollEvent:void 0===e.hookScrollEvent||!!e.hookScrollEvent,count:e.count||0,virtual:void 0===e.virtual||!!e.virtual,userItemsParent:e.itemsParent||null,setVirtualWrapperWidth:null===(t=e.autoVirtualWrapperWidth)||void 0===t||t,estimatedItemHeight:20,buffer:5,itemHeightEstimatorFn:null,itemElementCreatorFn:_n,onItemRender:null,onItemUnrender:null,onScrollHeightChange:e.onScrollHeightChange,virtualWrapper:null,currentItemsParent:null,cachedItemHeights:[],cachedItemEstimatedHeights:[],cachedItemPositions:[],itemPositionsNeedsUpdate:0,boundRender:this.render.bind(this),existingEls:[]};r.currentItemsParent=r.userItemsParent||r.list,"boolean"==typeof e.hookScrollEvent?this.setHookScrollEvent(e.hookScrollEvent):this._hookEvents(),"number"==typeof e.count&&this.setCount(e.count),"boolean"==typeof e.virtual&&this.setVirtual(e.virtual),"number"==typeof e.estimatedItemHeight&&this.setEstimatedItemHeight(e.estimatedItemHeight),"number"==typeof e.buffer&&this.setBuffer(e.buffer),"function"==typeof e.itemHeightEstimatorFn&&this.setItemHeightEstimatorFn(e.itemHeightEstimatorFn),"function"==typeof e.itemElementCreatorFn&&this.setItemElementCreatorFn(e.itemElementCreatorFn),"function"==typeof e.onItemRender&&this.setOnItemRender(e.onItemRender),"function"==typeof e.onItemUnrender&&this.setOnItemUnrender(e.onItemUnrender)}destroy(){this._unhookEvents().invalidate()._destroyElements()}setHookScrollEvent(e){const t=this._p;return e=void 0===e||!!e,t.hookScrollEvent===e||(t.hookScrollEvent=e,this._unhookEvents()._hookEvents()),this}isHookScrollEventEnabled(){return this._p.hookScrollEvent}setCount(e){return this._p.count=e,this.invalidatePositions()}getCount(){return this._p.count}setVirtual(e){const t=this._p;return e=void 0===e||!!e,t.virtual===e||(t.virtual=e,this._hookEvents().invalidate()._destroyElements()),this}isVirtual(){return this._p.virtual}setEstimatedItemHeight(e){return this._p.estimatedItemHeight=Math.abs(("number"==typeof e?e:Number(e))||20),this}getEstimatedItemHeight(){return this._p.estimatedItemHeight}setAutoVirtualWrapperWidth(e){const t=this._p;return t.autoVirtualWrapperWidth=void 0===e||!!e,t.virtualWrapper&&t.autoVirtualWrapperWidth!==t.virtualWrapperWidthWasSet&&(t.virtualWrapper.style.width=t.autoVirtualWrapperWidth?"100%":"",t.virtualWrapperWidthWasSet=t.autoVirtualWrapperWidth),this}isAutoVirtualWrapperWidth(){return this._p.autoVirtualWrapperWidth}setBuffer(e){return this._p.buffer=Math.abs("number"==typeof e?e:Number(e)||5),this}getBuffer(){return this._p.buffer}setItemHeightEstimatorFn(e){return this._p.itemHeightEstimatorFn=e,this}setItemElementCreatorFn(e){return this._p.itemElementCreatorFn=e||_n,this}setOnItemRender(e){return this._p.onItemRender=e,this}setOnItemUnrender(e){return this._p.onItemUnrender=e,this}setOnScrollHeightChange(e){return this._p.onScrollHeightChange=e,this}estimateFullHeight(){const e=this._p;if(0===e.count)return 0;if(e.virtual)return this._calculateItemPosition(e.count)||0;{const t=e.existingEls;if(e.count===t.length){let e=t[0].getBoundingClientRect(),r=t[t.length-1].getBoundingClientRect();return r.top-e.top+r.height}return this._calculateItemPosition(e.count)||0}}invalidatePositions(){const e=this._p;return e.itemPositionsNeedsUpdate=0,e.cachedItemHeights=[],e.cachedItemEstimatedHeights=[],e.cachedItemPositions=[],e.cachedItemHeights.length=e.count,e.cachedItemEstimatedHeights.length=e.count,e.cachedItemPositions.length=e.count,this}invalidate(){const e=this._p;this.invalidatePositions();const t=e.onItemUnrender,r=e.existingEls;for(let e=0;e<r.length;e++){const o=r[e];void 0!==o[yn]&&(t&&t(o),delete o[yn])}return this}render(){const e=this._p,t=e.list,r=e.virtual;let o=e.virtualWrapper,i=e.currentItemsParent,n=t.scrollTop,l=n+t.clientHeight,s=e.count,a=e.buffer,d=e.onItemUnrender,u=e.existingEls,h=u.length;if(r){const r=t.clientWidth;o||(o=e.virtualWrapper=e.userItemsParent,o||(o=e.virtualWrapper=document.createElement("div"),t.appendChild(o)),this._resetCurrentItemsParent(),i=e.currentItemsParent,e.autoVirtualWrapperWidth?(o.style.width="100%",e.virtualWrapperWidthWasSet=!0):e.virtualWrapperWidthWasSet=!1);for(let e=0;e<h;e++)u[e][wn]=!0;this._calculateItemPosition(e.count-1);let d=this._getExistingElsRange(),p=Wn(e.cachedItemPositions,n),m=Math.max(0,p-a),f=m,g=this._calculateItemPosition(f),b=a,v=Math.max(f,Wn(e.cachedItemPositions,l-1)+1+a),C=[],y=null,w=o.childNodes[0];const _=function(e){let t;return-1!==d.firstIndex&&e>=d.firstIndex&&e<=d.lastIndex&&(t=u.find((t=>t[yn]===e&&!0===t[wn]))),void 0===t&&(t=(d.firstIndex<m||d.firstValidArrayIndex>0?u.find((e=>(e[yn]<m||!1===fn.call(e,yn))&&!0===e[wn])):void 0)||En(u,(e=>!0===e[wn]))),void 0!==t&&delete t[wn],t};for(;f<s&&f<v;f++){let e=_(f);w&&w===e&&(w=w.nextSibling);const t=this._dequeueElementForIndex(e,f,w,!0);C.push([t,f]),y=vn(t,y,w,i)}y&&y.childNodes.length>0&&bn(y,w,i);for(let t of C){const r=t[1];this._insertItemAndFlow(t[0],r,!1),g=e.cachedItemPositions[r]+e.cachedItemHeights[r]}if(g<l)for(;(g<l||b-- >0)&&f<s;f++){let t=_(f);w&&w===t&&(w=w.nextSibling),this._dequeueElementForIndex(t,f,w,!1),g=e.cachedItemPositions[f]+e.cachedItemHeights[f]}let W=this.estimateFullHeight(),I=W+"px";var c;o.style.height!==I&&(e.virtualWrapper.style.height=I,null===(c=e.onScrollHeightChange)||void 0===c||c.call(e,W)),r!==t.clientWidth&&this.render()}else if(s!==u.length){for(let e=0;e<h;e++)u[e][wn]=!0;let e=i.childNodes[0],t=null;for(let r=0;r<s;r++){let o=u.find((e=>e[yn]===r&&!0===e[wn]));void 0!==o&&delete o[wn],e&&e===o&&(e=e.nextSibling),t=vn(this._dequeueElementForIndex(o,r,e,!0),t,e,i)}t&&t.childNodes.length>0&&bn(t,e,i)}h=u.length;for(let e=0;e<h;e++){const t=u[e];if(!0!==t[wn])continue;let r=t.parentNode;r&&r.removeChild(t),d&&void 0!==t[yn]&&d(t),u.splice(e,1),e--,h--}}addItemsAt(e,t=-1){if("number"!=typeof e||e<=0)return this;const r=this._p;if((t<-1||t>=r.count)&&(t=r.count),r.count+=e,r.virtual)t>=0&&t<r.count&&this._invalidateItemIndexesAt(t,-1);else{let o=r.existingEls;if(o.length!==r.count-e)return this;let i=this._getExistingElsRange();if(-1===i.firstValidArrayIndex)return this;const n=r.currentItemsParent;let l=i.firstValidArrayIndex+t-i.firstIndex;this._pushItemIndexesAt(t,e);let s=o[l-1]?o[l-1].nextSibling:o[0],a=null;for(let r=t,o=t+e;r<o;r++)a=vn(this._dequeueElementForIndex(void 0,r,s,!0),a,s,n);a&&a.childNodes.length>0&&bn(a,s,n)}return this}removeItemsAt(e,t){const r=this._p;if("number"!=typeof e||"number"!=typeof t||e<=0||t<0||t>=r.count)return this;if(r.count-=Math.min(e,r.count-t),r.virtual)this._invalidateItemIndexesAt(t,-1);else{let o=r.existingEls;if(o.length!==r.count+e)return this;let i=this._getExistingElsRange();if(-1===i.firstValidArrayIndex)return this;this._pushItemIndexesAt(t+e,-e);const n=r.onItemUnrender;let l=i.firstValidArrayIndex+t-i.firstIndex;if(l<o.length){for(let t=0;t<e;t++){let e=o[l+t],r=e.parentNode;r&&r.removeChild(e),n&&void 0!==e[yn]&&n(e)}o.splice(l,e)}}return this}refreshItemAt(e){const t=this._p;if("number"!=typeof e||e<0||e>=t.count)return this;if(t.virtual)this._invalidateItemIndexesAt(e,1);else{let r=t.existingEls;if(r.length!==t.count)return this;let o=this._getExistingElsRange();if(e>=o.firstIndex&&e<=o.lastIndex){let t=r[o.firstValidArrayIndex+e-o.firstIndex];delete t[yn],this._dequeueElementForIndex(t,e,t.nextSibling,!1)}}return this}isItemRendered(e){const t=this._p;if("number"!=typeof e||e<0||e>=t.count)return!1;let r=this._getExistingElsRange();return e>=r.firstIndex&&e<=r.lastIndex}getItemElementAt(e){const t=this._p;if("number"!=typeof e||e<0||e>=t.count)return;let r=t.existingEls,o=this._getExistingElsRange();return e>=o.firstIndex&&e<=o.lastIndex?r[o.firstValidArrayIndex+e-o.firstIndex]:void 0}getItemPosition(e){const t=this._p;if(!("number"!=typeof e||e<0||e>=t.count)){if(t.virtual)return this._calculateItemPosition(e);{let r=this.getItemElementAt(e);if(void 0===r)return;const i=t.list;return o(r).top-o(i).top+i.scrollTop}}}getItemIndexFromElement(e){return e?e[yn]:void 0}getItemSize(e){const t=this._p;if("number"!=typeof e||e<0||e>=t.count)return;let r=t.cachedItemHeights[e-1];return void 0===r&&(r=t.itemHeightEstimatorFn?t.itemHeightEstimatorFn(e-1):null,"number"!=typeof r&&(r=t.estimatedItemHeight),t.cachedItemEstimatedHeights[e-1]=r),r}getVisibleItemCount(){const e=this._p,t=e.list;let r,o,i=t.scrollTop,n=t.clientHeight;if(e.virtual)r=Wn(e.cachedItemPositions,i),o=Wn(e.cachedItemPositions,i+n,r);else{const t=e=>{let t=this.getItemPosition(e);return void 0===t&&(t=1/0),t};r=In(e.count,t,i),o=In(e.count,t,i+n,r)}return this.getItemPosition(o)===i+n&&o--,o-r+1}createGhostItemElement(e,t,r){const o=this._p;let i=this._dequeueElementForIndex(null,e,!1,!0);try{t&&o.currentItemsParent.appendChild(i),r(i)}finally{if(t){let e=i.parentNode;e&&e.removeChild(i)}o.onItemUnrender&&o.onItemUnrender(i)}}_resetCurrentItemsParent(){var e,t;const r=this._p;r.currentItemsParent=null!==(e=null!==(t=r.virtualWrapper)&&void 0!==t?t:r.userItemsParent)&&void 0!==e?e:r.list}_destroyElements(){const e=this._p,t=e.onItemUnrender,r=e.existingEls;for(let e=0;e<r.length;e++){const o=r[e];let i=o.parentNode;i&&i.removeChild(o),t&&void 0!==o[yn]&&t(o)}return r.length=0,e.virtualWrapper&&(e.virtualWrapper!==e.userItemsParent&&e.virtualWrapper.parentNode&&e.virtualWrapper.parentNode.removeChild(e.virtualWrapper),e.virtualWrapper=null,this._resetCurrentItemsParent()),this}_invalidateItemIndexesAt(e,t){const r=this._p;this._setItemPositionsNeedsUpdate(e);let o=r.existingEls,i=o.length,n=this._getExistingElsRange();if(-1!==n.firstValidArrayIndex&&(-1===t&&(t=o.length),e>=n.firstIndex&&e<=n.lastIndex))for(let r=n.firstValidArrayIndex+e-n.firstIndex,l=0;r<i&&l<t;r++,l++)delete o[r][yn]}_pushItemIndexesAt(e,t){let r=this._p.existingEls,o=r.length,i=this._getExistingElsRange();if(-1!==i.firstValidArrayIndex&&e>=i.firstIndex&&e<=i.lastIndex)for(let n=i.firstValidArrayIndex+e-i.firstIndex;n<o;n++)r[n][yn]+=t}_hookEvents(){const e=this._p;return this._unhookEvents(),e.virtual&&e.hookScrollEvent&&e.list&&e.list.addEventListener("scroll",e.boundRender),this}_unhookEvents(){const e=this._p;return e.list&&e.list.removeEventListener("scroll",e.boundRender),this}_setItemPositionsNeedsUpdate(e){const t=this._p;e<t.itemPositionsNeedsUpdate&&(t.itemPositionsNeedsUpdate=e)}_calculateItemPosition(e){const t=this._p,r=t.cachedItemPositions;if(e>=t.itemPositionsNeedsUpdate){const o=t.count,i=t.cachedItemHeights,n=t.cachedItemEstimatedHeights,l=t.estimatedItemHeight,s=t.itemHeightEstimatorFn;i.length!==o&&(i.length=o,n.length=o,r.length=o);let a=t.itemPositionsNeedsUpdate,d=Math.min(e,o),u=0;a>0&&(u=r[a-1]);for(let e=a;e<=d;e++){if(0===e){r[e]=u;continue}const t=e-1;let o=i[t];void 0===o&&(o=s?s(t):null,"number"!=typeof o&&(o=l),n[t]=o),u+=o,r[e]=u}t.itemPositionsNeedsUpdate=d+1}if(e>0&&e===t.count){let o=t.cachedItemHeights[e-1];return void 0===o&&(o=t.itemHeightEstimatorFn?t.itemHeightEstimatorFn(e-1):null,"number"!=typeof o&&(o=t.estimatedItemHeight),t.cachedItemEstimatedHeights[e-1]=o),r[e-1]+o}return r[e]}_dequeueElementForIndex(e,t,r,o){const i=this._p,n=i.virtualWrapper;i.currentItemsParent;const l=i.existingEls,s=i.onItemRender,a=i.onItemUnrender,d=!e,u=d||t!==e[yn];if(e?a&&u&&a(e):(e=i.itemElementCreatorFn(),n&&!1!==r&&(e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.right="0")),u&&(e.innerHTML="",s&&s(e,t)),!1!==r){if(r instanceof Node||(r=null),!d){let t=l.indexOf(e);-1!==t&&l.splice(t,1)}let i=r?l.indexOf(r):-1;-1===i?l.push(e):l.splice(i,0,e),o||this._insertItemAndFlow(e,t,r)}return e[yn]=t,e}_insertItemAndFlow(e,t,r){const o=this._p,i=o.virtualWrapper,n=o.currentItemsParent;if(!1!==r&&(r instanceof Node||(r=null),e.parentNode===n&&e.nextSibling===r||bn(e,r,n)),i){let r=e.getBoundingClientRect().height,i=o.cachedItemHeights[t];i!==r&&(o.cachedItemHeights[t]=r),(void 0!==i&&r!==i||void 0===i&&r!==o.cachedItemEstimatedHeights[t])&&this._setItemPositionsNeedsUpdate(t+1);let n=this._calculateItemPosition(t);const l=Sn();!1===l?e.style.top=`${n}px`:e.style[l]=`translateY(${n}px)`}}_getExistingElsRange(){const e=this._p.existingEls;let t=-1,r=-1;for(let r=0,o=e.length;r<o;r++)if(!1!==fn.call(e[r],yn)){t=r;break}for(let t=e.length-1;t>=0;t--)if(!1!==fn.call(e[t],yn)){r=t;break}return{firstValidArrayIndex:t,lastValidArrayIndex:r,firstIndex:-1!==t?e[t][yn]:-1,lastIndex:-1!==r?e[r][yn]:-1}}}const yn=Symbol("index"),wn=Symbol("reuse"),_n=()=>document.createElement("li"),Wn=(e,t,r=0,o=-1)=>{let i=e.length;if(o<0&&(o+=i),o<=r)return o;for(;r<=o;){let n=Math.floor(r+(o-r)/2),l=e[n];if(l===t||l<=t&&n<i&&e[n+1]>t){for(;n>0&&e[n-1]===l;)n--;return n}l<t?r=n+1:o=n-1}return-1===o?0:i-1},In=(e,t,r,o=0,i=-1)=>{if(i<0&&(i+=e),i<=o)return i;for(;o<=i;){let n=Math.floor(o+(i-o)/2),l=t(n);if(l===r||l<=r&&n<e&&t(n+1)>r){for(;n>0&&t(n-1)===l;)n--;return n}l<r?o=n+1:i=n-1}return-1===i?0:t(e-1)},En=(e,t)=>{for(let r=e.length-1;r>=0;r--)if(t(e[r]))return e[r]};let Rn=null;const Sn=()=>{if(null===Rn){let e=["transform","WebkitTransform","MozTransform","OTransform","msTransform"],t=document.createElement("div");Rn=!1;for(let r of e)if(t&&void 0!==t.style[r]){Rn=r;break}}return Rn};function xn(e,t){let r=t.column,o=null==t.keyword?"":t.keyword.toString();if(!o||!r)return!0;let i=e[r];return null!=i&&(i=i.toString(),t.caseSensitive||(i=i.toLowerCase(),o=o.toLowerCase()),-1!==i.indexOf(o))}const Hn=Array.prototype.indexOf,Nn=e;let Tn=navigator.userAgent,Pn=-1!==Tn.indexOf("MSIE ")?parseFloat(Tn.substr(Tn.indexOf("MSIE ")+5)):null,Fn=Pn&&Pn<10,An=document.createElement.bind(document);const Mn=Object.prototype.hasOwnProperty,On=Symbol("safe"),zn=Symbol("hover_in"),kn=Symbol("hover_out"),Ln=Symbol("row_click");function $n(e){var t,r;t=["relative","absolute","fixed"],r=e.css("position"),sn.call(t,r)>=0||e.css("position","relative")}const Vn=e=>/^(?:INPUT|TEXTAREA|BUTTON|SELECT)$/.test(e.target.tagName);let Bn=function e(){if(!(this instanceof e))return new(Function.prototype.bind.apply(e,[e].concat(Array.prototype.slice.call(arguments,0))));this.initialize.apply(this,arguments)};Bn.VERSION="@@VERSION",Bn.prototype.VERSION=Bn.VERSION,Bn.prototype.initialize=function(e){let t=this;e=e||{};let r=t.o={},o=t.p={};o.events={},t.el=e.el&&e.el instanceof Element?e.el:document.createElement("div");let i=t.$el=Nn(t.el);t.el!==e.el&&i.addClass(e.className||"dgtable-wrapper"),i.data("control",t).data("dgtable",t),i.on("remove",(()=>t.destroy())),o.onMouseMoveResizeAreaBound=this._onMouseMoveResizeArea.bind(this),o.onEndDragColumnHeaderBound=this._onEndDragColumnHeader.bind(this),o.onTableScrolledHorizontallyBound=this._onTableScrolledHorizontally.bind(this),this.$el.on("dragend",o.onEndDragColumnHeaderBound),o.tableSkeletonNeedsRendering=!0,r.virtualTable=void 0===e.virtualTable||!!e.virtualTable,r.estimatedRowHeight=e.estimatedRowHeight||void 0,r.rowsBufferSize=e.rowsBufferSize||3,r.minColumnWidth=Math.max(e.minColumnWidth||35,0),r.resizeAreaWidth=e.resizeAreaWidth||8,r.resizableColumns=void 0===e.resizableColumns||!!e.resizableColumns,r.movableColumns=void 0===e.movableColumns||!!e.movableColumns,r.sortableColumns=void 0===e.sortableColumns?1:parseInt(e.sortableColumns,10)||1,r.adjustColumnWidthForSortArrow=void 0===e.adjustColumnWidthForSortArrow||!!e.adjustColumnWidthForSortArrow,r.convertColumnWidthsToRelative=void 0!==e.convertColumnWidthsToRelative&&!!e.convertColumnWidthsToRelative,r.autoFillTableWidth=void 0!==e.autoFillTableWidth&&!!e.autoFillTableWidth,r.cellClasses=void 0===e.cellClasses?"":e.cellClasses,r.resizerClassName=void 0===e.resizerClassName?"dgtable-resize":e.resizerClassName,r.tableClassName=void 0===e.tableClassName?"dgtable":e.tableClassName,r.allowCellPreview=void 0===e.allowCellPreview||e.allowCellPreview,r.allowHeaderCellPreview=void 0===e.allowHeaderCellPreview||e.allowHeaderCellPreview,r.cellPreviewClassName=void 0===e.cellPreviewClassName?"dgtable-cell-preview":e.cellPreviewClassName,r.cellPreviewAutoBackground=void 0===e.cellPreviewAutoBackground||e.cellPreviewAutoBackground,r.onComparatorRequired=void 0===e.onComparatorRequired?null:e.onComparatorRequired,r.onComparatorRequired||"function"!=typeof e.comparatorCallback||(r.onComparatorRequired=e.comparatorCallback),r.width=void 0===e.width?Bn.Width.NONE:e.width,r.relativeWidthGrowsToFillWidth=void 0===e.relativeWidthGrowsToFillWidth||!!e.relativeWidthGrowsToFillWidth,r.relativeWidthShrinksToFillWidth=void 0!==e.relativeWidthShrinksToFillWidth&&!!e.relativeWidthShrinksToFillWidth,this.setCellFormatter(e.cellFormatter),this.setHeaderCellFormatter(e.headerCellFormatter),this.setFilter(e.filter),r.height=e.height,t.setColumns(e.columns||[],!1);let n=[];if(e.sortColumn){let t=e.sortColumn;if(t&&!Array.isArray(t)&&(t=[t]),t)for(let e=0,r=t.length;e<r;e++){let r=t[e];"string"==typeof r&&(r={column:r,descending:!1});let i=o.columns.get(r.column);i&&n.push({column:r.column,comparePath:i.comparePath||i.dataPath,descending:r.descending})}}o.rows=new un({sortColumn:n}),o.rows.onComparatorRequired=(e,t,o)=>{if(r.onComparatorRequired)return r.onComparatorRequired(e,t,o)},o.filteredRows=null,o.scrollbarWidth=0,o.lastVirtualScrollHeight=0,this._setupHovers()},Bn.prototype._setupHovers=function(){const e=this,t=e.p;let r=function(t){let r=t.fromElement||t.relatedTarget;r===this||Nn.contains(this,r)||this.__previewCell&&(r===this.__previewCell||Nn.contains(this.__previewCell,r))||e._cellMouseOverEvent.call(e,this)},o=function(t){let r=(t=t||event).toElement||t.relatedTarget;r===this||Nn.contains(this,r)||this.__previewCell&&(r===this.__previewCell||Nn.contains(this.__previewCell,r))||e._cellMouseOutEvent.call(e,this)};t._bindCellHoverIn=function(e){e[zn]||e.addEventListener("mouseover",e[zn]=r.bind(e))},t._unbindCellHoverIn=function(e){e[zn]&&(e.removeEventListener("mouseover",e[zn]),e[zn]=null)},t._bindCellHoverOut=function(e){return e[kn]||e.addEventListener("mouseout",e[kn]=o.bind(e.__cell||e)),this},t._unbindCellHoverOut=function(e){return e[kn]&&(e.removeEventListener("mouseout",e[kn]),e[kn]=null),this}},Bn.prototype._setupVirtualTable=function(){var e;const t=this,r=t.p,o=t.o,i=o.tableClassName,n=i+"-row",l=i+"-row-alt",s=i+"-cell";let a=r.visibleColumns,d=a.length;r.notifyRendererOfColumnsConfig=()=>{a=r.visibleColumns,d=a.length;for(let e,t=0;t<d;t++)e=a[t],e._finalWidth=e.actualWidthConsideringScrollbarWidth||e.actualWidth},r.virtualListHelper=new Cn({list:r.table,itemsParent:r.tbody,autoVirtualWrapperWidth:!1,virtual:o.virtualTable,buffer:o.rowsBufferSize,estimatedItemHeight:o.estimatedRowHeight?o.estimatedRowHeight:r.virtualRowHeight||40,itemElementCreatorFn:()=>An("div"),onItemRender:(e,i)=>{const u=r.filteredRows||r.rows,h=!!r.filteredRows,c=o.allowCellPreview;e.className=n,i%2==1&&(e.className+=" "+l);let p=u[i],m=h?p.__i:i;e.rowIndex=i,e.physicalRowIndex=m;for(let t=0;t<d;t++){let o=a[t],i=An("div");i.columnName=o.name,i.setAttribute("data-column",o.name),i.className=s,i.style.width=o._finalWidth+"px",o.cellClasses&&(i.className+=" "+o.cellClasses),c&&r._bindCellHoverIn(i),i.appendChild(An("div")).innerHTML=this._getHtmlForCell(p,o),e.appendChild(i)}e.addEventListener("click",e[Ln]=r=>{t.trigger("rowclick",r,i,m,e,p)}),t.trigger("rowcreate",i,m,e,p)},onItemUnrender:e=>{e[Ln]&&e.removeEventListener("click",e[Ln]),t._unbindCellEventsForRow(e),t.trigger("rowdestroy",e)},onScrollHeightChange:e=>{e>r._lastVirtualScrollHeight&&!r.scrollbarWidth&&this._updateLastCellWidthFromScrollbar(),r._lastVirtualScrollHeight=e}}),r.virtualListHelper.setCount((null!==(e=r.filteredRows)&&void 0!==e?e:r.rows).length),r.notifyRendererOfColumnsConfig()},Bn.prototype.on=function(e,t){let r=this.p.events;return"function"!=typeof t||(Mn.call(r,e)||(r[e]=[]),r[e].push({cb:t,once:!1})),this},Bn.prototype.once=function(e,t){let r=this.p.events;return"function"!=typeof t||(Mn.call(r,e)||(r[e]=[]),r[e].push({cb:t,once:!0})),this},Bn.prototype.off=function(e,t){let r=this.p.events;if(!Mn.call(r,e))return this;let o=r[e];for(let e=0;e<o.length;e++){let r=o[e];t&&r.cb!==t||o.splice(e--,1)}return this},Bn.prototype.trigger=function(e){const t=this.p;if(!t)return;let r=t.events;if(Mn.call(r,e)){let t=r[e];for(let e=0;e<t.length;e++){let r=t[e];r.once&&t.splice(e--,1),r.cb.apply(this,Array.prototype.slice.call(arguments,1))}}return this},Bn.prototype._parseColumnWidth=function(e,t){let r=Math.max(0,parseFloat(e)),o=Dn.AUTO;return r>0&&(e===r+"%"?(o=Dn.RELATIVE,r/=100):r>0&&r<1?o=Dn.RELATIVE:(r<t&&(r=t),o=Dn.ABSOLUTE)),{width:r,mode:o}},Bn.prototype._initColumnFromData=function(e){let t=this._parseColumnWidth(e.width,e.ignoreMin?0:this.o.minColumnWidth),r={name:e.name,label:void 0===e.label?e.name:e.label,width:t.width,widthMode:t.mode,resizable:void 0===e.resizable||e.resizable,sortable:void 0===e.sortable||e.sortable,movable:void 0===e.movable||e.movable,visible:void 0===e.visible||e.visible,cellClasses:void 0===e.cellClasses?this.o.cellClasses:e.cellClasses,ignoreMin:void 0!==e.ignoreMin&&!!e.ignoreMin};return r.dataPath=void 0===e.dataPath?r.name:e.dataPath,r.comparePath=void 0===e.comparePath?r.dataPath:e.comparePath,"string"==typeof r.dataPath&&(r.dataPath=r.dataPath.split(".")),"string"==typeof r.comparePath&&(r.comparePath=r.comparePath.split(".")),r},Bn.prototype.close=Bn.prototype.remove=Bn.prototype.destroy=function(){var e;let t=this,r=t.p||{},o=t.$el;if(t.__removed)return t;if(r.$resizer&&(r.$resizer.remove(),r.$resizer=null),null===(e=r.virtualListHelper)||void 0===e||e.destroy(),r.virtualListHelper=null,this._destroyHeaderCells(),r.$table&&r.$table.empty(),r.$tbody&&r.$tbody.empty(),r.workerListeners){for(let e=0;e<r.workerListeners.length;e++){let t=r.workerListeners[e];t.worker.removeEventListener("message",t.listener,!1)}r.workerListeners.length=0}r.rows.length=r.columns.length=0,r._deferredRender&&clearTimeout(r._deferredRender);for(let e in t)Mn.call(t,e)&&(t[e]=null);return t.__removed=!0,o&&o.remove(),this},Bn.prototype._unbindCellEventsForTable=function(){const e=this.p;if(e.headerRow)for(let t=0,r=e.headerRow.childNodes,o=r.length;t<o;t++)for(let o=0,i=r[t].childNodes,n=i.length;o<n;o++)e._unbindCellHoverIn(i[o]);return this},Bn.prototype._unbindCellEventsForRow=function(e){const t=this.p;for(let r=0,o=e.childNodes,i=o.length;r<i;r++)t._unbindCellHoverIn(o[r]);return this},Bn.prototype.render=function(){const e=this.o,o=this.p;if(!this.el.offsetParent)return o._deferredRender||(o._deferredRender=setTimeout((()=>{o._deferredRender=null,!this.__removed&&this.el.offsetParent&&this.render()}))),this;if(!0===o.tableSkeletonNeedsRendering){var i;o.tableSkeletonNeedsRendering=!1,e.width===Bn.Width.AUTO&&this._clearSortArrows();let n=o.table&&o.table.parentNode?o.table.scrollTop:NaN,l=o.table&&o.table.parentNode?t(o.table):NaN;this._renderSkeletonBase()._renderSkeletonBody().tableWidthChanged(!0,!1)._renderSkeletonHeaderCells(),o.virtualListHelper.setCount((null!==(i=o.filteredRows)&&void 0!==i?i:o.rows).length),this._updateVirtualHeight(),this._updateLastCellWidthFromScrollbar(!0),this._updateTableWidth(!0);for(let e=0;e<o.rows.sortColumn.length;e++)this._showSortArrow(o.rows.sortColumn[e].column,o.rows.sortColumn[e].descending);e.adjustColumnWidthForSortArrow&&o.rows.sortColumn.length?this.tableWidthChanged(!0):e.virtualTable||this.tableWidthChanged(),isNaN(n)||(o.table.scrollTop=n),isNaN(l)||(r(o.table,l),r(o.header,l)),this.trigger("renderskeleton")}return o.virtualListHelper.render(),this.trigger("render"),this},Bn.prototype.clearAndRender=function(e){var t;let r=this.p;return r.tableSkeletonNeedsRendering=!0,null===(t=r.notifyRendererOfColumnsConfig)||void 0===t||t.call(r),(void 0===e||e)&&this.render(),this},Bn.prototype._calculateTbodyWidth=function(){const e=this.p;let t,r,o,n=this.o.tableClassName,l=n+"-row",s=n+"-cell",a=e.visibleColumns,d=a.length,u=Nn("<div>").addClass(l).css("float","left"),h=0;for(r=0;r<d;r++)o=a[r],t=An("div"),t.className=s,t.style.width=o.actualWidth+"px",o.cellClasses&&(t.className+=" "+o.cellClasses),t.appendChild(An("div")),u.append(t),h+=o.actualWidth;let c=Nn("<div>").addClass(this.el.className).css({"z-index":-1,position:"absolute",left:"0",top:"-9999px",float:"left",width:"1px",overflow:"hidden"}).append(Nn("<div>").addClass(n).append(Nn("<div>").addClass(n+"-body").css("width",h+1e4).append(u)));c.appendTo(document.body);let p=Nn('<div style="border:1.5px solid #000;width:0;height:0;position:absolute;left:0;top:-9999px">').appendTo(document.body),m=parseFloat(p.css("border-width")),f=Math.round(m)!==m;p.remove();let g=i(u[0],!0,!0,!0);return g-=e.scrollbarWidth||0,f&&g++,c.remove(),g},Bn.prototype.setColumns=function(e,t){const r=this.p;e=e||[];let o=new pn;for(let t=0,r=0;t<e.length;t++){let i=e[t],n=this._initColumnFromData(i);void 0!==i.order?(i.order>r&&(r=i.order+1),n.order=i.order):n.order=r++,o.push(n)}return o.normalizeOrder(),r.columns=o,r.visibleColumns=o.getVisibleColumns(),this._ensureVisibleColumns().clearAndRender(t),this},Bn.prototype.addColumn=function(e,t,r){const o=this.p;let i=o.columns;if(e&&!i.get(e.name)){let n=null;void 0!==t&&(n=i.get(t)||i.getByOrder(t));let l=this._initColumnFromData(e);l.order=n?n.order:i.getMaxOrder()+1;for(let e=i.getMaxOrder(),t=l.order;e>=t;e--){let t=i.getByOrder(e);t&&t.order++}i.push(l),i.normalizeOrder(),o.visibleColumns=i.getVisibleColumns(),this._ensureVisibleColumns().clearAndRender(r),this.trigger("addcolumn",l.name)}return this},Bn.prototype.removeColumn=function(e,t){const r=this.p;let o=r.columns,i=o.indexOf(e);return i>-1&&(o.splice(i,1),o.normalizeOrder(),r.visibleColumns=o.getVisibleColumns(),this._ensureVisibleColumns().clearAndRender(t),this.trigger("removecolumn",e)),this},Bn.prototype.setCellFormatter=function(e){return e||((e=e=>"string"==typeof e?dn(e):e)[On]=!0),this.o.cellFormatter=e,this},Bn.prototype.setHeaderCellFormatter=function(e){return this.o.headerCellFormatter=e||function(e){return"string"==typeof e?dn(e):e},this},Bn.prototype.setFilter=function(e){return this.o.filter=e,this},Bn.prototype.filter=function(e){const t=this.p;let r=this.o.filter||xn;"string"==typeof arguments[0]&&"string"==typeof arguments[1]&&(e={column:arguments[0],keyword:arguments[1],caseSensitive:arguments[2]});let o=!!t.filteredRows;return t.filteredRows&&(t.filteredRows=null),t.filterArgs=null==e?null:"object"!=typeof e||Array.isArray(e)?e:Nn.extend({},e),null!==t.filterArgs?(t.filteredRows=t.rows.filteredCollection(r,t.filterArgs),(o||t.filteredRows)&&(this.clearAndRender(),this.trigger("filter",e))):(t.filterArgs=null,t.filteredRows=null,this.clearAndRender(),this.trigger("filterclear",{})),this},Bn.prototype.clearFilter=function(){const e=this.p;return e.filteredRows&&(e.filterArgs=null,e.filteredRows=null,this.clearAndRender(),this.trigger("filterclear",{})),this},Bn.prototype._refilter=function(){const e=this.p;if(e.filteredRows&&e.filterArgs){let t=this.o.filter||xn;e.filteredRows=e.rows.filteredCollection(t,e.filterArgs)}return this},Bn.prototype.setColumnLabel=function(e,t){let r=this.p.columns.get(e);if(r&&(r.label=void 0===t?r.name:t,r.element))for(let e=0;e<r.element[0].firstChild.childNodes.length;e++){let t=r.element[0].firstChild.childNodes[e];if(3===t.nodeType){t.textContent=r.label;break}}return this},Bn.prototype.moveColumn=function(e,t,r=!0){const o=this.o,i=this.p;let n,l,s=i.columns,a=r?i.visibleColumns:s.getColumns();if("string"==typeof e?n=s.get(e):"number"==typeof e&&(n=a[e]),"string"==typeof t?l=s.get(t):"number"==typeof t&&(l=a[t]),n&&l&&e!==t){let e=n.order,t=l.order,r=s.moveColumn(n,l).getVisibleColumns();if(i.visibleColumns.length!==r.length||i.visibleColumns.some(((e,t)=>e!==r[t])))if(i.visibleColumns=r,this._ensureVisibleColumns(),o.virtualTable)this.clearAndRender();else{let r=i.$headerRow.find(">div."+o.tableClassName+"-header-cell"),n=e<t?t+1:t,l=e;r[0].parentNode.insertBefore(r[l],r[n]);let s=i.visibleColumns[e];s=(s.actualWidthConsideringScrollbarWidth||s.actualWidth)+"px";let a=i.visibleColumns[t];a=(a.actualWidthConsideringScrollbarWidth||a.actualWidth)+"px";let d=i.tbody.childNodes;for(let r=0,o=d.length;r<o;r++){let o=d[r];1===o.nodeType&&(o.insertBefore(o.childNodes[l],o.childNodes[n]),o.childNodes[t].firstChild.style.width=a,o.childNodes[e].firstChild.style.width=s)}}this.trigger("movecolumn",n.name,e,t)}return this},Bn.prototype.sort=function(e,t,r){const o=this.o,i=this.p;let n,l=i.columns.get(e),s=i.rows.sortColumn;if(l){if(s.length&&s[s.length-1].column===e&&(t=void 0===t?!s[s.length-1].descending:t),r){for(let e=0;e<s.length;e++)if(s[e].column===l.name){e<s.length-1?s.length=0:s.splice(s.length-1,1);break}(o.sortableColumns>0&&s.length>=o.sortableColumns||s.length>=i.visibleColumns.length)&&(s.length=0)}else s.length=0;t=void 0!==t&&t,s.push({column:l.name,comparePath:l.comparePath||l.dataPath,descending:!!t})}else s.length=0;this._clearSortArrows();for(let e=0;e<s.length;e++)this._showSortArrow(s[e].column,s[e].descending);o.adjustColumnWidthForSortArrow&&!i.tableSkeletonNeedsRendering&&this.tableWidthChanged(!0),i.rows.sortColumn=s,s.length&&(n=i.rows.sort(!!i.filteredRows),i.filteredRows&&i.filteredRows.sort(!!i.filteredRows)),i.virtualListHelper.invalidate().render();let a=[];for(let e=0;e<s.length;e++)a.push({column:s[e].column,descending:s[e].descending});return this.trigger("sort",a,!0,n),this},Bn.prototype.resort=function(){const e=this.p;let t=e.columns,r=e.rows.sortColumn;if(r.length){for(let e=0;e<r.length;e++)t.get(r[e].column)||r.splice(e--,1);let o;e.rows.sortColumn=r,r.length&&(o=e.rows.sort(!!e.filteredRows),e.filteredRows&&e.filteredRows.sort(!!e.filteredRows));let i=[];for(let e=0;e<r.length;e++)i.push({column:r[e].column,descending:r[e].descending});this.trigger("sort",i,!1,o)}return this},Bn.prototype._ensureVisibleColumns=function(){const e=this.p;return 0===e.visibleColumns.length&&e.columns.length&&(e.columns[0].visible=!0,e.visibleColumns.push(e.columns[0]),this.trigger("showcolumn",e.columns[0].name)),this},Bn.prototype.setColumnVisible=function(e,t){const r=this.p;let o=r.columns.get(e);return t=!!t,o&&!!o.visible!==t&&(o.visible=t,r.visibleColumns=r.columns.getVisibleColumns(),this.trigger(t?"showcolumn":"hidecolumn",e),this._ensureVisibleColumns(),this.clearAndRender()),this},Bn.prototype.isColumnVisible=function(e){let t=this.p.columns.get(e);return!!t&&t.visible},Bn.prototype.setMinColumnWidth=function(e){let t=this.o;return e=Math.max(e,0),t.minColumnWidth!==e&&(t.minColumnWidth=e,this.tableWidthChanged(!0)),this},Bn.prototype.getMinColumnWidth=function(){return this.o.minColumnWidth},Bn.prototype.setSortableColumns=function(e){const t=this.p,r=this.o;if(r.sortableColumns!==e&&(r.sortableColumns=e,t.$table)){let e=t.$headerRow.find(">div."+r.tableClassName+"-header-cell");for(let o=0;o<e.length;o++)Nn(e[0])[r.sortableColumns>0&&t.visibleColumns[o].sortable?"addClass":"removeClass"]("sortable")}return this},Bn.prototype.getSortableColumns=function(){return this.o.sortableColumns},Bn.prototype.setMovableColumns=function(e){let t=this.o;return e=void 0===e||!!e,t.movableColumns!==e&&(t.movableColumns=e),this},Bn.prototype.getMovableColumns=function(){return this.o.movableColumns},Bn.prototype.setResizableColumns=function(e){let t=this.o;return e=void 0===e||!!e,t.resizableColumns!==e&&(t.resizableColumns=e),this},Bn.prototype.getResizableColumns=function(){return this.o.resizableColumns},Bn.prototype.setComparatorCallback=function(e){let t=this.o;return t.onComparatorRequired!==e&&(t.onComparatorRequired=e),this},Bn.prototype.setColumnWidth=function(e,t){let r=this.p.columns.get(e),o=this._parseColumnWidth(t,r.ignoreMin?0:this.o.minColumnWidth);if(r){let e=this._serializeColumnWidth(r);r.width=o.width,r.widthMode=o.mode;let t=this._serializeColumnWidth(r);e!==t&&this.tableWidthChanged(!0),this.trigger("columnwidth",r.name,e,t)}return this},Bn.prototype.getColumnWidth=function(e){let t=this.p.columns.get(e);return t?this._serializeColumnWidth(t):null},Bn.prototype.getColumnConfig=function(e){let t=this.p.columns.get(e);return t?{order:t.order,width:this._serializeColumnWidth(t),visible:t.visible,label:t.label}:null},Bn.prototype.getColumnsConfig=function(){const e=this.p;let t={};for(let r=0;r<e.columns.length;r++)t[e.columns[r].name]=this.getColumnConfig(e.columns[r].name);return t},Bn.prototype.getSortedColumns=function(){const e=this.p;let t=[];for(let r=0;r<e.rows.sortColumn.length;r++){let o=e.rows.sortColumn[r];t.push({column:o.column,descending:o.descending})}return t},Bn.prototype.getHtmlForRowCell=function(e,t){const r=this.p;if(e<0||e>r.rows.length-1)return null;let o=r.columns.get(t);if(!o)return null;let i=r.rows[e];return this._getHtmlForCell(i,o)},Bn.prototype.getHtmlForRowDataCell=function(e,t){let r=this.p.columns.get(t);return r?this._getHtmlForCell(e,r):null},Bn.prototype._getHtmlForCell=function(e,t){let r=t.dataPath,o=e[r[0]];for(let e=1;e<r.length&&null!=o;e++)o=o&&o[r[e]];const i=this.o.cellFormatter;let n;if(i[On])n=i(o,t.name,e);else try{n=i(o,t.name,e)}catch(e){n="[ERROR]",console.error("Failed to generate content for cell "+t.name,e)}return null==n&&(n=""),n},Bn.prototype.getRowYPos=function(e){return this.p.virtualListHelper.getItemPosition(e)||null},Bn.prototype.getDataForRow=function(e){const t=this.p;return e<0||e>t.rows.length-1?null:t.rows[e]},Bn.prototype.getRowCount=function(){const e=this.p;return e.rows?e.rows.length:0},Bn.prototype.getIndexForRow=function(e){return this.p.rows.indexOf(e)},Bn.prototype.getFilteredRowCount=function(){const e=this.p;return(e.filteredRows||e.rows).length},Bn.prototype.getIndexForFilteredRow=function(e){const t=this.p;return(t.filteredRows||t.rows).indexOf(e)},Bn.prototype.getDataForFilteredRow=function(e){const t=this.p;return e<0||e>(t.filteredRows||t.rows).length-1?null:(t.filteredRows||t.rows)[e]},Bn.prototype.getHeaderRowElement=function(){return this.p.headerRow},Bn.prototype._horizontalPadding=function(e){return(parseFloat(Nn.css(e,"padding-left"))||0)+(parseFloat(Nn.css(e,"padding-right"))||0)},Bn.prototype._horizontalBorderWidth=function(e){return(parseFloat(Nn.css(e,"border-left"))||0)+(parseFloat(Nn.css(e,"border-right"))||0)},Bn.prototype._calculateWidthAvailableForColumns=function(){const e=this.o,t=this.p;let r,o,n;t.table&&(o=t.table?t.table.scrollTop:0,n=t.table?t.table.scrollLeft:0,e.virtualTable&&(r=t.table.style.display,t.table.style.display="none"));let l=i(this.$el[0]);t.table&&(e.virtualTable&&(t.table.style.display=r),t.table.scrollTop=o,t.table.scrollLeft=n,t.header.scrollLeft=n);let s=e.tableClassName,a=Nn("<div>").addClass(this.el.className).css({"z-index":-1,position:"absolute",left:"0",top:"-9999px"}),d=Nn("<div>").addClass(s+"-header").appendTo(a),u=Nn("<div>").addClass(s+"-header-row").appendTo(d);for(let e=0;e<t.visibleColumns.length;e++)u.append(Nn("<div><div></div></div>").addClass(s+"-header-cell").addClass(t.visibleColumns[e].cellClasses||""));a.appendTo(document.body),l-=this._horizontalBorderWidth(u[0]);let h=u.find(">div."+s+"-header-cell");for(let e=0;e<h.length;e++){let t=Nn(h[e]);"border-box"===t.css("boxSizing")||(l-=(parseFloat(t.css("border-right-width"))||0)+(parseFloat(t.css("border-left-width"))||0)+this._horizontalPadding(t[0]))}return a&&a.remove(),Math.max(0,l)},Bn.prototype.tableWidthChanged=function(){let e=function(e){let t,r=this.o.tableClassName,o=Nn("<div>").addClass(this.$el).append(Nn("<div>").addClass(r+"-header").append(Nn("<div>").addClass(r+"-header-row").append(t=Nn("<div>").addClass(r+"-header-cell").append(Nn("<div>").text(e))))).css({position:"absolute",top:"-9999px",visibility:"hidden"});o.appendTo(document.body);let n=i(t[0]);return o.remove(),n},t=null;return function(r,o){let i=this.o,n=this.p,l=this._calculateWidthAvailableForColumns(),s=l,a=0;if(!n.$table)return this;o=void 0===o||o;let d=0;if(n.tbody||(o=!1),o&&(d=parseFloat(n.tbody.style.minWidth)||0),s!==t||r){var u;t=l;let r=0,h=[],c=0;for(let e=0;e<n.columns.length;e++)n.columns[e].actualWidthConsideringScrollbarWidth=null;for(let t=0;t<n.visibleColumns.length;t++){let o=n.visibleColumns[t];if(o.widthMode===Dn.ABSOLUTE){let e=o.width;e+=o.arrowProposedWidth||0,!o.ignoreMin&&e<i.minColumnWidth&&(e=i.minColumnWidth),s-=e,r+=e,e!==o.actualWidth&&(o.actualWidth=e,h.push(t))}else if(o.widthMode===Dn.AUTO){let n=e.call(this,o.label)+20;n+=o.arrowProposedWidth||0,!o.ignoreMin&&n<i.minColumnWidth&&(n=i.minColumnWidth),s-=n,r+=n,n!==o.actualWidth&&(o.actualWidth=n,i.convertColumnWidthsToRelative||h.push(t))}else o.widthMode===Dn.RELATIVE&&(c+=o.width,a++)}if(i.convertColumnWidthsToRelative)for(let e=0;e<n.visibleColumns.length;e++){let t=n.visibleColumns[e];t.widthMode===Dn.AUTO&&(t.widthMode=Dn.RELATIVE,s+=t.actualWidth,t.width=t.actualWidth/r,c+=t.width,a++)}if(a&&(c<1&&i.relativeWidthGrowsToFillWidth||c>1&&i.relativeWidthShrinksToFillWidth))for(let e=0;e<n.visibleColumns.length;e++){let t=n.visibleColumns[e];t.widthMode===Dn.RELATIVE&&(t.width/=c)}let p=Math.max(0,s);0===p&&(p=n.table.clientWidth);let m=i.minColumnWidth/p;if(isNaN(m)&&(m=0),m>0){let e,t=0;for(let e=0;e<n.visibleColumns.length;e++){let r=n.visibleColumns[e];r.widthMode===Dn.RELATIVE&&!r.ignoreMin&&r.width<m&&(t+=m-r.width,r.width=m)}for(let r=0;r<n.visibleColumns.length;r++){let o=n.visibleColumns[r];o.widthMode===Dn.RELATIVE&&!o.ignoreMin&&o.width>m&&t>0&&(e=Math.min(t,o.width-m),o.width-=e,t-=e)}}if(i.autoFillTableWidth&&s>0){let e=0,t=s;for(let r=0;r<n.visibleColumns.length;r++){let o=n.visibleColumns[r];o.resizable||o.widthMode!==Dn.ABSOLUTE||(e+=o.width),o.widthMode===Dn.RELATIVE&&(t-=Math.round(p*o.width))}let r=(l-e)/(l-t-e)||NaN;for(let e=0;e<n.visibleColumns.length&&t>0;e++){let t=n.visibleColumns[e];if(t.resizable||t.widthMode!==Dn.ABSOLUTE)if(t.widthMode===Dn.RELATIVE)t.width*=r;else{let o=t.actualWidth*r;t.actualWidth!==o&&(t.actualWidth=o,-1===h.indexOf(e)&&h.push(e))}}}for(let e=0;e<n.visibleColumns.length;e++){let t=n.visibleColumns[e];if(t.widthMode===Dn.RELATIVE){let r=Math.round(p*t.width);s-=r,a--,0===a&&1===s&&(r++,s--),-1===s&&(r--,s++),r!==t.actualWidth&&(t.actualWidth=r,h.push(e))}}if(n.visibleColumns.length&&(n.visibleColumns[n.visibleColumns.length-1].actualWidthConsideringScrollbarWidth=n.visibleColumns[n.visibleColumns.length-1].actualWidth-(n.scrollbarWidth||0)),null===(u=n.notifyRendererOfColumnsConfig)||void 0===u||u.call(n),o){let e=this._calculateTbodyWidth();d<e&&this._updateTableWidth(!1);for(let e=0;e<h.length;e++)this._resizeColumnElements(h[e]);d>e&&this._updateTableWidth(!1)}}return this}}(),Bn.prototype.tableHeightChanged=function(){let e=this,t=e.o,r=e.p;if(!r.$table)return e;let o=n(e.$el[0],!0)-(parseFloat(r.$table.css("border-top-width"))||0)-(parseFloat(r.$table.css("border-bottom-width"))||0);return o!==t.height&&(t.height=o,r.tbody&&(r.tbody.style.height=Math.max(t.height-n(r.$headerRow[0],!0,!0,!0),1)+"px"),t.virtualTable&&e.clearAndRender()),e},Bn.prototype.addRows=function(e,t,r,o){let i=this.p;return"boolean"==typeof t&&(o=r,r=t,t=-1),"number"!=typeof t&&(t=-1),(t<0||t>i.rows.length)&&(t=i.rows.length),o=void 0===o||!!o,e&&(i.rows.add(e,t),i.filteredRows||r&&i.rows.sortColumn.length?(r&&i.rows.sortColumn.length?this.resort():this._refilter(),i.tableSkeletonNeedsRendering=!0,o&&this.render()):o&&(i.virtualListHelper.addItemsAt(e.length,t),this.o.virtualTable?this._updateVirtualHeight()._updateLastCellWidthFromScrollbar().render()._updateTableWidth(!1):i.tbody&&this.render()._updateLastCellWidthFromScrollbar()._updateTableWidth(!0)),this.trigger("addrows",e.length,!1)),this},Bn.prototype.removeRows=function(e,t,r){let o=this.p;return"number"!=typeof t||t<=0||e<0||e>o.rows.length-1||(o.rows.splice(e,t),r=void 0===r||!!r,o.filteredRows?(this._refilter(),o.tableSkeletonNeedsRendering=!0,r&&this.render()):r&&(o.virtualListHelper.removeItemsAt(t,e),this.o.virtualTable?this._updateVirtualHeight()._updateLastCellWidthFromScrollbar().render()._updateTableWidth(!1):this.render()._updateLastCellWidthFromScrollbar()._updateTableWidth(!0))),this},Bn.prototype.removeRow=function(e,t){return this.removeRows(e,1,t)},Bn.prototype.refreshRow=function(e,t=!0){let r=this.p;if(e<0||e>r.rows.length-1)return this;let o=-1;return r.filteredRows&&-1===(o=r.filteredRows.indexOf(r.rows[e]))||(-1===o&&(o=e),r.virtualListHelper.refreshItemAt(o),t&&r.virtualListHelper.render()),this},Bn.prototype.getRowElement=function(e){let t=this.p;if(e<0||e>t.rows.length-1)return null;let r=-1;return t.filteredRows&&-1===(r=t.filteredRows.indexOf(t.rows[e]))?this:(-1===r&&(r=e),t.virtualListHelper.getItemElementAt(r)||null)},Bn.prototype.refreshAllVirtualRows=function(){return this.p.virtualListHelper.invalidate().render(),this},Bn.prototype.setRows=function(e,t){let r=this.p;return r.rows.reset(e),t&&r.rows.sortColumn.length?this.resort():this._refilter(),this.clearAndRender().trigger("addrows",e.length,!0),this},Bn.prototype.getUrlForElementContent=function(e){let t,r=document.getElementById(e);if(r){let e=r.textContent;if("function"==typeof Blob)t=new Blob([e]);else{let r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder;if(!r)return null;let o=new r;o.append(e),t=o.getBlob()}return(window.URL||window.webkitURL).createObjectURL(t)}return null},Bn.prototype.isWorkerSupported=function(){return window.Worker instanceof Function},Bn.prototype.createWebWorker=function(e,t,r){if(this.isWorkerSupported()){let o=this,i=o.p,n=new Worker(e),l=function(e){e.data.append?o.addRows(e.data.rows,r):o.setRows(e.data.rows,r)};return n.addEventListener("message",l,!1),i.workerListeners||(i.workerListeners=[]),i.workerListeners.push({worker:n,listener:l}),(t||void 0===t)&&n.postMessage(null),n}return null},Bn.prototype.unbindWebWorker=function(e){let t=this.p;if(t.workerListeners)for(let r=0;r<t.workerListeners.length;r++)t.workerListeners[r].worker===e&&(e.removeEventListener("message",t.workerListeners[r].listener,!1),t.workerListeners.splice(r,1),r--);return this},Bn.prototype.abortCellPreview=function(){return this.hideCellPreview(),this},Bn.prototype.cancelColumnResize=function(){const e=this.p;return e.$resizer&&(e.$resizer.remove(),e.$resizer=null,Nn(document).off("mousemove.dgtable",e.onMouseMoveResizeAreaBound).off("mouseup.dgtable",e.onEndDragColumnHeaderBound)),this},Bn.prototype._onTableScrolledHorizontally=function(){const e=this.p;e.header.scrollLeft=e.table.scrollLeft},Bn.prototype._getColumnByResizePosition=function(e){let t=this.o,r=this._isTableRtl(),o=Nn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName),n=o[0];n.__cell&&(n=n.__cell,o=Nn(n));let l=o[0].previousSibling;for(;l&&1!==l.nodeType;)l=l.previousSibling;let s=!l,a=((null!=e.pageX?e.pageX:e.originalEvent.pageX)||e.originalEvent.clientX)-o.offset().left;if(r){if(!s&&i(o[0],!0,!0,!0)-a<=t.resizeAreaWidth/2)return l.columnName;if(a<=t.resizeAreaWidth/2)return n.columnName}else{if(!s&&a<=t.resizeAreaWidth/2)return l.columnName;if(i(o[0],!0,!0,!0)-a<=t.resizeAreaWidth/2)return n.columnName}return null},Bn.prototype._onTouchStartColumnHeader=function(e){const t=this.p;if(t.currentTouchId)return;let r=e.originalEvent.changedTouches[0];t.currentTouchId=r.identifier;let o,i=Nn(e.currentTarget),n={x:r.pageX,y:r.pageY},l=n,s=function(){t.currentTouchId=null,i.off("touchend").off("touchcancel"),clearTimeout(o)},a=function(t){let r=Nn.Event(t),o=Array.prototype.slice.call(arguments,1);for(let t of["target","clientX","clientY","offsetX","offsetY","screenX","screenY","pageX","pageY","which"]){r[t]=e[t];for(let e=0;e<o.length;e++)null!=o[e][t]&&(r[t]=o[e][t])}return r};i.trigger(a("mousedown",e.originalEvent.changedTouches[0],{which:1,target:e.target})),o=setTimeout((()=>{s(),i.one("touchend",(e=>{Vn(e)||e.preventDefault(),i.off("touchend").off("touchcancel")})).one("touchcancel",(e=>{i.off("touchend").off("touchcancel")})),Math.sqrt(Math.pow(Math.abs(l.x-n.x),2)+Math.pow(Math.abs(l.y-n.y),2))<9&&(this.cancelColumnResize(),i.trigger(a("mouseup",e.originalEvent.changedTouches[0],{which:3,target:e.target})))}),500),i.on("touchend",(e=>{let r=an(e.originalEvent.changedTouches,(e=>e.identifier===t.currentTouchId));r&&(s(),Vn(e)||e.preventDefault(),l={x:r.pageX,y:r.pageY},(Math.sqrt(Math.pow(Math.abs(l.x-n.x),2)+Math.pow(Math.abs(l.y-n.y),2))<9||t.$resizer)&&(i.trigger(a("mouseup",r,{which:1,target:e.target})),i.trigger(a("click",r,{which:1,target:e.target}))))})).on("touchcancel",(()=>{s()})).on("touchmove",(e=>{let r=an(e.originalEvent.changedTouches,(e=>e.identifier===t.currentTouchId));r&&(l={x:r.pageX,y:r.pageY},t.$resizer&&(e.preventDefault(),i.trigger(a("mousemove",r,{target:e.target}))))}))},Bn.prototype._onMouseDownColumnHeader=function(e){if(1!==e.which)return this;let t=this.o,r=this.p,o=this._getColumnByResizePosition(e);if(o){let l=r.columns.get(o);if(!t.resizableColumns||!l||!l.resizable)return!1;let s=this._isTableRtl();r.$resizer&&Nn(r.$resizer).remove(),r.$resizer=Nn("<div></div>").addClass(t.resizerClassName).css({position:"absolute",display:"block","z-index":-1,visibility:"hidden",width:"2px",background:"#000",opacity:.7}).appendTo(this.$el);let a=l.element,d=r.$resizer.parent(),u=a.offset(),h=d.offset();8===Pn&&(u=a.offset()),h.left+=parseFloat(d.css("border-left-width"))||0,h.top+=parseFloat(d.css("border-top-width"))||0,u.left-=h.left,u.top-=h.top,u.top-=parseFloat(a.css("border-top-width"))||0;let c=i(r.$resizer[0],!0,!0,!0);s?(u.left-=Math.ceil((parseFloat(a.css("border-left-width"))||0)/2),u.left-=Math.ceil(c/2)):(u.left+=i(a[0],!0,!0,!0),u.left+=Math.ceil((parseFloat(a.css("border-right-width"))||0)/2),u.left-=Math.ceil(c/2)),r.$resizer.css({"z-index":"10",visibility:"visible",left:u.left,top:u.top,height:n(this.$el[0])})[0].columnName=a[0].columnName;try{r.$resizer[0].style.zIndex=""}catch(e){}Nn(document).on("mousemove.dgtable",r.onMouseMoveResizeAreaBound),Nn(document).on("mouseup.dgtable",r.onEndDragColumnHeaderBound),e.preventDefault()}},Bn.prototype._onMouseMoveColumnHeader=function(e){let t=this.o,r=this.p;if(t.resizableColumns){let o=this._getColumnByResizePosition(e),i=Nn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName)[0];o&&r.columns.get(o).resizable?i.style.cursor="e-resize":i.style.cursor=""}},Bn.prototype._onMouseUpColumnHeader=function(e){if(3===e.which){let t=this.o,r=Nn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName),o=r.offset();o.width=i(r[0],!0,!0,!0),o.height=n(r[0],!0,!0,!0),this.trigger("headercontextmenu",r[0].columnName,e.pageX,e.pageY,o)}return this},Bn.prototype._onMouseLeaveColumnHeader=function(e){let t=this.o;Nn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName)[0].style.cursor=""},Bn.prototype._onClickColumnHeader=function(e){if(!Vn(e)&&!this._getColumnByResizePosition(e)){let t=this,r=t.o,o=t.p,i=Nn(e.target).closest("div."+r.tableClassName+"-header-cell,div."+r.cellPreviewClassName)[0];if(r.sortableColumns){let e=o.columns.get(i.columnName);e&&e.sortable&&this.sort(i.columnName,void 0,!0).render()}}},Bn.prototype._onStartDragColumnHeader=function(e){let t=this.o,r=this.p;if(t.movableColumns){let o=Nn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName),i=r.columns.get(o[0].columnName);i&&i.movable?(o[0].style.opacity=.35,r.dragId=161061273*Math.random(),e.originalEvent.dataTransfer.setData("text",JSON.stringify({dragId:r.dragId,column:i.name}))):e.preventDefault()}else e.preventDefault()},Bn.prototype._onMouseMoveResizeArea=function(e){let t=this.p,r=t.columns.get(t.$resizer[0].columnName),o=this._isTableRtl(),n=r.element,l=t.$resizer.parent(),s=n.offset(),a=l.offset();a.left+=parseFloat(l.css("border-left-width"))||0,s.left-=a.left;let d=i(t.$resizer[0],!0,!0,!0),u="border-box"===n.css("box-sizing"),h=e.pageX-a.left,c=s.left;c-=Math.ceil(d/2),o?(c+=i(n[0],!0,!0,!0),c-=r.ignoreMin?0:this.o.minColumnWidth,u||(c-=Math.ceil((parseFloat(n.css("border-left-width"))||0)/2),c-=this._horizontalPadding(n[0])),h>c&&(h=c)):(c+=r.ignoreMin?0:this.o.minColumnWidth,u||(c+=Math.ceil((parseFloat(n.css("border-right-width"))||0)/2),c+=this._horizontalPadding(n[0])),h<c&&(h=c)),t.$resizer.css("left",h+"px")},Bn.prototype._onEndDragColumnHeader=function(e){let t=this.o,r=this.p;if(r.$resizer){Nn(document).off("mousemove.dgtable",r.onMouseMoveResizeAreaBound).off("mouseup.dgtable",r.onEndDragColumnHeaderBound);let o=r.columns.get(r.$resizer[0].columnName),n=this._isTableRtl(),l=o.element,s=r.$resizer.parent(),a=l.offset(),d=s.offset();d.left+=parseFloat(s.css("border-left-width"))||0,a.left-=d.left;let u=i(r.$resizer[0],!0,!0,!0),h="border-box"===l.css("box-sizing"),c=e.pageX-d.left,p=a.left,m=a.left,f=0;p-=Math.ceil(u/2),n?(h||(c+=this._horizontalPadding(l[0]),c+=parseFloat(l.css("border-left-width"))||0,c+=parseFloat(l.css("border-right-width"))||0),p+=i(l[0],!0,!0,!0),m=p-(o.ignoreMin?0:this.o.minColumnWidth),c>m&&(c=m),f=p-c):(h||(c-=this._horizontalPadding(l[0]),c-=parseFloat(l.css("border-left-width"))||0,c-=parseFloat(l.css("border-right-width"))||0),m=p+(o.ignoreMin?0:this.o.minColumnWidth),c<m&&(c=m),f=c-p),r.$resizer.remove(),r.$resizer=null;let g=f;if(o.widthMode===Dn.RELATIVE){let e=this._calculateWidthAvailableForColumns(),i=0,n=0;for(let t=0;t<r.visibleColumns.length;t++){let l=r.visibleColumns[t];l.name!==o.name&&(l.widthMode===Dn.RELATIVE?(i+=l.width,n++):e-=l.actualWidth)}if(e=Math.max(1,e),g=f/e,n>0){let e=g/((1-g)/i);i+=g,(i<1&&t.relativeWidthGrowsToFillWidth||i>1&&t.relativeWidthShrinksToFillWidth)&&(g=e)}g*=100,g+="%"}this.setColumnWidth(o.name,g)}else e.target.style.opacity=null},Bn.prototype._onDragEnterColumnHeader=function(e){let t=this.o,r=this.p;if(t.movableColumns){let o=e.originalEvent.dataTransfer.getData("text");o=o?JSON.parse(o):null;let i=Nn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName);if(!o||r.dragId===o.dragId&&i.columnName!==o.column){let e=r.columns.get(i[0].columnName);e&&(e.movable||e!==r.visibleColumns[0])&&Nn(i).addClass("drag-over")}}},Bn.prototype._onDragOverColumnHeader=function(e){e.preventDefault()},Bn.prototype._onDragLeaveColumnHeader=function(e){let t=this.o,r=Nn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName);Nn(r[0].firstChild).has(e.originalEvent.relatedTarget).length||r.removeClass("drag-over")},Bn.prototype._onDropColumnHeader=function(e){e.preventDefault();let t=this.o,r=this.p,o=JSON.parse(e.originalEvent.dataTransfer.getData("text")),i=Nn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName);if(t.movableColumns&&o.dragId===r.dragId){let e=o.column,t=i[0].columnName,n=r.columns.get(e),l=r.columns.get(t);n&&l&&n.movable&&(l.movable||l!==r.visibleColumns[0])&&this.moveColumn(e,t)}Nn(i).removeClass("drag-over")},Bn.prototype._clearSortArrows=function(){let e=this.p;if(e.$table){let t=this.o.tableClassName,r=e.$headerRow.find(">div."+t+"-header-cell.sorted"),o=r.find(">div>.sort-arrow");o.each(((t,r)=>{let o=e.columns.get(r.parentNode.parentNode.columnName);o&&(o.arrowProposedWidth=0)})),o.remove(),r.removeClass("sorted").removeClass("desc")}return this},Bn.prototype._showSortArrow=function(e,t){let r=this.p.columns.get(e);if(!r)return!1;let o=An("span");return o.className="sort-arrow",r.element&&(r.element.addClass(t?"sorted desc":"sorted"),r.element[0].firstChild.insertBefore(o,r.element[0].firstChild.firstChild)),r.widthMode!==Dn.RELATIVE&&this.o.adjustColumnWidthForSortArrow&&(r.arrowProposedWidth=o.scrollWidth+(parseFloat(Nn(o).css("margin-right"))||0)+(parseFloat(Nn(o).css("margin-left"))||0)),this},Bn.prototype._resizeColumnElements=function(e){let t=this.p,r=t.$headerRow.find("div."+this.o.tableClassName+"-header-cell"),o=t.columns.get(r[e].columnName);if(o){r[e].style.width=(o.actualWidthConsideringScrollbarWidth||o.actualWidth)+"px";let i=(o.actualWidthConsideringScrollbarWidth||o.actualWidth)+"px",n=t.tbody.childNodes;for(let t=0,r=n.length;t<r;t++){let r=n[t];1===r.nodeType&&(r.childNodes[e].style.width=i)}}return this},Bn.prototype._destroyHeaderCells=function(){let e=this.o,t=this.p;return t.$headerRow&&(this.trigger("headerrowdestroy",t.headerRow),t.$headerRow.find("div."+e.tableClassName+"-header-cell").remove(),t.$headerRow=null,t.headerRow=null),this},Bn.prototype._renderSkeletonBase=function(){var e;let t=this,r=t.p,o=t.o;null===(e=r.virtualListHelper)||void 0===e||e.destroy(),r.virtualListHelper=null,r.$table&&o.virtualTable&&(r.$table.remove(),r.$table=r.table=r.$tbody=r.tbody=null),t._destroyHeaderCells(),r.currentTouchId=null,r.$header&&r.$header.remove();let i=o.tableClassName,l=An("div"),s=Nn(l),a=An("div"),d=Nn(a);return l.className=i+"-header",a.className=i+"-header-row",r.$header=s,r.header=l,r.$headerRow=d,r.headerRow=a,d.appendTo(r.$header),s.prependTo(this.$el),$n(t.$el),o.width===Bn.Width.SCROLL?this.el.style.overflow="hidden":this.el.style.overflow="",!o.height&&o.virtualTable&&(o.height=n(this.$el[0],!0)),this},Bn.prototype._renderSkeletonHeaderCells=function(){let e,t=this,r=t.p,o=t.o,i=o.allowCellPreview,n=o.allowHeaderCellPreview,l=o.tableClassName+"-header-cell",s=r.headerRow;Fn&&(e=function(e){return e.preventDefault(),this.dragDrop(),!1});let a=function(e){e.preventDefault()};for(let d=0;d<r.visibleColumns.length;d++){let u=r.visibleColumns[d];if(u.visible){let h=An("div"),c=Nn(h);h.draggable=!0,h.className=l,h.style.width=u.actualWidth+"px",o.sortableColumns&&u.sortable&&(h.className+=" sortable"),h.columnName=u.name,h.setAttribute("data-column",u.name);let p=An("div");p.innerHTML=o.headerCellFormatter(u.label,u.name),h.appendChild(p),i&&n&&r._bindCellHoverIn(h),s.appendChild(h),r.visibleColumns[d].element=c,c.on("mousedown.dgtable",t._onMouseDownColumnHeader.bind(t)).on("mousemove.dgtable",t._onMouseMoveColumnHeader.bind(t)).on("mouseup.dgtable",t._onMouseUpColumnHeader.bind(t)).on("mouseleave.dgtable",t._onMouseLeaveColumnHeader.bind(t)).on("touchstart.dgtable",t._onTouchStartColumnHeader.bind(t)).on("dragstart.dgtable",t._onStartDragColumnHeader.bind(t)).on("click.dgtable",t._onClickColumnHeader.bind(t)).on("contextmenu.dgtable",a),Nn(p).on("dragenter.dgtable",t._onDragEnterColumnHeader.bind(t)).on("dragover.dgtable",t._onDragOverColumnHeader.bind(t)).on("dragleave.dgtable",t._onDragLeaveColumnHeader.bind(t)).on("drop.dgtable",t._onDropColumnHeader.bind(t)),Fn&&c.on("selectstart.dgtable",e.bind(h)),c.css({"-webkit-touch-callout":"none","-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","-o-user-select":"none","user-select":"none"})}}return this.trigger("headerrowcreate",s),this},Bn.prototype._renderSkeletonBody=function(){let e=this,t=e.p,r=e.o,o=r.tableClassName;if(r.virtualTable&&!t.virtualRowHeight){let r,i=function(){let e=An("div"),t=e.appendChild(An("div")),r=t.appendChild(An("div"));return e.className=o+"-row",t.className=o+"-cell",r.innerHTML="0",e.style.visibility="hidden",e.style.position="absolute",e},l=Nn("<div>").addClass(e.el.className).css({"z-index":-1,position:"absolute",left:"0",top:"-9999px",width:"1px",overflow:"hidden"}).append(Nn("<div>").addClass(o).append(r=Nn("<div>").addClass(o+"-body").css("width",99999)));l.appendTo(document.body);let s=i(),a=i(),d=i();r.append(s,a,d),t.virtualRowHeightFirst=n(s,!0,!0,!0),t.virtualRowHeight=n(a,!0,!0,!0),t.virtualRowHeightLast=n(d,!0,!0,!0),l.remove()}if(!t.$table){let i=document.createDocumentFragment(),l=An("div"),s=Nn(l);l.className=o,r.virtualTable&&(l.className+=" virtual");let a=r.height-n(t.$headerRow[0],!0,!0,!0);"border-box"!==s.css("box-sizing")&&(a-=parseFloat(s.css("border-top-width"))||0,a-=parseFloat(s.css("border-bottom-width"))||0,a-=parseFloat(s.css("padding-top"))||0,a-=parseFloat(s.css("padding-bottom"))||0),t.visibleHeight=a,l.style.height=r.height?a+"px":"auto",l.style.display="block",l.style.overflowY="auto",l.style.overflowX=r.width===Bn.Width.SCROLL?"auto":"hidden",i.appendChild(l);let d=An("div"),u=Nn(d);d.className=r.tableClassName+"-body",d.style.minHeight="1px",t.table=l,t.tbody=d,t.$table=s,t.$tbody=u,$n(u),$n(s),l.appendChild(d),e.el.appendChild(i),this._setupVirtualTable()}return this},Bn.prototype._renderSkeleton=function(){return this},Bn.prototype._updateVirtualHeight=function(){const e=this.o,t=this.p;if(!t.tbody)return this;if(e.virtualTable){const e=t.virtualListHelper.estimateFullHeight();t.lastVirtualScrollHeight=e,t.tbody.style.height=e+"px"}else t.tbody.style.height="";return this},Bn.prototype._updateLastCellWidthFromScrollbar=function(e){const t=this.p;let r=t.table.offsetWidth-t.table.clientWidth;if(r!==t.scrollbarWidth||e){var o;t.scrollbarWidth=r;for(let e=0;e<t.columns.length;e++)t.columns[e].actualWidthConsideringScrollbarWidth=null;if(t.scrollbarWidth>0&&t.visibleColumns.length>0){let e=t.visibleColumns.length-1;t.visibleColumns[e].actualWidthConsideringScrollbarWidth=t.visibleColumns[e].actualWidth-t.scrollbarWidth;let r=t.visibleColumns[e].actualWidthConsideringScrollbarWidth+"px",o=t.tbody.childNodes;for(let t=0,i=o.length;t<i;t++){let i=o[t];1===i.nodeType&&(i.childNodes[e].style.width=r)}t.headerRow.childNodes[e].style.width=r}null===(o=t.notifyRendererOfColumnsConfig)||void 0===o||o.call(t)}return this},Bn.prototype._updateTableWidth=function(e){const t=this.o,r=this.p;let o=this._calculateTbodyWidth();if(r.tbody.style.minWidth=o+"px",r.headerRow.style.minWidth=o+(r.scrollbarWidth||0)+"px",r.$table.off("scroll",r.onTableScrolledHorizontallyBound),t.width===Bn.Width.AUTO)l(r.$table[0],i(r.tbody,!0,!0,!0)),l(this.$el[0],i(r.$table[0],!0,!0,!0));else if(t.width===Bn.Width.SCROLL){if(e){let e=r.table?r.table.scrollTop:0,t=r.table?r.table.scrollLeft:0;!function(e){let t=e.style.display;e.style.display="none",e.offsetHeight,e.style.display=t}(this.el),r.table.scrollTop=e,r.table.scrollLeft=t,r.header.scrollLeft=t}r.$table.on("scroll",r.onTableScrolledHorizontallyBound)}return this},Bn.prototype._isTableRtl=function(){return"rtl"===this.p.$table.css("direction")},Bn.prototype._serializeColumnWidth=function(e){return e.widthMode===Dn.AUTO?"auto":e.widthMode===Dn.RELATIVE?100*e.width+"%":e.width},Bn.prototype._cellMouseOverEvent=function(e){const t=this.o,r=this.p;let o=e.firstChild;if(o.scrollWidth-o.clientWidth>1||o.scrollHeight-o.clientHeight>1){this.hideCellPreview(),r.abortCellPreview=!1;let l=Nn(e),s=Nn(o);const a=e.parentNode;let d=An("div"),u=Nn(d);d.innerHTML=e.innerHTML,d.className=t.cellPreviewClassName;let h=l.hasClass(t.tableClassName+"-header-cell");h&&(d.className+=" header",l.hasClass("sortable")&&(d.className+=" sortable"),d.draggable=!0,Nn(d).on("mousedown",this._onMouseDownColumnHeader.bind(this)).on("mousemove",this._onMouseMoveColumnHeader.bind(this)).on("mouseup",this._onMouseUpColumnHeader.bind(this)).on("mouseleave",this._onMouseLeaveColumnHeader.bind(this)).on("touchstart",this._onTouchStartColumnHeader.bind(this)).on("dragstart",this._onStartDragColumnHeader.bind(this)).on("click",this._onClickColumnHeader.bind(this)).on("contextmenu.dgtable",(function(e){e.preventDefault()})),Nn(d.firstChild).on("dragenter",this._onDragEnterColumnHeader.bind(this)).on("dragover",this._onDragOverColumnHeader.bind(this)).on("dragleave",this._onDragLeaveColumnHeader.bind(this)).on("drop",this._onDropColumnHeader.bind(this)),Fn&&Nn(d).on("selectstart",function(e){return e.preventDefault(),this.dragDrop(),!1}.bind(d)));let c=parseFloat(l.css("padding-left"))||0,p=parseFloat(l.css("padding-right"))||0,m=parseFloat(l.css("padding-top"))||0,f=parseFloat(l.css("padding-bottom"))||0,g=o.scrollWidth+(e.clientWidth-o.offsetWidth),b="border-box"===l.css("box-sizing");if(b?u.css("box-sizing","border-box"):(g-=c+p,u.css("margin-top",parseFloat(Nn(e).css("border-top-width"))||0)),!r.transparentBgColor1){let e=document.createElement("div");e.style.backgroundColor="transparent",r.transparentBgColor1=Nn(e).css("background-color"),e.style.backgroundColor="rgba(0,0,0,0)",r.transparentBgColor2=Nn(e).css("background-color")}let v={"box-sizing":b?"border-box":"content-box",width:g,"min-height":n(l[0]),"padding-left":c,"padding-right":p,"padding-top":m,"padding-bottom":f,overflow:"hidden",position:"absolute","z-index":"-1",left:"0",top:"0",cursor:l.css("cursor")};if(v){let t=Nn(e).css("background-color");t!==r.transparentBgColor1&&t!==r.transparentBgColor2||(t=Nn(a).css("background-color")),t!==r.transparentBgColor1&&t!==r.transparentBgColor2||(t="#fff"),v["background-color"]=t}u.css(v),this.el.appendChild(d),Nn(d.firstChild).css({direction:s.css("direction"),"white-space":s.css("white-space")}),h&&u.css({"-webkit-touch-callout":"none","-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","-o-user-select":"none","user-select":"none"}),d.rowIndex=a.rowIndex;let C=d.physicalRowIndex=a.physicalRowIndex;d.columnName=r.visibleColumns[Hn.call(a.childNodes,e)].name;try{let t=mn.saveSelection(e);t&&mn.restoreSelection(d,t)}catch(e){}if(this.trigger("cellpreview",d.firstChild,null==C?null:C,d.columnName,null==C?null:r.rows[C],e),r.abortCellPreview)return void u.remove();null!=C&&d.addEventListener("click",(e=>{this.trigger("rowclick",e,a.rowIndex,C,a,r.rows[C])}));let y=this.$el,w=y[0]===window?Nn(document):y,_=l.offset(),W=y.offset(),I="right"===l.css("float"),E=I?"right":"left";if(I){let e=Nn(window).width();_.right=e-(_.left+i(l[0],!0,!0,!0)),W.right=e-(W.left+i(y[0],!0,!0,!0))}_.left-=parseFloat(y.css("border-left-width"))||0,_.right-=parseFloat(y.css("border-right-width"))||0,_.top-=parseFloat(y.css("border-top-width"))||0,_[E]+=parseFloat(Nn(e).css("border-"+E+"-width"))||0,_.top+=parseFloat(Nn(e).css("border-top-width"))||parseFloat(Nn(e).css("border-bottom-width"))||0,_.left-=W.left,_.right-=W.right,_.top-=W.top;let R=0,S=y-i(u[0],!0,!0,!0);_[E]=_[E]<R?R:_[E]>S?S:_[E];let x=n(l[0],!0,!0,!0),H=w.scrollTop()+n(y[0],!0)-x;_.top>H&&(_.top=Math.max(0,H));let N={top:_.top,"z-index":9999};N[E]=_[E],u.css(N),d.__cell=e,r.$cellPreviewCell=u,e.__previewCell=d,r._bindCellHoverOut(e),r._bindCellHoverOut(d),u.on("wheel",(()=>{this.hideCellPreview()}))}},Bn.prototype._cellMouseOutEvent=function(e){this.hideCellPreview()},Bn.prototype.hideCellPreview=function(){const e=this.p;if(e.$cellPreviewCell){let t,r=e.$cellPreviewCell[0],o=r.__cell;try{t=mn.saveSelection(r)}catch(e){}e.$cellPreviewCell.remove(),e._unbindCellHoverOut(o),e._unbindCellHoverOut(r);try{t&&mn.restoreSelection(o,t)}catch(e){}this.trigger("cellpreviewdestroy",r.firstChild,r.physicalRowIndex,r.columnName,o),o.__previewCell=null,r.__cell=null,e.$cellPreviewCell=null,e.abortCellPreview=!1}else e.abortCellPreview=!0;return this};const Dn={AUTO:0,ABSOLUTE:1,RELATIVE:2};Bn.Width={NONE:"none",AUTO:"auto",SCROLL:"scroll"},Nn.controls||(Nn.controls={}),Nn.controls.dgtable=Bn;export{Bn as default};
5
+ import e from"jquery";import{getScrollHorz as t,setScrollHorz as r}from"@danielgindi/dom-utils/lib/ScrollHelper";import{getElementOffset as o,getElementWidth as i,getElementHeight as n,setElementWidth as l}from"@danielgindi/dom-utils/lib/Css";var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},a=function(e){return e&&e.Math==Math&&e},d=a("object"==typeof globalThis&&globalThis)||a("object"==typeof window&&window)||a("object"==typeof self&&self)||a("object"==typeof s&&s)||function(){return this}()||Function("return this")(),u={},h=function(e){try{return!!e()}catch(e){return!0}},c=!h((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),p=!h((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),m=p,f=Function.prototype.call,g=m?f.bind(f):function(){return f.apply(f,arguments)},v={},b={}.propertyIsEnumerable,C=Object.getOwnPropertyDescriptor,y=C&&!b.call({1:2},1);v.f=y?function(e){var t=C(this,e);return!!t&&t.enumerable}:b;var w,_,W=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},I=p,E=Function.prototype,R=E.call,S=I&&E.bind.bind(R,R),x=I?S:function(e){return function(){return R.apply(e,arguments)}},H=x,N=H({}.toString),T=H("".slice),P=function(e){return T(N(e),8,-1)},F=h,A=P,M=Object,O=x("".split),z=F((function(){return!M("z").propertyIsEnumerable(0)}))?function(e){return"String"==A(e)?O(e,""):M(e)}:M,L=function(e){return null==e},k=L,$=TypeError,V=function(e){if(k(e))throw $("Can't call method on "+e);return e},B=z,D=V,j=function(e){return B(D(e))},U="object"==typeof document&&document.all,q={all:U,IS_HTMLDDA:void 0===U&&void 0!==U},X=q.all,Y=q.IS_HTMLDDA?function(e){return"function"==typeof e||e===X}:function(e){return"function"==typeof e},G=Y,J=q.all,K=q.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:G(e)||e===J}:function(e){return"object"==typeof e?null!==e:G(e)},Q=d,Z=Y,ee=function(e){return Z(e)?e:void 0},te=function(e,t){return arguments.length<2?ee(Q[e]):Q[e]&&Q[e][t]},re=x({}.isPrototypeOf),oe=te("navigator","userAgent")||"",ie=d,ne=oe,le=ie.process,se=ie.Deno,ae=le&&le.versions||se&&se.version,de=ae&&ae.v8;de&&(_=(w=de.split("."))[0]>0&&w[0]<4?1:+(w[0]+w[1])),!_&&ne&&(!(w=ne.match(/Edge\/(\d+)/))||w[1]>=74)&&(w=ne.match(/Chrome\/(\d+)/))&&(_=+w[1]);var ue=_,he=ue,ce=h,pe=!!Object.getOwnPropertySymbols&&!ce((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&he&&he<41})),me=pe&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,fe=te,ge=Y,ve=re,be=Object,Ce=me?function(e){return"symbol"==typeof e}:function(e){var t=fe("Symbol");return ge(t)&&ve(t.prototype,be(e))},ye=String,we=function(e){try{return ye(e)}catch(e){return"Object"}},_e=Y,We=we,Ie=TypeError,Ee=function(e){if(_e(e))return e;throw Ie(We(e)+" is not a function")},Re=Ee,Se=L,xe=g,He=Y,Ne=K,Te=TypeError,Pe={},Fe={get exports(){return Pe},set exports(e){Pe=e}},Ae=d,Me=Object.defineProperty,Oe=function(e,t){try{Me(Ae,e,{value:t,configurable:!0,writable:!0})}catch(r){Ae[e]=t}return t},ze=Oe,Le="__core-js_shared__",ke=d[Le]||ze(Le,{}),$e=ke;(Fe.exports=function(e,t){return $e[e]||($e[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.26.1",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Ve=V,Be=Object,De=function(e){return Be(Ve(e))},je=De,Ue=x({}.hasOwnProperty),qe=Object.hasOwn||function(e,t){return Ue(je(e),t)},Xe=x,Ye=0,Ge=Math.random(),Je=Xe(1..toString),Ke=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Je(++Ye+Ge,36)},Qe=d,Ze=qe,et=Ke,tt=pe,rt=me,ot=Pe("wks"),it=Qe.Symbol,nt=it&&it.for,lt=rt?it:it&&it.withoutSetter||et,st=function(e){if(!Ze(ot,e)||!tt&&"string"!=typeof ot[e]){var t="Symbol."+e;tt&&Ze(it,e)?ot[e]=it[e]:ot[e]=rt&&nt?nt(t):lt(t)}return ot[e]},at=g,dt=K,ut=Ce,ht=TypeError,ct=st("toPrimitive"),pt=function(e,t){if(!dt(e)||ut(e))return e;var r,o,i=(o=e[ct],Se(o)?void 0:Re(o));if(i){if(void 0===t&&(t="default"),r=at(i,e,t),!dt(r)||ut(r))return r;throw ht("Can't convert object to primitive value")}return void 0===t&&(t="number"),function(e,t){var r,o;if("string"===t&&He(r=e.toString)&&!Ne(o=xe(r,e)))return o;if(He(r=e.valueOf)&&!Ne(o=xe(r,e)))return o;if("string"!==t&&He(r=e.toString)&&!Ne(o=xe(r,e)))return o;throw Te("Can't convert object to primitive value")}(e,t)},mt=Ce,ft=function(e){var t=pt(e,"string");return mt(t)?t:t+""},gt=K,vt=d.document,bt=gt(vt)&&gt(vt.createElement),Ct=!c&&!h((function(){return 7!=Object.defineProperty((e="div",bt?vt.createElement(e):{}),"a",{get:function(){return 7}}).a;var e})),yt=c,wt=g,_t=v,Wt=W,It=j,Et=ft,Rt=qe,St=Ct,xt=Object.getOwnPropertyDescriptor;u.f=yt?xt:function(e,t){if(e=It(e),t=Et(t),St)try{return xt(e,t)}catch(e){}if(Rt(e,t))return Wt(!wt(_t.f,e,t),e[t])};var Ht={},Nt=c&&h((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Tt=K,Pt=String,Ft=TypeError,At=function(e){if(Tt(e))return e;throw Ft(Pt(e)+" is not an object")},Mt=c,Ot=Ct,zt=Nt,Lt=At,kt=ft,$t=TypeError,Vt=Object.defineProperty,Bt=Object.getOwnPropertyDescriptor,Dt="enumerable",jt="configurable",Ut="writable";Ht.f=Mt?zt?function(e,t,r){if(Lt(e),t=kt(t),Lt(r),"function"==typeof e&&"prototype"===t&&"value"in r&&Ut in r&&!r[Ut]){var o=Bt(e,t);o&&o[Ut]&&(e[t]=r.value,r={configurable:jt in r?r[jt]:o[jt],enumerable:Dt in r?r[Dt]:o[Dt],writable:!1})}return Vt(e,t,r)}:Vt:function(e,t,r){if(Lt(e),t=kt(t),Lt(r),Ot)try{return Vt(e,t,r)}catch(e){}if("get"in r||"set"in r)throw $t("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var qt=Ht,Xt=W,Yt=c?function(e,t,r){return qt.f(e,t,Xt(1,r))}:function(e,t,r){return e[t]=r,e},Gt={},Jt={get exports(){return Gt},set exports(e){Gt=e}},Kt=c,Qt=qe,Zt=Function.prototype,er=Kt&&Object.getOwnPropertyDescriptor,tr=Qt(Zt,"name"),rr={EXISTS:tr,PROPER:tr&&"something"===function(){}.name,CONFIGURABLE:tr&&(!Kt||Kt&&er(Zt,"name").configurable)},or=Y,ir=ke,nr=x(Function.toString);or(ir.inspectSource)||(ir.inspectSource=function(e){return nr(e)});var lr,sr,ar,dr,ur=ir.inspectSource,hr=Y,cr=d.WeakMap,pr=hr(cr)&&/native code/.test(String(cr)),mr=Ke,fr=Pe("keys"),gr={},vr=pr,br=d,Cr=K,yr=Yt,wr=qe,_r=ke,Wr=gr,Ir="Object already initialized",Er=br.TypeError,Rr=br.WeakMap;if(vr||_r.state){var Sr=_r.state||(_r.state=new Rr);Sr.get=Sr.get,Sr.has=Sr.has,Sr.set=Sr.set,lr=function(e,t){if(Sr.has(e))throw Er(Ir);return t.facade=e,Sr.set(e,t),t},sr=function(e){return Sr.get(e)||{}},ar=function(e){return Sr.has(e)}}else{var xr=fr[dr="state"]||(fr[dr]=mr(dr));Wr[xr]=!0,lr=function(e,t){if(wr(e,xr))throw Er(Ir);return t.facade=e,yr(e,xr,t),t},sr=function(e){return wr(e,xr)?e[xr]:{}},ar=function(e){return wr(e,xr)}}var Hr={set:lr,get:sr,has:ar,enforce:function(e){return ar(e)?sr(e):lr(e,{})},getterFor:function(e){return function(t){var r;if(!Cr(t)||(r=sr(t)).type!==e)throw Er("Incompatible receiver, "+e+" required");return r}}},Nr=h,Tr=Y,Pr=qe,Fr=c,Ar=rr.CONFIGURABLE,Mr=ur,Or=Hr.enforce,zr=Hr.get,Lr=Object.defineProperty,kr=Fr&&!Nr((function(){return 8!==Lr((function(){}),"length",{value:8}).length})),$r=String(String).split("String"),Vr=Jt.exports=function(e,t,r){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Pr(e,"name")||Ar&&e.name!==t)&&(Fr?Lr(e,"name",{value:t,configurable:!0}):e.name=t),kr&&r&&Pr(r,"arity")&&e.length!==r.arity&&Lr(e,"length",{value:r.arity});try{r&&Pr(r,"constructor")&&r.constructor?Fr&&Lr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var o=Or(e);return Pr(o,"source")||(o.source=$r.join("string"==typeof t?t:"")),e};Function.prototype.toString=Vr((function(){return Tr(this)&&zr(this).source||Mr(this)}),"toString");var Br=Y,Dr=Ht,jr=Gt,Ur=Oe,qr={},Xr=Math.ceil,Yr=Math.floor,Gr=Math.trunc||function(e){var t=+e;return(t>0?Yr:Xr)(t)},Jr=function(e){var t=+e;return t!=t||0===t?0:Gr(t)},Kr=Jr,Qr=Math.max,Zr=Math.min,eo=function(e,t){var r=Kr(e);return r<0?Qr(r+t,0):Zr(r,t)},to=Jr,ro=Math.min,oo=function(e){return(t=e.length)>0?ro(to(t),9007199254740991):0;var t},io=j,no=eo,lo=oo,so=function(e){return function(t,r,o){var i,n=io(t),l=lo(n),s=no(o,l);if(e&&r!=r){for(;l>s;)if((i=n[s++])!=i)return!0}else for(;l>s;s++)if((e||s in n)&&n[s]===r)return e||s||0;return!e&&-1}},ao={includes:so(!0),indexOf:so(!1)},uo=qe,ho=j,co=ao.indexOf,po=gr,mo=x([].push),fo=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype");qr.f=Object.getOwnPropertyNames||function(e){return function(e,t){var r,o=ho(e),i=0,n=[];for(r in o)!uo(po,r)&&uo(o,r)&&mo(n,r);for(;t.length>i;)uo(o,r=t[i++])&&(~co(n,r)||mo(n,r));return n}(e,fo)};var go={};go.f=Object.getOwnPropertySymbols;var vo=te,bo=qr,Co=go,yo=At,wo=x([].concat),_o=vo("Reflect","ownKeys")||function(e){var t=bo.f(yo(e)),r=Co.f;return r?wo(t,r(e)):t},Wo=qe,Io=_o,Eo=u,Ro=Ht,So=function(e,t,r){for(var o=Io(t),i=Ro.f,n=Eo.f,l=0;l<o.length;l++){var s=o[l];Wo(e,s)||r&&Wo(r,s)||i(e,s,n(t,s))}},xo=h,Ho=Y,No=/#|\.prototype\./,To=function(e,t){var r=Fo[Po(e)];return r==Mo||r!=Ao&&(Ho(t)?xo(t):!!t)},Po=To.normalize=function(e){return String(e).replace(No,".").toLowerCase()},Fo=To.data={},Ao=To.NATIVE="N",Mo=To.POLYFILL="P",Oo=To,zo=d,Lo=u.f,ko=Yt,$o=function(e,t,r,o){o||(o={});var i=o.enumerable,n=void 0!==o.name?o.name:t;if(Br(r)&&jr(r,n,o),o.global)i?e[t]=r:Ur(t,r);else{try{o.unsafe?e[t]&&(i=!0):delete e[t]}catch(e){}i?e[t]=r:Dr.f(e,t,{value:r,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return e},Vo=Oe,Bo=So,Do=Oo,jo=function(e,t){var r,o,i,n,l,s=e.target,a=e.global,d=e.stat;if(r=a?zo:d?zo[s]||Vo(s,{}):(zo[s]||{}).prototype)for(o in t){if(n=t[o],i=e.dontCallGetSet?(l=Lo(r,o))&&l.value:r[o],!Do(a?o:s+(d?".":"#")+o,e.forced)&&void 0!==i){if(typeof n==typeof i)continue;Bo(n,i)}(e.sham||i&&i.sham)&&ko(n,"sham",!0),$o(r,o,n,e)}},Uo={};Uo[st("toStringTag")]="z";var qo="[object z]"===String(Uo),Xo=Y,Yo=P,Go=st("toStringTag"),Jo=Object,Ko="Arguments"==Yo(function(){return arguments}()),Qo=qo?Yo:function(e){var t,r,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Jo(e),Go))?r:Ko?Yo(t):"Object"==(o=Yo(t))&&Xo(t.callee)?"Arguments":o},Zo=String,ei=function(e){if("Symbol"===Qo(e))throw TypeError("Cannot convert a Symbol value to a string");return Zo(e)},ti=jo,ri=c,oi=d,ii=x,ni=qe,li=Y,si=re,ai=ei,di=Ht.f,ui=So,hi=oi.Symbol,ci=hi&&hi.prototype;if(ri&&li(hi)&&(!("description"in ci)||void 0!==hi().description)){var pi={},mi=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:ai(arguments[0]),t=si(ci,this)?new hi(e):void 0===e?hi():hi(e);return""===e&&(pi[t]=!0),t};ui(mi,hi),mi.prototype=ci,ci.constructor=mi;var fi="Symbol(test)"==String(hi("test")),gi=ii(ci.valueOf),vi=ii(ci.toString),bi=/^Symbol\((.*)\)[^)]+$/,Ci=ii("".replace),yi=ii("".slice);di(ci,"description",{configurable:!0,get:function(){var e=gi(this);if(ni(pi,e))return"";var t=vi(e),r=fi?yi(t,7,-1):Ci(t,bi,"$1");return""===r?void 0:r}}),ti({global:!0,constructor:!0,forced:!0},{Symbol:mi})}var wi,_i,Wi=we,Ii=TypeError,Ei=ft,Ri=Ht,Si=W,xi=eo,Hi=oo,Ni=function(e,t,r){var o=Ei(t);o in e?Ri.f(e,o,Si(0,r)):e[o]=r},Ti=Array,Pi=Math.max,Fi=function(e,t,r){for(var o=Hi(e),i=xi(t,o),n=xi(void 0===r?o:r,o),l=Ti(Pi(n-i,0)),s=0;i<n;i++,s++)Ni(l,s,e[i]);return l.length=s,l},Ai=Math.floor,Mi=function(e,t){var r=e.length,o=Ai(r/2);return r<8?Oi(e,t):zi(e,Mi(Fi(e,0,o),t),Mi(Fi(e,o),t),t)},Oi=function(e,t){for(var r,o,i=e.length,n=1;n<i;){for(o=n,r=e[n];o&&t(e[o-1],r)>0;)e[o]=e[--o];o!==n++&&(e[o]=r)}return e},zi=function(e,t,r,o){for(var i=t.length,n=r.length,l=0,s=0;l<i||s<n;)e[l+s]=l<i&&s<n?o(t[l],r[s])<=0?t[l++]:r[s++]:l<i?t[l++]:r[s++];return e},Li=Mi,ki=h,$i=oe.match(/firefox\/(\d+)/i),Vi=!!$i&&+$i[1],Bi=/MSIE|Trident/.test(oe),Di=oe.match(/AppleWebKit\/(\d+)\./),ji=!!Di&&+Di[1],Ui=jo,qi=x,Xi=Ee,Yi=De,Gi=oo,Ji=function(e,t){if(!delete e[t])throw Ii("Cannot delete property "+Wi(t)+" of "+Wi(e))},Ki=ei,Qi=h,Zi=Li,en=Vi,tn=Bi,rn=ue,on=ji,nn=[],ln=qi(nn.sort),sn=qi(nn.push),an=Qi((function(){nn.sort(void 0)})),dn=Qi((function(){nn.sort(null)})),un=!!(_i=[]["sort"])&&ki((function(){_i.call(null,wi||function(){return 1},1)})),hn=!Qi((function(){if(rn)return rn<70;if(!(en&&en>3)){if(tn)return!0;if(on)return on<603;var e,t,r,o,i="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(o=0;o<47;o++)nn.push({k:t+o,v:r})}for(nn.sort((function(e,t){return t.v-e.v})),o=0;o<nn.length;o++)t=nn[o].k.charAt(0),i.charAt(i.length-1)!==t&&(i+=t);return"DGBEFHACIJK"!==i}}));Ui({target:"Array",proto:!0,forced:an||!dn||!un||!hn},{sort:function(e){void 0!==e&&Xi(e);var t=Yi(this);if(hn)return void 0===e?ln(t):ln(t,e);var r,o,i=[],n=Gi(t);for(o=0;o<n;o++)o in t&&sn(i,t[o]);for(Zi(i,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:Ki(t)>Ki(r)?1:-1}}(e)),r=Gi(i),o=0;o<r;)t[o]=i[o++];for(;o<n;)Ji(t,o++);return t}});const cn=Array.prototype.indexOf,pn=function(e,t){for(let r=0,o=e.length;r>=0&&r<o;r+=1)if(t(e[r],r,e))return e[r]},mn=function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")};function fn(){let e=[];return Object.assign(e,fn.prototype),e.initialize.apply(e,arguments),e}fn.prototype=[],fn.prototype.initialize=function(e){e=e||{},this.sortColumn=null==e.sortColumn?[]:e.sortColumn},fn.prototype.add=function(e,t){let r,o;if("splice"in e&&"length"in e)if("number"==typeof t)for(r=0,o=e.length;r<o;r++)this.splice(t++,0,e[r]);else for(r=0,o=e.length;r<o;r++)this.push(e[r]);else"number"==typeof t?this.splice(t,0,e):this.push(e)},fn.prototype.reset=function(e){this.length=0,e&&this.add(e)},fn.prototype.filteredCollection=function(e,t){if(e&&t){let r=new fn({sortColumn:this.sortColumn});for(let o,i=0,n=this.length;i<n;i++)o=this[i],e(o,t)&&(o.__i=i,r.push(o));return r}return null},fn.prototype.onComparatorRequired=null,fn.prototype.onSort=null;let gn=fn.prototype.sort;function vn(e,t){let r=e.column,o=e.comparePath||r;"string"==typeof o&&(o=o.split("."));let i,n=o.length,l=n>1,s=t?1:-1,a=t?-1:1;return function(e,t){let r=e[o[0]],d=t[o[0]];if(l)for(i=1;i<n;i++)r=r&&r[o[i]],d=d&&d[o[i]];return r===d?0:null==r?s:null==d?a:r<d?s:a}}function bn(){let e=[];return Object.assign(e,bn.prototype),e.initialize.apply(e,arguments),e}fn.prototype.sort=function(e){let t;if(this.sortColumn.length){let r=[];for(let e=0;e<this.sortColumn.length;e++){t=null;const o=vn(this.sortColumn[e],this.sortColumn[e].descending);this.onComparatorRequired&&(t=this.onComparatorRequired(this.sortColumn[e].column,this.sortColumn[e].descending,o)),t||(t=o),r.push(t.bind(this))}if(1===r.length)t=r[0],gn.call(this,t);else{let e,o=r.length;t=function(t,i){for(let n=0;n<o;n++)if(e=r[n](t,i),0!==e)return e;return e},gn.call(this,t)}e||this.onSort&&this.onSort(t)}return t},bn.prototype=[],bn.prototype.initialize=function(){},bn.prototype.get=function(e){for(let t=0,r=this.length;t<r;t++)if(this[t].name===e)return this[t];return null},bn.prototype.indexOf=function(e){for(let t=0,r=this.length;t<r;t++)if(this[t].name===e)return t;return-1},bn.prototype.getByOrder=function(e){for(let t=0,r=this.length;t<r;t++)if(this[t].order===e)return this[t];return null},bn.prototype.normalizeOrder=function(){let e,t=[];for(e=0;e<this.length;e++)t.push(this[e]);for(t.sort((function(e,t){return e.order<t.order?-1:e.order>t.order?1:0})),e=0;e<t.length;e++)t[e].order=e;return this},bn.prototype.getColumns=function(){let e=[];for(let t,r=0;r<this.length;r++)t=this[r],e.push(t);return e.sort(((e,t)=>e.order<t.order?-1:e.order>t.order?1:0)),e},bn.prototype.getVisibleColumns=function(){let e=[];for(let t,r=0;r<this.length;r++)t=this[r],t.visible&&e.push(t);return e.sort(((e,t)=>e.order<t.order?-1:e.order>t.order?1:0)),e},bn.prototype.getMaxOrder=function(){let e=0;for(let t,r=0;r<this.length;r++)t=this[r],t.order>e&&(e=t.order);return e},bn.prototype.moveColumn=function(e,t){if(e&&t){let r,o,i=e.order,n=t.order;if(i<n)for(r=i+1;r<=n;r++)o=this.getByOrder(r),o.order--;else for(r=i-1;r>=n;r--)o=this.getByOrder(r),o.order++;e.order=n}return this};class Cn{static saveSelection(e){let t=window.getSelection().getRangeAt(0);if(e!==t.commonAncestorContainer&&!function(e,t){for(;(e=e.parentNode)&&e!==t;);return!!e}(t.commonAncestorContainer,e))return null;let r=t.cloneRange();r.selectNodeContents(e),r.setEnd(t.startContainer,t.startOffset);let o=r.toString().length;return{start:o,end:o+t.toString().length}}static restoreSelection(e,t){let r,o=0,i=[e],n=!1,l=!1,s=document.createRange();for(s.setStart(e,0),s.collapse(!0);!l&&(r=i.pop());)if(3===r.nodeType){let e=o+r.length;!n&&t.start>=o&&t.start<=e&&(s.setStart(r,t.start-o),n=!0),n&&t.end>=o&&t.end<=e&&(s.setEnd(r,t.end-o),l=!0),o=e}else{let e=r.childNodes.length;for(;e--;)i.push(r.childNodes[e])}let a=window.getSelection();a.removeAllRanges(),a.addRange(s)}}const yn=Object.prototype.hasOwnProperty,wn=void 0!==Element.prototype.insertAdjacentElement;function _n(e,t,r){t?!1===wn||e instanceof DocumentFragment?r.insertBefore(e,t):t.insertAdjacentElement("beforebegin",e):r.appendChild(e)}function Wn(e,t,r,o){return e.parentNode!==o?(t||(t=document.createDocumentFragment()),t.appendChild(e)):(t&&t.childNodes.length>0&&(_n(t,r,o),t=null),e.nextSibling!==r&&_n(e,r,o)),t}class In{constructor(e){var t;const r=this._p={list:e.list||null,hookScrollEvent:void 0===e.hookScrollEvent||!!e.hookScrollEvent,count:e.count||0,virtual:void 0===e.virtual||!!e.virtual,userItemsParent:e.itemsParent||null,setVirtualWrapperWidth:null===(t=e.autoVirtualWrapperWidth)||void 0===t||t,estimatedItemHeight:20,buffer:5,itemHeightEstimatorFn:null,itemElementCreatorFn:Sn,onItemRender:null,onItemUnrender:null,onScrollHeightChange:e.onScrollHeightChange,virtualWrapper:null,currentItemsParent:null,cachedItemHeights:[],cachedItemEstimatedHeights:[],cachedItemPositions:[],itemPositionsNeedsUpdate:0,boundRender:this.render.bind(this),existingEls:[]};r.currentItemsParent=r.userItemsParent||r.list,"boolean"==typeof e.hookScrollEvent?this.setHookScrollEvent(e.hookScrollEvent):this._hookEvents(),"number"==typeof e.count&&this.setCount(e.count),"boolean"==typeof e.virtual&&this.setVirtual(e.virtual),"number"==typeof e.estimatedItemHeight&&this.setEstimatedItemHeight(e.estimatedItemHeight),"number"==typeof e.buffer&&this.setBuffer(e.buffer),"function"==typeof e.itemHeightEstimatorFn&&this.setItemHeightEstimatorFn(e.itemHeightEstimatorFn),"function"==typeof e.itemElementCreatorFn&&this.setItemElementCreatorFn(e.itemElementCreatorFn),"function"==typeof e.onItemRender&&this.setOnItemRender(e.onItemRender),"function"==typeof e.onItemUnrender&&this.setOnItemUnrender(e.onItemUnrender)}destroy(){this._unhookEvents().invalidate()._destroyElements()}setHookScrollEvent(e){const t=this._p;return e=void 0===e||!!e,t.hookScrollEvent===e||(t.hookScrollEvent=e,this._unhookEvents()._hookEvents()),this}isHookScrollEventEnabled(){return this._p.hookScrollEvent}setCount(e){return this._p.count=e,this.invalidatePositions()}getCount(){return this._p.count}setVirtual(e){const t=this._p;return e=void 0===e||!!e,t.virtual===e||(t.virtual=e,this._hookEvents().invalidate()._destroyElements()),this}isVirtual(){return this._p.virtual}setEstimatedItemHeight(e){return this._p.estimatedItemHeight=Math.abs(("number"==typeof e?e:Number(e))||20),this}getEstimatedItemHeight(){return this._p.estimatedItemHeight}setAutoVirtualWrapperWidth(e){const t=this._p;return t.autoVirtualWrapperWidth=void 0===e||!!e,t.virtualWrapper&&t.autoVirtualWrapperWidth!==t.virtualWrapperWidthWasSet&&(t.virtualWrapper.style.width=t.autoVirtualWrapperWidth?"100%":"",t.virtualWrapperWidthWasSet=t.autoVirtualWrapperWidth),this}isAutoVirtualWrapperWidth(){return this._p.autoVirtualWrapperWidth}setBuffer(e){return this._p.buffer=Math.abs("number"==typeof e?e:Number(e)||5),this}getBuffer(){return this._p.buffer}setItemHeightEstimatorFn(e){return this._p.itemHeightEstimatorFn=e,this}setItemElementCreatorFn(e){return this._p.itemElementCreatorFn=e||Sn,this}setOnItemRender(e){return this._p.onItemRender=e,this}setOnItemUnrender(e){return this._p.onItemUnrender=e,this}setOnScrollHeightChange(e){return this._p.onScrollHeightChange=e,this}estimateFullHeight(){const e=this._p;if(0===e.count)return 0;if(e.virtual)return this._calculateItemPosition(e.count)||0;{const t=e.existingEls;if(e.count===t.length){let e=t[0].getBoundingClientRect(),r=t[t.length-1].getBoundingClientRect();return r.top-e.top+r.height}return this._calculateItemPosition(e.count)||0}}invalidatePositions(){const e=this._p;return e.itemPositionsNeedsUpdate=0,e.cachedItemHeights=[],e.cachedItemEstimatedHeights=[],e.cachedItemPositions=[],e.cachedItemHeights.length=e.count,e.cachedItemEstimatedHeights.length=e.count,e.cachedItemPositions.length=e.count,this}invalidate(){const e=this._p;this.invalidatePositions();const t=e.onItemUnrender,r=e.existingEls;for(let e=0;e<r.length;e++){const o=r[e];void 0!==o[En]&&(t&&t(o),delete o[En])}return this}render(){const e=this._p,t=e.list,r=e.virtual;let o=e.virtualWrapper,i=e.currentItemsParent,n=t.scrollTop,l=n+t.clientHeight,s=e.count,a=e.buffer,d=e.onItemUnrender,u=e.existingEls,h=u.length;if(r){const r=t.clientWidth;o||(o=e.virtualWrapper=e.userItemsParent,o||(o=e.virtualWrapper=document.createElement("div"),t.appendChild(o)),this._resetCurrentItemsParent(),i=e.currentItemsParent,e.autoVirtualWrapperWidth?(o.style.width="100%",e.virtualWrapperWidthWasSet=!0):e.virtualWrapperWidthWasSet=!1);for(let e=0;e<h;e++)u[e][Rn]=!0;this._calculateItemPosition(e.count-1);let d=this._getExistingElsRange(),p=xn(e.cachedItemPositions,n),m=Math.max(0,p-a),f=m,g=this._calculateItemPosition(f),v=a,b=Math.max(f,xn(e.cachedItemPositions,l-1)+1+a),C=[],y=null,w=o.childNodes[0];const _=function(e){let t;return-1!==d.firstIndex&&e>=d.firstIndex&&e<=d.lastIndex&&(t=u.find((t=>t[En]===e&&!0===t[Rn]))),void 0===t&&(t=(d.firstIndex<m||d.firstValidArrayIndex>0?u.find((e=>(e[En]<m||!1===yn.call(e,En))&&!0===e[Rn])):void 0)||Nn(u,(e=>!0===e[Rn]))),void 0!==t&&delete t[Rn],t};for(;f<s&&f<b;f++){let e=_(f);w&&w===e&&(w=w.nextSibling);const t=this._dequeueElementForIndex(e,f,w,!0);C.push([t,f]),y=Wn(t,y,w,i)}y&&y.childNodes.length>0&&_n(y,w,i);for(let t of C){const r=t[1];this._insertItemAndFlow(t[0],r,!1),g=e.cachedItemPositions[r]+e.cachedItemHeights[r]}if(g<l)for(;(g<l||v-- >0)&&f<s;f++){let t=_(f);w&&w===t&&(w=w.nextSibling),this._dequeueElementForIndex(t,f,w,!1),g=e.cachedItemPositions[f]+e.cachedItemHeights[f]}let W=this.estimateFullHeight(),I=W+"px";var c;o.style.height!==I&&(e.virtualWrapper.style.height=I,null===(c=e.onScrollHeightChange)||void 0===c||c.call(e,W)),r!==t.clientWidth&&this.render()}else if(s!==u.length){for(let e=0;e<h;e++)u[e][Rn]=!0;let e=i.childNodes[0],t=null;for(let r=0;r<s;r++){let o=u.find((e=>e[En]===r&&!0===e[Rn]));void 0!==o&&delete o[Rn],e&&e===o&&(e=e.nextSibling),t=Wn(this._dequeueElementForIndex(o,r,e,!0),t,e,i)}t&&t.childNodes.length>0&&_n(t,e,i)}h=u.length;for(let e=0;e<h;e++){const t=u[e];if(!0!==t[Rn])continue;let r=t.parentNode;r&&r.removeChild(t),d&&void 0!==t[En]&&d(t),u.splice(e,1),e--,h--}}addItemsAt(e,t=-1){if("number"!=typeof e||e<=0)return this;const r=this._p;if((t<-1||t>=r.count)&&(t=r.count),r.count+=e,r.virtual)t>=0&&t<r.count&&this._invalidateItemIndexesAt(t,-1);else{let o=r.existingEls;if(o.length!==r.count-e)return this;let i=this._getExistingElsRange();if(-1===i.firstValidArrayIndex)return this;const n=r.currentItemsParent;let l=i.firstValidArrayIndex+t-i.firstIndex;this._pushItemIndexesAt(t,e);let s=o[l-1]?o[l-1].nextSibling:o[0],a=null;for(let r=t,o=t+e;r<o;r++)a=Wn(this._dequeueElementForIndex(void 0,r,s,!0),a,s,n);a&&a.childNodes.length>0&&_n(a,s,n)}return this}removeItemsAt(e,t){const r=this._p;if("number"!=typeof e||"number"!=typeof t||e<=0||t<0||t>=r.count)return this;if(r.count-=Math.min(e,r.count-t),r.virtual)this._invalidateItemIndexesAt(t,-1);else{let o=r.existingEls;if(o.length!==r.count+e)return this;let i=this._getExistingElsRange();if(-1===i.firstValidArrayIndex)return this;this._pushItemIndexesAt(t+e,-e);const n=r.onItemUnrender;let l=i.firstValidArrayIndex+t-i.firstIndex;if(l<o.length){for(let t=0;t<e;t++){let e=o[l+t],r=e.parentNode;r&&r.removeChild(e),n&&void 0!==e[En]&&n(e)}o.splice(l,e)}}return this}refreshItemAt(e){const t=this._p;if("number"!=typeof e||e<0||e>=t.count)return this;if(t.virtual)this._invalidateItemIndexesAt(e,1);else{let r=t.existingEls;if(r.length!==t.count)return this;let o=this._getExistingElsRange();if(e>=o.firstIndex&&e<=o.lastIndex){let t=r[o.firstValidArrayIndex+e-o.firstIndex];delete t[En],this._dequeueElementForIndex(t,e,t.nextSibling,!1)}}return this}isItemRendered(e){const t=this._p;if("number"!=typeof e||e<0||e>=t.count)return!1;let r=this._getExistingElsRange();return e>=r.firstIndex&&e<=r.lastIndex}getItemElementAt(e){const t=this._p;if("number"!=typeof e||e<0||e>=t.count)return;let r=t.existingEls,o=this._getExistingElsRange();return e>=o.firstIndex&&e<=o.lastIndex?r[o.firstValidArrayIndex+e-o.firstIndex]:void 0}getItemPosition(e){const t=this._p;if(!("number"!=typeof e||e<0||e>=t.count)){if(t.virtual)return this._calculateItemPosition(e);{let r=this.getItemElementAt(e);if(void 0===r)return;const i=t.list;return o(r).top-o(i).top+i.scrollTop}}}getItemIndexFromElement(e){return e?e[En]:void 0}getItemSize(e){const t=this._p;if("number"!=typeof e||e<0||e>=t.count)return;let r=t.cachedItemHeights[e-1];return void 0===r&&(r=t.itemHeightEstimatorFn?t.itemHeightEstimatorFn(e-1):null,"number"!=typeof r&&(r=t.estimatedItemHeight),t.cachedItemEstimatedHeights[e-1]=r),r}getVisibleItemCount(){const e=this._p,t=e.list;let r,o,i=t.scrollTop,n=t.clientHeight;if(e.virtual)r=xn(e.cachedItemPositions,i),o=xn(e.cachedItemPositions,i+n,r);else{const t=e=>{let t=this.getItemPosition(e);return void 0===t&&(t=1/0),t};r=Hn(e.count,t,i),o=Hn(e.count,t,i+n,r)}return this.getItemPosition(o)===i+n&&o--,o-r+1}createGhostItemElement(e,t,r){const o=this._p;let i=this._dequeueElementForIndex(null,e,!1,!0);try{t&&o.currentItemsParent.appendChild(i),r(i)}finally{if(t){let e=i.parentNode;e&&e.removeChild(i)}o.onItemUnrender&&o.onItemUnrender(i)}}_resetCurrentItemsParent(){var e,t;const r=this._p;r.currentItemsParent=null!==(e=null!==(t=r.virtualWrapper)&&void 0!==t?t:r.userItemsParent)&&void 0!==e?e:r.list}_destroyElements(){const e=this._p,t=e.onItemUnrender,r=e.existingEls;for(let e=0;e<r.length;e++){const o=r[e];let i=o.parentNode;i&&i.removeChild(o),t&&void 0!==o[En]&&t(o)}return r.length=0,e.virtualWrapper&&(e.virtualWrapper!==e.userItemsParent&&e.virtualWrapper.parentNode&&e.virtualWrapper.parentNode.removeChild(e.virtualWrapper),e.virtualWrapper=null,this._resetCurrentItemsParent()),this}_invalidateItemIndexesAt(e,t){const r=this._p;this._setItemPositionsNeedsUpdate(e);let o=r.existingEls,i=o.length,n=this._getExistingElsRange();if(-1!==n.firstValidArrayIndex&&(-1===t&&(t=o.length),e>=n.firstIndex&&e<=n.lastIndex))for(let r=n.firstValidArrayIndex+e-n.firstIndex,l=0;r<i&&l<t;r++,l++)delete o[r][En]}_pushItemIndexesAt(e,t){let r=this._p.existingEls,o=r.length,i=this._getExistingElsRange();if(-1!==i.firstValidArrayIndex&&e>=i.firstIndex&&e<=i.lastIndex)for(let n=i.firstValidArrayIndex+e-i.firstIndex;n<o;n++)r[n][En]+=t}_hookEvents(){const e=this._p;return this._unhookEvents(),e.virtual&&e.hookScrollEvent&&e.list&&e.list.addEventListener("scroll",e.boundRender),this}_unhookEvents(){const e=this._p;return e.list&&e.list.removeEventListener("scroll",e.boundRender),this}_setItemPositionsNeedsUpdate(e){const t=this._p;e<t.itemPositionsNeedsUpdate&&(t.itemPositionsNeedsUpdate=e)}_calculateItemPosition(e){const t=this._p,r=t.cachedItemPositions;if(e>=t.itemPositionsNeedsUpdate){const o=t.count,i=t.cachedItemHeights,n=t.cachedItemEstimatedHeights,l=t.estimatedItemHeight,s=t.itemHeightEstimatorFn;i.length!==o&&(i.length=o,n.length=o,r.length=o);let a=t.itemPositionsNeedsUpdate,d=Math.min(e,o),u=0;a>0&&(u=r[a-1]);for(let e=a;e<=d;e++){if(0===e){r[e]=u;continue}const t=e-1;let o=i[t];void 0===o&&(o=s?s(t):null,"number"!=typeof o&&(o=l),n[t]=o),u+=o,r[e]=u}t.itemPositionsNeedsUpdate=d+1}if(e>0&&e===t.count){let o=t.cachedItemHeights[e-1];return void 0===o&&(o=t.itemHeightEstimatorFn?t.itemHeightEstimatorFn(e-1):null,"number"!=typeof o&&(o=t.estimatedItemHeight),t.cachedItemEstimatedHeights[e-1]=o),r[e-1]+o}return r[e]}_dequeueElementForIndex(e,t,r,o){const i=this._p,n=i.virtualWrapper;i.currentItemsParent;const l=i.existingEls,s=i.onItemRender,a=i.onItemUnrender,d=!e,u=d||t!==e[En];if(e?a&&u&&a(e):(e=i.itemElementCreatorFn(),n&&!1!==r&&(e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.right="0")),u&&(e.innerHTML="",s&&s(e,t)),!1!==r){if(r instanceof Node||(r=null),!d){let t=l.indexOf(e);-1!==t&&l.splice(t,1)}let i=r?l.indexOf(r):-1;-1===i?l.push(e):l.splice(i,0,e),o||this._insertItemAndFlow(e,t,r)}return e[En]=t,e}_insertItemAndFlow(e,t,r){const o=this._p,i=o.virtualWrapper,n=o.currentItemsParent;if(!1!==r&&(r instanceof Node||(r=null),e.parentNode===n&&e.nextSibling===r||_n(e,r,n)),i){let r=e.getBoundingClientRect().height,i=o.cachedItemHeights[t];i!==r&&(o.cachedItemHeights[t]=r),(void 0!==i&&r!==i||void 0===i&&r!==o.cachedItemEstimatedHeights[t])&&this._setItemPositionsNeedsUpdate(t+1);let n=this._calculateItemPosition(t);const l=Pn();!1===l?e.style.top=`${n}px`:e.style[l]=`translateY(${n}px)`}}_getExistingElsRange(){const e=this._p.existingEls;let t=-1,r=-1;for(let r=0,o=e.length;r<o;r++)if(!1!==yn.call(e[r],En)){t=r;break}for(let t=e.length-1;t>=0;t--)if(!1!==yn.call(e[t],En)){r=t;break}return{firstValidArrayIndex:t,lastValidArrayIndex:r,firstIndex:-1!==t?e[t][En]:-1,lastIndex:-1!==r?e[r][En]:-1}}}const En=Symbol("index"),Rn=Symbol("reuse"),Sn=()=>document.createElement("li"),xn=(e,t,r=0,o=-1)=>{let i=e.length;if(o<0&&(o+=i),o<=r)return o;for(;r<=o;){let n=Math.floor(r+(o-r)/2),l=e[n];if(l===t||l<=t&&n<i&&e[n+1]>t){for(;n>0&&e[n-1]===l;)n--;return n}l<t?r=n+1:o=n-1}return-1===o?0:i-1},Hn=(e,t,r,o=0,i=-1)=>{if(i<0&&(i+=e),i<=o)return i;for(;o<=i;){let n=Math.floor(o+(i-o)/2),l=t(n);if(l===r||l<=r&&n<e&&t(n+1)>r){for(;n>0&&t(n-1)===l;)n--;return n}l<r?o=n+1:i=n-1}return-1===i?0:t(e-1)},Nn=(e,t)=>{for(let r=e.length-1;r>=0;r--)if(t(e[r]))return e[r]};let Tn=null;const Pn=()=>{if(null===Tn){let e=["transform","WebkitTransform","MozTransform","OTransform","msTransform"],t=document.createElement("div");Tn=!1;for(let r of e)if(t&&void 0!==t.style[r]){Tn=r;break}}return Tn};function Fn(e,t){let r=t.column,o=null==t.keyword?"":t.keyword.toString();if(!o||!r)return!0;let i=e[r];return null!=i&&(i=i.toString(),t.caseSensitive||(i=i.toLowerCase(),o=o.toLowerCase()),-1!==i.indexOf(o))}const An=Array.prototype.indexOf,Mn=e;let On=navigator.userAgent,zn=-1!==On.indexOf("MSIE ")?parseFloat(On.substr(On.indexOf("MSIE ")+5)):null,Ln=zn&&zn<10,kn=document.createElement.bind(document);const $n=Object.prototype.hasOwnProperty,Vn=Symbol("safe"),Bn=Symbol("hover_in"),Dn=Symbol("hover_out"),jn=Symbol("row_click");function Un(e){var t,r;t=["relative","absolute","fixed"],r=e.css("position"),cn.call(t,r)>=0||e.css("position","relative")}const qn=e=>/^(?:INPUT|TEXTAREA|BUTTON|SELECT)$/.test(e.target.tagName);let Xn=function e(){if(!(this instanceof e))return new(Function.prototype.bind.apply(e,[e].concat(Array.prototype.slice.call(arguments,0))));this.initialize.apply(this,arguments)};Xn.VERSION="@@VERSION",Xn.prototype.VERSION=Xn.VERSION,Xn.prototype.initialize=function(e){let t=this;e=e||{};let r=t.o={},o=t.p={};o.events={},t.el=e.el&&e.el instanceof Element?e.el:document.createElement("div");let i=t.$el=Mn(t.el);t.el!==e.el&&i.addClass(e.className||"dgtable-wrapper"),i.data("control",t).data("dgtable",t),i.on("remove",(()=>t.destroy())),o.onMouseMoveResizeAreaBound=this._onMouseMoveResizeArea.bind(this),o.onEndDragColumnHeaderBound=this._onEndDragColumnHeader.bind(this),o.onTableScrolledHorizontallyBound=this._onTableScrolledHorizontally.bind(this),this.$el.on("dragend",o.onEndDragColumnHeaderBound),o.tableSkeletonNeedsRendering=!0,r.virtualTable=void 0===e.virtualTable||!!e.virtualTable,r.estimatedRowHeight=e.estimatedRowHeight||void 0,r.rowsBufferSize=e.rowsBufferSize||3,r.minColumnWidth=Math.max(e.minColumnWidth||35,0),r.resizeAreaWidth=e.resizeAreaWidth||8,r.resizableColumns=void 0===e.resizableColumns||!!e.resizableColumns,r.movableColumns=void 0===e.movableColumns||!!e.movableColumns,r.sortableColumns=void 0===e.sortableColumns?1:parseInt(e.sortableColumns,10)||1,r.adjustColumnWidthForSortArrow=void 0===e.adjustColumnWidthForSortArrow||!!e.adjustColumnWidthForSortArrow,r.convertColumnWidthsToRelative=void 0!==e.convertColumnWidthsToRelative&&!!e.convertColumnWidthsToRelative,r.autoFillTableWidth=void 0!==e.autoFillTableWidth&&!!e.autoFillTableWidth,r.cellClasses=void 0===e.cellClasses?"":e.cellClasses,r.resizerClassName=void 0===e.resizerClassName?"dgtable-resize":e.resizerClassName,r.tableClassName=void 0===e.tableClassName?"dgtable":e.tableClassName,r.allowCellPreview=void 0===e.allowCellPreview||e.allowCellPreview,r.allowHeaderCellPreview=void 0===e.allowHeaderCellPreview||e.allowHeaderCellPreview,r.cellPreviewClassName=void 0===e.cellPreviewClassName?"dgtable-cell-preview":e.cellPreviewClassName,r.cellPreviewAutoBackground=void 0===e.cellPreviewAutoBackground||e.cellPreviewAutoBackground,r.onComparatorRequired=void 0===e.onComparatorRequired?null:e.onComparatorRequired,r.onComparatorRequired||"function"!=typeof e.comparatorCallback||(r.onComparatorRequired=e.comparatorCallback),r.width=void 0===e.width?Xn.Width.NONE:e.width,r.relativeWidthGrowsToFillWidth=void 0===e.relativeWidthGrowsToFillWidth||!!e.relativeWidthGrowsToFillWidth,r.relativeWidthShrinksToFillWidth=void 0!==e.relativeWidthShrinksToFillWidth&&!!e.relativeWidthShrinksToFillWidth,this.setCellFormatter(e.cellFormatter),this.setHeaderCellFormatter(e.headerCellFormatter),this.setFilter(e.filter),r.height=e.height,t.setColumns(e.columns||[],!1);let n=[];if(e.sortColumn){let t=e.sortColumn;if(t&&!Array.isArray(t)&&(t=[t]),t)for(let e=0,r=t.length;e<r;e++){let r=t[e];"string"==typeof r&&(r={column:r,descending:!1});let i=o.columns.get(r.column);i&&n.push({column:r.column,comparePath:i.comparePath||i.dataPath,descending:r.descending})}}o.rows=new fn({sortColumn:n}),o.rows.onComparatorRequired=(e,t,o)=>{if(r.onComparatorRequired)return r.onComparatorRequired(e,t,o)},o.filteredRows=null,o.scrollbarWidth=0,o.lastVirtualScrollHeight=0,this._setupHovers()},Xn.prototype._setupHovers=function(){const e=this,t=e.p;let r=function(t){let r=t.fromElement||t.relatedTarget;r===this||Mn.contains(this,r)||this.__previewCell&&(r===this.__previewCell||Mn.contains(this.__previewCell,r))||e._cellMouseOverEvent.call(e,this)},o=function(t){let r=(t=t||event).toElement||t.relatedTarget;r===this||Mn.contains(this,r)||this.__previewCell&&(r===this.__previewCell||Mn.contains(this.__previewCell,r))||e._cellMouseOutEvent.call(e,this)};t._bindCellHoverIn=function(e){e[Bn]||e.addEventListener("mouseover",e[Bn]=r.bind(e))},t._unbindCellHoverIn=function(e){e[Bn]&&(e.removeEventListener("mouseover",e[Bn]),e[Bn]=null)},t._bindCellHoverOut=function(e){return e[Dn]||e.addEventListener("mouseout",e[Dn]=o.bind(e.__cell||e)),this},t._unbindCellHoverOut=function(e){return e[Dn]&&(e.removeEventListener("mouseout",e[Dn]),e[Dn]=null),this}},Xn.prototype._setupVirtualTable=function(){var e;const t=this,r=t.p,o=t.o,i=o.tableClassName,n=i+"-row",l=i+"-row-alt",s=i+"-cell";let a=r.visibleColumns,d=a.length;r.notifyRendererOfColumnsConfig=()=>{a=r.visibleColumns,d=a.length;for(let e,t=0;t<d;t++)e=a[t],e._finalWidth=e.actualWidthConsideringScrollbarWidth||e.actualWidth},r.virtualListHelper=new In({list:r.table,itemsParent:r.tbody,autoVirtualWrapperWidth:!1,virtual:o.virtualTable,buffer:o.rowsBufferSize,estimatedItemHeight:o.estimatedRowHeight?o.estimatedRowHeight:r.virtualRowHeight||40,itemElementCreatorFn:()=>kn("div"),onItemRender:(e,i)=>{const u=r.filteredRows||r.rows,h=!!r.filteredRows,c=o.allowCellPreview;e.className=n,i%2==1&&(e.className+=" "+l);let p=u[i],m=h?p.__i:i;e.rowIndex=i,e.physicalRowIndex=m;for(let t=0;t<d;t++){let o=a[t],i=kn("div");i.columnName=o.name,i.setAttribute("data-column",o.name),i.className=s,i.style.width=o._finalWidth+"px",o.cellClasses&&(i.className+=" "+o.cellClasses),c&&r._bindCellHoverIn(i),i.appendChild(kn("div")).innerHTML=this._getHtmlForCell(p,o),e.appendChild(i)}e.addEventListener("click",e[jn]=r=>{t.trigger("rowclick",r,i,m,e,p)}),t.trigger("rowcreate",i,m,e,p)},onItemUnrender:e=>{e[jn]&&e.removeEventListener("click",e[jn]),t._unbindCellEventsForRow(e),t.trigger("rowdestroy",e)},onScrollHeightChange:e=>{e>r._lastVirtualScrollHeight&&!r.scrollbarWidth&&this._updateLastCellWidthFromScrollbar(),r._lastVirtualScrollHeight=e}}),r.virtualListHelper.setCount((null!==(e=r.filteredRows)&&void 0!==e?e:r.rows).length),r.notifyRendererOfColumnsConfig()},Xn.prototype.on=function(e,t){let r=this.p.events;return"function"!=typeof t||($n.call(r,e)||(r[e]=[]),r[e].push({cb:t,once:!1})),this},Xn.prototype.once=function(e,t){let r=this.p.events;return"function"!=typeof t||($n.call(r,e)||(r[e]=[]),r[e].push({cb:t,once:!0})),this},Xn.prototype.off=function(e,t){let r=this.p.events;if(!$n.call(r,e))return this;let o=r[e];for(let e=0;e<o.length;e++){let r=o[e];t&&r.cb!==t||o.splice(e--,1)}return this},Xn.prototype.trigger=function(e){const t=this.p;if(!t)return;let r=t.events;if($n.call(r,e)){let t=r[e];for(let e=0;e<t.length;e++){let r=t[e];r.once&&t.splice(e--,1),r.cb.apply(this,Array.prototype.slice.call(arguments,1))}}return this},Xn.prototype._parseColumnWidth=function(e,t){let r=Math.max(0,parseFloat(e)),o=Yn.AUTO;return r>0&&(e===r+"%"?(o=Yn.RELATIVE,r/=100):r>0&&r<1?o=Yn.RELATIVE:(r<t&&(r=t),o=Yn.ABSOLUTE)),{width:r,mode:o}},Xn.prototype._initColumnFromData=function(e){let t=this._parseColumnWidth(e.width,e.ignoreMin?0:this.o.minColumnWidth),r={name:e.name,label:void 0===e.label?e.name:e.label,width:t.width,widthMode:t.mode,resizable:void 0===e.resizable||e.resizable,sortable:void 0===e.sortable||e.sortable,movable:void 0===e.movable||e.movable,visible:void 0===e.visible||e.visible,cellClasses:void 0===e.cellClasses?this.o.cellClasses:e.cellClasses,ignoreMin:void 0!==e.ignoreMin&&!!e.ignoreMin};return r.dataPath=void 0===e.dataPath?r.name:e.dataPath,r.comparePath=void 0===e.comparePath?r.dataPath:e.comparePath,"string"==typeof r.dataPath&&(r.dataPath=r.dataPath.split(".")),"string"==typeof r.comparePath&&(r.comparePath=r.comparePath.split(".")),r},Xn.prototype.close=Xn.prototype.remove=Xn.prototype.destroy=function(){var e;let t=this,r=t.p||{},o=t.$el;if(t.__removed)return t;if(r.$resizer&&(r.$resizer.remove(),r.$resizer=null),null===(e=r.virtualListHelper)||void 0===e||e.destroy(),r.virtualListHelper=null,this._destroyHeaderCells(),r.$table&&r.$table.empty(),r.$tbody&&r.$tbody.empty(),r.workerListeners){for(let e=0;e<r.workerListeners.length;e++){let t=r.workerListeners[e];t.worker.removeEventListener("message",t.listener,!1)}r.workerListeners.length=0}r.rows.length=r.columns.length=0,r._deferredRender&&clearTimeout(r._deferredRender);for(let e in t)$n.call(t,e)&&(t[e]=null);return t.__removed=!0,o&&o.remove(),this},Xn.prototype._unbindCellEventsForTable=function(){const e=this.p;if(e.headerRow)for(let t=0,r=e.headerRow.childNodes,o=r.length;t<o;t++)for(let o=0,i=r[t].childNodes,n=i.length;o<n;o++)e._unbindCellHoverIn(i[o]);return this},Xn.prototype._unbindCellEventsForRow=function(e){const t=this.p;for(let r=0,o=e.childNodes,i=o.length;r<i;r++)t._unbindCellHoverIn(o[r]);return this},Xn.prototype.render=function(){const e=this.o,o=this.p;if(!this.el.offsetParent)return o._deferredRender||(o._deferredRender=setTimeout((()=>{o._deferredRender=null,!this.__removed&&this.el.offsetParent&&this.render()}))),this;if(!0===o.tableSkeletonNeedsRendering){var i;o.tableSkeletonNeedsRendering=!1,e.width===Xn.Width.AUTO&&this._clearSortArrows();let n=o.table&&o.table.parentNode?o.table.scrollTop:NaN,l=o.table&&o.table.parentNode?t(o.table):NaN;this._renderSkeletonBase()._renderSkeletonBody().tableWidthChanged(!0,!1)._renderSkeletonHeaderCells(),o.virtualListHelper.setCount((null!==(i=o.filteredRows)&&void 0!==i?i:o.rows).length),this._updateVirtualHeight(),this._updateLastCellWidthFromScrollbar(!0),this._updateTableWidth(!0);for(let e=0;e<o.rows.sortColumn.length;e++)this._showSortArrow(o.rows.sortColumn[e].column,o.rows.sortColumn[e].descending);e.adjustColumnWidthForSortArrow&&o.rows.sortColumn.length?this.tableWidthChanged(!0):e.virtualTable||this.tableWidthChanged(),isNaN(n)||(o.table.scrollTop=n),isNaN(l)||(r(o.table,l),r(o.header,l)),this.trigger("renderskeleton")}return o.virtualListHelper.render(),this.trigger("render"),this},Xn.prototype.clearAndRender=function(e){var t;let r=this.p;return r.tableSkeletonNeedsRendering=!0,null===(t=r.notifyRendererOfColumnsConfig)||void 0===t||t.call(r),(void 0===e||e)&&this.render(),this},Xn.prototype._calculateTbodyWidth=function(){const e=this.p;let t,r,o,n=this.o.tableClassName,l=n+"-row",s=n+"-cell",a=e.visibleColumns,d=a.length,u=Mn("<div>").addClass(l).css("float","left"),h=0;for(r=0;r<d;r++)o=a[r],t=kn("div"),t.className=s,t.style.width=o.actualWidth+"px",o.cellClasses&&(t.className+=" "+o.cellClasses),t.appendChild(kn("div")),u.append(t),h+=o.actualWidth;let c=Mn("<div>").addClass(this.el.className).css({"z-index":-1,position:"absolute",left:"0",top:"-9999px",float:"left",width:"1px",overflow:"hidden"}).append(Mn("<div>").addClass(n).append(Mn("<div>").addClass(n+"-body").css("width",h+1e4).append(u)));c.appendTo(document.body);let p=Mn('<div style="border:1.5px solid #000;width:0;height:0;position:absolute;left:0;top:-9999px">').appendTo(document.body),m=parseFloat(p.css("border-width")),f=Math.round(m)!==m;p.remove();let g=i(u[0],!0,!0,!0);return g-=e.scrollbarWidth||0,f&&g++,c.remove(),g},Xn.prototype.setColumns=function(e,t){const r=this.p;e=e||[];let o=new bn;for(let t=0,r=0;t<e.length;t++){let i=e[t],n=this._initColumnFromData(i);void 0!==i.order?(i.order>r&&(r=i.order+1),n.order=i.order):n.order=r++,o.push(n)}return o.normalizeOrder(),r.columns=o,r.visibleColumns=o.getVisibleColumns(),this._ensureVisibleColumns().clearAndRender(t),this},Xn.prototype.addColumn=function(e,t,r){const o=this.p;let i=o.columns;if(e&&!i.get(e.name)){let n=null;void 0!==t&&(n=i.get(t)||i.getByOrder(t));let l=this._initColumnFromData(e);l.order=n?n.order:i.getMaxOrder()+1;for(let e=i.getMaxOrder(),t=l.order;e>=t;e--){let t=i.getByOrder(e);t&&t.order++}i.push(l),i.normalizeOrder(),o.visibleColumns=i.getVisibleColumns(),this._ensureVisibleColumns().clearAndRender(r),this.trigger("addcolumn",l.name)}return this},Xn.prototype.removeColumn=function(e,t){const r=this.p;let o=r.columns,i=o.indexOf(e);return i>-1&&(o.splice(i,1),o.normalizeOrder(),r.visibleColumns=o.getVisibleColumns(),this._ensureVisibleColumns().clearAndRender(t),this.trigger("removecolumn",e)),this},Xn.prototype.setCellFormatter=function(e){return e||((e=e=>"string"==typeof e?mn(e):e)[Vn]=!0),this.o.cellFormatter=e,this},Xn.prototype.setHeaderCellFormatter=function(e){return this.o.headerCellFormatter=e||function(e){return"string"==typeof e?mn(e):e},this},Xn.prototype.setFilter=function(e){return this.o.filter=e,this},Xn.prototype.filter=function(e){const t=this.p;let r=this.o.filter||Fn;"string"==typeof arguments[0]&&"string"==typeof arguments[1]&&(e={column:arguments[0],keyword:arguments[1],caseSensitive:arguments[2]});let o=!!t.filteredRows;return t.filteredRows&&(t.filteredRows=null),t.filterArgs=null==e?null:"object"!=typeof e||Array.isArray(e)?e:Mn.extend({},e),null!==t.filterArgs?(t.filteredRows=t.rows.filteredCollection(r,t.filterArgs),(o||t.filteredRows)&&(this.clearAndRender(),this.trigger("filter",e))):(t.filterArgs=null,t.filteredRows=null,this.clearAndRender(),this.trigger("filterclear",{})),this},Xn.prototype.clearFilter=function(){const e=this.p;return e.filteredRows&&(e.filterArgs=null,e.filteredRows=null,this.clearAndRender(),this.trigger("filterclear",{})),this},Xn.prototype._refilter=function(){const e=this.p;if(e.filteredRows&&e.filterArgs){let t=this.o.filter||Fn;e.filteredRows=e.rows.filteredCollection(t,e.filterArgs)}return this},Xn.prototype.setColumnLabel=function(e,t){let r=this.p.columns.get(e);if(r&&(r.label=void 0===t?r.name:t,r.element))for(let e=0;e<r.element[0].firstChild.childNodes.length;e++){let t=r.element[0].firstChild.childNodes[e];if(3===t.nodeType){t.textContent=r.label;break}}return this},Xn.prototype.moveColumn=function(e,t,r=!0){const o=this.o,i=this.p;let n,l,s=i.columns,a=r?i.visibleColumns:s.getColumns();if("string"==typeof e?n=s.get(e):"number"==typeof e&&(n=a[e]),"string"==typeof t?l=s.get(t):"number"==typeof t&&(l=a[t]),n&&l&&e!==t){let e=n.order,t=l.order,r=s.moveColumn(n,l).getVisibleColumns();if(i.visibleColumns.length!==r.length||i.visibleColumns.some(((e,t)=>e!==r[t])))if(i.visibleColumns=r,this._ensureVisibleColumns(),o.virtualTable)this.clearAndRender();else{let r=i.$headerRow.find(">div."+o.tableClassName+"-header-cell"),n=e<t?t+1:t,l=e;r[0].parentNode.insertBefore(r[l],r[n]);let s=i.visibleColumns[e];s=(s.actualWidthConsideringScrollbarWidth||s.actualWidth)+"px";let a=i.visibleColumns[t];a=(a.actualWidthConsideringScrollbarWidth||a.actualWidth)+"px";let d=i.tbody.childNodes;for(let r=0,o=d.length;r<o;r++){let o=d[r];1===o.nodeType&&(o.insertBefore(o.childNodes[l],o.childNodes[n]),o.childNodes[t].firstChild.style.width=a,o.childNodes[e].firstChild.style.width=s)}}this.trigger("movecolumn",n.name,e,t)}return this},Xn.prototype.sort=function(e,t,r){const o=this.o,i=this.p;let n,l=i.columns.get(e),s=i.rows.sortColumn;if(l){if(s.length&&s[s.length-1].column===e&&(t=void 0===t?!s[s.length-1].descending:t),r){for(let e=0;e<s.length;e++)if(s[e].column===l.name){e<s.length-1?s.length=0:s.splice(s.length-1,1);break}(o.sortableColumns>0&&s.length>=o.sortableColumns||s.length>=i.visibleColumns.length)&&(s.length=0)}else s.length=0;t=void 0!==t&&t,s.push({column:l.name,comparePath:l.comparePath||l.dataPath,descending:!!t})}else s.length=0;this._clearSortArrows();for(let e=0;e<s.length;e++)this._showSortArrow(s[e].column,s[e].descending);o.adjustColumnWidthForSortArrow&&!i.tableSkeletonNeedsRendering&&this.tableWidthChanged(!0),i.rows.sortColumn=s,s.length&&(n=i.rows.sort(!!i.filteredRows),i.filteredRows&&i.filteredRows.sort(!!i.filteredRows)),i.virtualListHelper&&i.virtualListHelper.invalidate().render();let a=[];for(let e=0;e<s.length;e++)a.push({column:s[e].column,descending:s[e].descending});return this.trigger("sort",a,!0,n),this},Xn.prototype.resort=function(){const e=this.p;let t=e.columns,r=e.rows.sortColumn;if(r.length){for(let e=0;e<r.length;e++)t.get(r[e].column)||r.splice(e--,1);let o;e.rows.sortColumn=r,r.length&&(o=e.rows.sort(!!e.filteredRows),e.filteredRows&&e.filteredRows.sort(!!e.filteredRows));let i=[];for(let e=0;e<r.length;e++)i.push({column:r[e].column,descending:r[e].descending});this.trigger("sort",i,!1,o)}return this},Xn.prototype._ensureVisibleColumns=function(){const e=this.p;return 0===e.visibleColumns.length&&e.columns.length&&(e.columns[0].visible=!0,e.visibleColumns.push(e.columns[0]),this.trigger("showcolumn",e.columns[0].name)),this},Xn.prototype.setColumnVisible=function(e,t){const r=this.p;let o=r.columns.get(e);return t=!!t,o&&!!o.visible!==t&&(o.visible=t,r.visibleColumns=r.columns.getVisibleColumns(),this.trigger(t?"showcolumn":"hidecolumn",e),this._ensureVisibleColumns(),this.clearAndRender()),this},Xn.prototype.isColumnVisible=function(e){let t=this.p.columns.get(e);return!!t&&t.visible},Xn.prototype.setMinColumnWidth=function(e){let t=this.o;return e=Math.max(e,0),t.minColumnWidth!==e&&(t.minColumnWidth=e,this.tableWidthChanged(!0)),this},Xn.prototype.getMinColumnWidth=function(){return this.o.minColumnWidth},Xn.prototype.setSortableColumns=function(e){const t=this.p,r=this.o;if(r.sortableColumns!==e&&(r.sortableColumns=e,t.$table)){let e=t.$headerRow.find(">div."+r.tableClassName+"-header-cell");for(let o=0;o<e.length;o++)Mn(e[0])[r.sortableColumns>0&&t.visibleColumns[o].sortable?"addClass":"removeClass"]("sortable")}return this},Xn.prototype.getSortableColumns=function(){return this.o.sortableColumns},Xn.prototype.setMovableColumns=function(e){let t=this.o;return e=void 0===e||!!e,t.movableColumns!==e&&(t.movableColumns=e),this},Xn.prototype.getMovableColumns=function(){return this.o.movableColumns},Xn.prototype.setResizableColumns=function(e){let t=this.o;return e=void 0===e||!!e,t.resizableColumns!==e&&(t.resizableColumns=e),this},Xn.prototype.getResizableColumns=function(){return this.o.resizableColumns},Xn.prototype.setComparatorCallback=function(e){let t=this.o;return t.onComparatorRequired!==e&&(t.onComparatorRequired=e),this},Xn.prototype.setColumnWidth=function(e,t){let r=this.p.columns.get(e),o=this._parseColumnWidth(t,r.ignoreMin?0:this.o.minColumnWidth);if(r){let e=this._serializeColumnWidth(r);r.width=o.width,r.widthMode=o.mode;let t=this._serializeColumnWidth(r);e!==t&&this.tableWidthChanged(!0),this.trigger("columnwidth",r.name,e,t)}return this},Xn.prototype.getColumnWidth=function(e){let t=this.p.columns.get(e);return t?this._serializeColumnWidth(t):null},Xn.prototype.getColumnConfig=function(e){let t=this.p.columns.get(e);return t?{order:t.order,width:this._serializeColumnWidth(t),visible:t.visible,label:t.label}:null},Xn.prototype.getColumnsConfig=function(){const e=this.p;let t={};for(let r=0;r<e.columns.length;r++)t[e.columns[r].name]=this.getColumnConfig(e.columns[r].name);return t},Xn.prototype.getSortedColumns=function(){const e=this.p;let t=[];for(let r=0;r<e.rows.sortColumn.length;r++){let o=e.rows.sortColumn[r];t.push({column:o.column,descending:o.descending})}return t},Xn.prototype.getHtmlForRowCell=function(e,t){const r=this.p;if(e<0||e>r.rows.length-1)return null;let o=r.columns.get(t);if(!o)return null;let i=r.rows[e];return this._getHtmlForCell(i,o)},Xn.prototype.getHtmlForRowDataCell=function(e,t){let r=this.p.columns.get(t);return r?this._getHtmlForCell(e,r):null},Xn.prototype._getHtmlForCell=function(e,t){let r=t.dataPath,o=e[r[0]];for(let e=1;e<r.length&&null!=o;e++)o=o&&o[r[e]];const i=this.o.cellFormatter;let n;if(i[Vn])n=i(o,t.name,e);else try{n=i(o,t.name,e)}catch(e){n="[ERROR]",console.error("Failed to generate content for cell "+t.name,e)}return null==n&&(n=""),n},Xn.prototype.getRowYPos=function(e){return this.p.virtualListHelper.getItemPosition(e)||null},Xn.prototype.getDataForRow=function(e){const t=this.p;return e<0||e>t.rows.length-1?null:t.rows[e]},Xn.prototype.getRowCount=function(){const e=this.p;return e.rows?e.rows.length:0},Xn.prototype.getIndexForRow=function(e){return this.p.rows.indexOf(e)},Xn.prototype.getFilteredRowCount=function(){const e=this.p;return(e.filteredRows||e.rows).length},Xn.prototype.getIndexForFilteredRow=function(e){const t=this.p;return(t.filteredRows||t.rows).indexOf(e)},Xn.prototype.getDataForFilteredRow=function(e){const t=this.p;return e<0||e>(t.filteredRows||t.rows).length-1?null:(t.filteredRows||t.rows)[e]},Xn.prototype.getHeaderRowElement=function(){return this.p.headerRow},Xn.prototype._horizontalPadding=function(e){return(parseFloat(Mn.css(e,"padding-left"))||0)+(parseFloat(Mn.css(e,"padding-right"))||0)},Xn.prototype._horizontalBorderWidth=function(e){return(parseFloat(Mn.css(e,"border-left"))||0)+(parseFloat(Mn.css(e,"border-right"))||0)},Xn.prototype._calculateWidthAvailableForColumns=function(){const e=this.o,t=this.p;let r,o,n;t.table&&(o=t.table?t.table.scrollTop:0,n=t.table?t.table.scrollLeft:0,e.virtualTable&&(r=t.table.style.display,t.table.style.display="none"));let l=i(this.$el[0]);t.table&&(e.virtualTable&&(t.table.style.display=r),t.table.scrollTop=o,t.table.scrollLeft=n,t.header.scrollLeft=n);let s=e.tableClassName,a=Mn("<div>").addClass(this.el.className).css({"z-index":-1,position:"absolute",left:"0",top:"-9999px"}),d=Mn("<div>").addClass(s+"-header").appendTo(a),u=Mn("<div>").addClass(s+"-header-row").appendTo(d);for(let e=0;e<t.visibleColumns.length;e++)u.append(Mn("<div><div></div></div>").addClass(s+"-header-cell").addClass(t.visibleColumns[e].cellClasses||""));a.appendTo(document.body),l-=this._horizontalBorderWidth(u[0]);let h=u.find(">div."+s+"-header-cell");for(let e=0;e<h.length;e++){let t=Mn(h[e]);"border-box"===t.css("boxSizing")||(l-=(parseFloat(t.css("border-right-width"))||0)+(parseFloat(t.css("border-left-width"))||0)+this._horizontalPadding(t[0]))}return a&&a.remove(),Math.max(0,l)},Xn.prototype.tableWidthChanged=function(){let e=function(e){let t,r=this.o.tableClassName,o=Mn("<div>").addClass(this.$el).append(Mn("<div>").addClass(r+"-header").append(Mn("<div>").addClass(r+"-header-row").append(t=Mn("<div>").addClass(r+"-header-cell").append(Mn("<div>").text(e))))).css({position:"absolute",top:"-9999px",visibility:"hidden"});o.appendTo(document.body);let n=i(t[0]);return o.remove(),n},t=null;return function(r,o){let i=this.o,n=this.p,l=this._calculateWidthAvailableForColumns(),s=l,a=0;if(!n.$table)return this;o=void 0===o||o;let d=0;if(n.tbody||(o=!1),o&&(d=parseFloat(n.tbody.style.minWidth)||0),s!==t||r){var u;t=l;let r=0,h=[],c=0;for(let e=0;e<n.columns.length;e++)n.columns[e].actualWidthConsideringScrollbarWidth=null;for(let t=0;t<n.visibleColumns.length;t++){let o=n.visibleColumns[t];if(o.widthMode===Yn.ABSOLUTE){let e=o.width;e+=o.arrowProposedWidth||0,!o.ignoreMin&&e<i.minColumnWidth&&(e=i.minColumnWidth),s-=e,r+=e,e!==o.actualWidth&&(o.actualWidth=e,h.push(t))}else if(o.widthMode===Yn.AUTO){let n=e.call(this,o.label)+20;n+=o.arrowProposedWidth||0,!o.ignoreMin&&n<i.minColumnWidth&&(n=i.minColumnWidth),s-=n,r+=n,n!==o.actualWidth&&(o.actualWidth=n,i.convertColumnWidthsToRelative||h.push(t))}else o.widthMode===Yn.RELATIVE&&(c+=o.width,a++)}if(i.convertColumnWidthsToRelative)for(let e=0;e<n.visibleColumns.length;e++){let t=n.visibleColumns[e];t.widthMode===Yn.AUTO&&(t.widthMode=Yn.RELATIVE,s+=t.actualWidth,t.width=t.actualWidth/r,c+=t.width,a++)}if(a&&(c<1&&i.relativeWidthGrowsToFillWidth||c>1&&i.relativeWidthShrinksToFillWidth))for(let e=0;e<n.visibleColumns.length;e++){let t=n.visibleColumns[e];t.widthMode===Yn.RELATIVE&&(t.width/=c)}let p=Math.max(0,s);0===p&&(p=n.table.clientWidth);let m=i.minColumnWidth/p;if(isNaN(m)&&(m=0),m>0){let e,t=0;for(let e=0;e<n.visibleColumns.length;e++){let r=n.visibleColumns[e];r.widthMode===Yn.RELATIVE&&!r.ignoreMin&&r.width<m&&(t+=m-r.width,r.width=m)}for(let r=0;r<n.visibleColumns.length;r++){let o=n.visibleColumns[r];o.widthMode===Yn.RELATIVE&&!o.ignoreMin&&o.width>m&&t>0&&(e=Math.min(t,o.width-m),o.width-=e,t-=e)}}if(i.autoFillTableWidth&&s>0){let e=0,t=s;for(let r=0;r<n.visibleColumns.length;r++){let o=n.visibleColumns[r];o.resizable||o.widthMode!==Yn.ABSOLUTE||(e+=o.width),o.widthMode===Yn.RELATIVE&&(t-=Math.round(p*o.width))}let r=(l-e)/(l-t-e)||NaN;for(let e=0;e<n.visibleColumns.length&&t>0;e++){let t=n.visibleColumns[e];if(t.resizable||t.widthMode!==Yn.ABSOLUTE)if(t.widthMode===Yn.RELATIVE)t.width*=r;else{let o=t.actualWidth*r;t.actualWidth!==o&&(t.actualWidth=o,-1===h.indexOf(e)&&h.push(e))}}}for(let e=0;e<n.visibleColumns.length;e++){let t=n.visibleColumns[e];if(t.widthMode===Yn.RELATIVE){let r=Math.round(p*t.width);s-=r,a--,0===a&&1===s&&(r++,s--),-1===s&&(r--,s++),r!==t.actualWidth&&(t.actualWidth=r,h.push(e))}}if(n.visibleColumns.length&&(n.visibleColumns[n.visibleColumns.length-1].actualWidthConsideringScrollbarWidth=n.visibleColumns[n.visibleColumns.length-1].actualWidth-(n.scrollbarWidth||0)),null===(u=n.notifyRendererOfColumnsConfig)||void 0===u||u.call(n),o){let e=this._calculateTbodyWidth();d<e&&this._updateTableWidth(!1);for(let e=0;e<h.length;e++)this._resizeColumnElements(h[e]);d>e&&this._updateTableWidth(!1)}}return this}}(),Xn.prototype.tableHeightChanged=function(){let e=this,t=e.o,r=e.p;if(!r.$table)return e;let o=n(e.$el[0],!0)-(parseFloat(r.$table.css("border-top-width"))||0)-(parseFloat(r.$table.css("border-bottom-width"))||0);return o!==t.height&&(t.height=o,r.tbody&&(r.tbody.style.height=Math.max(t.height-n(r.$headerRow[0],!0,!0,!0),1)+"px"),t.virtualTable&&e.clearAndRender()),e},Xn.prototype.addRows=function(e,t,r,o){let i=this.p;return"boolean"==typeof t&&(o=r,r=t,t=-1),"number"!=typeof t&&(t=-1),(t<0||t>i.rows.length)&&(t=i.rows.length),o=void 0===o||!!o,e&&(i.rows.add(e,t),i.filteredRows||r&&i.rows.sortColumn.length?(r&&i.rows.sortColumn.length?this.resort():this._refilter(),i.tableSkeletonNeedsRendering=!0,o&&this.render()):o&&(i.virtualListHelper.addItemsAt(e.length,t),this.o.virtualTable?this._updateVirtualHeight()._updateLastCellWidthFromScrollbar().render()._updateTableWidth(!1):i.tbody&&this.render()._updateLastCellWidthFromScrollbar()._updateTableWidth(!0)),this.trigger("addrows",e.length,!1)),this},Xn.prototype.removeRows=function(e,t,r){let o=this.p;return"number"!=typeof t||t<=0||e<0||e>o.rows.length-1||(o.rows.splice(e,t),r=void 0===r||!!r,o.filteredRows?(this._refilter(),o.tableSkeletonNeedsRendering=!0,r&&this.render()):r&&(o.virtualListHelper.removeItemsAt(t,e),this.o.virtualTable?this._updateVirtualHeight()._updateLastCellWidthFromScrollbar().render()._updateTableWidth(!1):this.render()._updateLastCellWidthFromScrollbar()._updateTableWidth(!0))),this},Xn.prototype.removeRow=function(e,t){return this.removeRows(e,1,t)},Xn.prototype.refreshRow=function(e,t=!0){let r=this.p;if(e<0||e>r.rows.length-1)return this;let o=-1;return r.filteredRows&&-1===(o=r.filteredRows.indexOf(r.rows[e]))||(-1===o&&(o=e),r.virtualListHelper.refreshItemAt(o),t&&r.virtualListHelper.render()),this},Xn.prototype.getRowElement=function(e){let t=this.p;if(e<0||e>t.rows.length-1)return null;let r=-1;return t.filteredRows&&-1===(r=t.filteredRows.indexOf(t.rows[e]))?this:(-1===r&&(r=e),t.virtualListHelper.getItemElementAt(r)||null)},Xn.prototype.refreshAllVirtualRows=function(){return this.p.virtualListHelper.invalidate().render(),this},Xn.prototype.setRows=function(e,t){let r=this.p;return r.rows.reset(e),t&&r.rows.sortColumn.length?this.resort():this._refilter(),this.clearAndRender().trigger("addrows",e.length,!0),this},Xn.prototype.getUrlForElementContent=function(e){let t,r=document.getElementById(e);if(r){let e=r.textContent;if("function"==typeof Blob)t=new Blob([e]);else{let r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder;if(!r)return null;let o=new r;o.append(e),t=o.getBlob()}return(window.URL||window.webkitURL).createObjectURL(t)}return null},Xn.prototype.isWorkerSupported=function(){return window.Worker instanceof Function},Xn.prototype.createWebWorker=function(e,t,r){if(this.isWorkerSupported()){let o=this,i=o.p,n=new Worker(e),l=function(e){e.data.append?o.addRows(e.data.rows,r):o.setRows(e.data.rows,r)};return n.addEventListener("message",l,!1),i.workerListeners||(i.workerListeners=[]),i.workerListeners.push({worker:n,listener:l}),(t||void 0===t)&&n.postMessage(null),n}return null},Xn.prototype.unbindWebWorker=function(e){let t=this.p;if(t.workerListeners)for(let r=0;r<t.workerListeners.length;r++)t.workerListeners[r].worker===e&&(e.removeEventListener("message",t.workerListeners[r].listener,!1),t.workerListeners.splice(r,1),r--);return this},Xn.prototype.abortCellPreview=function(){return this.hideCellPreview(),this},Xn.prototype.cancelColumnResize=function(){const e=this.p;return e.$resizer&&(e.$resizer.remove(),e.$resizer=null,Mn(document).off("mousemove.dgtable",e.onMouseMoveResizeAreaBound).off("mouseup.dgtable",e.onEndDragColumnHeaderBound)),this},Xn.prototype._onTableScrolledHorizontally=function(){const e=this.p;e.header.scrollLeft=e.table.scrollLeft},Xn.prototype._getColumnByResizePosition=function(e){let t=this.o,r=this._isTableRtl(),o=Mn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName),n=o[0];n.__cell&&(n=n.__cell,o=Mn(n));let l=o[0].previousSibling;for(;l&&1!==l.nodeType;)l=l.previousSibling;let s=!l,a=((null!=e.pageX?e.pageX:e.originalEvent.pageX)||e.originalEvent.clientX)-o.offset().left;if(r){if(!s&&i(o[0],!0,!0,!0)-a<=t.resizeAreaWidth/2)return l.columnName;if(a<=t.resizeAreaWidth/2)return n.columnName}else{if(!s&&a<=t.resizeAreaWidth/2)return l.columnName;if(i(o[0],!0,!0,!0)-a<=t.resizeAreaWidth/2)return n.columnName}return null},Xn.prototype._onTouchStartColumnHeader=function(e){const t=this.p;if(t.currentTouchId)return;let r=e.originalEvent.changedTouches[0];t.currentTouchId=r.identifier;let o,i=Mn(e.currentTarget),n={x:r.pageX,y:r.pageY},l=n,s=function(){t.currentTouchId=null,i.off("touchend").off("touchcancel"),clearTimeout(o)},a=function(t){let r=Mn.Event(t),o=Array.prototype.slice.call(arguments,1);for(let t of["target","clientX","clientY","offsetX","offsetY","screenX","screenY","pageX","pageY","which"]){r[t]=e[t];for(let e=0;e<o.length;e++)null!=o[e][t]&&(r[t]=o[e][t])}return r};i.trigger(a("mousedown",e.originalEvent.changedTouches[0],{which:1,target:e.target})),o=setTimeout((()=>{s(),i.one("touchend",(e=>{qn(e)||e.preventDefault(),i.off("touchend").off("touchcancel")})).one("touchcancel",(e=>{i.off("touchend").off("touchcancel")})),Math.sqrt(Math.pow(Math.abs(l.x-n.x),2)+Math.pow(Math.abs(l.y-n.y),2))<9&&(this.cancelColumnResize(),i.trigger(a("mouseup",e.originalEvent.changedTouches[0],{which:3,target:e.target})))}),500),i.on("touchend",(e=>{let r=pn(e.originalEvent.changedTouches,(e=>e.identifier===t.currentTouchId));r&&(s(),qn(e)||e.preventDefault(),l={x:r.pageX,y:r.pageY},(Math.sqrt(Math.pow(Math.abs(l.x-n.x),2)+Math.pow(Math.abs(l.y-n.y),2))<9||t.$resizer)&&(i.trigger(a("mouseup",r,{which:1,target:e.target})),i.trigger(a("click",r,{which:1,target:e.target}))))})).on("touchcancel",(()=>{s()})).on("touchmove",(e=>{let r=pn(e.originalEvent.changedTouches,(e=>e.identifier===t.currentTouchId));r&&(l={x:r.pageX,y:r.pageY},t.$resizer&&(e.preventDefault(),i.trigger(a("mousemove",r,{target:e.target}))))}))},Xn.prototype._onMouseDownColumnHeader=function(e){if(1!==e.which)return this;let t=this.o,r=this.p,o=this._getColumnByResizePosition(e);if(o){let l=r.columns.get(o);if(!t.resizableColumns||!l||!l.resizable)return!1;let s=this._isTableRtl();r.$resizer&&Mn(r.$resizer).remove(),r.$resizer=Mn("<div></div>").addClass(t.resizerClassName).css({position:"absolute",display:"block","z-index":-1,visibility:"hidden",width:"2px",background:"#000",opacity:.7}).appendTo(this.$el);let a=l.element,d=r.$resizer.parent(),u=a.offset(),h=d.offset();8===zn&&(u=a.offset()),h.left+=parseFloat(d.css("border-left-width"))||0,h.top+=parseFloat(d.css("border-top-width"))||0,u.left-=h.left,u.top-=h.top,u.top-=parseFloat(a.css("border-top-width"))||0;let c=i(r.$resizer[0],!0,!0,!0);s?(u.left-=Math.ceil((parseFloat(a.css("border-left-width"))||0)/2),u.left-=Math.ceil(c/2)):(u.left+=i(a[0],!0,!0,!0),u.left+=Math.ceil((parseFloat(a.css("border-right-width"))||0)/2),u.left-=Math.ceil(c/2)),r.$resizer.css({"z-index":"10",visibility:"visible",left:u.left,top:u.top,height:n(this.$el[0])})[0].columnName=a[0].columnName;try{r.$resizer[0].style.zIndex=""}catch(e){}Mn(document).on("mousemove.dgtable",r.onMouseMoveResizeAreaBound),Mn(document).on("mouseup.dgtable",r.onEndDragColumnHeaderBound),e.preventDefault()}},Xn.prototype._onMouseMoveColumnHeader=function(e){let t=this.o,r=this.p;if(t.resizableColumns){let o=this._getColumnByResizePosition(e),i=Mn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName)[0];o&&r.columns.get(o).resizable?i.style.cursor="e-resize":i.style.cursor=""}},Xn.prototype._onMouseUpColumnHeader=function(e){if(3===e.which){let t=this.o,r=Mn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName),o=r.offset();o.width=i(r[0],!0,!0,!0),o.height=n(r[0],!0,!0,!0),this.trigger("headercontextmenu",r[0].columnName,e.pageX,e.pageY,o)}return this},Xn.prototype._onMouseLeaveColumnHeader=function(e){let t=this.o;Mn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName)[0].style.cursor=""},Xn.prototype._onClickColumnHeader=function(e){if(!qn(e)&&!this._getColumnByResizePosition(e)){let t=this,r=t.o,o=t.p,i=Mn(e.target).closest("div."+r.tableClassName+"-header-cell,div."+r.cellPreviewClassName)[0];if(r.sortableColumns){let e=o.columns.get(i.columnName);e&&e.sortable&&this.sort(i.columnName,void 0,!0).render()}}},Xn.prototype._onStartDragColumnHeader=function(e){let t=this.o,r=this.p;if(t.movableColumns){let o=Mn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName),i=r.columns.get(o[0].columnName);i&&i.movable?(o[0].style.opacity=.35,r.dragId=161061273*Math.random(),e.originalEvent.dataTransfer.setData("text",JSON.stringify({dragId:r.dragId,column:i.name}))):e.preventDefault()}else e.preventDefault()},Xn.prototype._onMouseMoveResizeArea=function(e){let t=this.p,r=t.columns.get(t.$resizer[0].columnName),o=this._isTableRtl(),n=r.element,l=t.$resizer.parent(),s=n.offset(),a=l.offset();a.left+=parseFloat(l.css("border-left-width"))||0,s.left-=a.left;let d=i(t.$resizer[0],!0,!0,!0),u="border-box"===n.css("box-sizing"),h=e.pageX-a.left,c=s.left;c-=Math.ceil(d/2),o?(c+=i(n[0],!0,!0,!0),c-=r.ignoreMin?0:this.o.minColumnWidth,u||(c-=Math.ceil((parseFloat(n.css("border-left-width"))||0)/2),c-=this._horizontalPadding(n[0])),h>c&&(h=c)):(c+=r.ignoreMin?0:this.o.minColumnWidth,u||(c+=Math.ceil((parseFloat(n.css("border-right-width"))||0)/2),c+=this._horizontalPadding(n[0])),h<c&&(h=c)),t.$resizer.css("left",h+"px")},Xn.prototype._onEndDragColumnHeader=function(e){let t=this.o,r=this.p;if(r.$resizer){Mn(document).off("mousemove.dgtable",r.onMouseMoveResizeAreaBound).off("mouseup.dgtable",r.onEndDragColumnHeaderBound);let o=r.columns.get(r.$resizer[0].columnName),n=this._isTableRtl(),l=o.element,s=r.$resizer.parent(),a=l.offset(),d=s.offset();d.left+=parseFloat(s.css("border-left-width"))||0,a.left-=d.left;let u=i(r.$resizer[0],!0,!0,!0),h="border-box"===l.css("box-sizing"),c=e.pageX-d.left,p=a.left,m=a.left,f=0;p-=Math.ceil(u/2),n?(h||(c+=this._horizontalPadding(l[0]),c+=parseFloat(l.css("border-left-width"))||0,c+=parseFloat(l.css("border-right-width"))||0),p+=i(l[0],!0,!0,!0),m=p-(o.ignoreMin?0:this.o.minColumnWidth),c>m&&(c=m),f=p-c):(h||(c-=this._horizontalPadding(l[0]),c-=parseFloat(l.css("border-left-width"))||0,c-=parseFloat(l.css("border-right-width"))||0),m=p+(o.ignoreMin?0:this.o.minColumnWidth),c<m&&(c=m),f=c-p),r.$resizer.remove(),r.$resizer=null;let g=f;if(o.widthMode===Yn.RELATIVE){let e=this._calculateWidthAvailableForColumns(),i=0,n=0;for(let t=0;t<r.visibleColumns.length;t++){let l=r.visibleColumns[t];l.name!==o.name&&(l.widthMode===Yn.RELATIVE?(i+=l.width,n++):e-=l.actualWidth)}if(e=Math.max(1,e),g=f/e,n>0){let e=g/((1-g)/i);i+=g,(i<1&&t.relativeWidthGrowsToFillWidth||i>1&&t.relativeWidthShrinksToFillWidth)&&(g=e)}g*=100,g+="%"}this.setColumnWidth(o.name,g)}else e.target.style.opacity=null},Xn.prototype._onDragEnterColumnHeader=function(e){let t=this.o,r=this.p;if(t.movableColumns){let o=e.originalEvent.dataTransfer.getData("text");o=o?JSON.parse(o):null;let i=Mn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName);if(!o||r.dragId===o.dragId&&i.columnName!==o.column){let e=r.columns.get(i[0].columnName);e&&(e.movable||e!==r.visibleColumns[0])&&Mn(i).addClass("drag-over")}}},Xn.prototype._onDragOverColumnHeader=function(e){e.preventDefault()},Xn.prototype._onDragLeaveColumnHeader=function(e){let t=this.o,r=Mn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName);Mn(r[0].firstChild).has(e.originalEvent.relatedTarget).length||r.removeClass("drag-over")},Xn.prototype._onDropColumnHeader=function(e){e.preventDefault();let t=this.o,r=this.p,o=JSON.parse(e.originalEvent.dataTransfer.getData("text")),i=Mn(e.target).closest("div."+t.tableClassName+"-header-cell,div."+t.cellPreviewClassName);if(t.movableColumns&&o.dragId===r.dragId){let e=o.column,t=i[0].columnName,n=r.columns.get(e),l=r.columns.get(t);n&&l&&n.movable&&(l.movable||l!==r.visibleColumns[0])&&this.moveColumn(e,t)}Mn(i).removeClass("drag-over")},Xn.prototype._clearSortArrows=function(){let e=this.p;if(e.$table){let t=this.o.tableClassName,r=e.$headerRow.find(">div."+t+"-header-cell.sorted"),o=r.find(">div>.sort-arrow");o.each(((t,r)=>{let o=e.columns.get(r.parentNode.parentNode.columnName);o&&(o.arrowProposedWidth=0)})),o.remove(),r.removeClass("sorted").removeClass("desc")}return this},Xn.prototype._showSortArrow=function(e,t){let r=this.p.columns.get(e);if(!r)return!1;let o=kn("span");return o.className="sort-arrow",r.element&&(r.element.addClass(t?"sorted desc":"sorted"),r.element[0].firstChild.insertBefore(o,r.element[0].firstChild.firstChild)),r.widthMode!==Yn.RELATIVE&&this.o.adjustColumnWidthForSortArrow&&(r.arrowProposedWidth=o.scrollWidth+(parseFloat(Mn(o).css("margin-right"))||0)+(parseFloat(Mn(o).css("margin-left"))||0)),this},Xn.prototype._resizeColumnElements=function(e){let t=this.p,r=t.$headerRow.find("div."+this.o.tableClassName+"-header-cell"),o=t.columns.get(r[e].columnName);if(o){r[e].style.width=(o.actualWidthConsideringScrollbarWidth||o.actualWidth)+"px";let i=(o.actualWidthConsideringScrollbarWidth||o.actualWidth)+"px",n=t.tbody.childNodes;for(let t=0,r=n.length;t<r;t++){let r=n[t];1===r.nodeType&&(r.childNodes[e].style.width=i)}}return this},Xn.prototype._destroyHeaderCells=function(){let e=this.o,t=this.p;return t.$headerRow&&(this.trigger("headerrowdestroy",t.headerRow),t.$headerRow.find("div."+e.tableClassName+"-header-cell").remove(),t.$headerRow=null,t.headerRow=null),this},Xn.prototype._renderSkeletonBase=function(){var e;let t=this,r=t.p,o=t.o;null===(e=r.virtualListHelper)||void 0===e||e.destroy(),r.virtualListHelper=null,r.$table&&o.virtualTable&&(r.$table.remove(),r.$table=r.table=r.$tbody=r.tbody=null),t._destroyHeaderCells(),r.currentTouchId=null,r.$header&&r.$header.remove();let i=o.tableClassName,l=kn("div"),s=Mn(l),a=kn("div"),d=Mn(a);return l.className=i+"-header",a.className=i+"-header-row",r.$header=s,r.header=l,r.$headerRow=d,r.headerRow=a,d.appendTo(r.$header),s.prependTo(this.$el),Un(t.$el),o.width===Xn.Width.SCROLL?this.el.style.overflow="hidden":this.el.style.overflow="",!o.height&&o.virtualTable&&(o.height=n(this.$el[0],!0)),this},Xn.prototype._renderSkeletonHeaderCells=function(){let e,t=this,r=t.p,o=t.o,i=o.allowCellPreview,n=o.allowHeaderCellPreview,l=o.tableClassName+"-header-cell",s=r.headerRow;Ln&&(e=function(e){return e.preventDefault(),this.dragDrop(),!1});let a=function(e){e.preventDefault()};for(let d=0;d<r.visibleColumns.length;d++){let u=r.visibleColumns[d];if(u.visible){let h=kn("div"),c=Mn(h);h.draggable=!0,h.className=l,h.style.width=u.actualWidth+"px",o.sortableColumns&&u.sortable&&(h.className+=" sortable"),h.columnName=u.name,h.setAttribute("data-column",u.name);let p=kn("div");p.innerHTML=o.headerCellFormatter(u.label,u.name),h.appendChild(p),i&&n&&r._bindCellHoverIn(h),s.appendChild(h),r.visibleColumns[d].element=c,c.on("mousedown.dgtable",t._onMouseDownColumnHeader.bind(t)).on("mousemove.dgtable",t._onMouseMoveColumnHeader.bind(t)).on("mouseup.dgtable",t._onMouseUpColumnHeader.bind(t)).on("mouseleave.dgtable",t._onMouseLeaveColumnHeader.bind(t)).on("touchstart.dgtable",t._onTouchStartColumnHeader.bind(t)).on("dragstart.dgtable",t._onStartDragColumnHeader.bind(t)).on("click.dgtable",t._onClickColumnHeader.bind(t)).on("contextmenu.dgtable",a),Mn(p).on("dragenter.dgtable",t._onDragEnterColumnHeader.bind(t)).on("dragover.dgtable",t._onDragOverColumnHeader.bind(t)).on("dragleave.dgtable",t._onDragLeaveColumnHeader.bind(t)).on("drop.dgtable",t._onDropColumnHeader.bind(t)),Ln&&c.on("selectstart.dgtable",e.bind(h)),c.css({"-webkit-touch-callout":"none","-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","-o-user-select":"none","user-select":"none"})}}return this.trigger("headerrowcreate",s),this},Xn.prototype._renderSkeletonBody=function(){let e=this,t=e.p,r=e.o,o=r.tableClassName;if(r.virtualTable&&!t.virtualRowHeight){let r,i=function(){let e=kn("div"),t=e.appendChild(kn("div")),r=t.appendChild(kn("div"));return e.className=o+"-row",t.className=o+"-cell",r.innerHTML="0",e.style.visibility="hidden",e.style.position="absolute",e},l=Mn("<div>").addClass(e.el.className).css({"z-index":-1,position:"absolute",left:"0",top:"-9999px",width:"1px",overflow:"hidden"}).append(Mn("<div>").addClass(o).append(r=Mn("<div>").addClass(o+"-body").css("width",99999)));l.appendTo(document.body);let s=i(),a=i(),d=i();r.append(s,a,d),t.virtualRowHeightFirst=n(s,!0,!0,!0),t.virtualRowHeight=n(a,!0,!0,!0),t.virtualRowHeightLast=n(d,!0,!0,!0),l.remove()}if(!t.$table){let i=document.createDocumentFragment(),l=kn("div"),s=Mn(l);l.className=o,r.virtualTable&&(l.className+=" virtual");let a=r.height-n(t.$headerRow[0],!0,!0,!0);"border-box"!==s.css("box-sizing")&&(a-=parseFloat(s.css("border-top-width"))||0,a-=parseFloat(s.css("border-bottom-width"))||0,a-=parseFloat(s.css("padding-top"))||0,a-=parseFloat(s.css("padding-bottom"))||0),t.visibleHeight=a,l.style.height=r.height?a+"px":"auto",l.style.display="block",l.style.overflowY="auto",l.style.overflowX=r.width===Xn.Width.SCROLL?"auto":"hidden",i.appendChild(l);let d=kn("div"),u=Mn(d);d.className=r.tableClassName+"-body",d.style.minHeight="1px",t.table=l,t.tbody=d,t.$table=s,t.$tbody=u,Un(u),Un(s),l.appendChild(d),e.el.appendChild(i),this._setupVirtualTable()}return this},Xn.prototype._renderSkeleton=function(){return this},Xn.prototype._updateVirtualHeight=function(){const e=this.o,t=this.p;if(!t.tbody)return this;if(e.virtualTable){const e=t.virtualListHelper.estimateFullHeight();t.lastVirtualScrollHeight=e,t.tbody.style.height=e+"px"}else t.tbody.style.height="";return this},Xn.prototype._updateLastCellWidthFromScrollbar=function(e){const t=this.p;let r=t.table.offsetWidth-t.table.clientWidth;if(r!==t.scrollbarWidth||e){var o;t.scrollbarWidth=r;for(let e=0;e<t.columns.length;e++)t.columns[e].actualWidthConsideringScrollbarWidth=null;if(t.scrollbarWidth>0&&t.visibleColumns.length>0){let e=t.visibleColumns.length-1;t.visibleColumns[e].actualWidthConsideringScrollbarWidth=t.visibleColumns[e].actualWidth-t.scrollbarWidth;let r=t.visibleColumns[e].actualWidthConsideringScrollbarWidth+"px",o=t.tbody.childNodes;for(let t=0,i=o.length;t<i;t++){let i=o[t];1===i.nodeType&&(i.childNodes[e].style.width=r)}t.headerRow.childNodes[e].style.width=r}null===(o=t.notifyRendererOfColumnsConfig)||void 0===o||o.call(t)}return this},Xn.prototype._updateTableWidth=function(e){const t=this.o,r=this.p;let o=this._calculateTbodyWidth();if(r.tbody.style.minWidth=o+"px",r.headerRow.style.minWidth=o+(r.scrollbarWidth||0)+"px",r.$table.off("scroll",r.onTableScrolledHorizontallyBound),t.width===Xn.Width.AUTO)l(r.$table[0],i(r.tbody,!0,!0,!0)),l(this.$el[0],i(r.$table[0],!0,!0,!0));else if(t.width===Xn.Width.SCROLL){if(e){let e=r.table?r.table.scrollTop:0,t=r.table?r.table.scrollLeft:0;!function(e){let t=e.style.display;e.style.display="none",e.offsetHeight,e.style.display=t}(this.el),r.table.scrollTop=e,r.table.scrollLeft=t,r.header.scrollLeft=t}r.$table.on("scroll",r.onTableScrolledHorizontallyBound)}return this},Xn.prototype._isTableRtl=function(){return"rtl"===this.p.$table.css("direction")},Xn.prototype._serializeColumnWidth=function(e){return e.widthMode===Yn.AUTO?"auto":e.widthMode===Yn.RELATIVE?100*e.width+"%":e.width},Xn.prototype._cellMouseOverEvent=function(e){const t=this.o,r=this.p;let o=e.firstChild;if(o.scrollWidth-o.clientWidth>1||o.scrollHeight-o.clientHeight>1){this.hideCellPreview(),r.abortCellPreview=!1;let l=Mn(e),s=Mn(o);const a=e.parentNode;let d=kn("div"),u=Mn(d);d.innerHTML=e.innerHTML,d.className=t.cellPreviewClassName;let h=l.hasClass(t.tableClassName+"-header-cell");h&&(d.className+=" header",l.hasClass("sortable")&&(d.className+=" sortable"),d.draggable=!0,Mn(d).on("mousedown",this._onMouseDownColumnHeader.bind(this)).on("mousemove",this._onMouseMoveColumnHeader.bind(this)).on("mouseup",this._onMouseUpColumnHeader.bind(this)).on("mouseleave",this._onMouseLeaveColumnHeader.bind(this)).on("touchstart",this._onTouchStartColumnHeader.bind(this)).on("dragstart",this._onStartDragColumnHeader.bind(this)).on("click",this._onClickColumnHeader.bind(this)).on("contextmenu.dgtable",(function(e){e.preventDefault()})),Mn(d.firstChild).on("dragenter",this._onDragEnterColumnHeader.bind(this)).on("dragover",this._onDragOverColumnHeader.bind(this)).on("dragleave",this._onDragLeaveColumnHeader.bind(this)).on("drop",this._onDropColumnHeader.bind(this)),Ln&&Mn(d).on("selectstart",function(e){return e.preventDefault(),this.dragDrop(),!1}.bind(d)));let c=parseFloat(l.css("padding-left"))||0,p=parseFloat(l.css("padding-right"))||0,m=parseFloat(l.css("padding-top"))||0,f=parseFloat(l.css("padding-bottom"))||0,g=o.scrollWidth+(e.clientWidth-o.offsetWidth),v="border-box"===l.css("box-sizing");if(v?u.css("box-sizing","border-box"):(g-=c+p,u.css("margin-top",parseFloat(Mn(e).css("border-top-width"))||0)),!r.transparentBgColor1){let e=document.createElement("div");e.style.backgroundColor="transparent",r.transparentBgColor1=Mn(e).css("background-color"),e.style.backgroundColor="rgba(0,0,0,0)",r.transparentBgColor2=Mn(e).css("background-color")}let b={"box-sizing":v?"border-box":"content-box",width:g,"min-height":n(l[0]),"padding-left":c,"padding-right":p,"padding-top":m,"padding-bottom":f,overflow:"hidden",position:"absolute","z-index":"-1",left:"0",top:"0",cursor:l.css("cursor")};if(b){let t=Mn(e).css("background-color");t!==r.transparentBgColor1&&t!==r.transparentBgColor2||(t=Mn(a).css("background-color")),t!==r.transparentBgColor1&&t!==r.transparentBgColor2||(t="#fff"),b["background-color"]=t}u.css(b),this.el.appendChild(d),Mn(d.firstChild).css({direction:s.css("direction"),"white-space":s.css("white-space")}),h&&u.css({"-webkit-touch-callout":"none","-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","-o-user-select":"none","user-select":"none"}),d.rowIndex=a.rowIndex;let C=d.physicalRowIndex=a.physicalRowIndex;d.columnName=r.visibleColumns[An.call(a.childNodes,e)].name;try{let t=Cn.saveSelection(e);t&&Cn.restoreSelection(d,t)}catch(e){}if(this.trigger("cellpreview",d.firstChild,null==C?null:C,d.columnName,null==C?null:r.rows[C],e),r.abortCellPreview)return void u.remove();null!=C&&d.addEventListener("click",(e=>{this.trigger("rowclick",e,a.rowIndex,C,a,r.rows[C])}));let y=this.$el,w=y[0]===window?Mn(document):y,_=l.offset(),W=y.offset(),I="right"===l.css("float"),E=I?"right":"left";if(I){let e=Mn(window).width();_.right=e-(_.left+i(l[0],!0,!0,!0)),W.right=e-(W.left+i(y[0],!0,!0,!0))}_.left-=parseFloat(y.css("border-left-width"))||0,_.right-=parseFloat(y.css("border-right-width"))||0,_.top-=parseFloat(y.css("border-top-width"))||0,_[E]+=parseFloat(Mn(e).css("border-"+E+"-width"))||0,_.top+=parseFloat(Mn(e).css("border-top-width"))||parseFloat(Mn(e).css("border-bottom-width"))||0,_.left-=W.left,_.right-=W.right,_.top-=W.top;let R=0,S=y-i(u[0],!0,!0,!0);_[E]=_[E]<R?R:_[E]>S?S:_[E];let x=n(l[0],!0,!0,!0),H=w.scrollTop()+n(y[0],!0)-x;_.top>H&&(_.top=Math.max(0,H));let N={top:_.top,"z-index":9999};N[E]=_[E],u.css(N),d.__cell=e,r.$cellPreviewCell=u,e.__previewCell=d,r._bindCellHoverOut(e),r._bindCellHoverOut(d),u.on("wheel",(()=>{this.hideCellPreview()}))}},Xn.prototype._cellMouseOutEvent=function(e){this.hideCellPreview()},Xn.prototype.hideCellPreview=function(){const e=this.p;if(e.$cellPreviewCell){let t,r=e.$cellPreviewCell[0],o=r.__cell;try{t=Cn.saveSelection(r)}catch(e){}e.$cellPreviewCell.remove(),e._unbindCellHoverOut(o),e._unbindCellHoverOut(r);try{t&&Cn.restoreSelection(o,t)}catch(e){}this.trigger("cellpreviewdestroy",r.firstChild,r.physicalRowIndex,r.columnName,o),o.__previewCell=null,r.__cell=null,e.$cellPreviewCell=null,e.abortCellPreview=!1}else e.abortCellPreview=!0;return this};const Yn={AUTO:0,ABSOLUTE:1,RELATIVE:2};Xn.Width={NONE:"none",AUTO:"auto",SCROLL:"scroll"},Mn.controls||(Mn.controls={}),Mn.controls.dgtable=Xn;export{Xn as default};
6
6
 
7
7
  //# sourceMappingURL=jquery.dgtable.es6.min.js.map