@slickgrid-universal/vanilla-force-bundle 3.4.0 → 3.4.1

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.
@@ -11,7 +11,7 @@ Arguments: `+Array.prototype.slice.call(we).join("")+`
11
11
  * @author owenm <owen23355@gmail.com>
12
12
  * @license MIT
13
13
  */function fm(a,t){var e=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(a,r).enumerable})),e.push.apply(e,n)}return e}function Ko(a){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?arguments[t]:{};t%2?fm(Object(e),!0).forEach(function(n){z_(a,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(e)):fm(Object(e)).forEach(function(n){Object.defineProperty(a,n,Object.getOwnPropertyDescriptor(e,n))})}return a}function cu(a){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?cu=function(t){return typeof t}:cu=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cu(a)}function z_(a,t,e){return t in a?Object.defineProperty(a,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):a[t]=e,a}function po(){return po=Object.assign||function(a){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(a[n]=e[n])}return a},po.apply(this,arguments)}function U_(a,t){if(a==null)return{};var e={},n=Object.keys(a),r,o;for(o=0;o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&(e[r]=a[r]);return e}function G_(a,t){if(a==null)return{};var e=U_(a,t),n,r;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(a);for(r=0;r<o.length;r++)n=o[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(a,n)&&(e[n]=a[n])}return e}function W_(a){return $_(a)||Y_(a)||j_(a)||X_()}function $_(a){if(Array.isArray(a))return wh(a)}function Y_(a){if(typeof Symbol<"u"&&a[Symbol.iterator]!=null||a["@@iterator"]!=null)return Array.from(a)}function j_(a,t){if(a){if(typeof a=="string")return wh(a,t);var e=Object.prototype.toString.call(a).slice(8,-1);if(e==="Object"&&a.constructor&&(e=a.constructor.name),e==="Map"||e==="Set")return Array.from(a);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return wh(a,t)}}function wh(a,t){(t==null||t>a.length)&&(t=a.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=a[e];return n}function X_(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
14
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var q_="1.15.0";function gs(a){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(a)}var _s=gs(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Xa=gs(/Edge/i),pm=gs(/firefox/i),qa=gs(/safari/i)&&!gs(/chrome/i)&&!gs(/android/i),mm=gs(/iP(ad|od|hone)/i),vm=gs(/chrome/i)&&gs(/android/i),gm={capture:!1,passive:!1};function _i(a,t,e){a.addEventListener(t,e,!_s&&gm)}function mi(a,t,e){a.removeEventListener(t,e,!_s&&gm)}function hu(a,t){if(t){if(t[0]===">"&&(t=t.substring(1)),a)try{if(a.matches)return a.matches(t);if(a.msMatchesSelector)return a.msMatchesSelector(t);if(a.webkitMatchesSelector)return a.webkitMatchesSelector(t)}catch{return!1}return!1}}function K_(a){return a.host&&a!==document&&a.host.nodeType?a.host:a.parentNode}function Fo(a,t,e,n){if(a){e=e||document;do{if(t!=null&&(t[0]===">"?a.parentNode===e&&hu(a,t):hu(a,t))||n&&a===e)return a;if(a===e)break}while(a=K_(a))}return null}var _m=/\s+/g;function bn(a,t,e){if(a&&t)if(a.classList)a.classList[e?"add":"remove"](t);else{var n=(" "+a.className+" ").replace(_m," ").replace(" "+t+" "," ");a.className=(n+(e?" "+t:"")).replace(_m," ")}}function Rt(a,t,e){var n=a&&a.style;if(n){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(a,""):a.currentStyle&&(e=a.currentStyle),t===void 0?e:e[t];!(t in n)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),n[t]=e+(typeof e=="string"?"":"px")}}function _l(a,t){var e="";if(typeof a=="string")e=a;else do{var n=Rt(a,"transform");n&&n!=="none"&&(e=n+" "+e)}while(!t&&(a=a.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(e)}function bm(a,t,e){if(a){var n=a.getElementsByTagName(t),r=0,o=n.length;if(e)for(;r<o;r++)e(n[r],r);return n}return[]}function Zo(){var a=document.scrollingElement;return a||document.documentElement}function cn(a,t,e,n,r){if(!(!a.getBoundingClientRect&&a!==window)){var o,s,l,u,h,c,p;if(a!==window&&a.parentNode&&a!==Zo()?(o=a.getBoundingClientRect(),s=o.top,l=o.left,u=o.bottom,h=o.right,c=o.height,p=o.width):(s=0,l=0,u=window.innerHeight,h=window.innerWidth,c=window.innerHeight,p=window.innerWidth),(t||e)&&a!==window&&(r=r||a.parentNode,!_s))do if(r&&r.getBoundingClientRect&&(Rt(r,"transform")!=="none"||e&&Rt(r,"position")!=="static")){var m=r.getBoundingClientRect();s-=m.top+parseInt(Rt(r,"border-top-width")),l-=m.left+parseInt(Rt(r,"border-left-width")),u=s+o.height,h=l+o.width;break}while(r=r.parentNode);if(n&&a!==window){var v=_l(r||a),_=v&&v.a,C=v&&v.d;v&&(s/=C,l/=_,p/=_,c/=C,u=s+c,h=l+p)}return{top:s,left:l,bottom:u,right:h,width:p,height:c}}}function Cm(a,t,e){for(var n=Ws(a,!0),r=cn(a)[t];n;){var o=cn(n)[e],s=void 0;if(e==="top"||e==="left"?s=r>=o:s=r<=o,!s)return n;if(n===Zo())break;n=Ws(n,!1)}return!1}function $l(a,t,e,n){for(var r=0,o=0,s=a.children;o<s.length;){if(s[o].style.display!=="none"&&s[o]!==Ut.ghost&&(n||s[o]!==Ut.dragged)&&Fo(s[o],e.draggable,a,!1)){if(r===t)return s[o];r++}o++}return null}function xh(a,t){for(var e=a.lastElementChild;e&&(e===Ut.ghost||Rt(e,"display")==="none"||t&&!hu(e,t));)e=e.previousElementSibling;return e||null}function xn(a,t){var e=0;if(!a||!a.parentNode)return-1;for(;a=a.previousElementSibling;)a.nodeName.toUpperCase()!=="TEMPLATE"&&a!==Ut.clone&&(!t||hu(a,t))&&e++;return e}function ym(a){var t=0,e=0,n=Zo();if(a)do{var r=_l(a),o=r.a,s=r.d;t+=a.scrollLeft*o,e+=a.scrollTop*s}while(a!==n&&(a=a.parentNode));return[t,e]}function Z_(a,t){for(var e in a)if(a.hasOwnProperty(e)){for(var n in t)if(t.hasOwnProperty(n)&&t[n]===a[e][n])return Number(e)}return-1}function Ws(a,t){if(!a||!a.getBoundingClientRect)return Zo();var e=a,n=!1;do if(e.clientWidth<e.scrollWidth||e.clientHeight<e.scrollHeight){var r=Rt(e);if(e.clientWidth<e.scrollWidth&&(r.overflowX=="auto"||r.overflowX=="scroll")||e.clientHeight<e.scrollHeight&&(r.overflowY=="auto"||r.overflowY=="scroll")){if(!e.getBoundingClientRect||e===document.body)return Zo();if(n||t)return e;n=!0}}while(e=e.parentNode);return Zo()}function Q_(a,t){if(a&&t)for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e]);return a}function Th(a,t){return Math.round(a.top)===Math.round(t.top)&&Math.round(a.left)===Math.round(t.left)&&Math.round(a.height)===Math.round(t.height)&&Math.round(a.width)===Math.round(t.width)}var Ka;function Em(a,t){return function(){if(!Ka){var e=arguments,n=this;e.length===1?a.call(n,e[0]):a.apply(n,e),Ka=setTimeout(function(){Ka=void 0},t)}}}function J_(){clearTimeout(Ka),Ka=void 0}function Sm(a,t,e){a.scrollLeft+=t,a.scrollTop+=e}function Oh(a){var t=window.Polymer,e=window.jQuery||window.Zepto;return t&&t.dom?t.dom(a).cloneNode(!0):e?e(a).clone(!0)[0]:a.cloneNode(!0)}function wm(a,t){Rt(a,"position","absolute"),Rt(a,"top",t.top),Rt(a,"left",t.left),Rt(a,"width",t.width),Rt(a,"height",t.height)}function Ah(a){Rt(a,"position",""),Rt(a,"top",""),Rt(a,"left",""),Rt(a,"width",""),Rt(a,"height","")}var hr="Sortable"+new Date().getTime();function e0(){var a=[],t;return{captureAnimationState:function(){if(a=[],!!this.options.animation){var n=[].slice.call(this.el.children);n.forEach(function(r){if(!(Rt(r,"display")==="none"||r===Ut.ghost)){a.push({target:r,rect:cn(r)});var o=Ko({},a[a.length-1].rect);if(r.thisAnimationDuration){var s=_l(r,!0);s&&(o.top-=s.f,o.left-=s.e)}r.fromRect=o}})}},addAnimationState:function(n){a.push(n)},removeAnimationState:function(n){a.splice(Z_(a,{target:n}),1)},animateAll:function(n){var r=this;if(!this.options.animation){clearTimeout(t),typeof n=="function"&&n();return}var o=!1,s=0;a.forEach(function(l){var u=0,h=l.target,c=h.fromRect,p=cn(h),m=h.prevFromRect,v=h.prevToRect,_=l.rect,C=_l(h,!0);C&&(p.top-=C.f,p.left-=C.e),h.toRect=p,h.thisAnimationDuration&&Th(m,p)&&!Th(c,p)&&(_.top-p.top)/(_.left-p.left)===(c.top-p.top)/(c.left-p.left)&&(u=i0(_,m,v,r.options)),Th(p,c)||(h.prevFromRect=c,h.prevToRect=p,u||(u=r.options.animation),r.animate(h,_,p,u)),u&&(o=!0,s=Math.max(s,u),clearTimeout(h.animationResetTimer),h.animationResetTimer=setTimeout(function(){h.animationTime=0,h.prevFromRect=null,h.fromRect=null,h.prevToRect=null,h.thisAnimationDuration=null},u),h.thisAnimationDuration=u)}),clearTimeout(t),o?t=setTimeout(function(){typeof n=="function"&&n()},s):typeof n=="function"&&n(),a=[]},animate:function(n,r,o,s){if(s){Rt(n,"transition",""),Rt(n,"transform","");var l=_l(this.el),u=l&&l.a,h=l&&l.d,c=(r.left-o.left)/(u||1),p=(r.top-o.top)/(h||1);n.animatingX=!!c,n.animatingY=!!p,Rt(n,"transform","translate3d("+c+"px,"+p+"px,0)"),this.forRepaintDummy=t0(n),Rt(n,"transition","transform "+s+"ms"+(this.options.easing?" "+this.options.easing:"")),Rt(n,"transform","translate3d(0,0,0)"),typeof n.animated=="number"&&clearTimeout(n.animated),n.animated=setTimeout(function(){Rt(n,"transition",""),Rt(n,"transform",""),n.animated=!1,n.animatingX=!1,n.animatingY=!1},s)}}}}function t0(a){return a.offsetWidth}function i0(a,t,e,n){return Math.sqrt(Math.pow(t.top-a.top,2)+Math.pow(t.left-a.left,2))/Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))*n.animation}var Yl=[],kh={initializeByDefault:!0},Za={mount:function(t){for(var e in kh)kh.hasOwnProperty(e)&&!(e in t)&&(t[e]=kh[e]);Yl.forEach(function(n){if(n.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")}),Yl.push(t)},pluginEvent:function(t,e,n){var r=this;this.eventCanceled=!1,n.cancel=function(){r.eventCanceled=!0};var o=t+"Global";Yl.forEach(function(s){e[s.pluginName]&&(e[s.pluginName][o]&&e[s.pluginName][o](Ko({sortable:e},n)),e.options[s.pluginName]&&e[s.pluginName][t]&&e[s.pluginName][t](Ko({sortable:e},n)))})},initializePlugins:function(t,e,n,r){Yl.forEach(function(l){var u=l.pluginName;if(!(!t.options[u]&&!l.initializeByDefault)){var h=new l(t,e,t.options);h.sortable=t,h.options=t.options,t[u]=h,po(n,h.defaults)}});for(var o in t.options)if(t.options.hasOwnProperty(o)){var s=this.modifyOption(t,o,t.options[o]);typeof s<"u"&&(t.options[o]=s)}},getEventProperties:function(t,e){var n={};return Yl.forEach(function(r){typeof r.eventProperties=="function"&&po(n,r.eventProperties.call(e[r.pluginName],t))}),n},modifyOption:function(t,e,n){var r;return Yl.forEach(function(o){t[o.pluginName]&&o.optionListeners&&typeof o.optionListeners[e]=="function"&&(r=o.optionListeners[e].call(t[o.pluginName],n))}),r}};function Qa(a){var t=a.sortable,e=a.rootEl,n=a.name,r=a.targetEl,o=a.cloneEl,s=a.toEl,l=a.fromEl,u=a.oldIndex,h=a.newIndex,c=a.oldDraggableIndex,p=a.newDraggableIndex,m=a.originalEvent,v=a.putSortable,_=a.extraEventProperties;if(t=t||e&&e[hr],!!t){var C,x=t.options,S="on"+n.charAt(0).toUpperCase()+n.substr(1);window.CustomEvent&&!_s&&!Xa?C=new CustomEvent(n,{bubbles:!0,cancelable:!0}):(C=document.createEvent("Event"),C.initEvent(n,!0,!0)),C.to=s||e,C.from=l||e,C.item=r||e,C.clone=o,C.oldIndex=u,C.newIndex=h,C.oldDraggableIndex=c,C.newDraggableIndex=p,C.originalEvent=m,C.pullMode=v?v.lastPutMode:void 0;var E=Ko(Ko({},_),Za.getEventProperties(n,t));for(var D in E)C[D]=E[D];e&&e.dispatchEvent(C),x[S]&&x[S].call(t,C)}}var n0=["evt"],Fr=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.evt,o=G_(n,n0);Za.pluginEvent.bind(Ut)(t,e,Ko({dragEl:bt,parentEl:Tn,ghostEl:oi,rootEl:hn,nextEl:bl,lastDownEl:fu,cloneEl:Cn,cloneHidden:$s,dragStarted:ed,putSortable:sr,activeSortable:Ut.active,originalEvent:r,oldIndex:jl,oldDraggableIndex:Ja,newIndex:Kr,newDraggableIndex:Ys,hideGhostForTarget:Dm,unhideGhostForTarget:Rm,cloneNowHidden:function(){$s=!0},cloneNowShown:function(){$s=!1},dispatchSortableEvent:function(l){yr({sortable:e,name:l,originalEvent:r})}},o))};function yr(a){Qa(Ko({putSortable:sr,cloneEl:Cn,targetEl:bt,rootEl:hn,oldIndex:jl,oldDraggableIndex:Ja,newIndex:Kr,newDraggableIndex:Ys},a))}var bt,Tn,oi,hn,bl,fu,Cn,$s,jl,Kr,Ja,Ys,pu,sr,Xl=!1,mu=!1,vu=[],Cl,Mo,Ih,Dh,xm,Tm,ed,ql,td,id=!1,gu=!1,_u,fr,Rh=[],Ph=!1,bu=[],Cu=typeof document<"u",yu=mm,Om=Xa||_s?"cssFloat":"float",r0=Cu&&!vm&&!mm&&"draggable"in document.createElement("div"),Am=function(){if(Cu){if(_s)return!1;var a=document.createElement("x");return a.style.cssText="pointer-events:auto",a.style.pointerEvents==="auto"}}(),km=function(t,e){var n=Rt(t),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=$l(t,0,e),s=$l(t,1,e),l=o&&Rt(o),u=s&&Rt(s),h=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+cn(o).width,c=u&&parseInt(u.marginLeft)+parseInt(u.marginRight)+cn(s).width;if(n.display==="flex")return n.flexDirection==="column"||n.flexDirection==="column-reverse"?"vertical":"horizontal";if(n.display==="grid")return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&l.float&&l.float!=="none"){var p=l.float==="left"?"left":"right";return s&&(u.clear==="both"||u.clear===p)?"vertical":"horizontal"}return o&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||h>=r&&n[Om]==="none"||s&&n[Om]==="none"&&h+c>r)?"vertical":"horizontal"},o0=function(t,e,n){var r=n?t.left:t.top,o=n?t.right:t.bottom,s=n?t.width:t.height,l=n?e.left:e.top,u=n?e.right:e.bottom,h=n?e.width:e.height;return r===l||o===u||r+s/2===l+h/2},s0=function(t,e){var n;return vu.some(function(r){var o=r[hr].options.emptyInsertThreshold;if(!(!o||xh(r))){var s=cn(r),l=t>=s.left-o&&t<=s.right+o,u=e>=s.top-o&&e<=s.bottom+o;if(l&&u)return n=r}}),n},Im=function(t){function e(o,s){return function(l,u,h,c){var p=l.options.group.name&&u.options.group.name&&l.options.group.name===u.options.group.name;if(o==null&&(s||p))return!0;if(o==null||o===!1)return!1;if(s&&o==="clone")return o;if(typeof o=="function")return e(o(l,u,h,c),s)(l,u,h,c);var m=(s?l:u).options.group.name;return o===!0||typeof o=="string"&&o===m||o.join&&o.indexOf(m)>-1}}var n={},r=t.group;(!r||cu(r)!="object")&&(r={name:r}),n.name=r.name,n.checkPull=e(r.pull,!0),n.checkPut=e(r.put),n.revertClone=r.revertClone,t.group=n},Dm=function(){!Am&&oi&&Rt(oi,"display","none")},Rm=function(){!Am&&oi&&Rt(oi,"display","")};Cu&&!vm&&document.addEventListener("click",function(a){if(mu)return a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.stopImmediatePropagation&&a.stopImmediatePropagation(),mu=!1,!1},!0);var yl=function(t){if(bt){t=t.touches?t.touches[0]:t;var e=s0(t.clientX,t.clientY);if(e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[hr]._onDragOver(n)}}},l0=function(t){bt&&bt.parentNode[hr]._isOutsideThisEl(t.target)};function Ut(a,t){if(!(a&&a.nodeType&&a.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(a));this.el=a,this.options=t=po({},t),a[hr]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(a.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return km(a,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(s,l){s.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Ut.supportPointer!==!1&&"PointerEvent"in window&&!qa,emptyInsertThreshold:5};Za.initializePlugins(this,a,e);for(var n in e)!(n in t)&&(t[n]=e[n]);Im(t);for(var r in this)r.charAt(0)==="_"&&typeof this[r]=="function"&&(this[r]=this[r].bind(this));this.nativeDraggable=t.forceFallback?!1:r0,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?_i(a,"pointerdown",this._onTapStart):(_i(a,"mousedown",this._onTapStart),_i(a,"touchstart",this._onTapStart)),this.nativeDraggable&&(_i(a,"dragover",this),_i(a,"dragenter",this)),vu.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),po(this,e0())}Ut.prototype={constructor:Ut,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(ql=null)},_getDirection:function(t,e){return typeof this.options.direction=="function"?this.options.direction.call(this,t,e,bt):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,r=this.options,o=r.preventOnFilter,s=t.type,l=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,u=(l||t).target,h=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||u,c=r.filter;if(m0(n),!bt&&!(/mousedown|pointerdown/.test(s)&&t.button!==0||r.disabled)&&!h.isContentEditable&&!(!this.nativeDraggable&&qa&&u&&u.tagName.toUpperCase()==="SELECT")&&(u=Fo(u,r.draggable,n,!1),!(u&&u.animated)&&fu!==u)){if(jl=xn(u),Ja=xn(u,r.draggable),typeof c=="function"){if(c.call(this,t,u,this)){yr({sortable:e,rootEl:h,name:"filter",targetEl:u,toEl:n,fromEl:n}),Fr("filter",e,{evt:t}),o&&t.cancelable&&t.preventDefault();return}}else if(c&&(c=c.split(",").some(function(p){if(p=Fo(h,p.trim(),n,!1),p)return yr({sortable:e,rootEl:p,name:"filter",targetEl:u,fromEl:n,toEl:n}),Fr("filter",e,{evt:t}),!0}),c)){o&&t.cancelable&&t.preventDefault();return}r.handle&&!Fo(h,r.handle,n,!1)||this._prepareDragStart(t,l,u)}}},_prepareDragStart:function(t,e,n){var r=this,o=r.el,s=r.options,l=o.ownerDocument,u;if(n&&!bt&&n.parentNode===o){var h=cn(n);if(hn=o,bt=n,Tn=bt.parentNode,bl=bt.nextSibling,fu=n,pu=s.group,Ut.dragged=bt,Cl={target:bt,clientX:(e||t).clientX,clientY:(e||t).clientY},xm=Cl.clientX-h.left,Tm=Cl.clientY-h.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,bt.style["will-change"]="all",u=function(){if(Fr("delayEnded",r,{evt:t}),Ut.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!pm&&r.nativeDraggable&&(bt.draggable=!0),r._triggerDragStart(t,e),yr({sortable:r,name:"choose",originalEvent:t}),bn(bt,s.chosenClass,!0)},s.ignore.split(",").forEach(function(c){bm(bt,c.trim(),Fh)}),_i(l,"dragover",yl),_i(l,"mousemove",yl),_i(l,"touchmove",yl),_i(l,"mouseup",r._onDrop),_i(l,"touchend",r._onDrop),_i(l,"touchcancel",r._onDrop),pm&&this.nativeDraggable&&(this.options.touchStartThreshold=4,bt.draggable=!0),Fr("delayStart",this,{evt:t}),s.delay&&(!s.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(Xa||_s))){if(Ut.eventCanceled){this._onDrop();return}_i(l,"mouseup",r._disableDelayedDrag),_i(l,"touchend",r._disableDelayedDrag),_i(l,"touchcancel",r._disableDelayedDrag),_i(l,"mousemove",r._delayedDragTouchMoveHandler),_i(l,"touchmove",r._delayedDragTouchMoveHandler),s.supportPointer&&_i(l,"pointermove",r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(u,s.delay)}else u()}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){bt&&Fh(bt),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;mi(t,"mouseup",this._disableDelayedDrag),mi(t,"touchend",this._disableDelayedDrag),mi(t,"touchcancel",this._disableDelayedDrag),mi(t,"mousemove",this._delayedDragTouchMoveHandler),mi(t,"touchmove",this._delayedDragTouchMoveHandler),mi(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||t.pointerType=="touch"&&t,!this.nativeDraggable||e?this.options.supportPointer?_i(document,"pointermove",this._onTouchMove):e?_i(document,"touchmove",this._onTouchMove):_i(document,"mousemove",this._onTouchMove):(_i(bt,"dragend",this),_i(hn,"dragstart",this._onDragStart));try{document.selection?Su(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,e){if(Xl=!1,hn&&bt){Fr("dragStarted",this,{evt:e}),this.nativeDraggable&&_i(document,"dragover",l0);var n=this.options;!t&&bn(bt,n.dragClass,!1),bn(bt,n.ghostClass,!0),Ut.active=this,t&&this._appendGhost(),yr({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(Mo){this._lastX=Mo.clientX,this._lastY=Mo.clientY,Dm();for(var t=document.elementFromPoint(Mo.clientX,Mo.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Mo.clientX,Mo.clientY),t!==e);)e=t;if(bt.parentNode[hr]._isOutsideThisEl(t),e)do{if(e[hr]){var n=void 0;if(n=e[hr]._onDragOver({clientX:Mo.clientX,clientY:Mo.clientY,target:t,rootEl:e}),n&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);Rm()}},_onTouchMove:function(t){if(Cl){var e=this.options,n=e.fallbackTolerance,r=e.fallbackOffset,o=t.touches?t.touches[0]:t,s=oi&&_l(oi,!0),l=oi&&s&&s.a,u=oi&&s&&s.d,h=yu&&fr&&ym(fr),c=(o.clientX-Cl.clientX+r.x)/(l||1)+(h?h[0]-Rh[0]:0)/(l||1),p=(o.clientY-Cl.clientY+r.y)/(u||1)+(h?h[1]-Rh[1]:0)/(u||1);if(!Ut.active&&!Xl){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(oi){s?(s.e+=c-(Ih||0),s.f+=p-(Dh||0)):s={a:1,b:0,c:0,d:1,e:c,f:p};var m="matrix(".concat(s.a,",").concat(s.b,",").concat(s.c,",").concat(s.d,",").concat(s.e,",").concat(s.f,")");Rt(oi,"webkitTransform",m),Rt(oi,"mozTransform",m),Rt(oi,"msTransform",m),Rt(oi,"transform",m),Ih=c,Dh=p,Mo=o}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!oi){var t=this.options.fallbackOnBody?document.body:hn,e=cn(bt,!0,yu,!0,t),n=this.options;if(yu){for(fr=t;Rt(fr,"position")==="static"&&Rt(fr,"transform")==="none"&&fr!==document;)fr=fr.parentNode;fr!==document.body&&fr!==document.documentElement?(fr===document&&(fr=Zo()),e.top+=fr.scrollTop,e.left+=fr.scrollLeft):fr=Zo(),Rh=ym(fr)}oi=bt.cloneNode(!0),bn(oi,n.ghostClass,!1),bn(oi,n.fallbackClass,!0),bn(oi,n.dragClass,!0),Rt(oi,"transition",""),Rt(oi,"transform",""),Rt(oi,"box-sizing","border-box"),Rt(oi,"margin",0),Rt(oi,"top",e.top),Rt(oi,"left",e.left),Rt(oi,"width",e.width),Rt(oi,"height",e.height),Rt(oi,"opacity","0.8"),Rt(oi,"position",yu?"absolute":"fixed"),Rt(oi,"zIndex","100000"),Rt(oi,"pointerEvents","none"),Ut.ghost=oi,t.appendChild(oi),Rt(oi,"transform-origin",xm/parseInt(oi.style.width)*100+"% "+Tm/parseInt(oi.style.height)*100+"%")}},_onDragStart:function(t,e){var n=this,r=t.dataTransfer,o=n.options;if(Fr("dragStart",this,{evt:t}),Ut.eventCanceled){this._onDrop();return}Fr("setupClone",this),Ut.eventCanceled||(Cn=Oh(bt),Cn.removeAttribute("id"),Cn.draggable=!1,Cn.style["will-change"]="",this._hideClone(),bn(Cn,this.options.chosenClass,!1),Ut.clone=Cn),n.cloneId=Su(function(){Fr("clone",n),!Ut.eventCanceled&&(n.options.removeCloneOnHide||hn.insertBefore(Cn,bt),n._hideClone(),yr({sortable:n,name:"clone"}))}),!e&&bn(bt,o.dragClass,!0),e?(mu=!0,n._loopId=setInterval(n._emulateDragOver,50)):(mi(document,"mouseup",n._onDrop),mi(document,"touchend",n._onDrop),mi(document,"touchcancel",n._onDrop),r&&(r.effectAllowed="move",o.setData&&o.setData.call(n,r,bt)),_i(document,"drop",n),Rt(bt,"transform","translateZ(0)")),Xl=!0,n._dragStartId=Su(n._dragStarted.bind(n,e,t)),_i(document,"selectstart",n),ed=!0,qa&&Rt(document.body,"user-select","none")},_onDragOver:function(t){var e=this.el,n=t.target,r,o,s,l=this.options,u=l.group,h=Ut.active,c=pu===u,p=l.sort,m=sr||h,v,_=this,C=!1;if(Ph)return;function x(xe,Oe){Fr(xe,_,Ko({evt:t,isOwner:c,axis:v?"vertical":"horizontal",revert:s,dragRect:r,targetRect:o,canSort:p,fromSortable:m,target:n,completed:E,onMove:function(ne,pe){return Eu(hn,e,bt,r,ne,cn(ne),t,pe)},changed:D},Oe))}function S(){x("dragOverAnimationCapture"),_.captureAnimationState(),_!==m&&m.captureAnimationState()}function E(xe){return x("dragOverCompleted",{insertion:xe}),xe&&(c?h._hideClone():h._showClone(_),_!==m&&(bn(bt,sr?sr.options.ghostClass:h.options.ghostClass,!1),bn(bt,l.ghostClass,!0)),sr!==_&&_!==Ut.active?sr=_:_===Ut.active&&sr&&(sr=null),m===_&&(_._ignoreWhileAnimating=n),_.animateAll(function(){x("dragOverAnimationComplete"),_._ignoreWhileAnimating=null}),_!==m&&(m.animateAll(),m._ignoreWhileAnimating=null)),(n===bt&&!bt.animated||n===e&&!n.animated)&&(ql=null),!l.dragoverBubble&&!t.rootEl&&n!==document&&(bt.parentNode[hr]._isOutsideThisEl(t.target),!xe&&yl(t)),!l.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),C=!0}function D(){Kr=xn(bt),Ys=xn(bt,l.draggable),yr({sortable:_,name:"change",toEl:e,newIndex:Kr,newDraggableIndex:Ys,originalEvent:t})}if(t.preventDefault!==void 0&&t.cancelable&&t.preventDefault(),n=Fo(n,l.draggable,e,!0),x("dragOver"),Ut.eventCanceled)return C;if(bt.contains(t.target)||n.animated&&n.animatingX&&n.animatingY||_._ignoreWhileAnimating===n)return E(!1);if(mu=!1,h&&!l.disabled&&(c?p||(s=Tn!==hn):sr===this||(this.lastPutMode=pu.checkPull(this,h,bt,t))&&u.checkPut(this,h,bt,t))){if(v=this._getDirection(t,n)==="vertical",r=cn(bt),x("dragOverValid"),Ut.eventCanceled)return C;if(s)return Tn=hn,S(),this._hideClone(),x("revert"),Ut.eventCanceled||(bl?hn.insertBefore(bt,bl):hn.appendChild(bt)),E(!0);var A=xh(e,l.draggable);if(!A||c0(t,v,this)&&!A.animated){if(A===bt)return E(!1);if(A&&e===t.target&&(n=A),n&&(o=cn(n)),Eu(hn,e,bt,r,n,o,t,!!n)!==!1)return S(),A&&A.nextSibling?e.insertBefore(bt,A.nextSibling):e.appendChild(bt),Tn=e,D(),E(!0)}else if(A&&u0(t,v,this)){var P=$l(e,0,l,!0);if(P===bt)return E(!1);if(n=P,o=cn(n),Eu(hn,e,bt,r,n,o,t,!1)!==!1)return S(),e.insertBefore(bt,P),Tn=e,D(),E(!0)}else if(n.parentNode===e){o=cn(n);var M=0,B,Z=bt.parentNode!==e,L=!o0(bt.animated&&bt.toRect||r,n.animated&&n.toRect||o,v),ae=v?"top":"left",_e=Cm(n,"top","top")||Cm(bt,"top","top"),J=_e?_e.scrollTop:void 0;ql!==n&&(B=o[ae],id=!1,gu=!L&&l.invertSwap||Z),M=h0(t,n,o,v,L?1:l.swapThreshold,l.invertedSwapThreshold==null?l.swapThreshold:l.invertedSwapThreshold,gu,ql===n);var U;if(M!==0){var F=xn(bt);do F-=M,U=Tn.children[F];while(U&&(Rt(U,"display")==="none"||U===oi))}if(M===0||U===n)return E(!1);ql=n,td=M;var de=n.nextElementSibling,qe=!1;qe=M===1;var Ie=Eu(hn,e,bt,r,n,o,t,qe);if(Ie!==!1)return(Ie===1||Ie===-1)&&(qe=Ie===1),Ph=!0,setTimeout(d0,30),S(),qe&&!de?e.appendChild(bt):n.parentNode.insertBefore(bt,qe?de:n),_e&&Sm(_e,0,J-_e.scrollTop),Tn=bt.parentNode,B!==void 0&&!gu&&(_u=Math.abs(B-cn(n)[ae])),D(),E(!0)}if(e.contains(bt))return E(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){mi(document,"mousemove",this._onTouchMove),mi(document,"touchmove",this._onTouchMove),mi(document,"pointermove",this._onTouchMove),mi(document,"dragover",yl),mi(document,"mousemove",yl),mi(document,"touchmove",yl)},_offUpEvents:function(){var t=this.el.ownerDocument;mi(t,"mouseup",this._onDrop),mi(t,"touchend",this._onDrop),mi(t,"pointerup",this._onDrop),mi(t,"touchcancel",this._onDrop),mi(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;if(Kr=xn(bt),Ys=xn(bt,n.draggable),Fr("drop",this,{evt:t}),Tn=bt&&bt.parentNode,Kr=xn(bt),Ys=xn(bt,n.draggable),Ut.eventCanceled){this._nulling();return}Xl=!1,gu=!1,id=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Mh(this.cloneId),Mh(this._dragStartId),this.nativeDraggable&&(mi(document,"drop",this),mi(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),qa&&Rt(document.body,"user-select",""),Rt(bt,"transform",""),t&&(ed&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),oi&&oi.parentNode&&oi.parentNode.removeChild(oi),(hn===Tn||sr&&sr.lastPutMode!=="clone")&&Cn&&Cn.parentNode&&Cn.parentNode.removeChild(Cn),bt&&(this.nativeDraggable&&mi(bt,"dragend",this),Fh(bt),bt.style["will-change"]="",ed&&!Xl&&bn(bt,sr?sr.options.ghostClass:this.options.ghostClass,!1),bn(bt,this.options.chosenClass,!1),yr({sortable:this,name:"unchoose",toEl:Tn,newIndex:null,newDraggableIndex:null,originalEvent:t}),hn!==Tn?(Kr>=0&&(yr({rootEl:Tn,name:"add",toEl:Tn,fromEl:hn,originalEvent:t}),yr({sortable:this,name:"remove",toEl:Tn,originalEvent:t}),yr({rootEl:Tn,name:"sort",toEl:Tn,fromEl:hn,originalEvent:t}),yr({sortable:this,name:"sort",toEl:Tn,originalEvent:t})),sr&&sr.save()):Kr!==jl&&Kr>=0&&(yr({sortable:this,name:"update",toEl:Tn,originalEvent:t}),yr({sortable:this,name:"sort",toEl:Tn,originalEvent:t})),Ut.active&&((Kr==null||Kr===-1)&&(Kr=jl,Ys=Ja),yr({sortable:this,name:"end",toEl:Tn,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){Fr("nulling",this),hn=bt=Tn=oi=bl=Cn=fu=$s=Cl=Mo=ed=Kr=Ys=jl=Ja=ql=td=sr=pu=Ut.dragged=Ut.ghost=Ut.clone=Ut.active=null,bu.forEach(function(t){t.checked=!0}),bu.length=Ih=Dh=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":bt&&(this._onDragOver(t),a0(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],e,n=this.el.children,r=0,o=n.length,s=this.options;r<o;r++)e=n[r],Fo(e,s.draggable,this.el,!1)&&t.push(e.getAttribute(s.dataIdAttr)||p0(e));return t},sort:function(t,e){var n={},r=this.el;this.toArray().forEach(function(o,s){var l=r.children[s];Fo(l,this.options.draggable,r,!1)&&(n[o]=l)},this),e&&this.captureAnimationState(),t.forEach(function(o){n[o]&&(r.removeChild(n[o]),r.appendChild(n[o]))}),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return Fo(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(e===void 0)return n[t];var r=Za.modifyOption(this,t,e);typeof r<"u"?n[t]=r:n[t]=e,t==="group"&&Im(n)},destroy:function(){Fr("destroy",this);var t=this.el;t[hr]=null,mi(t,"mousedown",this._onTapStart),mi(t,"touchstart",this._onTapStart),mi(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(mi(t,"dragover",this),mi(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(e){e.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),vu.splice(vu.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!$s){if(Fr("hideClone",this),Ut.eventCanceled)return;Rt(Cn,"display","none"),this.options.removeCloneOnHide&&Cn.parentNode&&Cn.parentNode.removeChild(Cn),$s=!0}},_showClone:function(t){if(t.lastPutMode!=="clone"){this._hideClone();return}if($s){if(Fr("showClone",this),Ut.eventCanceled)return;bt.parentNode==hn&&!this.options.group.revertClone?hn.insertBefore(Cn,bt):bl?hn.insertBefore(Cn,bl):hn.appendChild(Cn),this.options.group.revertClone&&this.animate(bt,Cn),Rt(Cn,"display",""),$s=!1}}};function a0(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.cancelable&&a.preventDefault()}function Eu(a,t,e,n,r,o,s,l){var u,h=a[hr],c=h.options.onMove,p;return window.CustomEvent&&!_s&&!Xa?u=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(u=document.createEvent("Event"),u.initEvent("move",!0,!0)),u.to=t,u.from=a,u.dragged=e,u.draggedRect=n,u.related=r||t,u.relatedRect=o||cn(t),u.willInsertAfter=l,u.originalEvent=s,a.dispatchEvent(u),c&&(p=c.call(h,u,s)),p}function Fh(a){a.draggable=!1}function d0(){Ph=!1}function u0(a,t,e){var n=cn($l(e.el,0,e.options,!0)),r=10;return t?a.clientX<n.left-r||a.clientY<n.top&&a.clientX<n.right:a.clientY<n.top-r||a.clientY<n.bottom&&a.clientX<n.left}function c0(a,t,e){var n=cn(xh(e.el,e.options.draggable)),r=10;return t?a.clientX>n.right+r||a.clientX<=n.right&&a.clientY>n.bottom&&a.clientX>=n.left:a.clientX>n.right&&a.clientY>n.top||a.clientX<=n.right&&a.clientY>n.bottom+r}function h0(a,t,e,n,r,o,s,l){var u=n?a.clientY:a.clientX,h=n?e.height:e.width,c=n?e.top:e.left,p=n?e.bottom:e.right,m=!1;if(!s){if(l&&_u<h*r){if(!id&&(td===1?u>c+h*o/2:u<p-h*o/2)&&(id=!0),id)m=!0;else if(td===1?u<c+_u:u>p-_u)return-td}else if(u>c+h*(1-r)/2&&u<p-h*(1-r)/2)return f0(t)}return m=m||s,m&&(u<c+h*o/2||u>p-h*o/2)?u>c+h/2?1:-1:0}function f0(a){return xn(bt)<xn(a)?1:-1}function p0(a){for(var t=a.tagName+a.className+a.src+a.href+a.textContent,e=t.length,n=0;e--;)n+=t.charCodeAt(e);return n.toString(36)}function m0(a){bu.length=0;for(var t=a.getElementsByTagName("input"),e=t.length;e--;){var n=t[e];n.checked&&bu.push(n)}}function Su(a){return setTimeout(a,0)}function Mh(a){return clearTimeout(a)}Cu&&_i(document,"touchmove",function(a){(Ut.active||Xl)&&a.cancelable&&a.preventDefault()}),Ut.utils={on:_i,off:mi,css:Rt,find:bm,is:function(t,e){return!!Fo(t,e,t,!1)},extend:Q_,throttle:Em,closest:Fo,toggleClass:bn,clone:Oh,index:xn,nextTick:Su,cancelNextTick:Mh,detectDirection:km,getChild:$l},Ut.get=function(a){return a[hr]},Ut.mount=function(){for(var a=arguments.length,t=new Array(a),e=0;e<a;e++)t[e]=arguments[e];t[0].constructor===Array&&(t=t[0]),t.forEach(function(n){if(!n.prototype||!n.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(n));n.utils&&(Ut.utils=Ko(Ko({},Ut.utils),n.utils)),Za.mount(n)})},Ut.create=function(a,t){return new Ut(a,t)},Ut.version=q_;var Hn=[],nd,Nh,Lh=!1,Hh,Bh,wu,rd;function v0(){function a(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var t in this)t.charAt(0)==="_"&&typeof this[t]=="function"&&(this[t]=this[t].bind(this))}return a.prototype={dragStarted:function(e){var n=e.originalEvent;this.sortable.nativeDraggable?_i(document,"dragover",this._handleAutoScroll):this.options.supportPointer?_i(document,"pointermove",this._handleFallbackAutoScroll):n.touches?_i(document,"touchmove",this._handleFallbackAutoScroll):_i(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var n=e.originalEvent;!this.options.dragOverBubble&&!n.rootEl&&this._handleAutoScroll(n)},drop:function(){this.sortable.nativeDraggable?mi(document,"dragover",this._handleAutoScroll):(mi(document,"pointermove",this._handleFallbackAutoScroll),mi(document,"touchmove",this._handleFallbackAutoScroll),mi(document,"mousemove",this._handleFallbackAutoScroll)),Pm(),xu(),J_()},nulling:function(){wu=Nh=nd=Lh=rd=Hh=Bh=null,Hn.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,n){var r=this,o=(e.touches?e.touches[0]:e).clientX,s=(e.touches?e.touches[0]:e).clientY,l=document.elementFromPoint(o,s);if(wu=e,n||this.options.forceAutoScrollFallback||Xa||_s||qa){Vh(e,this.options,l,n);var u=Ws(l,!0);Lh&&(!rd||o!==Hh||s!==Bh)&&(rd&&Pm(),rd=setInterval(function(){var h=Ws(document.elementFromPoint(o,s),!0);h!==u&&(u=h,xu()),Vh(e,r.options,h,n)},10),Hh=o,Bh=s)}else{if(!this.options.bubbleScroll||Ws(l,!0)===Zo()){xu();return}Vh(e,this.options,Ws(l,!1),!1)}}},po(a,{pluginName:"scroll",initializeByDefault:!0})}function xu(){Hn.forEach(function(a){clearInterval(a.pid)}),Hn=[]}function Pm(){clearInterval(rd)}var Vh=Em(function(a,t,e,n){if(t.scroll){var r=(a.touches?a.touches[0]:a).clientX,o=(a.touches?a.touches[0]:a).clientY,s=t.scrollSensitivity,l=t.scrollSpeed,u=Zo(),h=!1,c;Nh!==e&&(Nh=e,xu(),nd=t.scroll,c=t.scrollFn,nd===!0&&(nd=Ws(e,!0)));var p=0,m=nd;do{var v=m,_=cn(v),C=_.top,x=_.bottom,S=_.left,E=_.right,D=_.width,A=_.height,P=void 0,M=void 0,B=v.scrollWidth,Z=v.scrollHeight,L=Rt(v),ae=v.scrollLeft,_e=v.scrollTop;v===u?(P=D<B&&(L.overflowX==="auto"||L.overflowX==="scroll"||L.overflowX==="visible"),M=A<Z&&(L.overflowY==="auto"||L.overflowY==="scroll"||L.overflowY==="visible")):(P=D<B&&(L.overflowX==="auto"||L.overflowX==="scroll"),M=A<Z&&(L.overflowY==="auto"||L.overflowY==="scroll"));var J=P&&(Math.abs(E-r)<=s&&ae+D<B)-(Math.abs(S-r)<=s&&!!ae),U=M&&(Math.abs(x-o)<=s&&_e+A<Z)-(Math.abs(C-o)<=s&&!!_e);if(!Hn[p])for(var F=0;F<=p;F++)Hn[F]||(Hn[F]={});(Hn[p].vx!=J||Hn[p].vy!=U||Hn[p].el!==v)&&(Hn[p].el=v,Hn[p].vx=J,Hn[p].vy=U,clearInterval(Hn[p].pid),(J!=0||U!=0)&&(h=!0,Hn[p].pid=setInterval((function(){n&&this.layer===0&&Ut.active._onTouchMove(wu);var de=Hn[this.layer].vy?Hn[this.layer].vy*l:0,qe=Hn[this.layer].vx?Hn[this.layer].vx*l:0;typeof c=="function"&&c.call(Ut.dragged.parentNode[hr],qe,de,a,wu,Hn[this.layer].el)!=="continue"||Sm(Hn[this.layer].el,qe,de)}).bind({layer:p}),24))),p++}while(t.bubbleScroll&&m!==u&&(m=Ws(m,!1)));Lh=h}},30),Fm=function(t){var e=t.originalEvent,n=t.putSortable,r=t.dragEl,o=t.activeSortable,s=t.dispatchSortableEvent,l=t.hideGhostForTarget,u=t.unhideGhostForTarget;if(e){var h=n||o;l();var c=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,p=document.elementFromPoint(c.clientX,c.clientY);u(),h&&!h.el.contains(p)&&(s("spill"),this.onSpill({dragEl:r,putSortable:n}))}};function zh(){}zh.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var r=$l(this.sortable.el,this.startIndex,this.options);r?this.sortable.el.insertBefore(e,r):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:Fm},po(zh,{pluginName:"revertOnSpill"});function Uh(){}Uh.prototype={onSpill:function(t){var e=t.dragEl,n=t.putSortable,r=n||this.sortable;r.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),r.animateAll()},drop:Fm},po(Uh,{pluginName:"removeOnSpill"});var mo;function g0(){function a(){this.defaults={swapClass:"sortable-swap-highlight"}}return a.prototype={dragStart:function(e){var n=e.dragEl;mo=n},dragOverValid:function(e){var n=e.completed,r=e.target,o=e.onMove,s=e.activeSortable,l=e.changed,u=e.cancel;if(s.options.swap){var h=this.sortable.el,c=this.options;if(r&&r!==h){var p=mo;o(r)!==!1?(bn(r,c.swapClass,!0),mo=r):mo=null,p&&p!==mo&&bn(p,c.swapClass,!1)}l(),n(!0),u()}},drop:function(e){var n=e.activeSortable,r=e.putSortable,o=e.dragEl,s=r||this.sortable,l=this.options;mo&&bn(mo,l.swapClass,!1),mo&&(l.swap||r&&r.options.swap)&&o!==mo&&(s.captureAnimationState(),s!==n&&n.captureAnimationState(),_0(o,mo),s.animateAll(),s!==n&&n.animateAll())},nulling:function(){mo=null}},po(a,{pluginName:"swap",eventProperties:function(){return{swapItem:mo}}})}function _0(a,t){var e=a.parentNode,n=t.parentNode,r,o;!e||!n||e.isEqualNode(t)||n.isEqualNode(a)||(r=xn(a),o=xn(t),e.isEqualNode(n)&&r<o&&o++,e.insertBefore(t,e.children[r]),n.insertBefore(a,n.children[o]))}var Jt=[],Zr=[],od,No,sd=!1,Mr=!1,Kl=!1,tn,ld,Tu;function b0(){function a(t){for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this));t.options.avoidImplicitDeselect||(t.options.supportPointer?_i(document,"pointerup",this._deselectMultiDrag):(_i(document,"mouseup",this._deselectMultiDrag),_i(document,"touchend",this._deselectMultiDrag))),_i(document,"keydown",this._checkKeyDown),_i(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,avoidImplicitDeselect:!1,setData:function(r,o){var s="";Jt.length&&No===t?Jt.forEach(function(l,u){s+=(u?", ":"")+l.textContent}):s=o.textContent,r.setData("Text",s)}}}return a.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(e){var n=e.dragEl;tn=n},delayEnded:function(){this.isMultiDrag=~Jt.indexOf(tn)},setupClone:function(e){var n=e.sortable,r=e.cancel;if(this.isMultiDrag){for(var o=0;o<Jt.length;o++)Zr.push(Oh(Jt[o])),Zr[o].sortableIndex=Jt[o].sortableIndex,Zr[o].draggable=!1,Zr[o].style["will-change"]="",bn(Zr[o],this.options.selectedClass,!1),Jt[o]===tn&&bn(Zr[o],this.options.chosenClass,!1);n._hideClone(),r()}},clone:function(e){var n=e.sortable,r=e.rootEl,o=e.dispatchSortableEvent,s=e.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||Jt.length&&No===n&&(Mm(!0,r),o("clone"),s()))},showClone:function(e){var n=e.cloneNowShown,r=e.rootEl,o=e.cancel;this.isMultiDrag&&(Mm(!1,r),Zr.forEach(function(s){Rt(s,"display","")}),n(),Tu=!1,o())},hideClone:function(e){var n=this;e.sortable;var r=e.cloneNowHidden,o=e.cancel;this.isMultiDrag&&(Zr.forEach(function(s){Rt(s,"display","none"),n.options.removeCloneOnHide&&s.parentNode&&s.parentNode.removeChild(s)}),r(),Tu=!0,o())},dragStartGlobal:function(e){e.sortable,!this.isMultiDrag&&No&&No.multiDrag._deselectMultiDrag(),Jt.forEach(function(n){n.sortableIndex=xn(n)}),Jt=Jt.sort(function(n,r){return n.sortableIndex-r.sortableIndex}),Kl=!0},dragStarted:function(e){var n=this,r=e.sortable;if(this.isMultiDrag){if(this.options.sort&&(r.captureAnimationState(),this.options.animation)){Jt.forEach(function(s){s!==tn&&Rt(s,"position","absolute")});var o=cn(tn,!1,!0,!0);Jt.forEach(function(s){s!==tn&&wm(s,o)}),Mr=!0,sd=!0}r.animateAll(function(){Mr=!1,sd=!1,n.options.animation&&Jt.forEach(function(s){Ah(s)}),n.options.sort&&Ou()})}},dragOver:function(e){var n=e.target,r=e.completed,o=e.cancel;Mr&&~Jt.indexOf(n)&&(r(!1),o())},revert:function(e){var n=e.fromSortable,r=e.rootEl,o=e.sortable,s=e.dragRect;Jt.length>1&&(Jt.forEach(function(l){o.addAnimationState({target:l,rect:Mr?cn(l):s}),Ah(l),l.fromRect=s,n.removeAnimationState(l)}),Mr=!1,C0(!this.options.removeCloneOnHide,r))},dragOverCompleted:function(e){var n=e.sortable,r=e.isOwner,o=e.insertion,s=e.activeSortable,l=e.parentEl,u=e.putSortable,h=this.options;if(o){if(r&&s._hideClone(),sd=!1,h.animation&&Jt.length>1&&(Mr||!r&&!s.options.sort&&!u)){var c=cn(tn,!1,!0,!0);Jt.forEach(function(m){m!==tn&&(wm(m,c),l.appendChild(m))}),Mr=!0}if(!r)if(Mr||Ou(),Jt.length>1){var p=Tu;s._showClone(n),s.options.animation&&!Tu&&p&&Zr.forEach(function(m){s.addAnimationState({target:m,rect:ld}),m.fromRect=ld,m.thisAnimationDuration=null})}else s._showClone(n)}},dragOverAnimationCapture:function(e){var n=e.dragRect,r=e.isOwner,o=e.activeSortable;if(Jt.forEach(function(l){l.thisAnimationDuration=null}),o.options.animation&&!r&&o.multiDrag.isMultiDrag){ld=po({},n);var s=_l(tn,!0);ld.top-=s.f,ld.left-=s.e}},dragOverAnimationComplete:function(){Mr&&(Mr=!1,Ou())},drop:function(e){var n=e.originalEvent,r=e.rootEl,o=e.parentEl,s=e.sortable,l=e.dispatchSortableEvent,u=e.oldIndex,h=e.putSortable,c=h||this.sortable;if(n){var p=this.options,m=o.children;if(!Kl)if(p.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),bn(tn,p.selectedClass,!~Jt.indexOf(tn)),~Jt.indexOf(tn))Jt.splice(Jt.indexOf(tn),1),od=null,Qa({sortable:s,rootEl:r,name:"deselect",targetEl:tn,originalEvent:n});else{if(Jt.push(tn),Qa({sortable:s,rootEl:r,name:"select",targetEl:tn,originalEvent:n}),n.shiftKey&&od&&s.el.contains(od)){var v=xn(od),_=xn(tn);if(~v&&~_&&v!==_){var C,x;for(_>v?(x=v,C=_):(x=_,C=v+1);x<C;x++)~Jt.indexOf(m[x])||(bn(m[x],p.selectedClass,!0),Jt.push(m[x]),Qa({sortable:s,rootEl:r,name:"select",targetEl:m[x],originalEvent:n}))}}else od=tn;No=c}if(Kl&&this.isMultiDrag){if(Mr=!1,(o[hr].options.sort||o!==r)&&Jt.length>1){var S=cn(tn),E=xn(tn,":not(."+this.options.selectedClass+")");if(!sd&&p.animation&&(tn.thisAnimationDuration=null),c.captureAnimationState(),!sd&&(p.animation&&(tn.fromRect=S,Jt.forEach(function(A){if(A.thisAnimationDuration=null,A!==tn){var P=Mr?cn(A):S;A.fromRect=P,c.addAnimationState({target:A,rect:P})}})),Ou(),Jt.forEach(function(A){m[E]?o.insertBefore(A,m[E]):o.appendChild(A),E++}),u===xn(tn))){var D=!1;Jt.forEach(function(A){if(A.sortableIndex!==xn(A)){D=!0;return}}),D&&l("update")}Jt.forEach(function(A){Ah(A)}),c.animateAll()}No=c}(r===o||h&&h.lastPutMode!=="clone")&&Zr.forEach(function(A){A.parentNode&&A.parentNode.removeChild(A)})}},nullingGlobal:function(){this.isMultiDrag=Kl=!1,Zr.length=0},destroyGlobal:function(){this._deselectMultiDrag(),mi(document,"pointerup",this._deselectMultiDrag),mi(document,"mouseup",this._deselectMultiDrag),mi(document,"touchend",this._deselectMultiDrag),mi(document,"keydown",this._checkKeyDown),mi(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(typeof Kl<"u"&&Kl)&&No===this.sortable&&!(e&&Fo(e.target,this.options.draggable,this.sortable.el,!1))&&!(e&&e.button!==0))for(;Jt.length;){var n=Jt[0];bn(n,this.options.selectedClass,!1),Jt.shift(),Qa({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:n,originalEvent:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},po(a,{pluginName:"multiDrag",utils:{select:function(e){var n=e.parentNode[hr];!n||!n.options.multiDrag||~Jt.indexOf(e)||(No&&No!==n&&(No.multiDrag._deselectMultiDrag(),No=n),bn(e,n.options.selectedClass,!0),Jt.push(e))},deselect:function(e){var n=e.parentNode[hr],r=Jt.indexOf(e);!n||!n.options.multiDrag||!~r||(bn(e,n.options.selectedClass,!1),Jt.splice(r,1))}},eventProperties:function(){var e=this,n=[],r=[];return Jt.forEach(function(o){n.push({multiDragElement:o,index:o.sortableIndex});var s;Mr&&o!==tn?s=-1:Mr?s=xn(o,":not(."+e.options.selectedClass+")"):s=xn(o),r.push({multiDragElement:o,index:s})}),{items:W_(Jt),clones:[].concat(Zr),oldIndicies:n,newIndicies:r}},optionListeners:{multiDragKey:function(e){return e=e.toLowerCase(),e==="ctrl"?e="Control":e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}function C0(a,t){Jt.forEach(function(e,n){var r=t.children[e.sortableIndex+(a?Number(n):0)];r?t.insertBefore(e,r):t.appendChild(e)})}function Mm(a,t){Zr.forEach(function(e,n){var r=t.children[e.sortableIndex+(a?Number(n):0)];r?t.insertBefore(e,r):t.appendChild(e)})}function Ou(){Jt.forEach(function(a){a!==tn&&a.parentNode&&a.parentNode.removeChild(a)})}Ut.mount(new v0),Ut.mount(Uh,zh);const Zl=Object.freeze(Object.defineProperty({__proto__:null,MultiDrag:b0,Sortable:Ut,Swap:g0,default:Ut},Symbol.toStringTag,{value:"Module"}));var Gh;const Au=(Gh=Zl==null?void 0:Ut)!==null&&Gh!==void 0?Gh:Zl;class y0{constructor(t,e,n){this.extensionUtility=t,this.pubSubService=e,this.sharedService=n,this._gridColumns=[],this._gridUid="",this._reorderedColumns=[],this._subscriptions=[],this._defaults={dropPlaceHolderText:"Drop a column header here to group by the column",hideGroupSortIcons:!1,hideToggleAllButton:!1,toggleAllButtonText:"",toggleAllPlaceholderText:"Toggle all Groups"},this.columnsGroupBy=[],this.pluginName="DraggableGrouping",this._bindingEventService=new Nn,this._eventHandler=new Slick.EventHandler,this.onGroupChanged=new Slick.Event}get addonOptions(){return this._addonOptions}get dataView(){var t,e,n;return(n=(e=(t=this.grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get dropboxElement(){return this._dropzoneElm}get droppableInstance(){return this._droppableInstance}get sortableLeftInstance(){return this._sortableLeftInstance}get sortableRightInstance(){return this._sortableRightInstance}get eventHandler(){return this._eventHandler}get grid(){var t,e;return(e=(t=this._grid)!==null&&t!==void 0?t:this.sharedService.slickGrid)!==null&&e!==void 0?e:{}}get gridOptions(){var t;return(t=this.sharedService.gridOptions)!==null&&t!==void 0?t:{}}get gridUid(){var t,e;return this._gridUid||((e=(t=this.grid)===null||t===void 0?void 0:t.getUID())!==null&&e!==void 0?e:"")}get gridContainer(){return this.grid.getContainerNode()}init(t,e){var n,r,o,s,l,u;if(this._addonOptions={...this._defaults,...e},this._grid=t,t){if(this._gridUid=t.getUID(),this._gridColumns=t.getColumns(),this._dropzoneElm=t.getPreHeaderPanel(),this._dropzoneElm.classList.add("slick-dropzone"),!this._addonOptions.hideToggleAllButton){this._groupToggler=Re("div",{className:"slick-group-toggle-all",title:(n=this._addonOptions.toggleAllPlaceholderText)!==null&&n!==void 0?n:"",style:{display:"none"}});const h=Re("span",{className:"slick-group-toggle-all-icon"},this._groupToggler);this.gridOptions.enableTranslate&&this._addonOptions.toggleAllButtonTextKey&&(this._addonOptions.toggleAllButtonText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllButtonTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this.gridOptions.enableTranslate&&this._addonOptions.toggleAllPlaceholderTextKey&&(this._addonOptions.toggleAllPlaceholderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllPlaceholderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._groupToggler.title=(r=this._addonOptions.toggleAllPlaceholderText)!==null&&r!==void 0?r:"",this._addonOptions.toggleAllButtonText&&this._groupToggler.appendChild(Re("span",{className:"slick-group-toggle-all-text",textContent:this._addonOptions.toggleAllButtonText||""})),this._dropzoneElm.appendChild(this._groupToggler),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuCollapseAllGroups",()=>this.toggleGroupToggler(h,!0,!1)),this.pubSubService.subscribe("onContextMenuExpandAllGroups",()=>this.toggleGroupToggler(h,!1,!1)))}this._dropzonePlaceholderElm=Re("div",{className:"slick-draggable-dropzone-placeholder"},this._dropzoneElm),this.gridOptions.enableTranslate&&(!((o=this._addonOptions)===null||o===void 0)&&o.dropPlaceHolderTextKey)&&(this._addonOptions.dropPlaceHolderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.dropPlaceHolderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._dropzonePlaceholderElm.textContent=(u=(l=(s=this._addonOptions)===null||s===void 0?void 0:s.dropPlaceHolderText)!==null&&l!==void 0?l:this._defaults.dropPlaceHolderText)!==null&&u!==void 0?u:"",this.setupColumnDropbox(),this._eventHandler.subscribe(t.onHeaderCellRendered,(h,c)=>{var p;const m=c.node;if(!lh((p=c.column)===null||p===void 0?void 0:p.grouping)&&m&&(m.style.cursor="pointer",this._addonOptions.groupIconCssClass)){const v=Re("span",{className:"slick-column-groupable"},m);this._addonOptions.groupIconCssClass&&v.classList.add(...this._addonOptions.groupIconCssClass.split(" "))}}),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuClearGrouping",()=>this.clearDroppedGroups()));for(const h of this._gridColumns){const c=h.field;t.updateColumnHeader(c)}}return this}dispose(){this.destroySortableInstances(),this.onGroupChanged.unsubscribe(),this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingEventService.unbindAll(),on(this.gridContainer.querySelector(`.${this.gridUid} .slick-preheader-panel`))}clearDroppedGroups(){this.columnsGroupBy=[],this.updateGroupBy("clear-all");const t=this._dropzoneElm.querySelectorAll(".slick-dropped-grouping");for(const e of Array.from(t)){const n=this._dropzoneElm.querySelector(".slick-groupby-remove");n==null||n.remove(),e==null||e.remove()}this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")}destroySortableInstances(){var t,e,n,r;!((t=this._sortableLeftInstance)===null||t===void 0)&&t.el&&((e=this._sortableLeftInstance)===null||e===void 0||e.destroy()),!((n=this._sortableRightInstance)===null||n===void 0)&&n.el&&((r=this._sortableRightInstance)===null||r===void 0||r.destroy())}setAddonOptions(t){this._addonOptions={...this._addonOptions,...t}}setColumns(t){this._gridColumns=t}setDroppedGroups(t){this._dropzonePlaceholderElm.style.display="none";const e=Array.isArray(t)?t:[t];for(const n of e){const r=this.grid.getHeaderColumn(n);this.handleGroupByDrop(this._dropzoneElm,r)}}setupColumnReorder(t,e,n,r,o,s,l,u,h){this.destroySortableInstances();const c=t.getPreHeaderPanel(),p=c.querySelector(".slick-draggable-dropzone-placeholder"),m=c.querySelector(".slick-group-toggle-all"),v={animation:50,chosenClass:"slick-header-column-active",ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dataIdAttr:"data-id",group:{name:"shared",pull:"clone",put:!1},revertClone:!0,onStart:()=>{p&&(p.style.display="inline-block"),c.querySelectorAll(".slick-dropped-grouping").forEach(C=>C.style.display="none"),m&&(m.style.display="none")},onEnd:_=>{var C,x,S,E,D;c==null||c.classList.remove("slick-dropzone-hover"),(C=p==null?void 0:p.parentElement)===null||C===void 0||C.classList.remove("slick-dropzone-placeholder-hover");const A=c.querySelectorAll(".slick-dropped-grouping");if(A.forEach(Z=>Z.style.display="flex"),A.length&&(p&&(p.style.display="none"),m&&(m.style.display="inline-block")),!t.getEditorLock().commitCurrentEdit())return;const P=(S=(x=this.sortableLeftInstance)===null||x===void 0?void 0:x.toArray())!==null&&S!==void 0?S:[];if(e.length>1){const Z=(D=(E=this._sortableRightInstance)===null||E===void 0?void 0:E.toArray())!==null&&D!==void 0?D:[];for(const L of Z)P.push(L)}const M=[],B=t.getColumns();for(const Z of P)M.push(B[l(Z)]);r(M),h(t.onColumnsReordered,{grid:t}),_.stopPropagation(),o()}};return this._sortableLeftInstance=Au.create(this.gridContainer.querySelector(`.${t.getUID()} .slick-header-columns.slick-header-columns-left`),v),this._sortableRightInstance=Au.create(this.gridContainer.querySelector(`.${t.getUID()} .slick-header-columns.slick-header-columns-right`),v),{sortableLeftInstance:this._sortableLeftInstance,sortableRightInstance:this._sortableRightInstance}}addColumnGroupBy(t){this.columnsGroupBy.push(t),this.updateGroupBy("add-group")}addGroupByRemoveClickHandler(t,e,n,r){this._bindingEventService.bind(e,"click",()=>{const o=this._bindingEventService.boundedEvents.filter(s=>s.element===e);for(const s of o)this._bindingEventService.unbind(s.element,"click",s.listener);this.removeGroupBy(t,n,r)})}addGroupSortClickHandler(t,e){const{grouping:n,type:r}=t;this._bindingEventService.bind(e,"click",()=>{if(this.toggleGroupAll(t,!1),n){const o=n.sortAsc?ji.desc:ji.asc;n.comparer=(s,l)=>Gl(r||"text",s.value,l.value,o,t,this.gridOptions),this.getGroupBySortIcon(e,!n.sortAsc),this.updateGroupBy("sort-group"),n.sortAsc=!n.sortAsc,this.grid.invalidate()}})}getGroupBySortIcon(t,e=!0){var n,r,o,s;e?this._addonOptions.sortAscIconCssClass?(t.classList.remove(...(r=(n=this._addonOptions.sortDescIconCssClass)===null||n===void 0?void 0:n.split(" "))!==null&&r!==void 0?r:""),t.classList.add(...this._addonOptions.sortAscIconCssClass.split(" "))):(t.classList.add("slick-groupby-sort-asc-icon"),t.classList.remove("slick-groupby-sort-desc-icon")):this._addonOptions.sortDescIconCssClass?(t.classList.remove(...(s=(o=this._addonOptions.sortAscIconCssClass)===null||o===void 0?void 0:o.split(" "))!==null&&s!==void 0?s:""),t.classList.add(...this._addonOptions.sortDescIconCssClass.split(" "))):this._addonOptions.sortDescIconCssClass||(t.classList.add("slick-groupby-sort-desc-icon"),t.classList.remove("slick-groupby-sort-asc-icon"))}handleGroupByDrop(t,e){var n,r,o;const s=(n=e.getAttribute("data-id"))===null||n===void 0?void 0:n.replace(this._gridUid,"");let l=!0;for(const u of this.columnsGroupBy)u.id===s&&(l=!1);if(l){for(const u of this._gridColumns)if(u.id===s&&u.grouping&&!lh(u.grouping)){const h=e.querySelector(".slick-column-name"),c=Re("div",{id:`${this._gridUid}_${u.id}_entry`,className:"slick-dropped-grouping",dataset:{id:`${u.id}`}});Re("div",{className:"slick-dropped-grouping-title",style:{display:"inline-flex"},textContent:h?h.textContent:e.textContent},c);const p=Re("div",{className:"slick-groupby-remove"});this._addonOptions.deleteIconCssClass&&p.classList.add(...this._addonOptions.deleteIconCssClass.split(" ")),this._addonOptions.deleteIconCssClass||p.classList.add("slick-groupby-remove-icon");let m;((r=this._addonOptions)===null||r===void 0?void 0:r.hideGroupSortIcons)!==!0&&u.sortable&&(((o=u.grouping)===null||o===void 0?void 0:o.sortAsc)===void 0&&(u.grouping.sortAsc=!0),m=Re("div",{className:"slick-groupby-sort"},c),this.getGroupBySortIcon(m,u.grouping.sortAsc)),c.appendChild(p),c.appendChild(document.createElement("div")),t.appendChild(c),this._groupToggler&&this.columnsGroupBy.length===0&&this.toggleGroupAll(u),this.addColumnGroupBy(u),this.addGroupByRemoveClickHandler(u.id,p,e,c),m&&this.addGroupSortClickHandler(u,m)}this._groupToggler&&this.columnsGroupBy.length>0&&(this._groupToggler.style.display="inline-block")}}toggleGroupAll({grouping:t},e){var n;const r=(n=this._groupToggler)===null||n===void 0?void 0:n.querySelector(".slick-group-toggle-all-icon");e===!0||t!=null&&t.collapsed?(r==null||r.classList.add("collapsed"),r==null||r.classList.remove("expanded")):(r==null||r.classList.add("expanded"),r==null||r.classList.remove("collapsed"))}removeFromArray(t,e){if(Array.isArray(t)){const n=t.findIndex(r=>r.id===e.id);n>=0&&t.splice(n,1)}return t}removeGroupBy(t,e,n){n.remove();const r=[];this._gridColumns.forEach(o=>r[o.id]=o),this.removeFromArray(this.columnsGroupBy,r[t]),this.columnsGroupBy.length===0&&(this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")),this.updateGroupBy("remove-group")}addDragOverDropzoneListeners(){const t=this._dropzoneElm.querySelector(".slick-draggable-dropzone-placeholder");t&&this._dropzoneElm&&(this._bindingEventService.bind(t,"dragover",e=>e.preventDefault()),this._bindingEventService.bind(t,"dragenter",()=>this._dropzoneElm.classList.add("slick-dropzone-hover")),this._bindingEventService.bind(t,"dragleave",()=>this._dropzoneElm.classList.remove("slick-dropzone-hover")))}setupColumnDropbox(){const t=this._dropzoneElm;this._droppableInstance=Au.create(t,{group:"shared",ghostClass:"slick-droppable-sortitem-hover",draggable:".slick-dropped-grouping",dragoverBubble:!0,onAdd:e=>{var n,r;const o=e.item;!((n=o.getAttribute("id"))===null||n===void 0)&&n.replace(this._gridUid,"")&&this.handleGroupByDrop(t,Au.utils.clone(e.item)),(r=o.parentNode)===null||r===void 0||r.removeChild(o)},onUpdate:()=>{var e,n;const r=(n=(e=this._droppableInstance)===null||e===void 0?void 0:e.toArray())!==null&&n!==void 0?n:[],o=[];for(const s of r)for(const l of this.columnsGroupBy)if(l.id===s){o.push(l);break}this.columnsGroupBy=o,this.updateGroupBy("sort-group")}}),this.addDragOverDropzoneListeners(),this._groupToggler&&this._bindingEventService.bind(this._groupToggler,"click",e=>{const n=e.target.classList.contains("slick-group-toggle-all-icon")?e.target:e.currentTarget.querySelector(".slick-group-toggle-all-icon");this.toggleGroupToggler(n,n==null?void 0:n.classList.contains("expanded"))})}toggleGroupToggler(t,e=!0,n=!0){t&&(e===!0?(t.classList.add("collapsed"),t.classList.remove("expanded"),n&&this.dataView.collapseAllGroups()):(t.classList.remove("collapsed"),t.classList.add("expanded"),n&&this.dataView.expandAllGroups()))}updateGroupBy(t){if(this.columnsGroupBy.length===0){this.dataView.setGrouping([]),this._dropzonePlaceholderElm.style.display="inline-block",this.triggerOnGroupChangedEvent({caller:t,groupColumns:[]});return}const e=[];this.columnsGroupBy.forEach(n=>e.push(n.grouping)),this.dataView.setGrouping(e),this._dropzonePlaceholderElm.style.display="none",this.triggerOnGroupChangedEvent({caller:t,groupColumns:e})}triggerOnGroupChangedEvent(t){this._addonOptions&&typeof this._addonOptions.onGroupChanged=="function"&&this._addonOptions.onGroupChanged(new Slick.EventData,t),this.onGroupChanged.notify(t)}}class Nm{constructor(){this._defaults={groupCssClass:"slick-group",groupTitleCssClass:"slick-group-title",totalsCssClass:"slick-group-totals",groupFocusable:!0,indentation:15,totalsFocusable:!1,toggleCssClass:"slick-group-toggle",toggleExpandedCssClass:"expanded",toggleCollapsedCssClass:"collapsed",enableExpandCollapse:!0,groupFormatter:this.defaultGroupCellFormatter.bind(this),totalsFormatter:this.defaultTotalsCellFormatter.bind(this),includeHeaderTotals:!1},this._eventHandler=new Slick.EventHandler,this._options=this._defaults}get eventHandler(){return this._eventHandler}get dataView(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get grid(){return this._grid}init(t,e){this._grid=t,this._options={...this._defaults,...e},this._eventHandler.subscribe(t.onClick,this.handleGridClick.bind(this)),this._eventHandler.subscribe(t.onKeyDown,this.handleGridKeyDown.bind(this))}dispose(){var t;(t=this._eventHandler)===null||t===void 0||t.unsubscribeAll()}getOptions(){return this._options}setOptions(t){this._options={...this._options,...t}}getGroupRowMetadata(t){return{selectable:!1,focusable:this._options.groupFocusable,cssClasses:`${this._options.groupCssClass} slick-group-level-${(t==null?void 0:t.level)||0}`,formatter:this._options.includeHeaderTotals&&this._options.totalsFormatter,columns:{0:{colspan:this._options.includeHeaderTotals?"1":"*",formatter:this._options.groupFormatter,editor:null}}}}getTotalsRowMetadata(t){var e;return{selectable:!1,focusable:this._options.totalsFocusable,cssClasses:`${this._options.totalsCssClass} slick-group-level-${((e=t==null?void 0:t.group)===null||e===void 0?void 0:e.level)||0}`,formatter:this._options.totalsFormatter,editor:null}}defaultGroupCellFormatter(t,e,n,r,o){var s,l;if(!this._options.enableExpandCollapse)return o.title;const u=o.level||0,h=(l=(s=this._options)===null||s===void 0?void 0:s.indentation)!==null&&l!==void 0?l:15,c=`${u*h}px`,p=o.collapsed?this._options.toggleCollapsedCssClass:this._options.toggleExpandedCssClass;return`<span class="${this._options.toggleCssClass} ${p}" aria-expanded="${!o.collapsed}" style="margin-left: ${c}"></span><span class="${this._options.groupTitleCssClass}" level="${u}">${o.title||""}</span>`}defaultTotalsCellFormatter(t,e,n,r,o,s){var l,u;return(u=(l=r==null?void 0:r.groupTotalsFormatter)===null||l===void 0?void 0:l.call(r,o,r,s))!==null&&u!==void 0?u:""}handleGridClick(t,e){const n=t.target,r=this.grid.getDataItem(e.row);r instanceof Slick.Group&&n.classList.contains(this._options.toggleCssClass||"")&&(this.handleDataViewExpandOrCollapse(r),t.stopImmediatePropagation(),t.preventDefault())}handleGridKeyDown(t){if(this._options.enableExpandCollapse&&t.keyCode===xi.SPACE){const e=this.grid.getActiveCell();if(e){const n=this.grid.getDataItem(e.row);n instanceof Slick.Group&&(this.handleDataViewExpandOrCollapse(n),t.stopImmediatePropagation(),t.preventDefault())}}}handleDataViewExpandOrCollapse(t){const e=this.grid.getRenderedRange();this.dataView.setRefreshHints({ignoreDiffsBefore:e.top,ignoreDiffsAfter:e.bottom+1}),t.collapsed?this.dataView.expandGroup(t.groupingKey):this.dataView.collapseGroup(t.groupingKey)}}class E0 extends lu{constructor(t,e,n){super(t,e,n),this.extensionUtility=t,this.pubSubService=e,this.sharedService=n,this._buttonElms=[],this._defaults={buttonCssClass:"slick-header-button"},this.pluginName="HeaderButtons",this._menuCssPrefix="slick-header-button",this._camelPluginName="headerButtons",this._bindEventService=new Nn,this._eventHandler=new Slick.EventHandler,this.init(n.gridOptions.headerButton)}get addonOptions(){return this._addonOptions}set addonOptions(t){this._addonOptions=t}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}init(t){this._addonOptions={...this._defaults,...t},this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this.grid.setColumns(this.grid.getColumns())}dispose(){super.dispose(),this._buttonElms.forEach(t=>t.remove())}handleHeaderCellRendered(t,e){var n;const r=e.column;if(!((n=r.header)===null||n===void 0)&&n.buttons&&Array.isArray(r.header.buttons)){let o=r.header.buttons.length;for(;o--;){const s=r.header.buttons[o],l=this.populateSingleCommandOrOptionItem("command",this.addonOptions,null,s,e,this.handleButtonClick.bind(this));l&&s.handler&&!s.disabled&&this._bindEventService.bind(l,"click",u=>s.handler.call(this,u)),l&&(this._buttonElms.push(l),e.node.appendChild(l))}}}handleBeforeHeaderCellDestroy(t,e){var n,r,o;if(!((n=e.column.header)===null||n===void 0)&&n.buttons&&(!((r=this._addonOptions)===null||r===void 0)&&r.buttonCssClass)){const l=(((o=this._addonOptions)===null||o===void 0?void 0:o.buttonCssClass)||"").replace(/(\s+)/g,".");l&&e.node.querySelectorAll(`.${l}`).forEach(u=>u.remove())}}handleButtonClick(t,e,n,r,o){var s;if(n.command&&!n.disabled){const l=n.command||"",u={grid:this.grid,column:o,button:n};l&&(u.command=l),typeof n.action=="function"&&!n.disabled&&n.action.call(this,t,u),l!==null&&!n.disabled&&(!((s=this._addonOptions)===null||s===void 0)&&s.onCommand)&&(this.pubSubService.publish("onHeaderButtonCommand",u),this._addonOptions.onCommand(t,u),o!=null&&o.id&&this.grid.updateColumnHeader(o.id))}t.preventDefault(),t.stopPropagation()}}class S0 extends lu{constructor(t,e,n,r,o){super(t,n,r),this.extensionUtility=t,this.filterService=e,this.pubSubService=n,this.sharedService=r,this.sortService=o,this._subMenuParentId="",this._defaults={autoAlign:!0,autoAlignOffset:0,buttonCssClass:null,buttonImage:null,minWidth:100,hideColumnHideCommand:!1,hideSortCommands:!1,title:"",subMenuOpenByEvent:"mouseover"},this.pluginName="HeaderMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-header-menu",this._camelPluginName="headerMenu",this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(this.sharedService.columnDefinitions),this.init(r.gridOptions.headerMenu)}init(t){this._addonOptions={...this._defaults,...t},this._eventHandler.subscribe(this.grid.onBeforeSetColumns,(e,n)=>{this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(n.newColumns)}),this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this.grid.setColumns(this.grid.getColumns()),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}dispose(){var t;super.dispose(),this._menuElm=this._menuElm||document.body.querySelector(`.slick-header-menu${this.gridUidSelector}`),(t=this._menuElm)===null||t===void 0||t.remove(),this._activeHeaderColumnElm=void 0}hideColumn(t){var e,n,r;if(!((n=(e=this.sharedService)===null||e===void 0?void 0:e.slickGrid)===null||n===void 0)&&n.getColumnIndex){const o=this.sharedService.slickGrid.getColumnIndex(t.id),s=this.sharedService.slickGrid.getColumns(),l=(r=this.sharedService.gridOptions.frozenColumn)!==null&&r!==void 0?r:-1;l>=0&&l>=o&&(this.sharedService.gridOptions.frozenColumn=l-1,this.sharedService.slickGrid.setOptions({frozenColumn:this.sharedService.gridOptions.frozenColumn}));const u=oh(s,o);this.sharedService.visibleColumns=u,this.sharedService.slickGrid.setColumns(u),this.pubSubService.publish("onHeaderMenuHideColumns",{columns:u,hiddenColumn:t})}}hideMenu(){var t,e;this.disposeSubMenus(),(t=this._menuElm)===null||t===void 0||t.remove(),this._menuElm=void 0,(e=this._activeHeaderColumnElm)===null||e===void 0||e.classList.remove("slick-header-column-active")}repositionSubMenu(t,e,n,r){const o=this.createCommandMenu(e.commandItems||e.items||[],r,n+1,e);document.body.appendChild(o),this.repositionMenu(t,o)}repositionMenu(t,e){var n,r,o,s,l,u,h,c,p;const m=t.target,v=e.classList.contains("slick-submenu"),_=v?t.target.closest(".slick-menu-item"):m,C=x_(this.sharedService.gridContainerElement,m),x=this.grid.getGridPosition(),S=e.offsetWidth,E=Gn(_);let D=v?(n=E==null?void 0:E.left)!==null&&n!==void 0?n:0:(r=C==null?void 0:C.left)!==null&&r!==void 0?r:0,A=v?(o=E==null?void 0:E.top)!==null&&o!==void 0?o:0:((s=C==null?void 0:C.top)!==null&&s!==void 0?s:0)+((u=(l=this.addonOptions)===null||l===void 0?void 0:l.menuOffsetTop)!==null&&u!==void 0?u:0)+m.clientHeight;if(v){const P=(e==null?void 0:e.clientHeight)||0,{bottom:M,top:B}=ou(_);(M<P&&B>M?"top":"bottom")==="top"?(e.classList.remove("dropdown"),e.classList.add("dropup"),A-=P-_.clientHeight):(e.classList.remove("dropup"),e.classList.add("dropdown"))}if(v&&_){const P=D+Number(S)+_.clientWidth,M=document.documentElement.clientWidth;(P>=x.width||P>=M?"left":"right")==="left"?(e.classList.remove("dropright"),e.classList.add("dropleft"),D-=S):(e.classList.remove("dropleft"),e.classList.add("dropright"),D+=_.offsetWidth)}else D=(h=C==null?void 0:C.left)!==null&&h!==void 0?h:0,this.addonOptions.autoAlign&&(x!=null&&x.width)&&D+((c=e.clientWidth)!==null&&c!==void 0?c:0)>=x.width&&(D=D+m.clientWidth-e.clientWidth+(((p=this.addonOptions)===null||p===void 0?void 0:p.autoAlignOffset)||0));e.style.top=`${A}px`,e.style.left=`${D}px`,this._activeHeaderColumnElm=this.grid.getContainerNode().querySelector(":not(.slick-preheader-panel) >.slick-header-columns"),this._activeHeaderColumnElm&&this._activeHeaderColumnElm.classList.add("slick-header-column-active")}translateHeaderMenu(){var t;!((t=this.sharedService.gridOptions)===null||t===void 0)&&t.headerMenu&&this.resetHeaderMenuTranslations(this.sharedService.visibleColumns)}handleHeaderCellRendered(t,e){var n;const o=(n=e.column.header)===null||n===void 0?void 0:n.menu;if(o!=null&&o.items&&console.warn('[Slickgrid-Universal] Header Menu "items" property was deprecated in favor of "commandItems" to align with all other Menu plugins.'),o&&e.node){if(!this.extensionUtility.runOverrideFunctionWhenExists(this.addonOptions.menuUsabilityOverride,e))return;const s=Re("div",{className:"slick-header-menu-button",ariaLabel:"Header Menu"},e.node);this.addonOptions.buttonCssClass&&s.classList.add(...this.addonOptions.buttonCssClass.split(" ")),this.addonOptions.tooltip&&(s.title=this.addonOptions.tooltip),this._bindEventService.bind(s,"click",l=>{this.disposeAllMenus(),this.createParentMenu(l,e.column,o)})}}handleBeforeHeaderCellDestroy(t,e){var n;!((n=e.column.header)===null||n===void 0)&&n.menu&&e.node.querySelectorAll(".slick-header-menu-button").forEach(o=>o.remove())}handleBodyMouseDown(t){if(this.menuElement){let e=!1;const n=t.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(t.target)||n)&&(e=!0),(this._menuElm!==t.target&&!e&&!t.defaultPrevented||t.target.className==="close"&&n)&&this.hideMenu()}}handleMenuItemCommandClick(t,e,n,r=0,o){var s;if(n!=="divider"&&!n.disabled&&!n.divider)if((n.command||"")&&!n.commandItems&&!n.items){const u={grid:this.grid,command:n.command,column:o,item:n};this.executeHeaderMenuInternalCommands(t,u),this.pubSubService.publish("onHeaderMenuCommand",u),typeof((s=this.addonOptions)===null||s===void 0?void 0:s.onCommand)=="function"&&this.addonOptions.onCommand(t,u),typeof n.action=="function"&&n.action.call(this,t,u),t.defaultPrevented||this.hideMenu(),t.preventDefault(),t.stopPropagation()}else(n.commandItems||n.items)&&this.repositionSubMenu(t,n,r,o)}handleMenuItemMouseOver(t,e,n,r=0,o){n!=="divider"&&!n.disabled&&!n.divider&&(n.commandItems||n.items?this.repositionSubMenu(t,n,r,o):r===0&&this.disposeSubMenus())}addHeaderMenuCustomCommands(t){const e=this.sharedService.gridOptions,n=e.headerMenu||{},r=co(e);return Array.isArray(t)&&e.enableHeaderMenu&&t.forEach(o=>{var s,l,u,h,c,p;if(o&&!o.excludeFromHeaderMenu){o.header?o.header.menu||(o.header.menu={commandItems:[]}):o.header={menu:{commandItems:[]}};const m=(p=(u=(l=(s=o==null?void 0:o.header)===null||s===void 0?void 0:s.menu)===null||l===void 0?void 0:l.commandItems)!==null&&u!==void 0?u:(c=(h=o==null?void 0:o.header)===null||h===void 0?void 0:h.menu)===null||c===void 0?void 0:c.items)!==null&&p!==void 0?p:[];let v=!1;n&&!n.hideFreezeColumnsCommand&&(v=!0,m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="freeze-columns")||m.push({iconCssClass:n.iconFreezeColumns||"fa fa-thumb-tack",titleKey:`${r}FREEZE_COLUMNS`,command:"freeze-columns",positionOrder:47})),n&&!n.hideColumnResizeByContentCommand&&this.sharedService.gridOptions.enableColumnResizeOnDoubleClick&&(v=!0,m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="column-resize-by-content")||m.push({iconCssClass:n.iconColumnResizeByContentCommand||"fa fa-arrows-h",titleKey:`${r}COLUMN_RESIZE_BY_CONTENT`,command:"column-resize-by-content",positionOrder:48})),v&&!m.some(_=>_!=="divider"&&_.positionOrder===49)&&m.push({divider:!0,command:"",positionOrder:49}),e.enableSorting&&o.sortable&&n&&!n.hideSortCommands&&(m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="sort-asc")||m.push({iconCssClass:n.iconSortAscCommand||"fa fa-sort-asc",titleKey:`${r}SORT_ASCENDING`,command:"sort-asc",positionOrder:50}),m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="sort-desc")||m.push({iconCssClass:n.iconSortDescCommand||"fa fa-sort-desc",titleKey:`${r}SORT_DESCENDING`,command:"sort-desc",positionOrder:51}),m.some(_=>_!=="divider"&&_.positionOrder===52)||m.push({divider:!0,command:"",positionOrder:52}),!n.hideClearSortCommand&&!m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="clear-sort")&&m.push({iconCssClass:n.iconClearSortCommand||"fa fa-unsorted",titleKey:`${r}REMOVE_SORT`,command:"clear-sort",positionOrder:54})),e.enableFiltering&&o.filterable&&n&&!n.hideFilterCommand&&!n.hideClearFilterCommand&&!m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="clear-filter")&&m.push({iconCssClass:n.iconClearFilterCommand||"fa fa-filter",titleKey:`${r}REMOVE_FILTER`,command:"clear-filter",positionOrder:53}),n&&!n.hideColumnHideCommand&&!m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="hide-column")&&m.push({iconCssClass:n.iconColumnHideCommand||"fa fa-times",titleKey:`${r}HIDE_COLUMN`,command:"hide-column",positionOrder:55}),this.extensionUtility.translateMenuItemsFromTitleKey(m),this.extensionUtility.sortItems(m,"positionOrder")}}),n}clearColumnFilter(t,e){e!=null&&e.column&&this.filterService.clearFilterByColumnId(t,e.column.id)}clearColumnSort(t,e){e!=null&&e.column&&this.sharedService&&this.sortService.clearSortByColumnId(t,e.column.id)}executeHeaderMenuInternalCommands(t,e){var n;if(e!=null&&e.command)switch(e.command){case"hide-column":this.hideColumn(e.column),!((n=this.sharedService.gridOptions)===null||n===void 0)&&n.enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"clear-filter":this.clearColumnFilter(t,e);break;case"clear-sort":this.clearColumnSort(t,e);break;case"column-resize-by-content":this.pubSubService.publish("onHeaderMenuColumnResizeByContent",{columnId:e.column.id});break;case"freeze-columns":const r=[...this.sharedService.visibleColumns],s={frozenColumn:r.findIndex(c=>c.id===e.column.id),enableMouseWheelScrollHandler:!0},l=this.sharedService.slickGrid.getColumns();this.sharedService.slickGrid.setOptions(s,!1,!0),this.sharedService.gridOptions.frozenColumn=s.frozenColumn,this.sharedService.gridOptions.enableMouseWheelScrollHandler=s.enableMouseWheelScrollHandler,this.sharedService.frozenVisibleColumnId=e.column.id,this.sharedService.hasColumnsReordered||Array.isArray(r)&&Array.isArray(this.sharedService.allColumns)&&r.length!==this.sharedService.allColumns.length?this.sharedService.slickGrid.setColumns(r):this.sharedService.slickGrid.setColumns(l),this.sharedService.slickGrid.getOptions().enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"sort-asc":case"sort-desc":const h=e.command==="sort-asc";this.sortColumn(t,e,h);break}}createParentMenu(t,e,n){var r,o,s,l,u;const h={grid:this.grid,column:e,menu:n};typeof t.stopPropagation=="function"&&(this.pubSubService.publish("onHeaderMenuBeforeMenuShow",h),typeof((r=this.addonOptions)===null||r===void 0?void 0:r.onBeforeMenuShow)=="function"&&((o=this.addonOptions)===null||o===void 0?void 0:o.onBeforeMenuShow(t,h))===!1)||(this._menuElm=this.createCommandMenu(n.commandItems||n.items,e),(s=this.grid.getContainerNode())===null||s===void 0||s.appendChild(this._menuElm),this.repositionMenu(t,this._menuElm),this.pubSubService.publish("onHeaderMenuAfterMenuShow",h),!(typeof((l=this.addonOptions)===null||l===void 0?void 0:l.onAfterMenuShow)=="function"&&((u=this.addonOptions)===null||u===void 0?void 0:u.onAfterMenuShow(t,h))===!1)&&(t.preventDefault(),t.stopPropagation()))}createCommandMenu(t,e,n=0,r){const o=r==null?void 0:r.command;let s=n===1&&o?o.replace(/\s/g,""):"";s&&(this._subMenuParentId=s),n>1&&(s=this._subMenuParentId);const l=`${this.menuCssClass} slick-menu-level-${n} ${this.gridUid}`,u=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${n}${this.gridUidSelector}`);if(u){if(u.dataset.subMenuParent===s)return u;this.disposeSubMenus()}const h=Re("div",{ariaExpanded:"true",ariaLabel:n>1?"SubMenu":"Header Menu",role:"menu",className:l,style:{minWidth:`${this.addonOptions.minWidth}px`}});n>0&&(h.classList.add("slick-submenu"),s&&(h.dataset.subMenuParent=s));const c=Re("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},h),p={grid:this.grid,column:e,level:n,menu:{commandItems:t}};return r&&n>0&&this.addSubMenuTitleWhenExists(r,c),this.populateCommandOrOptionItems("command",this.addonOptions,c,t,p,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),n++,h}resetHeaderMenuTranslations(t){t.forEach(e=>{var n,r,o,s,l;if(((o=(r=(n=e==null?void 0:e.header)===null||n===void 0?void 0:n.menu)===null||r===void 0?void 0:r.commandItems)!==null&&o!==void 0?o:!((l=(s=e==null?void 0:e.header)===null||s===void 0?void 0:s.menu)===null||l===void 0)&&l.items)&&!e.excludeFromHeaderMenu){const u=e.header.menu.commandItems||e.header.menu.items||[];this.extensionUtility.translateMenuItemsFromTitleKey(u)}})}sortColumn(t,e,n=!0){if(e!=null&&e.column){const r=e.column,o=this.sharedService.gridOptions.multiColumnSort?this.sortService.getCurrentColumnSorts(r.id+""):[];let s=Ji.local;o.push({columnId:r.id,sortCol:r,sortAsc:n}),this.sharedService.gridOptions.backendServiceApi?(this.sortService.onBackendSortChanged(t,{multiColumnSort:!0,sortCols:o,grid:this.sharedService.slickGrid}),s=Ji.remote):this.sharedService.dataView?(this.sortService.onLocalSortChanged(this.sharedService.slickGrid,o),s=Ji.local):e.grid.onSort.notify(o);const l=o.map(u=>{var h,c,p;return{columnId:(c=(h=u==null?void 0:u.sortCol)===null||h===void 0?void 0:h.id)!==null&&c!==void 0?c:"",sortAsc:(p=u==null?void 0:u.sortAsc)!==null&&p!==void 0?p:!0}});if(this.sharedService.slickGrid.setSortColumns(l),s){const u=[];l.forEach(h=>{u.push({columnId:`${h.columnId}`,direction:h.sortAsc?"ASC":"DESC"})}),this.sortService.emitSortChanged(s,u)}}}}class Lm{constructor(t){this.pubSubService=t,this._dragging=!1,this._handler=new Slick.EventHandler,this._defaults={autoScroll:!0,columnId:"_move",cssClass:"slick-row-move-column",cancelEditOnDrag:!1,disableRowSelection:!1,hideRowMoveShadow:!0,rowMoveShadowMarginTop:0,rowMoveShadowMarginLeft:0,rowMoveShadowOpacity:.9,rowMoveShadowScale:.75,singleRowMove:!1,width:40},this.onBeforeMoveRows=new Slick.Event,this.onMoveRows=new Slick.Event,this.pluginName="RowMoveManager",this._eventHandler=new Slick.EventHandler}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get gridOptions(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getOptions)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}init(t,e){var n;this._addonOptions={...this._defaults,...e},this._grid=t,this._canvas=this._grid.getCanvasNode(),typeof((n=this._addonOptions)===null||n===void 0?void 0:n.usabilityOverride)=="function"&&this.usabilityOverride(this._addonOptions.usabilityOverride),this._eventHandler.subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this))}dispose(){var t;(t=this._eventHandler)===null||t===void 0||t.unsubscribeAll()}create(t,e){var n,r;if(this._addonOptions={...this._defaults,...e.rowMoveManager},Array.isArray(t)&&e){const o=this.getColumnDefinition();if(!t.some(s=>s.id===o.id)){const s=Array.isArray(t)&&t.find(h=>(h==null?void 0:h.behavior)==="selectAndMove"),l=s||o,u=(r=(n=e==null?void 0:e.rowMoveManager)===null||n===void 0?void 0:n.columnIndexPosition)!==null&&r!==void 0?r:0;u>0?t.splice(u,0,l):t.unshift(l),this.pubSubService.publish("onPluginColumnsChanged",{columns:t,pluginName:this.pluginName})}}return this}getColumnDefinition(){var t,e;const n=String((e=(t=this._addonOptions)===null||t===void 0?void 0:t.columnId)!==null&&e!==void 0?e:this._defaults.columnId);return{id:n,name:"",behavior:"selectAndMove",excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,field:n,resizable:!1,selectable:!1,width:this._addonOptions.width||40,formatter:this.moveIconFormatter.bind(this)}}usabilityOverride(t){this._usabilityOverride=t}setOptions(t){this._addonOptions={...this._addonOptions,...t}}handleDragInit(t){t.stopImmediatePropagation()}handleDragEnd(t,e){var n,r,o;if(this._dragging&&(this._dragging=!1,t.stopImmediatePropagation(),(n=e.guide)===null||n===void 0||n.remove(),(r=e.selectionProxy)===null||r===void 0||r.remove(),(o=e.clonedSlickRow)===null||o===void 0||o.remove(),e.canMove)){const s={grid:this._grid,rows:e.selectedRows,insertBefore:e.insertBefore};typeof this._addonOptions.onMoveRows=="function"&&this._addonOptions.onMoveRows(t,s),this.onMoveRows.notify(s)}}handleDrag(t,e){var n,r,o,s,l,u;if(this._dragging){t.stopImmediatePropagation();const c=((r=(n=t==null?void 0:t.touches)===null||n===void 0?void 0:n[0])!==null&&r!==void 0?r:t).pageY-((s=(o=Gn(this._canvas))===null||o===void 0?void 0:o.top)!==null&&s!==void 0?s:0);e.selectionProxy.style.top=`${c-5}px`,e.selectionProxy.style.display="block",e.clonedSlickRow&&(e.clonedSlickRow.style.top=`${c-6}px`,e.clonedSlickRow.style.display="block");const p=Math.max(0,Math.min(Math.round(c/(this.gridOptions.rowHeight||0)),this._grid.getDataLength()));if(p!==e.insertBefore){const m={grid:this._grid,rows:e.selectedRows,insertBefore:p};if(((u=(l=this._addonOptions)===null||l===void 0?void 0:l.onBeforeMoveRows)===null||u===void 0?void 0:u.call(l,t,m))===!1||this.onBeforeMoveRows.notify(m).getReturnValue()===!1?e.canMove=!1:e.canMove=!0,this._usabilityOverride&&e.canMove){const v=this._grid.getDataItem(p);e.canMove=this.checkUsabilityOverride(p,v,this._grid)}e.canMove?e.guide.style.top=`${p*(this.gridOptions.rowHeight||0)}px`:e.guide.style.top="-1000px",e.insertBefore=p}}}handleDragStart(t,e){var n,r,o,s,l,u,h;const c=this._grid.getCellFromEvent(t)||{cell:-1,row:-1},p=c.row,m=this._grid.getDataItem(p);if(this.checkUsabilityOverride(p,m,this._grid)){if(this._addonOptions.cancelEditOnDrag&&this._grid.getEditorLock().isActive()&&this._grid.getEditorLock().cancelCurrentEdit(),this._grid.getEditorLock().isActive()||!/move|selectAndMove/.test(this._grid.getColumns()[c.cell].behavior||""))return!1;if(this._dragging=!0,t.stopImmediatePropagation(),!this.addonOptions.hideRowMoveShadow){const C=(n=this._grid.getCellNode(c.row,c.cell))===null||n===void 0?void 0:n.closest(".slick-row");C&&(e.clonedSlickRow=C.cloneNode(!0),e.clonedSlickRow.classList.add("slick-reorder-shadow-row"),e.clonedSlickRow.style.display="none",e.clonedSlickRow.style.marginLeft=Gs((r=this._addonOptions)===null||r===void 0?void 0:r.rowMoveShadowMarginLeft,"0px"),e.clonedSlickRow.style.marginTop=Gs((o=this._addonOptions)===null||o===void 0?void 0:o.rowMoveShadowMarginTop,"0px"),e.clonedSlickRow.style.opacity=`${(l=(s=this._addonOptions)===null||s===void 0?void 0:s.rowMoveShadowOpacity)!==null&&l!==void 0?l:.95}`,e.clonedSlickRow.style.transform=`scale(${(h=(u=this.addonOptions)===null||u===void 0?void 0:u.rowMoveShadowScale)!==null&&h!==void 0?h:.75})`,this._canvas.appendChild(e.clonedSlickRow))}let v=this._addonOptions.singleRowMove?[c.row]:this._grid.getSelectedRows();(v.length===0||!v.some(C=>C===c.row))&&(v=[c.row],this._addonOptions.disableRowSelection||this._grid.setSelectedRows(v));const _=this.gridOptions.rowHeight;e.selectedRows=v,e.selectionProxy=Re("div",{className:"slick-reorder-proxy",style:{display:"none",position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,height:`${_*v.length}px`}},this._canvas),e.guide=Re("div",{className:"slick-reorder-guide",style:{position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,top:"-1000px"}},this._canvas),e.insertBefore=-1}}checkUsabilityOverride(t,e,n){return typeof this._usabilityOverride=="function"?this._usabilityOverride(t,e,n):!0}moveIconFormatter(t,e,n,r,o,s){return this.checkUsabilityOverride(t,o,s)?{addClasses:`cell-reorder dnd ${this._addonOptions.cssClass||""}`,text:""}:""}}class w0{get extensionList(){return this._extensionList}get gridOptions(){return this.sharedService.gridOptions||{}}constructor(t,e,n,r,o,s,l){this.extensionUtility=t,this.filterService=e,this.pubSubService=n,this.sharedService=r,this.sortService=o,this.treeDataService=s,this.translaterService=l,this._extensionCreatedList={},this._extensionList={}}dispose(){var t;this.sharedService.visibleColumns=[];for(const e of Object.keys(this._extensionList))if(this._extensionList.hasOwnProperty(e)){const n=this._extensionList[e];!((t=n==null?void 0:n.instance)===null||t===void 0)&&t.dispose&&n.instance.dispose()}for(const e of Object.keys(this._extensionList))delete this._extensionList[e];this._cellMenuPlugin=null,this._cellExcelCopyManagerPlugin=null,this._checkboxSelectColumn=null,this._contextMenuPlugin=null,this._columnPickerControl=null,this._draggleGroupingPlugin=null,this._gridMenuControl=null,this._groupItemMetadataProviderService=null,this._headerMenuPlugin=null,this._rowMoveManagerPlugin=null,this._rowSelectionModel=null,this._extensionCreatedList=null,this._extensionList=null}addExtensionToList(t,e){this._extensionList[t]=e}getAllColumns(){return this.sharedService.allColumns||[]}getVisibleColumns(){return this.sharedService.visibleColumns||[]}getCreatedExtensionByName(t){var e;if(!((e=this._extensionCreatedList)===null||e===void 0)&&e.hasOwnProperty(t))return this._extensionCreatedList[t]}getExtensionByName(t){var e;return(e=this._extensionList)===null||e===void 0?void 0:e[t]}getExtensionInstanceByName(t){var e;return(e=this.getExtensionByName(t))===null||e===void 0?void 0:e.instance}autoResizeColumns(){this.sharedService.slickGrid.autosizeColumns()}bindDifferentExtensions(){var t,e,n,r,o,s,l,u,h,c,p;if(this.gridOptions){if(this.gridOptions.enableTranslate&&this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.gridOptions.enableAutoTooltip){const m=new P_((t=this.gridOptions)===null||t===void 0?void 0:t.autoTooltipOptions);this.sharedService.slickGrid.registerPlugin(m),this._extensionList[ii.autoTooltip]={name:ii.autoTooltip,instance:m}}if(this.gridOptions.enableExcelCopyBuffer&&(this._cellExcelCopyManagerPlugin=new F_,this._cellExcelCopyManagerPlugin.init(this.sharedService.slickGrid,this.sharedService.gridOptions.excelCopyBufferOptions),!((e=this.gridOptions.excelCopyBufferOptions)===null||e===void 0)&&e.onExtensionRegistered&&this.gridOptions.excelCopyBufferOptions.onExtensionRegistered(this._cellExcelCopyManagerPlugin),this._extensionList[ii.cellExternalCopyManager]={name:ii.cellExternalCopyManager,instance:this._cellExcelCopyManagerPlugin}),this.gridOptions.enableCellMenu&&(this._cellMenuPlugin=new L_(this.extensionUtility,this.pubSubService,this.sharedService),!((n=this.gridOptions.cellMenu)===null||n===void 0)&&n.onExtensionRegistered&&this.gridOptions.cellMenu.onExtensionRegistered(this._cellMenuPlugin),this._extensionList[ii.cellMenu]={name:ii.cellMenu,instance:this._cellMenuPlugin}),!this._rowSelectionModel&&(this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector||this.gridOptions.enableRowDetailView||this.gridOptions.enableRowMoveManager)){if(!this._rowSelectionModel||!this.sharedService.slickGrid.getSelectionModel()){const m=(r=this.gridOptions.rowSelectionOptions)!==null&&r!==void 0?r:{};this.gridOptions.enableRowMoveManager&&((o=this.gridOptions.rowMoveManager)===null||o===void 0?void 0:o.dragToSelect)!==!1&&(m.dragToSelect=!0),this._rowSelectionModel=new Ch(m),this.sharedService.slickGrid.setSelectionModel(this._rowSelectionModel)}this._extensionList[ii.rowSelection]={name:ii.rowSelection,instance:this._rowSelectionModel}}if(this.gridOptions.enableCheckboxSelector){this._checkboxSelectColumn=this._checkboxSelectColumn||new sm(this.pubSubService,this.gridOptions.checkboxSelector),this._checkboxSelectColumn.init(this.sharedService.slickGrid);const m=this.getCreatedExtensionByName(ii.checkboxSelector);m&&m.instance&&(this._extensionList[ii.checkboxSelector]={name:ii.checkboxSelector,instance:this._checkboxSelectColumn})}if(this.gridOptions.enableColumnPicker&&(this._columnPickerControl=new yh(this.extensionUtility,this.pubSubService,this.sharedService),!((s=this.gridOptions.columnPicker)===null||s===void 0)&&s.onExtensionRegistered&&this.gridOptions.columnPicker.onExtensionRegistered(this._columnPickerControl),this._extensionList[ii.columnPicker]={name:ii.columnPicker,instance:this._columnPickerControl}),this.gridOptions.enableContextMenu&&(this._contextMenuPlugin=new V_(this.extensionUtility,this.pubSubService,this.sharedService,this.treeDataService),!((l=this.gridOptions.contextMenu)===null||l===void 0)&&l.onExtensionRegistered&&this.gridOptions.contextMenu.onExtensionRegistered(this._contextMenuPlugin),this._extensionList[ii.contextMenu]={name:ii.contextMenu,instance:this._contextMenuPlugin}),this.gridOptions.enableDraggableGrouping&&(this._draggleGroupingPlugin&&(this._draggleGroupingPlugin.init(this.sharedService.slickGrid,this.gridOptions.draggableGrouping),!((u=this.gridOptions.draggableGrouping)===null||u===void 0)&&u.onExtensionRegistered&&this.gridOptions.draggableGrouping.onExtensionRegistered(this._draggleGroupingPlugin),this._extensionList[ii.contextMenu]={name:ii.contextMenu,instance:this._draggleGroupingPlugin}),this._extensionList[ii.draggableGrouping]={name:ii.draggableGrouping,instance:this._draggleGroupingPlugin}),this.gridOptions.enableGridMenu&&(this._gridMenuControl=new lm(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),!((h=this.gridOptions.gridMenu)===null||h===void 0)&&h.onExtensionRegistered&&this.gridOptions.gridMenu.onExtensionRegistered(this._gridMenuControl),this._extensionList[ii.gridMenu]={name:ii.gridMenu,instance:this._gridMenuControl}),(this.gridOptions.enableDraggableGrouping||this.gridOptions.enableGrouping)&&(this._groupItemMetadataProviderService=this._groupItemMetadataProviderService?this._groupItemMetadataProviderService:new Nm,this._groupItemMetadataProviderService.init(this.sharedService.slickGrid),this._extensionList[ii.groupItemMetaProvider]={name:ii.groupItemMetaProvider,instance:this._groupItemMetadataProviderService}),this.gridOptions.enableHeaderButton){const m=new E0(this.extensionUtility,this.pubSubService,this.sharedService);!((c=this.gridOptions.headerButton)===null||c===void 0)&&c.onExtensionRegistered&&this.gridOptions.headerButton.onExtensionRegistered(m),this._extensionList[ii.headerButton]={name:ii.headerButton,instance:m}}if(this.gridOptions.enableHeaderMenu&&(this._headerMenuPlugin=new S0(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),!((p=this.gridOptions.headerMenu)===null||p===void 0)&&p.onExtensionRegistered&&this.gridOptions.headerMenu.onExtensionRegistered(this._headerMenuPlugin),this._extensionList[ii.headerMenu]={name:ii.headerMenu,instance:this._headerMenuPlugin}),this.gridOptions.enableRowMoveManager){this._rowMoveManagerPlugin=this._rowMoveManagerPlugin||new Lm(this.pubSubService),this._rowMoveManagerPlugin.init(this.sharedService.slickGrid,this.gridOptions.rowMoveManager);const m=this.getCreatedExtensionByName(ii.rowMoveManager);(m==null?void 0:m.instance)&&(this._extensionList[ii.rowMoveManager]={name:ii.rowMoveManager,instance:this._rowMoveManagerPlugin})}}}createExtensionsBeforeGridCreation(t,e){var n,r,o,s;const l=[];e.enableCheckboxSelector&&(this.getCreatedExtensionByName(ii.checkboxSelector)||(this._checkboxSelectColumn=new sm(this.pubSubService,this.sharedService.gridOptions.checkboxSelector),l.push({name:ii.checkboxSelector,extension:this._checkboxSelectColumn,columnIndexPosition:(r=(n=e==null?void 0:e.checkboxSelector)===null||n===void 0?void 0:n.columnIndexPosition)!==null&&r!==void 0?r:l.length}))),e.enableRowMoveManager&&(this.getCreatedExtensionByName(ii.rowMoveManager)||(this._rowMoveManagerPlugin=new Lm(this.pubSubService),l.push({name:ii.rowMoveManager,extension:this._rowMoveManagerPlugin,columnIndexPosition:(s=(o=e==null?void 0:e.rowMoveManager)===null||o===void 0?void 0:o.columnIndexPosition)!==null&&s!==void 0?s:l.length}))),this.createExtensionByTheirColumnIndex(l,t,e),e.enableDraggableGrouping&&(this.getCreatedExtensionByName(ii.draggableGrouping)||(this._draggleGroupingPlugin=new y0(this.extensionUtility,this.pubSubService,this.sharedService),this._draggleGroupingPlugin&&(e.enableColumnReorder=this._draggleGroupingPlugin.setupColumnReorder.bind(this._draggleGroupingPlugin),this._extensionCreatedList[ii.draggableGrouping]={name:ii.draggableGrouping,instance:this._draggleGroupingPlugin})))}hideColumn(t){var e,n;if(typeof((n=(e=this.sharedService)===null||e===void 0?void 0:e.slickGrid)===null||n===void 0?void 0:n.getColumns)=="function"){const r=this.sharedService.slickGrid.getColumnIndex(t.id);this.sharedService.visibleColumns=this.removeColumnByIndex(this.sharedService.slickGrid.getColumns(),r),this.sharedService.slickGrid.setColumns(this.sharedService.visibleColumns)}}refreshBackendDataset(t){this.extensionUtility.refreshBackendDataset(t)}removeColumnByIndex(t,e){return Array.isArray(t)?t.filter((n,r)=>e!==r):t}translateAllExtensions(){this.translateCellMenu(),this.translateColumnHeaders(),this.translateColumnPicker(),this.translateContextMenu(),this.translateGridMenu(),this.translateHeaderMenu()}translateCellMenu(){var t,e;(e=(t=this._cellMenuPlugin)===null||t===void 0?void 0:t.translateCellMenu)===null||e===void 0||e.call(t)}translateColumnPicker(){var t;!((t=this._columnPickerControl)===null||t===void 0)&&t.translateColumnPicker&&this._columnPickerControl.translateColumnPicker()}translateContextMenu(){var t,e;(e=(t=this._contextMenuPlugin)===null||t===void 0?void 0:t.translateContextMenu)===null||e===void 0||e.call(t)}translateGridMenu(){var t,e;(e=(t=this._gridMenuControl)===null||t===void 0?void 0:t.translateGridMenu)===null||e===void 0||e.call(t)}translateHeaderMenu(){var t,e;(e=(t=this._headerMenuPlugin)===null||t===void 0?void 0:t.translateHeaderMenu)===null||e===void 0||e.call(t)}translateColumnHeaders(t,e){var n,r,o;if(this.sharedService&&this.gridOptions&&this.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');t&&(!((n=this.translaterService)===null||n===void 0)&&n.use)&&this.translaterService.use(t);let s=e;s||(s=this.sharedService.columnDefinitions),this.translateItems(s,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.renderColumnHeaders(s,Array.isArray(e)),(o=(r=this._gridMenuControl)===null||r===void 0?void 0:r.translateGridMenu)===null||o===void 0||o.call(r)}renderColumnHeaders(t,e=!1){var n;let r=t;r||(r=this.sharedService.columnDefinitions),Array.isArray(r)&&this.sharedService.slickGrid&&this.sharedService.slickGrid.setColumns&&((r.length>this.sharedService.allColumns.length||e)&&(this.sharedService.allColumns=r),this.sharedService.slickGrid.setColumns(r)),this.gridOptions.enableColumnPicker&&this._columnPickerControl&&(this._columnPickerControl.columns=this.sharedService.allColumns),this.gridOptions.enableGridMenu&&this._gridMenuControl&&(this._gridMenuControl.columns=(n=this.sharedService.allColumns)!==null&&n!==void 0?n:[],this._gridMenuControl.recreateGridMenu())}createExtensionByTheirColumnIndex(t,e,n){t.sort((r,o)=>r.columnIndexPosition-o.columnIndexPosition),t.forEach(r=>{const o=r.extension.create(e,n);o&&(this._extensionCreatedList[r.name]={name:r.name,instance:o})})}translateItems(t,e,n){var r,o,s;if(!((r=this.gridOptions)===null||r===void 0)&&r.enableTranslate&&!(!((o=this.translaterService)===null||o===void 0)&&o.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');if(Array.isArray(t))for(const l of t)l[e]&&(l[n]=(s=this.translaterService)===null||s===void 0?void 0:s.translate(l[e]))}}var Hm=Object.prototype.hasOwnProperty;function Qo(a,t){var e,n;if(a===t)return!0;if(a&&t&&(e=a.constructor)===t.constructor){if(e===Date)return a.getTime()===t.getTime();if(e===RegExp)return a.toString()===t.toString();if(e===Array){if((n=a.length)===t.length)for(;n--&&Qo(a[n],t[n]););return n===-1}if(!e||typeof a=="object"){n=0;for(e in a)if(Hm.call(a,e)&&++n&&!Hm.call(t,e)||!(e in t)||!Qo(a[e],t[e]))return!1;return Object.keys(t).length===n}}return a!==a&&t!==t}function Bm(a,t,e){if(e&&(a!=null&&a.hasOwnProperty(e)||t!=null&&t.hasOwnProperty(e)))return a[e]===t||a===t[e]||a[e]===t[e];for(const n in a)if(a.hasOwnProperty(n)&&a[n]!==t[n])return!1;return!0}function x0(a){switch(a&&a.toUpperCase()||""){case"IN":case"NIN":case"NOT_IN":case"IN_CONTAINS":case"NIN_CONTAINS":case"NOT_IN_CONTAINS":case"IN_COLLECTION":case"NOT_IN_COLLECTION":return!0;default:return!1}}const bs=(a,t,e)=>{switch(a.toUpperCase()){case"<":case"LT":return t<e;case"<=":case"LE":return t<=e;case">":case"GT":return t>e;case">=":case"GE":return t>=e;case"!=":case"<>":case"NE":return t!==e;case"=":case"==":case"EQ":return t===e;case"IN":return e&&Array.isArray(e)?e.includes(t):!1;case"NIN":case"NOT_IN":return e&&Array.isArray(e)?!e.includes(t):!1;case"IN_CONTAINS":return e&&Array.isArray(e)&&typeof t=="string"?e.some(n=>t.split(/[,]+/).map(r=>r.trim()).includes(n)):!1;case"NIN_CONTAINS":case"NOT_IN_CONTAINS":return e&&Array.isArray(e)&&typeof t=="string"?!e.some(n=>t.split(/[,]+/).map(r=>r.trim()).includes(n)):!1;case"IN_COLLECTION":return t&&e&&Array.isArray(t)&&Array.isArray(e)?e.some(n=>t.includes(n)):!1;case"NOT_IN_COLLECTION":return t&&e&&Array.isArray(t)&&Array.isArray(e)?!e.some(n=>t.includes(n)):!1}return!0},Vm=(a,t)=>{var e;let[n,r]=t;if(n===void 0&&!a.operator)return!0;a.cellValue=a.cellValue===void 0||a.cellValue===null?"":a.cellValue.toString();const o=a!=null&&a.ignoreAccentOnStringFilterAndSort?Ul(a.cellValue,!0):a.cellValue.toLowerCase();if(typeof n=="string"&&(n=a!=null&&a.ignoreAccentOnStringFilterAndSort?Ul(n,!0):n.toLowerCase()),typeof r=="string"&&(r=a!=null&&a.ignoreAccentOnStringFilterAndSort?Ul(r,!0):r.toLowerCase()),n!==void 0&&r!==void 0){let l=(e=a==null?void 0:a.operator)!==null&&e!==void 0?e:a.defaultFilterRangeOperator;l!==Nt.rangeInclusive&&l!==Nt.rangeExclusive&&(l=a.defaultFilterRangeOperator);const u=l===Nt.rangeInclusive,h=Wh(u?">=":">",o,n,a.searchInputLastChar),c=Wh(u?"<=":"<",o,r,a.searchInputLastChar);return h&&c}return Wh(a.operator,o,n,a.searchInputLastChar)};function T0(a){const t="",e=Array.isArray(a)&&a||[t],n=[];let r,o;if(e.length===2||typeof e[0]=="string"&&e[0].indexOf("..")>0){const s=e.length===2?e:e[0].split("..");r=`${Array.isArray(s)?s[0]:""}`,o=`${Array.isArray(s)?s[1]:""}`}else{const s=Array.isArray(a)&&a.length>0?a[0]:"";r=s==null?"":`${s}`}return r!==void 0&&o!==void 0?n.push(r,o):r!==void 0&&n.push(r),n}function Wh(a,t,e,n){return a==="*"||a===Nt.endsWith||a==="*z"?t.endsWith(e):a===""&&n==="*"||a===Nt.startsWith||a==="a*"?t.startsWith(e):a===""||a===Nt.contains?t.indexOf(e)>-1:a==="<>"||a===Nt.notContains?t.indexOf(e)===-1:bs(a||"==",t,e)}const O0=(a,t)=>{if(t===void 0&&!a.operator)return!0;switch((a.operator||"").toUpperCase()){case"!=":case"<>":case"NE":return!Bm(a.cellValue,t,a.dataKey);case"=":case"==":case"EQ":default:return Bm(a.cellValue,t,a.dataKey)}};function A0(a){return(Array.isArray(a)&&a.length>0?a[0]:"")||""}const zm=(a,t)=>{var e;const n=parseFloat(a.cellValue),[r,o]=t;if(r===void 0&&!a.operator)return!0;if(r!==void 0&&o!==void 0){let s=(e=a==null?void 0:a.operator)!==null&&e!==void 0?e:a.defaultFilterRangeOperator;s!==Nt.rangeInclusive&&s!==Nt.rangeExclusive&&(s=a.defaultFilterRangeOperator);const l=s===Nt.rangeInclusive,u=bs(l?">=":">",n,+r),h=bs(l?"<=":"<",n,+o);return u&&h}return bs(a.operator||"==",n,+r)};function k0(a){const e=Array.isArray(a)&&a||[0],n=[];let r,o;if(e.length===2||typeof e[0]=="string"&&e[0].indexOf("..")>0){const s=e.length===2?e:e[0].split("..");r=parseFloat(Array.isArray(s)?s[0]:""),o=parseFloat(Array.isArray(s)?s[1]:"")}else r=parseFloat(e[0]);return en(r,!0)&&en(o,!0)?n.push(r,o):en(r,!0)&&n.push(r),n}const Um=(a,t)=>Zd(a.cellValue)===Zd(t);function I0(a){const t=Array.isArray(a)&&a[0]||!1;return Zd(t)}const Gm=a=>{const t=a.operator;let e;return Array.isArray(a.cellValue)&&(t==="IN_COLLECTION"||t==="NOT_IN_COLLECTION")?e=a.cellValue.length?a.cellValue.map(n=>`${n}`):[]:e=a.cellValue===void 0||a.cellValue===null?"":`${a.cellValue}`,bs(t||"IN",e,a.searchTerms||[])},ku=zs||hs;function D0(a,t){var e;const n=a&&(a.filterSearchType||a.fieldType)||ie.dateIso,r=Pr(n),[o,s]=t,l=ku(a.cellValue,r,!0);if(!o&&!s||!l.isValid())return!1;const u=r.toLowerCase().includes("h")?l.valueOf():l.clone().startOf("day").valueOf();if(o&&s){let c=(e=a==null?void 0:a.operator)!==null&&e!==void 0?e:a.defaultFilterRangeOperator;c!==Nt.rangeInclusive&&c!==Nt.rangeExclusive&&(c=a.defaultFilterRangeOperator);const p=c===Nt.rangeInclusive,m=bs(p?">=":">",u,o.valueOf()),v=bs(p?"<=":"<",u,s.valueOf());return m&&v}const h=r.toLowerCase().includes("h")?o.valueOf():o.clone().startOf("day").valueOf();return bs(a.operator||"==",u,h)}function R0(a,t){const e=Array.isArray(a)&&a||[],n=t||ie.dateIso,r=Pr(n),o=[];if(e.length===2||typeof e[0]=="string"&&e[0].indexOf("..")>0){const s=e.length===2?e:e[0].split(".."),l=Array.isArray(s)&&s[0]||"",u=Array.isArray(s)&&s[1]||"",h=ku(l,r,!0),c=ku(u,r,!0);if(!h.isValid()||!c.isValid())return[];o.push(h,c)}else{const s=ku(e[0],r,!0);if(!s.isValid())return[];o.push(s)}return o}const P0=(a,t)=>{if(x0(a.operator))return Gm(a);switch(Wm(a.filterSearchType||a.fieldType)){case"boolean":return Um(a,t);case"date":return D0(a,t||[]);case"number":return zm(a,t||[]);case"object":return O0(a,t);case"string":default:return Vm(a,t||[])}};function Iu(a,t){const e=Wm(t);let n;switch(e){case"boolean":n=I0(a);break;case"date":n=R0(a,t);break;case"number":n=k0(a);break;case"object":n=A0(a);break;case"string":n=T0(a);break}return n}function Wm(a){switch(a){case ie.boolean:return"boolean";case ie.date:case ie.dateIso:case ie.dateUtc:case ie.dateTime:case ie.dateTimeIso:case ie.dateTimeIsoAmPm:case ie.dateTimeIsoAM_PM:case ie.dateTimeShortIso:case ie.dateEuro:case ie.dateEuroShort:case ie.dateTimeShortEuro:case ie.dateTimeEuro:case ie.dateTimeEuroAmPm:case ie.dateTimeEuroAM_PM:case ie.dateTimeEuroShort:case ie.dateTimeEuroShortAmPm:case ie.dateTimeEuroShortAM_PM:case ie.dateUs:case ie.dateUsShort:case ie.dateTimeShortUs:case ie.dateTimeUs:case ie.dateTimeUsAmPm:case ie.dateTimeUsAM_PM:case ie.dateTimeUsShort:case ie.dateTimeUsShortAmPm:case ie.dateTimeUsShortAM_PM:return"date";case ie.integer:case ie.float:case ie.number:return"number";case ie.object:return"object";case ie.string:case ie.text:case ie.password:case ie.readonly:default:return"string"}}const $m={executeFilterConditionTest:P0,booleanFilter:Um,collectionSearchFilter:Gm,numberFilter:zm,stringFilter:Vm,testFilter:bs};class F0{constructor(t,e,n,r,o){this.filterFactory=t,this.pubSubService=e,this.sharedService=n,this.backendUtilities=r,this.rxjs=o,this._isFilterFirstRender=!0,this._firstColumnIdRendered="",this._filtersMetadata=[],this._columnFilters={},this._isTreePresetExecuted=!1,this._previousFilters=[],this._onSearchChange=new Slick.Event,this._eventHandler=new Slick.EventHandler,this.rxjs&&(this.httpCancelRequests$=this.rxjs.createSubject())}get eventHandler(){return this._eventHandler}get isFilterFirstRender(){return this._isFilterFirstRender}get onSearchChange(){return this._onSearchChange}get _gridOptions(){var t,e;return(e=(t=this._grid)===null||t===void 0?void 0:t.getOptions())!==null&&e!==void 0?e:{}}get _columnDefinitions(){var t,e;return(e=(t=this._grid)===null||t===void 0?void 0:t.getColumns())!==null&&e!==void 0?e:[]}get _dataView(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}addRxJsResource(t){this.rxjs=t}init(t){this._grid=t,this._gridOptions&&this._gridOptions.enableTreeData&&this._gridOptions.treeDataOptions&&this._grid.setSortColumns([{columnId:this._gridOptions.treeDataOptions.columnId,sortAsc:!0}])}dispose(){var t;this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&(!((t=this.rxjs)===null||t===void 0)&&t.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete()),this.disposeColumnFilters(),this._onSearchChange=null}disposeColumnFilters(){if(this.removeAllColumnFiltersProperties(),Array.isArray(this._filtersMetadata)){let t=this._filtersMetadata.pop();for(;t;)typeof(t==null?void 0:t.destroy)=="function"&&t.destroy(),t=this._filtersMetadata.pop()}}bindBackendOnFilter(t){this._filtersMetadata=[],this._eventHandler.subscribe(t.onHeaderRowCellRendered,(e,n)=>{n.column.id===this._firstColumnIdRendered&&(this._isFilterFirstRender=!1),this.addFilterTemplateToHeaderRow(n,this._isFilterFirstRender),this._firstColumnIdRendered===""&&(this._firstColumnIdRendered=n.column.id)}),this.subscribeToOnHeaderRowCellRendered(t),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,this.onBackendFilterChange.bind(this))}bindLocalOnFilter(t){this._filtersMetadata=[],this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid,dataView:this._dataView}),this._dataView.setFilter(this.customLocalFilter.bind(this)),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,async(e,n)=>{var r;const o=(r=n==null?void 0:n.clearFilterTriggered)!==null&&r!==void 0?r:!1;o||await this.emitFilterChanged(Ji.local,!0),this._gridOptions.enableTreeData===!0&&(this._tmpPreFilteredData=this.preFilterTreeData(this._dataView.getItems(),this._columnFilters)),n.columnId!==null&&this._dataView.refresh(),o||await this.emitFilterChanged(Ji.local),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)}),this._eventHandler.subscribe(t.onHeaderRowCellRendered,(e,n)=>{this.addFilterTemplateToHeaderRow(n)}),this.subscribeToOnHeaderRowCellRendered(t)}async clearFilterByColumnId(t,e){var n;await this.pubSubService.publish("onBeforeFilterClear",{columnId:e},0);const r=(n=this._gridOptions.backendServiceApi)!==null&&n!==void 0?n:!1,o=r?Ji.remote:Ji.local,s=Object.keys(this._columnFilters);let l;Array.isArray(s)&&(l=s.find(h=>h===`${e}`));const u=this._filtersMetadata.find(h=>h.columnDef.id===e);return u!=null&&u.clear&&u.clear(!0),r&&l!==void 0&&this.onBackendFilterChange(t,{grid:this._grid,columnFilters:this._columnFilters}),await this.emitFilterChanged(o),!0}async clearFilters(t=!0){var e,n,r;t&&await this.pubSubService.publish("onBeforeFilterClear",!0,0),this._filtersMetadata.forEach(s=>{s!=null&&s.clear&&s.clear(!1)}),this.removeAllColumnFiltersProperties(),Array.isArray(this._columnDefinitions)&&this._columnDefinitions.forEach(s=>{var l;!((l=s.filter)===null||l===void 0)&&l.searchTerms&&delete s.filter.searchTerms}),this._dataView&&this._grid&&(this._dataView.refresh(),this._grid.invalidate());const o=this._gridOptions.backendServiceApi;if(o&&t){const s={clearFilterTriggered:!0,shouldTriggerQuery:t,grid:this._grid,columnFilters:this._columnFilters},u=o.service.processOnFilterChanged(void 0,s),h=(n=(e=this._gridOptions.pagination)===null||e===void 0?void 0:e.totalItems)!==null&&n!==void 0?n:0;(r=this.backendUtilities)===null||r===void 0||r.executeBackendCallback(o,u,s,new Date,h,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:c=>this._previousFilters=this.extractBasicFilterDetails(c.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this)})}else this._previousFilters=this.extractBasicFilterDetails(this._columnFilters);t&&this.pubSubService.publish("onFilterCleared",!0)}customLocalFilter(t,e){var n,r,o,s,l,u,h;const c=e==null?void 0:e.grid,p=(n=e==null?void 0:e.columnFilters)!==null&&n!==void 0?n:{},m=(r=this._gridOptions.enableTreeData)!==null&&r!==void 0?r:!1,v=this._gridOptions.treeDataOptions;if(m&&v){const _=(o=v.collapsedPropName)!==null&&o!==void 0?o:je.treeDataProperties.COLLAPSED_PROP,C=(s=v.parentPropName)!==null&&s!==void 0?s:je.treeDataProperties.PARENT_PROP,x=(l=v==null?void 0:v.childrenPropName)!==null&&l!==void 0?l:je.treeDataProperties.CHILDREN_PROP,S=(u=this._gridOptions.datasetIdPropertyName)!==null&&u!==void 0?u:"id",E=(h=v.autoRecalcTotalsOnFilterChange)!==null&&h!==void 0?h:!1;let D=!1;if(t[C]!==null){let A=this._dataView.getItemById(t[C]);for(;A;){if(A[_])if(E)D=!0;else return!1;A=this._dataView.getItemById(A[C])}}if(this._tmpPreFilteredData instanceof Set){const A=this._tmpPreFilteredData.has(t[S]);if(E){const P=Ba(this.sharedService.hierarchicalDataset,M=>M[S]===t[S],x);if(P&&(P.__filteredOut=!A),D)return!1}return A}}else if(typeof p=="object")for(const _ of Object.keys(p)){const C=p[_],x=this.preProcessFilterConditionOnDataContext(t,C,c);if(typeof x=="boolean")return x;let S=C==null?void 0:C.parsedSearchTerms;if(S===void 0&&(S=Iu(C.searchTerms,C.columnDef.type||ie.string),S!==void 0&&(C.parsedSearchTerms=S)),!$m.executeFilterConditionTest(x,S))return!1}return!0}parseFormInputFilterConditions(t,e){var n,r,o,s;const l=ho(t)||[];let u=Array.isArray(l)&&l.length===1?l[0]:"";const h=e.columnDef,c=(o=(r=(n=h.filter)===null||n===void 0?void 0:n.type)!==null&&r!==void 0?r:h.type)!==null&&o!==void 0?o:ie.string;let p=null;c!==ie.object&&(u=u==null?"":`${u}`,p=((s=h.autoParseInputFilterOperator)!==null&&s!==void 0?s:this._gridOptions.autoParseInputFilterOperator)!==!1?u.match(/^([<>!=\*]{0,2})(.*[^<>!=\*])?([\*]?)$/):[u,"",u,""]);let m=(p==null?void 0:p[1])||e.operator;const v=(p==null?void 0:p[2])||"",_=(p==null?void 0:p[3])||(m==="*z"?"*":"");return typeof u=="string"&&(u=u.replace("'","''"),m==="*"||m==="*z"?m=Nt.endsWith:(m==="a*"||_==="*")&&(m=Nt.startsWith)),Array.isArray(p)&&p.length>=1&&Array.isArray(l)&&l.length===1&&(l[0]=v),{dataKey:h.dataKey,fieldType:c,searchTerms:l||[],operator:m,searchInputLastChar:_,filterSearchType:h.filterSearchType,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preProcessFilterConditionOnDataContext(t,e,n){var r,o,s,l,u,h;const c=e.columnDef,p=e.columnId;let m=n.getColumnIndex(p);if(!c&&this.sharedService&&Array.isArray(this.sharedService.allColumns)&&(m=this.sharedService.allColumns.findIndex(E=>E.field===p)),!c)return!0;if(this._gridOptions.enableRowDetailView){const E=this._gridOptions.rowDetailView&&this._gridOptions.rowDetailView.keyPrefix||"__";t[`${E}isPadding`]&&t[`${E}parent`]&&(t=t[`${E}parent`])}let v=((r=c.filter)===null||r===void 0?void 0:r.queryField)||c.queryFieldFilter||c.queryField||c.field||"";typeof c.queryFieldNameGetterFn=="function"&&(v=c.queryFieldNameGetterFn(t));const _=(l=(s=(o=c.filter)===null||o===void 0?void 0:o.type)!==null&&s!==void 0?s:c.type)!==null&&l!==void 0?l:ie.string;let C=t[v];(v==null?void 0:v.indexOf("."))>=0&&(C=_n(t,v));const x=e.operator,S=e.searchTerms||[];if(!S||Array.isArray(S)&&(S.length===0||S.length===1&&x===S[0]))return!0;if(S&&Array.isArray(S)&&_!==ie.object)for(let E=0,D=S.length;E<D;E++)S[E]=(S[E]===void 0||S[E]===null?"":S[E])+"";if(((u=c==null?void 0:c.params)===null||u===void 0?void 0:u.useFormatterOuputToFilter)===!0){const E=n.getData(),D=this._gridOptions.datasetIdPropertyName||"id",A=E&&typeof E.getIdxById=="function"?E.getIdxById(t[D]):0,P=c&&typeof c.formatter=="function"?c.formatter(A||0,m,C,c,t,this._grid):"";C=or(P)}return typeof C=="number"&&(C=C.toString()),{dataKey:c.dataKey,fieldType:_,searchTerms:S,cellValue:C,operator:x,searchInputLastChar:e.searchInputLastChar,filterSearchType:c.filterSearchType,ignoreAccentOnStringFilterAndSort:(h=this._gridOptions.ignoreAccentOnStringFilterAndSort)!==null&&h!==void 0?h:!1,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preFilterTreeData(t,e){var n,r,o,s,l,u,h,c,p,m,v,_,C,x,S,E,D;const A=this._gridOptions.treeDataOptions,P=(n=A==null?void 0:A.collapsedPropName)!==null&&n!==void 0?n:je.treeDataProperties.COLLAPSED_PROP,M=(r=A==null?void 0:A.parentPropName)!==null&&r!==void 0?r:je.treeDataProperties.PARENT_PROP,B=(o=A==null?void 0:A.hasChildrenPropName)!==null&&o!==void 0?o:je.treeDataProperties.HAS_CHILDREN_PROP,Z=(s=this._gridOptions.datasetIdPropertyName)!==null&&s!==void 0?s:"id",L=(u=(l=this._gridOptions.presets)===null||l===void 0?void 0:l.treeData)===null||u===void 0?void 0:u.toggledItems,ae=(c=(h=this._gridOptions.treeDataOptions)===null||h===void 0?void 0:h.initiallyCollapsed)!==null&&c!==void 0?c:!1,_e=(p=this._gridOptions.treeDataOptions)===null||p===void 0?void 0:p.columnId,J=(m=this._gridOptions.treeDataOptions)===null||m===void 0?void 0:m.excludeChildrenWhenFilteringTree,U=!J&&((v=this._gridOptions.treeDataOptions)===null||v===void 0?void 0:v.autoApproveParentItemWhenTreeColumnIsValid)===!0,F={},de=new Set,qe=new Map;if(Array.isArray(t)){for(const Ie of t)F[Ie[Z]]=Ie,delete F[Ie[Z]].__used;for(const Ie of Object.keys(e)){const xe=e[Ie],Oe=xe!=null&&xe.searchTerms?ho(xe.searchTerms):[],De=this.parseFormInputFilterConditions(Oe,xe),ne=xe.columnDef,pe=(x=(C=(_=ne==null?void 0:ne.filter)===null||_===void 0?void 0:_.type)!==null&&C!==void 0?C:ne==null?void 0:ne.type)!==null&&x!==void 0?x:ie.string,Ve=Iu(De.searchTerms,pe);Ve!==void 0&&(xe.parsedSearchTerms=Ve)}for(const Ie of t){const xe=Ie[B];let Oe=!0;for(const De of Object.keys(e)){const ne=e[De],pe=this.preProcessFilterConditionOnDataContext(Ie,ne,this._grid);if(pe){const Ve=ne==null?void 0:ne.parsedSearchTerms,Ye=typeof pe=="boolean"?pe:$m.executeFilterConditionTest(pe,Ve);if(Ye&&U&&xe&&ne.columnId===_e){qe.set(Ie[Z],!0);break}if(Ye||!J&&qe.get(Ie[M])===!0){if(xe&&ne.columnId===_e&&qe.set(Ie[Z],!0),Ye||!J&&ne.columnId===_e)continue}else xe&&qe.get(Ie[M])!==!0&&ne.columnId!==_e&&qe.set(Ie[Z],!1)}Oe=!1}if(Oe){de.add(Ie[Z]);let De=(S=F[Ie[M]])!==null&&S!==void 0?S:!1;const ne=!ae;for(!this._isTreePresetExecuted&&Array.isArray(L)&&L.some(pe=>pe.itemId===De.id&&pe.isCollapsed===ne)&&(De[P]=ne);De;)(E=De.__used)!==null&&E!==void 0||de.add(De[Z]),F[De[Z]].__used=!0,De=(D=F[De[M]])!==null&&D!==void 0?D:!1}}}return this._isTreePresetExecuted=!0,de}getColumnFilters(){return this._columnFilters}getPreviousFilters(){return this._previousFilters}getFiltersMetadata(){return this._filtersMetadata}getCurrentLocalFilters(){var t,e;const n=[];if(this._columnFilters)for(const r of Object.keys(this._columnFilters)){const o=this._columnFilters[r],s={columnId:r||""},l=this.sharedService.allColumns.find(h=>h.id===s.columnId),u=(e=(t=l==null?void 0:l.filter)===null||t===void 0?void 0:t.emptySearchTermReturnAllValues)!==null&&e!==void 0?e:!0;o!=null&&o.searchTerms&&(s.searchTerms=o.searchTerms),o.operator&&(s.operator=o.operator),o.targetSelector&&(s.targetSelector=o.targetSelector),Array.isArray(s.searchTerms)&&s.searchTerms.length>0&&(!u||s.searchTerms[0]!=="")&&n.push(s)}return n}emitFilterChanged(t,e=!1){const n=e?"onBeforeFilterChange":"onFilterChanged";if(t===Ji.remote&&this._gridOptions.backendServiceApi){let r=[];const o=this._gridOptions.backendServiceApi.service;return o!=null&&o.getCurrentFilters&&(r=o.getCurrentFilters()),this.pubSubService.publish(n,r)}else if(t===Ji.local)return this.pubSubService.publish(n,this.getCurrentLocalFilters())}async onBackendFilterChange(t,e){var n,r,o;const s=e==null?void 0:e.shouldTriggerQuery;if(s&&await this.emitFilterChanged(Ji.remote,!0),!e||!e.grid)throw new Error('Something went wrong when trying to bind the "onBackendFilterChange(event, args)" function, it seems that "args" is not populated correctly');const l=this._gridOptions.backendServiceApi;if(!l||!l.process||!l.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const u=new Date;if(l.preProcess&&l.preProcess(),s){const h=await l.service.processOnFilterChanged(t,e),c=(r=(n=this._gridOptions.pagination)===null||n===void 0?void 0:n.totalItems)!==null&&r!==void 0?r:0;(o=this.backendUtilities)===null||o===void 0||o.executeBackendCallback(l,h,e,u,c,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:p=>this._previousFilters=this.extractBasicFilterDetails(p.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this),httpCancelRequestSubject:this.httpCancelRequests$})}}populateColumnFilterSearchTermPresets(t){return Array.isArray(t)&&(this._columnDefinitions.forEach(e=>{var n;!((n=e.filter)===null||n===void 0)&&n.searchTerms&&delete e.filter.searchTerms;const r=t.find(o=>o.columnId===e.id);r&&Array.isArray(r==null?void 0:r.searchTerms)&&(e.filter=e.filter||{},e.filter.operator=r.operator||e.filter.operator||"",e.filter.searchTerms=r.searchTerms)}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)),this._columnDefinitions}refreshTreeDataFilters(t){var e,n,r;const o=(r=t??((n=(e=this._dataView)===null||e===void 0?void 0:e.getItems)===null||n===void 0?void 0:n.call(e)))!==null&&r!==void 0?r:[];this._dataView&&this._gridOptions.enableTreeData&&o.length>0?(this._tmpPreFilteredData=this.preFilterTreeData(o,this._columnFilters),this._dataView.refresh()):o.length===0&&Array.isArray(this.sharedService.hierarchicalDataset)&&this.sharedService.hierarchicalDataset.length>0&&setTimeout(()=>this.refreshTreeDataFilters())}disableFilterFunctionality(t=!0,e=!0){const r=!this._gridOptions.enableFiltering;r!==t&&(e&&t&&this.clearFilters(),this.disableAllFilteringCommands(t),this._grid.setOptions({enableFiltering:r},!1,!0),this._grid.setHeaderRowVisibility(r),this._gridOptions.enableFiltering=!t,this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(this.sharedService.columnDefinitions))}resetToPreviousSearchFilters(){this.updateFilters(this._previousFilters,!1,!1,!1)}toggleFilterFunctionality(t=!0){const e=this._gridOptions.enableFiltering;this.disableFilterFunctionality(e,t)}toggleHeaderFilterRow(){var t;let e=(t=this._gridOptions.showHeaderRow)!==null&&t!==void 0?t:!1;e=!e,this._grid.setHeaderRowVisibility(e),e===!0&&this._grid.setColumns(this.sharedService.columnDefinitions)}setSortColumnIcons(t){this._grid&&Array.isArray(t)&&this._grid.setSortColumns(t)}async updateFilters(t,e=!0,n=!0,r=!1){var o;if(!this._filtersMetadata||this._filtersMetadata.length===0||!this._gridOptions||!this._gridOptions.enableFiltering)throw new Error('[Slickgrid-Universal] in order to use "updateFilters" method, you need to have Filterable Columns defined in your grid and "enableFiltering" set in your Grid Options');if(Array.isArray(t)){this.clearFilters(!1),t.forEach(u=>{const h=this._filtersMetadata.find(c=>u.columnId===c.columnDef.id);if(u&&h){const c=u.operator||h.defaultOperator;this.updateColumnFilters(u.searchTerms,h.columnDef,c),h.setValues(u.searchTerms||[],c),(r||this._gridOptions.enableTreeData)&&this.callbackSearchEvent(void 0,{columnDef:h.columnDef,operator:c,searchTerms:u.searchTerms,shouldTriggerQuery:!0,forceOnSearchChangeEvent:!0})}});const s=this._gridOptions.backendServiceApi,l=s?Ji.remote:Ji.local;if(e&&await this.emitFilterChanged(l,!0),this._dataView.refresh(),s){const u=s==null?void 0:s.service;u!=null&&u.updateFilters&&(u.updateFilters(t,!0),n&&((o=this.backendUtilities)===null||o===void 0||o.refreshBackendDataset(this._gridOptions)))}e&&await this.emitFilterChanged(l)}return!0}async updateSingleFilter(t,e=!0,n=!0){var r,o,s,l;const u=this.sharedService.allColumns.find(h=>h.id===t.columnId);if(u&&t.columnId){this._columnFilters={};const h=(o=(r=u.filter)===null||r===void 0?void 0:r.emptySearchTermReturnAllValues)!==null&&o!==void 0?o:!0;Array.isArray(t.searchTerms)&&(t.searchTerms.length>1||t.searchTerms.length===1&&(!h||t.searchTerms[0]!==""))&&(this._columnFilters[t.columnId]={columnId:t.columnId,operator:t.operator,searchTerms:t.searchTerms,columnDef:u,type:(s=u.type)!==null&&s!==void 0?s:ie.string});const c=this._gridOptions.backendServiceApi,p=c?Ji.remote:Ji.local;if(e&&await this.emitFilterChanged(p,!0),c){const m=c==null?void 0:c.service;m!=null&&m.updateFilters&&(m.updateFilters(this._columnFilters,!0),n&&((l=this.backendUtilities)===null||l===void 0||l.refreshBackendDataset(this._gridOptions)))}else this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._dataView.refresh();e&&await this.emitFilterChanged(p)}return!0}drawFilterTemplate(t,e){var n;let r;if(typeof e=="string"){if(r=document.querySelector(e),r===null)return null}else r=e;const o=typeof t=="string"?this.sharedService.allColumns.find(l=>l.id===t):t;if(((n=o==null?void 0:o.id)!==null&&n!==void 0?n:"")!=="selector"&&(o!=null&&o.filterable)){let l,u;const h=this.filterFactory.createFilter(o.filter);u=o&&o.filter&&o.filter.operator||h&&h.operator,this._columnFilters[o.id]?(l=this._columnFilters[o.id].searchTerms||void 0,u=this._columnFilters[o.id].operator||void 0):o.filter&&(l=o.filter.searchTerms||void 0,this.updateColumnFilters(l,o,u));const c={grid:this._grid,operator:u,searchTerms:l,columnDef:o,filterContainerElm:r,callback:this.callbackSearchEvent.bind(this)};return h&&(h.init(c),l&&h.setValues&&h.setValues(l,u)),h}return null}addFilterTemplateToHeaderRow(t,e=!0){var n;const r=t.column,o=(n=r==null?void 0:r.id)!==null&&n!==void 0?n:"";if(o!=="selector"&&(r!=null&&r.filterable)){let s,l;const u=this.filterFactory.createFilter(r.filter);l=r&&r.filter&&r.filter.operator||u&&u.operator,this._columnFilters[r.id]?(s=this._columnFilters[r.id].searchTerms||void 0,l=this._columnFilters[r.id].operator||void 0):r.filter&&(s=r.filter.searchTerms||void 0,this.updateColumnFilters(s,r,l));const h={grid:this._grid,operator:l,searchTerms:s,columnDef:r,filterContainerElm:this._grid.getHeaderRowColumn(o),callback:this.callbackSearchEvent.bind(this)};if(u){u.init(h,e);const c=this._filtersMetadata.findIndex(p=>u.columnDef.id===p.columnDef.id);c===-1?this._filtersMetadata.push(u):this._filtersMetadata[c]=u,s&&u.setValues&&u.setValues(s,l)}}}callbackSearchEvent(t,e){var n,r,o,s,l,u;if(e){const h=t!=null&&t.target?t.target.value:void 0,c=e.searchTerms&&Array.isArray(e.searchTerms)?e.searchTerms:h?[h]:void 0,p=e.columnDef||null,m=(n=p==null?void 0:p.id)!==null&&n!==void 0?n:"",v=(s=(o=(r=p==null?void 0:p.filter)===null||r===void 0?void 0:r.type)!==null&&o!==void 0?o:p==null?void 0:p.type)!==null&&s!==void 0?s:ie.string,_=e.operator||void 0,C=c&&Array.isArray(c),x=C&&c&&c.length,S={...this._columnFilters},E=(u=(l=p.filter)===null||l===void 0?void 0:l.emptySearchTermReturnAllValues)!==null&&u!==void 0?u:!0;let D;if(p&&m)if(!C||x===0||x===1&&Array.isArray(c)&&E&&c[0]==="")delete this._columnFilters[m];else{const B=`${m}`,Z={columnId:B,columnDef:p,parsedSearchTerms:[],type:v,targetSelector:O_(t==null?void 0:t.target)},L=this.parseFormInputFilterConditions(c,Z);Z.operator=_||L.operator||rh(v),D=Iu(L.searchTerms,v),D!==void 0&&(Z.parsedSearchTerms=D),Z.searchTerms=L.searchTerms||[],this._columnFilters[B]=Z}const A=t&&typeof t.isPropagationStopped!="function"?Slick.Utils.extend({},new Slick.EventData,t):t,P=t==null?void 0:t.key,M=t==null?void 0:t.keyCode;if(this._onSearchChange&&(e.forceOnSearchChangeEvent||P==="Enter"||M===xi.ENTER||!Qo(S,this._columnFilters))){const B={clearFilterTriggered:e.clearFilterTriggered,shouldTriggerQuery:e.shouldTriggerQuery,columnId:m,columnDef:p,columnFilters:this._columnFilters,operator:_||rh(v),searchTerms:c,parsedSearchTerms:D,grid:this._grid,target:t==null?void 0:t.target};this.pubSubService.publish("onBeforeSearchChange",B)===!1?this._gridOptions.resetFilterSearchValueAfterOnBeforeCancellation&&this.resetToPreviousSearchFilters():this._onSearchChange.notify(B,A)}}}disableAllFilteringCommands(t=!0){var e;const n=this._grid.getColumns();n.forEach(o=>{var s,l;!((s=o==null?void 0:o.header)===null||s===void 0)&&s.menu&&((l=o.header.menu.commandItems||o.header.menu.items)===null||l===void 0||l.forEach(u=>{u&&typeof u!="string"&&u.command==="clear-filter"&&(u.hidden=t)}))});const r=(e=this._gridOptions.gridMenu)===null||e===void 0?void 0:e.commandItems;return r&&r.forEach(o=>{if(o&&typeof o!="string"){const s=o.command;(s==="clear-filter"||s==="toggle-filter")&&(o.hidden=t)}}),n}extractBasicFilterDetails(t){const e=[];if(t&&typeof t=="object")for(const n of Object.keys(t)){const{operator:r,searchTerms:o}=t[`${n}`];e.push({columnId:n,operator:r,searchTerms:o})}return e}removeAllColumnFiltersProperties(){if(typeof this._columnFilters=="object")for(const t in this._columnFilters)t&&this._columnFilters[t]&&delete this._columnFilters[t]}subscribeToOnHeaderRowCellRendered(t){this._eventHandler.subscribe(t.onBeforeHeaderRowCellDestroy,(e,n)=>{var r;const o=this._filtersMetadata.find(s=>s.columnDef.id===n.column.id);(r=o==null?void 0:o.destroy)===null||r===void 0||r.call(o)})}updateColumnFilters(t,e,n){var r,o,s;const l=(s=(o=(r=e.filter)===null||r===void 0?void 0:r.type)!==null&&o!==void 0?o:e.type)!==null&&s!==void 0?s:ie.string,u=Iu(t,l);t&&e&&(this._columnFilters[e.id]={columnId:e.id,columnDef:e,searchTerms:t,operator:n,parsedSearchTerms:u,type:l})}}const Du={skipError:!1,triggerEvent:!0},ad={highlightRow:!0,resortGrid:!1,selectRow:!1,scrollRowIntoView:!0,skipError:!1,triggerEvent:!0},$h={highlightRow:!1,selectRow:!1,scrollRowIntoView:!1,skipError:!1,triggerEvent:!0},Ym={autoResizeColumns:!0,triggerEvent:!0,hideFromColumnPicker:!1,hideFromGridMenu:!1};class M0{constructor(t,e,n,r,o,s,l){this.gridStateService=t,this.filterService=e,this.pubSubService=n,this.paginationService=r,this.sharedService=o,this.sortService=s,this.treeDataService=l}get _dataView(){var t;return((t=this._grid)===null||t===void 0?void 0:t.getData)&&this._grid.getData()}get _gridOptions(){var t;return!((t=this._grid)===null||t===void 0)&&t.getOptions?this._grid.getOptions():{}}dispose(){var t;this.clearHighlightTimer(),(t=this._rowSelectionPlugin)===null||t===void 0||t.dispose()}init(t){this._grid=t}clearAllFiltersAndSorts(){this.sortService&&this.sortService.clearSorting&&this.sortService.clearSorting(!1),this.filterService&&this.filterService.clearFilters&&this.filterService.clearFilters()}clearHighlightTimer(){clearTimeout(this._highlightTimer),clearTimeout(this._highlightTimerEnd)}clearPinning(t=!0){const e=[...this.sharedService.visibleColumns];this.sharedService.slickGrid.setOptions({frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1}),t&&Array.isArray(e)&&this.sharedService.slickGrid.setColumns(e)}setPinning(t,e=!0,n=!1,r=!0){Rp(t)?this.clearPinning():(this.sharedService.slickGrid.setOptions(t,n,r),this.sharedService.gridOptions={...this.sharedService.gridOptions,...t}),e&&this.sharedService.slickGrid.autosizeColumns()}getAllColumnDefinitions(){return this.sharedService.allColumns}getVisibleColumnDefinitions(){return this.sharedService.visibleColumns}getColumnFromEventArguments(t){if(!t||!t.grid||!t.grid.getColumns||!t.grid.getDataItem)throw new Error("[Slickgrid-Universal] To get the column definition and data, we need to have these arguments passed as objects (row, cell, grid)");return{row:t.row,cell:t.cell,columnDef:t.grid.getColumns()[t.cell],dataContext:t.grid.getDataItem(t.row),dataView:this._dataView,grid:this._grid}}getDataItemByRowNumber(t){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error(`[Slickgrid-Universal] We could not find SlickGrid Grid object or it's "getDataItem" method`);return this._grid.getDataItem(t)}getItemRowMetadataToHighlight(t){return e=>{const n=this._dataView.getItem(e);let r={cssClasses:""};return typeof t=="function"&&(r=t(e)),r||(r={cssClasses:""}),n&&n._dirty&&(r.cssClasses=(r&&r.cssClasses||"")+" dirty"),n&&n.rowClass&&r&&(r.cssClasses+=` ${n.rowClass}`,r.cssClasses+=` row${e}`),r}}getDataItemByRowIndex(t){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');return this._grid.getDataItem(t)}getDataItemByRowIndexes(t){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');const e=[];return Array.isArray(t)&&t.forEach(n=>{e.push(this._grid.getDataItem(n))}),e}getSelectedRows(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');return this._grid.getSelectedRows()}getSelectedRowsDataItem(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');const t=this._grid.getSelectedRows();return this.getDataItemByRowIndexes(t)}hideColumnById(t,e){if(e={...Ym,...e},this._grid&&this._grid.getColumns&&this._grid.setColumns){const n=this._grid.getColumns(),r=n.findIndex(o=>o.id===t);if(r>=0){const o=oh(n,r);this.sharedService.visibleColumns=o,this._grid.setColumns(o);const s=this.sharedService.allColumns.findIndex(l=>l.id===t);return s&&(e!=null&&e.hideFromColumnPicker&&(this.sharedService.allColumns[s].excludeFromColumnPicker=!0),e!=null&&e.hideFromGridMenu&&(this.sharedService.allColumns[s].excludeFromGridMenu=!0)),e!=null&&e.autoResizeColumns&&this._grid.autosizeColumns(),e!=null&&e.triggerEvent&&this.pubSubService.publish("onHeaderMenuHideColumns",{columns:o}),r}}return-1}hideColumnByIds(t,e){if(e={...Ym,...e},Array.isArray(t)){for(const n of t)this.hideColumnById(n,{...e,triggerEvent:!1,autoResizeColumns:!1});e!=null&&e.autoResizeColumns&&this._grid.autosizeColumns(),e!=null&&e.triggerEvent&&this.pubSubService.publish("onHeaderMenuHideColumns",{columns:this.sharedService.visibleColumns})}}highlightRow(t,e=1500,n=300){this._grid.getSelectionModel()||(this._rowSelectionPlugin=new Ch(this._gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionPlugin)),Array.isArray(t)?t.forEach(r=>this.highlightRowByMetadata(r,e,n)):this.highlightRowByMetadata(t,e,n)}highlightRowByMetadata(t,e=1500,n=300){this._dataView.getItemMetadata=this.getItemRowMetadataToHighlight(this._dataView.getItemMetadata);const r=this._dataView.getItem(t),o=this._gridOptions.datasetIdPropertyName||"id";(r==null?void 0:r[o])!==void 0&&(r.rowClass="highlight",this._dataView.updateItem(r[o],r),this.renderGrid(),this.clearHighlightTimer(),this._highlightTimerEnd=setTimeout(()=>{r.rowClass="highlight-end",this._dataView.updateItem(r[o],r),this.renderGrid()},n),this._highlightTimer=setTimeout(()=>{(r==null?void 0:r[o])!==void 0&&(delete r.rowClass,this._dataView.getIdxById(r[o])!==void 0&&(this._dataView.updateItem(r[o],r),this.renderGrid()))},e+n))}setSelectedRow(t){var e;!((e=this._grid)===null||e===void 0)&&e.setSelectedRows&&this._grid.setSelectedRows([t])}setSelectedRows(t){var e;!((e=this._grid)===null||e===void 0)&&e.setSelectedRows&&this._grid.setSelectedRows(t)}renderGrid(){this._grid&&typeof this._grid.invalidate=="function"&&(this._grid.invalidate(),this._grid.render())}resetGrid(t){var e,n,r;if(this.clearPinning(!1),this._grid){const o=this.sharedService.allColumns||[];Array.isArray(o)&&o.length>0&&(this._grid.setColumns(o),!((e=this._gridOptions)===null||e===void 0)&&e.enableAutoSizeColumns&&this._grid.autosizeColumns(),this.gridStateService.resetColumns(t))}typeof((n=this.filterService)===null||n===void 0?void 0:n.clearFilters)=="function"&&this.filterService.clearFilters(),typeof((r=this.sortService)===null||r===void 0?void 0:r.clearSorting)=="function"&&this.sortService.clearSorting()}addItem(t,e){var n,r,o,s,l;const u={...ad,...e};if(!(u!=null&&u.skipError)&&(!this._grid||!this._gridOptions||!this._dataView))throw new Error("[Slickgrid-Universal] We could not find SlickGrid Grid, DataView objects");const h=this._gridOptions.datasetIdPropertyName||"id";if(!(u!=null&&u.skipError)&&(!t||!t.hasOwnProperty(h)))throw new Error(`[Slickgrid-Universal] Adding an item requires the item to include an "${h}" property`);if(!((n=this._gridOptions)===null||n===void 0)&&n.enableTreeData&&(e==null?void 0:e.position)==="top")throw new Error('[Slickgrid-Universal] Please note that `addItem({ position: "top" })` is not supported when used with Tree Data because of the extra complexity.');const c=u==null?void 0:u.position;c==="bottom"||!((r=this._gridOptions)===null||r===void 0)&&r.enableTreeData?this._dataView.addItem(t):this._dataView.insertItem(0,t);let p=0;const m=(o=t==null?void 0:t[h])!==null&&o!==void 0?o:"";return!((s=this._gridOptions)===null||s===void 0)&&s.enableTreeData?(this.invalidateHierarchicalDataset(),p=this._dataView.getRowById(m),u.scrollRowIntoView&&this._grid.scrollRowIntoView(p??0,!1)):u.resortGrid?(this._dataView.reSort(),p=this._dataView.getRowById(m)):(p=c==="bottom"?this._dataView.getRowById(m):0,u.scrollRowIntoView&&this._grid.scrollRowIntoView(p??0)),u.highlightRow&&p!==void 0&&this.highlightRow(p),p!==void 0&&u.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(p),u.triggerEvent&&this.pubSubService.publish("onItemAdded",t),!(!((l=this._gridOptions)===null||l===void 0)&&l.backendServiceApi)&&this._gridOptions.enablePagination&&(c==="bottom"?this.paginationService.goToLastPage():this.paginationService.goToFirstPage()),p}addItems(t,e){var n,r,o,s,l;const u={...ad,...e},h=this._gridOptions.datasetIdPropertyName||"id",c=u==null?void 0:u.position,p=[];if(Array.isArray(t))this._dataView.beginUpdate(!0),c==="bottom"||!((n=this._gridOptions)===null||n===void 0)&&n.enableTreeData?this._dataView.addItems(t):this._dataView.insertItems(0,t),this._dataView.endUpdate();else return[this.addItem(t,u)||0];if(!((r=this._gridOptions)===null||r===void 0)&&r.enableTreeData){this.invalidateHierarchicalDataset();const m=(s=(o=t[0])===null||o===void 0?void 0:o[h])!==null&&s!==void 0?s:"",v=this._dataView.getRowById(m);u.scrollRowIntoView&&this._grid.scrollRowIntoView(v??0,!1)}else u.resortGrid&&this._dataView.reSort();return c&&u.scrollRowIntoView&&!(!((l=this._gridOptions)===null||l===void 0)&&l.enableTreeData)&&(c==="bottom"?this._grid.navigateBottom():this._grid.navigateTop()),t.forEach(m=>p.push(this._dataView.getRowById(m[h]))),u.highlightRow&&this.highlightRow(p),u.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(p),u.triggerEvent&&this.pubSubService.publish("onItemAdded",t),p}deleteItem(t,e){e={...Du,...e};const n=this._gridOptions.datasetIdPropertyName||"id";if(!(e!=null&&e.skipError)&&(!t||!t.hasOwnProperty(n)))throw new Error(`[Slickgrid-Universal] Deleting an item requires the item to include an "${n}" property`);return this.deleteItemById(t[n],e)}deleteItems(t,e){e={...Du,...e};const n=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(t))return this.deleteItem(t,e),[t[n]];this._dataView.beginUpdate(!0);const r=[];return t.forEach(o=>{(o==null?void 0:o[n])!==void 0&&r.push(o[n])}),this._dataView.deleteItems(r),this._dataView.endUpdate(),e.triggerEvent&&this.pubSubService.publish("onItemDeleted",t),r}deleteItemById(t,e){if(e={...Du,...e},!(e!=null&&e.skipError)&&t==null)throw new Error('[Slickgrid-Universal] Cannot delete a row without a valid "id"');return!(this.gridStateService&&this.gridStateService.needToPreserveRowSelection()||!1)&&this._grid&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows([]),this._dataView.deleteItem(t),e.triggerEvent&&this.pubSubService.publish("onItemDeleted",t),t}deleteItemByIds(t,e){if(e={...Du,...e},Array.isArray(t)){this._dataView.beginUpdate(!0);for(let n=0;n<t.length;n++)t[n]!==null&&this.deleteItemById(t[n],{triggerEvent:!1});return this._dataView.endUpdate(),e.triggerEvent&&this.pubSubService.publish("onItemDeleted",t),t}return[]}updateItem(t,e){e={...$h,...e};const n=this._gridOptions.datasetIdPropertyName||"id",r=!t||!t.hasOwnProperty(n)?void 0:t[n];if(!(e!=null&&e.skipError)&&r===void 0)throw new Error(`[Slickgrid-Universal] Calling Update of an item requires the item to include an "${n}" property`);return this.updateItemById(r,t,e)}updateItems(t,e){var n;e={...$h,...e};const r=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(t))return[this.updateItem(t,e)];this._dataView.beginUpdate(!0);const o=[],s=[];return t.forEach(l=>{const u=!l||!l.hasOwnProperty(r)?void 0:l[r];if(s.push(u),this._dataView.getIdxById(u)!==void 0){const h=this._dataView.getRowById(u);h!==void 0&&(o.push(h),this._grid.updateRow(h))}}),this._dataView.updateItems(s,t),this._dataView.endUpdate(),!((n=this._gridOptions)===null||n===void 0)&&n.enableTreeData&&this.invalidateHierarchicalDataset(),e.highlightRow&&this.highlightRow(o),e.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(o),e.triggerEvent&&this.pubSubService.publish("onItemUpdated",t),o}updateItemById(t,e,n){var r;if(n={...$h,...n},!(n!=null&&n.skipError)&&t===void 0)throw new Error('[Slickgrid-Universal] Cannot update a row without a valid "id"');const o=this._dataView.getRowById(t);if(!(n!=null&&n.skipError)&&!e&&!this._gridOptions.enablePagination)throw new Error(`[Slickgrid-Universal] The item to update in the grid was not found with id: ${t}`);return this._dataView.getIdxById(t)!==void 0&&(this._dataView.updateItem(t,e),o!==void 0&&this._grid.updateRow(o),!((r=this._gridOptions)===null||r===void 0)&&r.enableTreeData&&this.invalidateHierarchicalDataset(),n.scrollRowIntoView&&o!==void 0&&this._grid.scrollRowIntoView(o),n.highlightRow&&o!==void 0&&this.highlightRow(o),o!==void 0&&n.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(o),n.triggerEvent&&this.pubSubService.publish("onItemUpdated",e)),o}upsertItem(t,e){e={...ad,...e};const n=this._gridOptions.datasetIdPropertyName||"id",r=!t||!t.hasOwnProperty(n)?void 0:t[n];if(!(e!=null&&e.skipError)&&r===void 0)throw new Error(`[Slickgrid-Universal] Calling Upsert of an item requires the item to include an "${n}" property`);return this.upsertItemById(r,t,e)}upsertItems(t,e){if(e={...ad,...e},!Array.isArray(t))return[this.upsertItem(t,e)];this._dataView.beginUpdate(!0);const n=[];t.forEach(o=>{n.push(this.upsertItem(o,{...e,highlightRow:!1,resortGrid:!1,selectRow:!1,triggerEvent:!1}))}),this._dataView.endUpdate();const r=n.map(o=>o.added!==void 0?o.added:o.updated);if(e.highlightRow&&this.highlightRow(r),e.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(r),e.triggerEvent){this.pubSubService.publish("onItemUpserted",t);const o=n.filter(l=>l.added!==void 0);Array.isArray(o)&&o.length>0&&this.pubSubService.publish("onItemAdded",o);const s=n.filter(l=>l.updated!==void 0);Array.isArray(s)&&s.length>0&&this.pubSubService.publish("onItemUpdated",s)}return n}upsertItemById(t,e,n){let r=!1;if(n={...ad,...n},!(n!=null&&n.skipError)&&t===void 0&&!this.hasRowSelectionEnabled())throw new Error('[Slickgrid-Universal] Calling Upsert of an item requires the item to include a valid and unique "id" property');let o,s;return this._dataView.getRowById(t)===void 0?(o=this.addItem(e,n),r=!0):(s=this.updateItem(e,{highlightRow:n.highlightRow,selectRow:n.selectRow,triggerEvent:n.triggerEvent}),r=!1),n.triggerEvent&&(this.pubSubService.publish("onItemUpserted",e),r?this.pubSubService.publish("onItemAdded",e):this.pubSubService.publish("onItemUpdated",e)),{added:o,updated:s}}invalidateHierarchicalDataset(t){var e;if(!((e=this._gridOptions)===null||e===void 0)&&e.enableTreeData&&this.treeDataService){const n=t??this._dataView.getItems(),r=this.treeDataService.convertFlatParentChildToTreeDatasetAndSort(n||[],this.sharedService.allColumns,this._gridOptions);this.sharedService.hierarchicalDataset=r.hierarchical,this.filterService.refreshTreeDataFilters(t),this._dataView.setItems(r.flat),this._grid.invalidate()}}hasRowSelectionEnabled(){const t=this._grid.getSelectionModel();return(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&t}}class N0{get eventHandler(){return this._eventHandler}constructor(){this._eventHandler=new Slick.EventHandler}dispose(){this._eventHandler.unsubscribeAll()}bindOnBeforeEditCell(t){var e;const n=(e=t==null?void 0:t.getData)===null||e===void 0?void 0:e.call(t);this._eventHandler.subscribe(t.onBeforeEditCell,(r,o)=>{if(!r||!o||!t||o.cell===void 0||!t.getColumns||!t.getDataItem)return;const s=t.getColumns()[o.cell];if(typeof s.onBeforeEditCell=="function"){const l={row:o.row,cell:o.cell,dataView:n,grid:t,columnDef:s,dataContext:t.getDataItem(o.row)};s.onBeforeEditCell(r,l)}})}bindOnCellChange(t){var e;const n=(e=t==null?void 0:t.getData)===null||e===void 0?void 0:e.call(t);this._eventHandler.subscribe(t.onCellChange,(r,o)=>{if(!r||!o||!t||o.cell===void 0||!t.getColumns||!t.getDataItem)return;const s=t.getColumns()[o.cell];if(typeof s.onCellChange=="function"){const l={row:o.row,cell:o.cell,dataView:n,grid:t,columnDef:s,dataContext:t.getDataItem(o.row)};s.onCellChange(r,l)}})}bindOnClick(t){var e;const n=(e=t==null?void 0:t.getData)===null||e===void 0?void 0:e.call(t);this._eventHandler.subscribe(t.onClick,(r,o)=>{var s;if(!r||!o||!t||o.cell===void 0||!t.getColumns||!t.getDataItem)return;const l=(s=t.getColumns)===null||s===void 0?void 0:s.call(t)[o.cell];if(typeof l.onCellClick=="function"){const u={row:o.row,cell:o.cell,dataView:n,grid:t,columnDef:l,dataContext:t.getDataItem(o.row)};l.onCellClick(r,u)}})}}class L0{constructor(t,e,n,r,o,s){this.extensionService=t,this.filterService=e,this.pubSubService=n,this.sharedService=r,this.sortService=o,this.treeDataService=s,this._eventHandler=new Slick.EventHandler,this._columns=[],this._subscriptions=[],this._selectedRowIndexes=[],this._selectedRowDataContextIds=[],this._wasRecheckedAfterPageChange=!0}get _dataView(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get _gridOptions(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getOptions)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get selectedRowDataContextIds(){return this._selectedRowDataContextIds}set selectedRowDataContextIds(t){this._selectedRowDataContextIds=t}init(t){this._grid=t,this.subscribeToAllGridChanges(t)}dispose(){this._columns=[],this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}changeColumnsArrangement(t,e=!0,n=!1){var r,o,s,l,u,h,c,p,m;if(Array.isArray(t)&&t.length>0){const v=this.getAssociatedGridColumns(this._grid,t);if(v&&Array.isArray(v)&&v.length>0){if(Array.isArray(this.sharedService.allColumns)){const _=[];if(this._gridOptions.enableCheckboxSelector){const C=(s=(o=(r=this._gridOptions)===null||r===void 0?void 0:r.checkboxSelector)===null||o===void 0?void 0:o.columnIndexPosition)!==null&&s!==void 0?s:0;_.push({columnId:"_checkbox_selector",columnIndexPosition:C})}if(this._gridOptions.enableRowDetailView){const C=(h=(u=(l=this._gridOptions)===null||l===void 0?void 0:l.rowDetailView)===null||u===void 0?void 0:u.columnIndexPosition)!==null&&h!==void 0?h:0;_.push({columnId:"_detail_selector",columnIndexPosition:C})}if(this._gridOptions.enableRowMoveManager){const C=(m=(p=(c=this._gridOptions)===null||c===void 0?void 0:c.rowMoveManager)===null||p===void 0?void 0:p.columnIndexPosition)!==null&&m!==void 0?m:0;_.push({columnId:"_move",columnIndexPosition:C})}this.addColumnDynamicWhenFeatureEnabled(_,this.sharedService.allColumns,v)}v.forEach(_=>_.originalWidth=_.width||_.originalWidth),this._grid.setColumns(v),this.sharedService.visibleColumns=v,e?this._grid.autosizeColumns():(n||this._gridOptions.enableAutoResizeColumnsByCellContent&&!this._gridOptions.autosizeColumnsByCellContentOnFirstLoad)&&this.pubSubService.publish("onFullResizeByContentRequested",{caller:"GridStateService"})}}}getCurrentGridState(){var t;const{frozenColumn:e,frozenRow:n,frozenBottom:r}=this.sharedService.gridOptions,o={columns:this.getCurrentColumns(),filters:this.getCurrentFilters(),sorters:this.getCurrentSorters(),pinning:{frozenColumn:e,frozenRow:n,frozenBottom:r}},s=this.getCurrentPagination();if(s&&(o.pagination=s),this.hasRowSelectionEnabled()){const l=this.getCurrentRowSelections();l&&(o.rowSelection=l)}if(!((t=this._gridOptions)===null||t===void 0)&&t.enableTreeData){const l=this.getCurrentTreeDataToggleState();l&&(o.treeData=l)}return o}getColumns(){return this._columns}getAssociatedCurrentColumns(t){const e=[];return t&&Array.isArray(t)&&t.forEach(n=>{n!=null&&n.id&&e.push({columnId:n.id,cssClass:n.cssClass||"",headerCssClass:n.headerCssClass||"",width:n.width||0})}),e}getAssociatedGridColumns(t,e){const n=[],r=this.sharedService.allColumns||t.getColumns();return e&&Array.isArray(e)&&e.forEach(o=>{const s=r.find(l=>l.id===o.columnId);s!=null&&s.id&&n.push({...s,cssClass:o.cssClass||s.cssClass,headerCssClass:o.headerCssClass||s.headerCssClass,width:o.width})}),this._columns=n,n}getCurrentColumns(){return this.getAssociatedCurrentColumns(this._grid.getColumns()||[])}getCurrentFilters(){var t,e;if(!((t=this._gridOptions)===null||t===void 0)&&t.backendServiceApi){const n=this._gridOptions.backendServiceApi.service;if(n!=null&&n.getCurrentFilters)return n.getCurrentFilters()}else if(!((e=this.filterService)===null||e===void 0)&&e.getCurrentLocalFilters)return this.filterService.getCurrentLocalFilters();return null}getCurrentPagination(){var t;if(!((t=this._gridOptions)===null||t===void 0)&&t.enablePagination)if(this._gridOptions.backendServiceApi){const e=this._gridOptions.backendServiceApi.service;if(e!=null&&e.getCurrentPagination)return e.getCurrentPagination()}else return this.sharedService.currentPagination;return null}getCurrentRowSelections(){return this._grid&&this._dataView&&this.hasRowSelectionEnabled()?{gridRowIndexes:this._grid.getSelectedRows()||[],dataContextIds:this._dataView.getAllSelectedIds()||[],filteredDataContextIds:this._dataView.getAllSelectedFilteredIds()||[]}:null}getCurrentSorters(){var t,e;if(!((t=this._gridOptions)===null||t===void 0)&&t.backendServiceApi){const n=this._gridOptions.backendServiceApi.service;if(n!=null&&n.getCurrentSorters)return n.getCurrentSorters()}else if(!((e=this.sortService)===null||e===void 0)&&e.getCurrentLocalSorters)return this.sortService.getCurrentLocalSorters();return null}getCurrentTreeDataToggleState(){var t;return!((t=this._gridOptions)===null||t===void 0)&&t.enableTreeData&&this.treeDataService?this.treeDataService.getCurrentToggleState():null}needToPreserveRowSelection(){var t;let e=!1;if(!((t=this._gridOptions)===null||t===void 0)&&t.dataView&&this._gridOptions.dataView.hasOwnProperty("syncGridSelection")){const n=this._gridOptions.dataView.syncGridSelection;typeof n=="boolean"?e=this._gridOptions.dataView.syncGridSelection:typeof n=="object"&&(e=n.preserveHidden||n.preserveHiddenOnSelectionChange),e&&this._gridOptions.backendServiceApi&&this._gridOptions.dataView.hasOwnProperty("syncGridSelectionWithBackendService")&&(e=this._gridOptions.dataView.syncGridSelectionWithBackendService)}return e}resetColumns(t){const e=t||this._columns,n=this.getAssociatedCurrentColumns(e);this.pubSubService.publish("onGridStateChanged",{change:{newValues:n,type:ur.columns},gridState:this.getCurrentGridState()})}resetToOriginalColumns(t=!0){this._grid.setColumns(this.sharedService.allColumns),this.sharedService.visibleColumns=this.sharedService.allColumns,t&&this._grid.autosizeColumns()}resetRowSelectionWhenRequired(){var t,e;if(!this.needToPreserveRowSelection()&&(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)){const n=(e=(t=this.extensionService)===null||t===void 0?void 0:t.getExtensionByName)===null||e===void 0?void 0:e.call(t,ii.rowSelection);n!=null&&n.instance&&this._grid.setSelectedRows([])}}subscribeToAllGridChanges(t){this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",e=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:ur.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:ur.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",e=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:ur.sorter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:ur.sorter},gridState:this.getCurrentGridState()})})),this.bindExtensionAddonEventToGridStateChange(ii.columnPicker,"onColumnsChanged"),this.bindExtensionAddonEventToGridStateChange(ii.gridMenu,"onColumnsChanged"),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsReordered",t),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsResized",t),this.bindSlickGridOnSetOptionsEventToGridStateChange(t),(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,(e,n)=>{const r=(this._selectedRowIndexes||[]).slice(),o=(this.selectedRowDataContextIds||[]).slice();if(this.selectedRowDataContextIds=n.filteredIds,this._selectedRowIndexes=n.rows,!Qo(this.selectedRowDataContextIds,o)||!Qo(this._selectedRowIndexes,r)){const s={gridRowIndexes:this._selectedRowIndexes||[],dataContextIds:n.selectedRowIds,filteredDataContextIds:n.filteredIds};this.pubSubService.publish("onGridStateChanged",{change:{newValues:s,type:ur.rowSelection},gridState:this.getCurrentGridState()})}}),this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuHideColumns",e=>{const n=this.getAssociatedCurrentColumns(e);this.pubSubService.publish("onGridStateChanged",{change:{newValues:n,type:ur.columns},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeItemToggled",e=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:ur.treeData},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeFullToggleEnd",e=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:ur.treeData},gridState:this.getCurrentGridState()})}))}addColumnDynamicWhenFeatureEnabled(t,e,n){t.sort((r,o)=>r.columnIndexPosition-o.columnIndexPosition),t.forEach(r=>{const o=e.findIndex(l=>l.id===r.columnId),s=n.findIndex(l=>l.id===r.columnId);if(o>=0&&s===-1){const l=e[o];o===0?n.unshift(l):n.splice(o,0,l)}})}bindExtensionAddonEventToGridStateChange(t,e){var n,r,o;const s=(r=(n=this.extensionService)===null||n===void 0?void 0:n.getExtensionByName)===null||r===void 0?void 0:r.call(n,t),l=(o=s==null?void 0:s.instance)===null||o===void 0?void 0:o[e];l&&typeof l.subscribe=="function"&&this._eventHandler.subscribe(l,(u,h)=>{const c=h==null?void 0:h.columns,p=this.getAssociatedCurrentColumns(c);this.pubSubService.publish("onGridStateChanged",{change:{newValues:p,type:ur.columns},gridState:this.getCurrentGridState()})})}bindSlickGridColumnChangeEventToGridStateChange(t,e){const n=e==null?void 0:e[t];n&&typeof n.subscribe=="function"&&this._eventHandler.subscribe(n,()=>{const r=e.getColumns(),o=this.getAssociatedCurrentColumns(r);this.pubSubService.publish("onGridStateChanged",{change:{newValues:o,type:ur.columns},gridState:this.getCurrentGridState()})})}bindSlickGridOnSetOptionsEventToGridStateChange(t){const e=t.onSetOptions;this._eventHandler.subscribe(e,(n,r)=>{const{frozenBottom:o,frozenColumn:s,frozenRow:l}=r.optionsBefore,{frozenBottom:u,frozenColumn:h,frozenRow:c}=r.optionsAfter;if(o!==u||s!==h||l!==c){const p={frozenBottom:u,frozenColumn:h,frozenRow:c},m=this.getCurrentGridState();this.pubSubService.publish("onGridStateChanged",{change:{newValues:p,type:ur.pinning},gridState:m})}})}hasRowSelectionEnabled(){const t=this._grid.getSelectionModel();return(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&t}}class H0{constructor(t,e){this.extensionUtility=t,this.pubSubService=e,this._subscriptions=[],this._eventHandler=new Slick.EventHandler}get _dataView(){var t;return((t=this._grid)===null||t===void 0?void 0:t.getData)&&this._grid.getData()}get eventHandler(){return this._eventHandler}get _gridOptions(){var t;return!((t=this._grid)===null||t===void 0)&&t.getOptions?this._grid.getOptions():{}}get _columnDefinitions(){return this._grid&&this._grid.getColumns?this._grid.getColumns():[]}init(t){if(this._grid=t,t&&this._gridOptions&&this._gridOptions.createPreHeaderPanel){this._gridOptions.enableTranslate&&this.translateGroupingAndColSpan(),this._eventHandler.subscribe(t.onSort,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onRendered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onAutosizeColumns,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onColumnsResized,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onColumnsReordered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(this._dataView.onRowCountChanged,()=>this.delayRenderPreHeaderRowGroupingTitles(0)),this._subscriptions.push(this.pubSubService.subscribe("onColumnPickerColumnsChanged",()=>this.renderPreHeaderRowGroupingTitles()),this.pubSubService.subscribe("onHeaderMenuHideColumns",()=>this.delayRenderPreHeaderRowGroupingTitles(0)),this.pubSubService.subscribe("onGridMenuColumnsChanged",()=>this.renderPreHeaderRowGroupingTitles()),this.pubSubService.subscribe("onGridMenuMenuClose",()=>this.renderPreHeaderRowGroupingTitles()));const e=t.getPluginByName("Resizer");e!=null&&e.onGridAfterResize&&this._eventHandler.subscribe(e.onGridAfterResize,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onSetOptions,(n,r)=>{var o,s;((o=r==null?void 0:r.optionsBefore)===null||o===void 0?void 0:o.frozenColumn)!==((s=r==null?void 0:r.optionsAfter)===null||s===void 0?void 0:s.frozenColumn)&&this.delayRenderPreHeaderRowGroupingTitles(0)}),this.delayRenderPreHeaderRowGroupingTitles(75)}}dispose(){this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}delayRenderPreHeaderRowGroupingTitles(t=0){setTimeout(()=>this.renderPreHeaderRowGroupingTitles(),t)}renderPreHeaderRowGroupingTitles(){var t;if(this._gridOptions&&this._gridOptions.frozenColumn!==void 0&&this._gridOptions.frozenColumn>=0){let e=this._grid.getPreHeaderPanelLeft();this.renderHeaderGroups(e,0,this._gridOptions.frozenColumn+1),e=this._grid.getPreHeaderPanelRight(),this.renderHeaderGroups(e,((t=this._gridOptions)===null||t===void 0?void 0:t.frozenColumn)+1,this._columnDefinitions.length)}else{const e=this._grid.getPreHeaderPanel();this.renderHeaderGroups(e,0,this._columnDefinitions.length)}}renderHeaderGroups(t,e,n){var r,o,s;on(t),t.className="slick-header-columns",t.style.left="-1000px",t.style.width=`${this._grid.getHeadersWidth()}px`,t.parentElement&&t.parentElement.classList.add("slick-header");const l=this._grid.getHeaderColumnWidthDiff();let u,h=null,c="",p=0;const m=(o=(r=this._gridOptions)===null||r===void 0?void 0:r.frozenHeaderWidthCalcDifferential)!==null&&o!==void 0?o:0,v=((s=this._gridOptions)===null||s===void 0?void 0:s.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0;for(let _=e;_<n;_++)u=this._columnDefinitions[_],u&&(c===u.columnGroup&&_>0?(p+=u.width||0,h!=null&&h.style&&(h.style.width=`${p-l-m}px`)):(p=u.width||0,h=Re("div",{className:`ui-state-default slick-header-column ${v?"frozen":""}`,style:{width:`${p-l}px`}}),Re("span",{className:"slick-column-name",textContent:u.columnGroup||""},h),t.appendChild(h)),c=u.columnGroup||"")}translateGroupingAndColSpan(){const t=this._grid.getColumns();this.extensionUtility.translateItems(t,"columnGroupKey","columnGroup"),this._grid.setColumns(t),this.renderPreHeaderRowGroupingTitles()}}class B0{constructor(t,e,n,r){this.pubSubService=t,this.sharedService=e,this.backendUtilities=n,this.rxjs=r,this._eventHandler=new Slick.EventHandler,this._initialized=!1,this._isLocalGrid=!0,this._dataFrom=1,this._dataTo=1,this._itemsPerPage=0,this._pageCount=1,this._pageNumber=1,this._totalItems=0,this._availablePageSizes=[],this._subscriptions=[]}get dataView(){var t,e,n;return(n=(e=(t=this.grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}set paginationOptions(t){this._paginationOptions=t}get paginationOptions(){return this._paginationOptions}get availablePageSizes(){return this._availablePageSizes}get dataFrom(){return this._dataFrom}get dataTo(){return this._dataTo}get itemsPerPage(){return this._itemsPerPage}get pageCount(){return this._pageCount}get pageNumber(){return this._pageNumber}get totalItems(){return this._totalItems}set totalItems(t){this._totalItems=t,this._initialized&&this.refreshPagination()}get isCursorBased(){var t;return!!(!((t=this._backendServiceApi)===null||t===void 0)&&t.options.isWithCursor)}addRxJsResource(t){this.rxjs=t}init(t,e,n){if(this._availablePageSizes=e.pageSizes,this.grid=t,this._backendServiceApi=n,this._paginationOptions=e,this._isLocalGrid=!n,this._pageNumber=e.pageNumber||1,n&&(!n.service||!n.process))throw new Error('BackendServiceApi requires the following 2 properties "process" and "service" to be defined.');this._isLocalGrid&&this.dataView&&(this._eventHandler.subscribe(this.dataView.onPagingInfoChanged,(o,s)=>{this._totalItems!==s.totalRows&&(this.updateTotalItems(s.totalRows),this._previousPagination={pageNumber:s.pageNum,pageSize:s.pageSize,pageSizes:this.availablePageSizes,totalItems:s.totalRows})}),setTimeout(()=>{this.dataView&&(this.dataView.setRefreshHints({isFilterUnchanged:!0}),this.dataView.setPagingOptions({pageSize:this.paginationOptions.pageSize,pageNum:this._pageNumber-1}))})),this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",()=>this.resetPagination())),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>this.resetPagination())),this.dataView&&(this._subscriptions.push(this.pubSubService.subscribe("onItemAdded",o=>this.processOnItemAddedOrRemoved(o,!0))),this._subscriptions.push(this.pubSubService.subscribe("onItemDeleted",o=>this.processOnItemAddedOrRemoved(o,!1)))),this.refreshPagination(!1,!1,!0);const r=this.getFullPagination();this._previousPagination={pageNumber:r.pageNumber,pageSize:r.pageSize,pageSizes:r.pageSizes,totalItems:this.totalItems},this._initialized=!0}dispose(){this._initialized=!1,this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}getCurrentPagination(){return{pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes}}getFullPagination(){return{pageCount:this._pageCount,pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes,totalItems:this._totalItems,dataFrom:this._dataFrom,dataTo:this._dataTo}}getCurrentPageNumber(){return this._pageNumber}getCurrentItemPerPage(){return this._itemsPerPage}changeItemPerPage(t,e,n=!0){return this._pageNumber=1,this._pageCount=Math.ceil(this._totalItems/t),this._itemsPerPage=t,n?this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToFirstPage(t,e=!0){return this._pageNumber=1,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,t,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())}goToLastPage(t,e=!0){return this._pageNumber=this._pageCount||1,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,t,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())}goToNextPage(t,e=!0){return this._pageNumber<this._pageCount?(this._pageNumber++,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,t,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage,after:this._cursorPageInfo.endCursor}):this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}goToPageNumber(t,e,n=!0){if(this.isCursorBased)return console.assert(!0,"Cursor based navigation cannot navigate to arbitrary page"),Promise.resolve(!1);const r=this._pageNumber;return t<1?this._pageNumber=1:t>this._pageCount?this._pageNumber=this._pageCount:this._pageNumber=t,this._pageNumber!==r?n?this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination()):Promise.resolve(!1)}goToPreviousPage(t,e=!0){return this._pageNumber>1?(this._pageNumber--,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,t,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage,before:this._cursorPageInfo.startCursor}):this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}refreshPagination(t=!1,e=!0,n=!1){var r,o,s;const l={...this.getFullPagination()};if(this._paginationOptions){const h=this._paginationOptions;this._itemsPerPage||(this._isLocalGrid?this._itemsPerPage=h.pageSize:this._itemsPerPage=+(!((s=(o=(r=this._backendServiceApi)===null||r===void 0?void 0:r.options)===null||o===void 0?void 0:o.paginationOptions)===null||s===void 0)&&s.first?this._backendServiceApi.options.paginationOptions.first:h.pageSize)),(t||this._totalItems!==h.totalItems)&&(t?(this._pageNumber=1,this.paginationOptions.pageNumber=1):!this._initialized&&h.pageNumber&&h.pageNumber>1&&(this._pageNumber=h.pageNumber||1),this._pageNumber===1&&this._backendServiceApi&&this._backendServiceApi.service.resetPaginationOptions()),this._availablePageSizes=h.pageSizes,!this._totalItems&&h.totalItems&&(this._totalItems=h.totalItems),this.recalculateFromToIndexes()}this._pageCount=Math.ceil(this._totalItems/this._itemsPerPage),this.sharedService.currentPagination=this.getCurrentPagination(),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),e&&!Qo(l,this.getFullPagination())&&this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),n&&!Qo(l,this.getFullPagination())&&this.pubSubService.publish("onPaginationPresetsInitialized",this.getFullPagination());const u=this.getFullPagination();this._previousPagination={pageNumber:u.pageNumber,pageSize:u.pageSize,pageSizes:u.pageSizes,totalItems:this.totalItems}}resetPagination(t=!0){var e,n;this._isLocalGrid&&this.dataView&&(!((n=(e=this.sharedService)===null||e===void 0?void 0:e.gridOptions)===null||n===void 0)&&n.enablePagination)&&this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:0}),this._cursorPageInfo=void 0,this.refreshPagination(!0,t)}togglePaginationVisibility(t){var e;if(this.grid&&(!((e=this.sharedService)===null||e===void 0)&&e.gridOptions)){const n=t!==void 0?t:!this.sharedService.gridOptions.enablePagination;if(n&&this.goToFirstPage(),this._isLocalGrid&&this.dataView){const r=t?this._itemsPerPage:0;this.dataView.setPagingOptions({pageSize:r,pageNum:0})}this.sharedService.gridOptions.enablePagination=n,this.pubSubService.publish("onPaginationVisibilityChanged",{visible:n})}}processOnPageChanged(t,e,n){return console.assert(!this.isCursorBased||n,"Configured for cursor based pagination - cursorArgs expected"),this.pubSubService.publish("onBeforePaginationChange",this.getFullPagination())===!1?(this.resetToPreviousPagination(),Promise.resolve(this.getFullPagination())):new Promise((r,o)=>{var s,l,u;if(this.recalculateFromToIndexes(),this._isLocalGrid&&this.dataView)this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:t-1}),this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),r(this.getFullPagination());else{const h=+this._itemsPerPage,c=new Date;if(!((s=this._backendServiceApi)===null||s===void 0)&&s.preProcess&&this._backendServiceApi.preProcess(),!((l=this._backendServiceApi)===null||l===void 0)&&l.process){const p=this.isCursorBased&&n?this._backendServiceApi.service.processOnPaginationChanged(e,n):this._backendServiceApi.service.processOnPaginationChanged(e,{newPage:t,pageSize:h}),m=this._backendServiceApi.process(p);m instanceof Promise?m.then(v=>{var _;(_=this.backendUtilities)===null||_===void 0||_.executeBackendProcessesCallback(c,v,this._backendServiceApi,this._totalItems);const C=this.getFullPagination();this._previousPagination={pageNumber:C.pageNumber,pageSize:C.pageSize,pageSizes:C.pageSizes,totalItems:this.totalItems},r(this.getFullPagination())}).catch(v=>{var _,C,x;this.resetToPreviousPagination(),(_=this.backendUtilities)===null||_===void 0||_.onBackendError(v,this._backendServiceApi),(!(!((C=this._backendServiceApi)===null||C===void 0)&&C.onError)||!(!((x=this.backendUtilities)===null||x===void 0)&&x.onBackendError))&&o(m)}):!((u=this.rxjs)===null||u===void 0)&&u.isObservable(m)&&this._subscriptions.push(m.subscribe(v=>{var _;const C=this.getFullPagination();this._previousPagination={pageNumber:C.pageNumber,pageSize:C.pageSize,pageSizes:C.pageSizes,totalItems:this.totalItems},r((_=this.backendUtilities)===null||_===void 0?void 0:_.executeBackendProcessesCallback(c,v,this._backendServiceApi,this._totalItems))},v=>{var _,C,x;this.resetToPreviousPagination(),(_=this.backendUtilities)===null||_===void 0||_.onBackendError(v,this._backendServiceApi),(!(!((C=this._backendServiceApi)===null||C===void 0)&&C.onError)||!(!((x=this.backendUtilities)===null||x===void 0)&&x.onBackendError))&&o(m)})),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}})}recalculateFromToIndexes(){this._totalItems===0?(this._dataFrom=0,this._dataTo=1,this._pageNumber=0):(this._dataFrom=this._pageNumber>1?this._pageNumber*this._itemsPerPage-this._itemsPerPage+1:1,this._dataTo=this._totalItems<this._itemsPerPage?this._totalItems:(this._pageNumber||1)*this._itemsPerPage,this._dataTo>this._totalItems&&(this._dataTo=this._totalItems)),this._pageNumber=this._totalItems>0&&this._pageNumber===0?1:this._pageNumber,this._dataTo>this._totalItems?this._dataTo=this._totalItems:this._totalItems<this._itemsPerPage&&(this._dataTo=this._totalItems)}resetToPreviousPagination(){var t,e,n,r,o,s,l,u,h,c,p,m,v;const _=((t=this._previousPagination)===null||t===void 0?void 0:t.pageNumber)!==this.getFullPagination().pageNumber,C=((e=this._previousPagination)===null||e===void 0?void 0:e.pageSize)!==this.getFullPagination().pageSize;C&&this.changeItemPerPage((r=(n=this._previousPagination)===null||n===void 0?void 0:n.pageSize)!==null&&r!==void 0?r:0,null,!1),_&&this.goToPageNumber((s=(o=this._previousPagination)===null||o===void 0?void 0:o.pageNumber)!==null&&s!==void 0?s:0,null,!1),(_||C)&&(this.refreshPagination(),(h=(u=(l=this._backendServiceApi)===null||l===void 0?void 0:l.service)===null||u===void 0?void 0:u.updatePagination)===null||h===void 0||h.call(u,(p=(c=this._previousPagination)===null||c===void 0?void 0:c.pageNumber)!==null&&p!==void 0?p:0,(v=(m=this._previousPagination)===null||m===void 0?void 0:m.pageSize)!==null&&v!==void 0?v:0))}setCursorPageInfo(t){this._cursorPageInfo=t}updateTotalItems(t,e=!1){this._totalItems=t,this._paginationOptions&&(this._paginationOptions.totalItems=t,this.refreshPagination(!1,e))}processOnItemAddedOrRemoved(t,e=!0){if(t!==null){const n=this._dataTo,r=Array.isArray(t)?t.length:1,o=e?+r:-r;this._totalItems+=o,this.recalculateFromToIndexes(),this._dataTo=n+o,this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}}const V0=20,z0=25,U0=35,G0=180,W0=300,$0=200;class Y0{get eventHandler(){return this._eventHandler}get gridOptions(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getOptions)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get dataView(){var t;return(t=this._grid)===null||t===void 0?void 0:t.getData()}get gridUid(){var t,e;return(e=(t=this._grid)===null||t===void 0?void 0:t.getUID())!==null&&e!==void 0?e:""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get intervalRetryDelay(){return this._intervalRetryDelay}set intervalRetryDelay(t){this._intervalRetryDelay=t}get resizeByContentOptions(){var t,e;return(e=(t=this.gridOptions)===null||t===void 0?void 0:t.resizeByContentOptions)!==null&&e!==void 0?e:{}}constructor(t){this.pubSubService=t,this._intervalRetryDelay=$0,this._isStopResizeIntervalRequested=!1,this._hasResizedByContentAtLeastOnce=!1,this._totalColumnsWidthByContent=0,this._resizePaused=!1,this._subscriptions=[],this._eventHandler=new Slick.EventHandler,this._bindingEventService=new Nn}dispose(){var t,e;(t=this._eventHandler)===null||t===void 0||t.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._intervalId&&clearInterval(this._intervalId),clearTimeout(this._timer),((e=this.gridOptions.autoResize)===null||e===void 0?void 0:e.resizeDetection)==="container"&&this._resizeObserver&&this._resizeObserver.disconnect(),this._bindingEventService.unbindAll()}init(t,e){var n,r,o,s,l,u,h,c;if(!t||!this.gridOptions||!e)throw new Error(`
14
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var q_="1.15.0";function gs(a){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(a)}var _s=gs(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Xa=gs(/Edge/i),pm=gs(/firefox/i),qa=gs(/safari/i)&&!gs(/chrome/i)&&!gs(/android/i),mm=gs(/iP(ad|od|hone)/i),vm=gs(/chrome/i)&&gs(/android/i),gm={capture:!1,passive:!1};function _i(a,t,e){a.addEventListener(t,e,!_s&&gm)}function mi(a,t,e){a.removeEventListener(t,e,!_s&&gm)}function hu(a,t){if(t){if(t[0]===">"&&(t=t.substring(1)),a)try{if(a.matches)return a.matches(t);if(a.msMatchesSelector)return a.msMatchesSelector(t);if(a.webkitMatchesSelector)return a.webkitMatchesSelector(t)}catch{return!1}return!1}}function K_(a){return a.host&&a!==document&&a.host.nodeType?a.host:a.parentNode}function Fo(a,t,e,n){if(a){e=e||document;do{if(t!=null&&(t[0]===">"?a.parentNode===e&&hu(a,t):hu(a,t))||n&&a===e)return a;if(a===e)break}while(a=K_(a))}return null}var _m=/\s+/g;function bn(a,t,e){if(a&&t)if(a.classList)a.classList[e?"add":"remove"](t);else{var n=(" "+a.className+" ").replace(_m," ").replace(" "+t+" "," ");a.className=(n+(e?" "+t:"")).replace(_m," ")}}function Rt(a,t,e){var n=a&&a.style;if(n){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(a,""):a.currentStyle&&(e=a.currentStyle),t===void 0?e:e[t];!(t in n)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),n[t]=e+(typeof e=="string"?"":"px")}}function _l(a,t){var e="";if(typeof a=="string")e=a;else do{var n=Rt(a,"transform");n&&n!=="none"&&(e=n+" "+e)}while(!t&&(a=a.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(e)}function bm(a,t,e){if(a){var n=a.getElementsByTagName(t),r=0,o=n.length;if(e)for(;r<o;r++)e(n[r],r);return n}return[]}function Zo(){var a=document.scrollingElement;return a||document.documentElement}function cn(a,t,e,n,r){if(!(!a.getBoundingClientRect&&a!==window)){var o,s,l,u,h,c,p;if(a!==window&&a.parentNode&&a!==Zo()?(o=a.getBoundingClientRect(),s=o.top,l=o.left,u=o.bottom,h=o.right,c=o.height,p=o.width):(s=0,l=0,u=window.innerHeight,h=window.innerWidth,c=window.innerHeight,p=window.innerWidth),(t||e)&&a!==window&&(r=r||a.parentNode,!_s))do if(r&&r.getBoundingClientRect&&(Rt(r,"transform")!=="none"||e&&Rt(r,"position")!=="static")){var m=r.getBoundingClientRect();s-=m.top+parseInt(Rt(r,"border-top-width")),l-=m.left+parseInt(Rt(r,"border-left-width")),u=s+o.height,h=l+o.width;break}while(r=r.parentNode);if(n&&a!==window){var v=_l(r||a),_=v&&v.a,C=v&&v.d;v&&(s/=C,l/=_,p/=_,c/=C,u=s+c,h=l+p)}return{top:s,left:l,bottom:u,right:h,width:p,height:c}}}function Cm(a,t,e){for(var n=Ws(a,!0),r=cn(a)[t];n;){var o=cn(n)[e],s=void 0;if(e==="top"||e==="left"?s=r>=o:s=r<=o,!s)return n;if(n===Zo())break;n=Ws(n,!1)}return!1}function $l(a,t,e,n){for(var r=0,o=0,s=a.children;o<s.length;){if(s[o].style.display!=="none"&&s[o]!==Ut.ghost&&(n||s[o]!==Ut.dragged)&&Fo(s[o],e.draggable,a,!1)){if(r===t)return s[o];r++}o++}return null}function xh(a,t){for(var e=a.lastElementChild;e&&(e===Ut.ghost||Rt(e,"display")==="none"||t&&!hu(e,t));)e=e.previousElementSibling;return e||null}function xn(a,t){var e=0;if(!a||!a.parentNode)return-1;for(;a=a.previousElementSibling;)a.nodeName.toUpperCase()!=="TEMPLATE"&&a!==Ut.clone&&(!t||hu(a,t))&&e++;return e}function ym(a){var t=0,e=0,n=Zo();if(a)do{var r=_l(a),o=r.a,s=r.d;t+=a.scrollLeft*o,e+=a.scrollTop*s}while(a!==n&&(a=a.parentNode));return[t,e]}function Z_(a,t){for(var e in a)if(a.hasOwnProperty(e)){for(var n in t)if(t.hasOwnProperty(n)&&t[n]===a[e][n])return Number(e)}return-1}function Ws(a,t){if(!a||!a.getBoundingClientRect)return Zo();var e=a,n=!1;do if(e.clientWidth<e.scrollWidth||e.clientHeight<e.scrollHeight){var r=Rt(e);if(e.clientWidth<e.scrollWidth&&(r.overflowX=="auto"||r.overflowX=="scroll")||e.clientHeight<e.scrollHeight&&(r.overflowY=="auto"||r.overflowY=="scroll")){if(!e.getBoundingClientRect||e===document.body)return Zo();if(n||t)return e;n=!0}}while(e=e.parentNode);return Zo()}function Q_(a,t){if(a&&t)for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e]);return a}function Th(a,t){return Math.round(a.top)===Math.round(t.top)&&Math.round(a.left)===Math.round(t.left)&&Math.round(a.height)===Math.round(t.height)&&Math.round(a.width)===Math.round(t.width)}var Ka;function Em(a,t){return function(){if(!Ka){var e=arguments,n=this;e.length===1?a.call(n,e[0]):a.apply(n,e),Ka=setTimeout(function(){Ka=void 0},t)}}}function J_(){clearTimeout(Ka),Ka=void 0}function Sm(a,t,e){a.scrollLeft+=t,a.scrollTop+=e}function Oh(a){var t=window.Polymer,e=window.jQuery||window.Zepto;return t&&t.dom?t.dom(a).cloneNode(!0):e?e(a).clone(!0)[0]:a.cloneNode(!0)}function wm(a,t){Rt(a,"position","absolute"),Rt(a,"top",t.top),Rt(a,"left",t.left),Rt(a,"width",t.width),Rt(a,"height",t.height)}function Ah(a){Rt(a,"position",""),Rt(a,"top",""),Rt(a,"left",""),Rt(a,"width",""),Rt(a,"height","")}var hr="Sortable"+new Date().getTime();function e0(){var a=[],t;return{captureAnimationState:function(){if(a=[],!!this.options.animation){var n=[].slice.call(this.el.children);n.forEach(function(r){if(!(Rt(r,"display")==="none"||r===Ut.ghost)){a.push({target:r,rect:cn(r)});var o=Ko({},a[a.length-1].rect);if(r.thisAnimationDuration){var s=_l(r,!0);s&&(o.top-=s.f,o.left-=s.e)}r.fromRect=o}})}},addAnimationState:function(n){a.push(n)},removeAnimationState:function(n){a.splice(Z_(a,{target:n}),1)},animateAll:function(n){var r=this;if(!this.options.animation){clearTimeout(t),typeof n=="function"&&n();return}var o=!1,s=0;a.forEach(function(l){var u=0,h=l.target,c=h.fromRect,p=cn(h),m=h.prevFromRect,v=h.prevToRect,_=l.rect,C=_l(h,!0);C&&(p.top-=C.f,p.left-=C.e),h.toRect=p,h.thisAnimationDuration&&Th(m,p)&&!Th(c,p)&&(_.top-p.top)/(_.left-p.left)===(c.top-p.top)/(c.left-p.left)&&(u=i0(_,m,v,r.options)),Th(p,c)||(h.prevFromRect=c,h.prevToRect=p,u||(u=r.options.animation),r.animate(h,_,p,u)),u&&(o=!0,s=Math.max(s,u),clearTimeout(h.animationResetTimer),h.animationResetTimer=setTimeout(function(){h.animationTime=0,h.prevFromRect=null,h.fromRect=null,h.prevToRect=null,h.thisAnimationDuration=null},u),h.thisAnimationDuration=u)}),clearTimeout(t),o?t=setTimeout(function(){typeof n=="function"&&n()},s):typeof n=="function"&&n(),a=[]},animate:function(n,r,o,s){if(s){Rt(n,"transition",""),Rt(n,"transform","");var l=_l(this.el),u=l&&l.a,h=l&&l.d,c=(r.left-o.left)/(u||1),p=(r.top-o.top)/(h||1);n.animatingX=!!c,n.animatingY=!!p,Rt(n,"transform","translate3d("+c+"px,"+p+"px,0)"),this.forRepaintDummy=t0(n),Rt(n,"transition","transform "+s+"ms"+(this.options.easing?" "+this.options.easing:"")),Rt(n,"transform","translate3d(0,0,0)"),typeof n.animated=="number"&&clearTimeout(n.animated),n.animated=setTimeout(function(){Rt(n,"transition",""),Rt(n,"transform",""),n.animated=!1,n.animatingX=!1,n.animatingY=!1},s)}}}}function t0(a){return a.offsetWidth}function i0(a,t,e,n){return Math.sqrt(Math.pow(t.top-a.top,2)+Math.pow(t.left-a.left,2))/Math.sqrt(Math.pow(t.top-e.top,2)+Math.pow(t.left-e.left,2))*n.animation}var Yl=[],kh={initializeByDefault:!0},Za={mount:function(t){for(var e in kh)kh.hasOwnProperty(e)&&!(e in t)&&(t[e]=kh[e]);Yl.forEach(function(n){if(n.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")}),Yl.push(t)},pluginEvent:function(t,e,n){var r=this;this.eventCanceled=!1,n.cancel=function(){r.eventCanceled=!0};var o=t+"Global";Yl.forEach(function(s){e[s.pluginName]&&(e[s.pluginName][o]&&e[s.pluginName][o](Ko({sortable:e},n)),e.options[s.pluginName]&&e[s.pluginName][t]&&e[s.pluginName][t](Ko({sortable:e},n)))})},initializePlugins:function(t,e,n,r){Yl.forEach(function(l){var u=l.pluginName;if(!(!t.options[u]&&!l.initializeByDefault)){var h=new l(t,e,t.options);h.sortable=t,h.options=t.options,t[u]=h,po(n,h.defaults)}});for(var o in t.options)if(t.options.hasOwnProperty(o)){var s=this.modifyOption(t,o,t.options[o]);typeof s<"u"&&(t.options[o]=s)}},getEventProperties:function(t,e){var n={};return Yl.forEach(function(r){typeof r.eventProperties=="function"&&po(n,r.eventProperties.call(e[r.pluginName],t))}),n},modifyOption:function(t,e,n){var r;return Yl.forEach(function(o){t[o.pluginName]&&o.optionListeners&&typeof o.optionListeners[e]=="function"&&(r=o.optionListeners[e].call(t[o.pluginName],n))}),r}};function Qa(a){var t=a.sortable,e=a.rootEl,n=a.name,r=a.targetEl,o=a.cloneEl,s=a.toEl,l=a.fromEl,u=a.oldIndex,h=a.newIndex,c=a.oldDraggableIndex,p=a.newDraggableIndex,m=a.originalEvent,v=a.putSortable,_=a.extraEventProperties;if(t=t||e&&e[hr],!!t){var C,x=t.options,S="on"+n.charAt(0).toUpperCase()+n.substr(1);window.CustomEvent&&!_s&&!Xa?C=new CustomEvent(n,{bubbles:!0,cancelable:!0}):(C=document.createEvent("Event"),C.initEvent(n,!0,!0)),C.to=s||e,C.from=l||e,C.item=r||e,C.clone=o,C.oldIndex=u,C.newIndex=h,C.oldDraggableIndex=c,C.newDraggableIndex=p,C.originalEvent=m,C.pullMode=v?v.lastPutMode:void 0;var E=Ko(Ko({},_),Za.getEventProperties(n,t));for(var D in E)C[D]=E[D];e&&e.dispatchEvent(C),x[S]&&x[S].call(t,C)}}var n0=["evt"],Fr=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.evt,o=G_(n,n0);Za.pluginEvent.bind(Ut)(t,e,Ko({dragEl:bt,parentEl:Tn,ghostEl:oi,rootEl:hn,nextEl:bl,lastDownEl:fu,cloneEl:Cn,cloneHidden:$s,dragStarted:ed,putSortable:sr,activeSortable:Ut.active,originalEvent:r,oldIndex:jl,oldDraggableIndex:Ja,newIndex:Kr,newDraggableIndex:Ys,hideGhostForTarget:Dm,unhideGhostForTarget:Rm,cloneNowHidden:function(){$s=!0},cloneNowShown:function(){$s=!1},dispatchSortableEvent:function(l){yr({sortable:e,name:l,originalEvent:r})}},o))};function yr(a){Qa(Ko({putSortable:sr,cloneEl:Cn,targetEl:bt,rootEl:hn,oldIndex:jl,oldDraggableIndex:Ja,newIndex:Kr,newDraggableIndex:Ys},a))}var bt,Tn,oi,hn,bl,fu,Cn,$s,jl,Kr,Ja,Ys,pu,sr,Xl=!1,mu=!1,vu=[],Cl,Mo,Ih,Dh,xm,Tm,ed,ql,td,id=!1,gu=!1,_u,fr,Rh=[],Ph=!1,bu=[],Cu=typeof document<"u",yu=mm,Om=Xa||_s?"cssFloat":"float",r0=Cu&&!vm&&!mm&&"draggable"in document.createElement("div"),Am=function(){if(Cu){if(_s)return!1;var a=document.createElement("x");return a.style.cssText="pointer-events:auto",a.style.pointerEvents==="auto"}}(),km=function(t,e){var n=Rt(t),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=$l(t,0,e),s=$l(t,1,e),l=o&&Rt(o),u=s&&Rt(s),h=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+cn(o).width,c=u&&parseInt(u.marginLeft)+parseInt(u.marginRight)+cn(s).width;if(n.display==="flex")return n.flexDirection==="column"||n.flexDirection==="column-reverse"?"vertical":"horizontal";if(n.display==="grid")return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&l.float&&l.float!=="none"){var p=l.float==="left"?"left":"right";return s&&(u.clear==="both"||u.clear===p)?"vertical":"horizontal"}return o&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||h>=r&&n[Om]==="none"||s&&n[Om]==="none"&&h+c>r)?"vertical":"horizontal"},o0=function(t,e,n){var r=n?t.left:t.top,o=n?t.right:t.bottom,s=n?t.width:t.height,l=n?e.left:e.top,u=n?e.right:e.bottom,h=n?e.width:e.height;return r===l||o===u||r+s/2===l+h/2},s0=function(t,e){var n;return vu.some(function(r){var o=r[hr].options.emptyInsertThreshold;if(!(!o||xh(r))){var s=cn(r),l=t>=s.left-o&&t<=s.right+o,u=e>=s.top-o&&e<=s.bottom+o;if(l&&u)return n=r}}),n},Im=function(t){function e(o,s){return function(l,u,h,c){var p=l.options.group.name&&u.options.group.name&&l.options.group.name===u.options.group.name;if(o==null&&(s||p))return!0;if(o==null||o===!1)return!1;if(s&&o==="clone")return o;if(typeof o=="function")return e(o(l,u,h,c),s)(l,u,h,c);var m=(s?l:u).options.group.name;return o===!0||typeof o=="string"&&o===m||o.join&&o.indexOf(m)>-1}}var n={},r=t.group;(!r||cu(r)!="object")&&(r={name:r}),n.name=r.name,n.checkPull=e(r.pull,!0),n.checkPut=e(r.put),n.revertClone=r.revertClone,t.group=n},Dm=function(){!Am&&oi&&Rt(oi,"display","none")},Rm=function(){!Am&&oi&&Rt(oi,"display","")};Cu&&!vm&&document.addEventListener("click",function(a){if(mu)return a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.stopImmediatePropagation&&a.stopImmediatePropagation(),mu=!1,!1},!0);var yl=function(t){if(bt){t=t.touches?t.touches[0]:t;var e=s0(t.clientX,t.clientY);if(e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[hr]._onDragOver(n)}}},l0=function(t){bt&&bt.parentNode[hr]._isOutsideThisEl(t.target)};function Ut(a,t){if(!(a&&a.nodeType&&a.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(a));this.el=a,this.options=t=po({},t),a[hr]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(a.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return km(a,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(s,l){s.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Ut.supportPointer!==!1&&"PointerEvent"in window&&!qa,emptyInsertThreshold:5};Za.initializePlugins(this,a,e);for(var n in e)!(n in t)&&(t[n]=e[n]);Im(t);for(var r in this)r.charAt(0)==="_"&&typeof this[r]=="function"&&(this[r]=this[r].bind(this));this.nativeDraggable=t.forceFallback?!1:r0,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?_i(a,"pointerdown",this._onTapStart):(_i(a,"mousedown",this._onTapStart),_i(a,"touchstart",this._onTapStart)),this.nativeDraggable&&(_i(a,"dragover",this),_i(a,"dragenter",this)),vu.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),po(this,e0())}Ut.prototype={constructor:Ut,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(ql=null)},_getDirection:function(t,e){return typeof this.options.direction=="function"?this.options.direction.call(this,t,e,bt):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,n=this.el,r=this.options,o=r.preventOnFilter,s=t.type,l=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,u=(l||t).target,h=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||u,c=r.filter;if(m0(n),!bt&&!(/mousedown|pointerdown/.test(s)&&t.button!==0||r.disabled)&&!h.isContentEditable&&!(!this.nativeDraggable&&qa&&u&&u.tagName.toUpperCase()==="SELECT")&&(u=Fo(u,r.draggable,n,!1),!(u&&u.animated)&&fu!==u)){if(jl=xn(u),Ja=xn(u,r.draggable),typeof c=="function"){if(c.call(this,t,u,this)){yr({sortable:e,rootEl:h,name:"filter",targetEl:u,toEl:n,fromEl:n}),Fr("filter",e,{evt:t}),o&&t.cancelable&&t.preventDefault();return}}else if(c&&(c=c.split(",").some(function(p){if(p=Fo(h,p.trim(),n,!1),p)return yr({sortable:e,rootEl:p,name:"filter",targetEl:u,fromEl:n,toEl:n}),Fr("filter",e,{evt:t}),!0}),c)){o&&t.cancelable&&t.preventDefault();return}r.handle&&!Fo(h,r.handle,n,!1)||this._prepareDragStart(t,l,u)}}},_prepareDragStart:function(t,e,n){var r=this,o=r.el,s=r.options,l=o.ownerDocument,u;if(n&&!bt&&n.parentNode===o){var h=cn(n);if(hn=o,bt=n,Tn=bt.parentNode,bl=bt.nextSibling,fu=n,pu=s.group,Ut.dragged=bt,Cl={target:bt,clientX:(e||t).clientX,clientY:(e||t).clientY},xm=Cl.clientX-h.left,Tm=Cl.clientY-h.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,bt.style["will-change"]="all",u=function(){if(Fr("delayEnded",r,{evt:t}),Ut.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!pm&&r.nativeDraggable&&(bt.draggable=!0),r._triggerDragStart(t,e),yr({sortable:r,name:"choose",originalEvent:t}),bn(bt,s.chosenClass,!0)},s.ignore.split(",").forEach(function(c){bm(bt,c.trim(),Fh)}),_i(l,"dragover",yl),_i(l,"mousemove",yl),_i(l,"touchmove",yl),_i(l,"mouseup",r._onDrop),_i(l,"touchend",r._onDrop),_i(l,"touchcancel",r._onDrop),pm&&this.nativeDraggable&&(this.options.touchStartThreshold=4,bt.draggable=!0),Fr("delayStart",this,{evt:t}),s.delay&&(!s.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(Xa||_s))){if(Ut.eventCanceled){this._onDrop();return}_i(l,"mouseup",r._disableDelayedDrag),_i(l,"touchend",r._disableDelayedDrag),_i(l,"touchcancel",r._disableDelayedDrag),_i(l,"mousemove",r._delayedDragTouchMoveHandler),_i(l,"touchmove",r._delayedDragTouchMoveHandler),s.supportPointer&&_i(l,"pointermove",r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(u,s.delay)}else u()}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){bt&&Fh(bt),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;mi(t,"mouseup",this._disableDelayedDrag),mi(t,"touchend",this._disableDelayedDrag),mi(t,"touchcancel",this._disableDelayedDrag),mi(t,"mousemove",this._delayedDragTouchMoveHandler),mi(t,"touchmove",this._delayedDragTouchMoveHandler),mi(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||t.pointerType=="touch"&&t,!this.nativeDraggable||e?this.options.supportPointer?_i(document,"pointermove",this._onTouchMove):e?_i(document,"touchmove",this._onTouchMove):_i(document,"mousemove",this._onTouchMove):(_i(bt,"dragend",this),_i(hn,"dragstart",this._onDragStart));try{document.selection?Su(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,e){if(Xl=!1,hn&&bt){Fr("dragStarted",this,{evt:e}),this.nativeDraggable&&_i(document,"dragover",l0);var n=this.options;!t&&bn(bt,n.dragClass,!1),bn(bt,n.ghostClass,!0),Ut.active=this,t&&this._appendGhost(),yr({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(Mo){this._lastX=Mo.clientX,this._lastY=Mo.clientY,Dm();for(var t=document.elementFromPoint(Mo.clientX,Mo.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Mo.clientX,Mo.clientY),t!==e);)e=t;if(bt.parentNode[hr]._isOutsideThisEl(t),e)do{if(e[hr]){var n=void 0;if(n=e[hr]._onDragOver({clientX:Mo.clientX,clientY:Mo.clientY,target:t,rootEl:e}),n&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);Rm()}},_onTouchMove:function(t){if(Cl){var e=this.options,n=e.fallbackTolerance,r=e.fallbackOffset,o=t.touches?t.touches[0]:t,s=oi&&_l(oi,!0),l=oi&&s&&s.a,u=oi&&s&&s.d,h=yu&&fr&&ym(fr),c=(o.clientX-Cl.clientX+r.x)/(l||1)+(h?h[0]-Rh[0]:0)/(l||1),p=(o.clientY-Cl.clientY+r.y)/(u||1)+(h?h[1]-Rh[1]:0)/(u||1);if(!Ut.active&&!Xl){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(oi){s?(s.e+=c-(Ih||0),s.f+=p-(Dh||0)):s={a:1,b:0,c:0,d:1,e:c,f:p};var m="matrix(".concat(s.a,",").concat(s.b,",").concat(s.c,",").concat(s.d,",").concat(s.e,",").concat(s.f,")");Rt(oi,"webkitTransform",m),Rt(oi,"mozTransform",m),Rt(oi,"msTransform",m),Rt(oi,"transform",m),Ih=c,Dh=p,Mo=o}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!oi){var t=this.options.fallbackOnBody?document.body:hn,e=cn(bt,!0,yu,!0,t),n=this.options;if(yu){for(fr=t;Rt(fr,"position")==="static"&&Rt(fr,"transform")==="none"&&fr!==document;)fr=fr.parentNode;fr!==document.body&&fr!==document.documentElement?(fr===document&&(fr=Zo()),e.top+=fr.scrollTop,e.left+=fr.scrollLeft):fr=Zo(),Rh=ym(fr)}oi=bt.cloneNode(!0),bn(oi,n.ghostClass,!1),bn(oi,n.fallbackClass,!0),bn(oi,n.dragClass,!0),Rt(oi,"transition",""),Rt(oi,"transform",""),Rt(oi,"box-sizing","border-box"),Rt(oi,"margin",0),Rt(oi,"top",e.top),Rt(oi,"left",e.left),Rt(oi,"width",e.width),Rt(oi,"height",e.height),Rt(oi,"opacity","0.8"),Rt(oi,"position",yu?"absolute":"fixed"),Rt(oi,"zIndex","100000"),Rt(oi,"pointerEvents","none"),Ut.ghost=oi,t.appendChild(oi),Rt(oi,"transform-origin",xm/parseInt(oi.style.width)*100+"% "+Tm/parseInt(oi.style.height)*100+"%")}},_onDragStart:function(t,e){var n=this,r=t.dataTransfer,o=n.options;if(Fr("dragStart",this,{evt:t}),Ut.eventCanceled){this._onDrop();return}Fr("setupClone",this),Ut.eventCanceled||(Cn=Oh(bt),Cn.removeAttribute("id"),Cn.draggable=!1,Cn.style["will-change"]="",this._hideClone(),bn(Cn,this.options.chosenClass,!1),Ut.clone=Cn),n.cloneId=Su(function(){Fr("clone",n),!Ut.eventCanceled&&(n.options.removeCloneOnHide||hn.insertBefore(Cn,bt),n._hideClone(),yr({sortable:n,name:"clone"}))}),!e&&bn(bt,o.dragClass,!0),e?(mu=!0,n._loopId=setInterval(n._emulateDragOver,50)):(mi(document,"mouseup",n._onDrop),mi(document,"touchend",n._onDrop),mi(document,"touchcancel",n._onDrop),r&&(r.effectAllowed="move",o.setData&&o.setData.call(n,r,bt)),_i(document,"drop",n),Rt(bt,"transform","translateZ(0)")),Xl=!0,n._dragStartId=Su(n._dragStarted.bind(n,e,t)),_i(document,"selectstart",n),ed=!0,qa&&Rt(document.body,"user-select","none")},_onDragOver:function(t){var e=this.el,n=t.target,r,o,s,l=this.options,u=l.group,h=Ut.active,c=pu===u,p=l.sort,m=sr||h,v,_=this,C=!1;if(Ph)return;function x(xe,Oe){Fr(xe,_,Ko({evt:t,isOwner:c,axis:v?"vertical":"horizontal",revert:s,dragRect:r,targetRect:o,canSort:p,fromSortable:m,target:n,completed:E,onMove:function(ne,pe){return Eu(hn,e,bt,r,ne,cn(ne),t,pe)},changed:D},Oe))}function S(){x("dragOverAnimationCapture"),_.captureAnimationState(),_!==m&&m.captureAnimationState()}function E(xe){return x("dragOverCompleted",{insertion:xe}),xe&&(c?h._hideClone():h._showClone(_),_!==m&&(bn(bt,sr?sr.options.ghostClass:h.options.ghostClass,!1),bn(bt,l.ghostClass,!0)),sr!==_&&_!==Ut.active?sr=_:_===Ut.active&&sr&&(sr=null),m===_&&(_._ignoreWhileAnimating=n),_.animateAll(function(){x("dragOverAnimationComplete"),_._ignoreWhileAnimating=null}),_!==m&&(m.animateAll(),m._ignoreWhileAnimating=null)),(n===bt&&!bt.animated||n===e&&!n.animated)&&(ql=null),!l.dragoverBubble&&!t.rootEl&&n!==document&&(bt.parentNode[hr]._isOutsideThisEl(t.target),!xe&&yl(t)),!l.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),C=!0}function D(){Kr=xn(bt),Ys=xn(bt,l.draggable),yr({sortable:_,name:"change",toEl:e,newIndex:Kr,newDraggableIndex:Ys,originalEvent:t})}if(t.preventDefault!==void 0&&t.cancelable&&t.preventDefault(),n=Fo(n,l.draggable,e,!0),x("dragOver"),Ut.eventCanceled)return C;if(bt.contains(t.target)||n.animated&&n.animatingX&&n.animatingY||_._ignoreWhileAnimating===n)return E(!1);if(mu=!1,h&&!l.disabled&&(c?p||(s=Tn!==hn):sr===this||(this.lastPutMode=pu.checkPull(this,h,bt,t))&&u.checkPut(this,h,bt,t))){if(v=this._getDirection(t,n)==="vertical",r=cn(bt),x("dragOverValid"),Ut.eventCanceled)return C;if(s)return Tn=hn,S(),this._hideClone(),x("revert"),Ut.eventCanceled||(bl?hn.insertBefore(bt,bl):hn.appendChild(bt)),E(!0);var A=xh(e,l.draggable);if(!A||c0(t,v,this)&&!A.animated){if(A===bt)return E(!1);if(A&&e===t.target&&(n=A),n&&(o=cn(n)),Eu(hn,e,bt,r,n,o,t,!!n)!==!1)return S(),A&&A.nextSibling?e.insertBefore(bt,A.nextSibling):e.appendChild(bt),Tn=e,D(),E(!0)}else if(A&&u0(t,v,this)){var P=$l(e,0,l,!0);if(P===bt)return E(!1);if(n=P,o=cn(n),Eu(hn,e,bt,r,n,o,t,!1)!==!1)return S(),e.insertBefore(bt,P),Tn=e,D(),E(!0)}else if(n.parentNode===e){o=cn(n);var M=0,B,Z=bt.parentNode!==e,L=!o0(bt.animated&&bt.toRect||r,n.animated&&n.toRect||o,v),ae=v?"top":"left",_e=Cm(n,"top","top")||Cm(bt,"top","top"),J=_e?_e.scrollTop:void 0;ql!==n&&(B=o[ae],id=!1,gu=!L&&l.invertSwap||Z),M=h0(t,n,o,v,L?1:l.swapThreshold,l.invertedSwapThreshold==null?l.swapThreshold:l.invertedSwapThreshold,gu,ql===n);var U;if(M!==0){var F=xn(bt);do F-=M,U=Tn.children[F];while(U&&(Rt(U,"display")==="none"||U===oi))}if(M===0||U===n)return E(!1);ql=n,td=M;var de=n.nextElementSibling,qe=!1;qe=M===1;var Ie=Eu(hn,e,bt,r,n,o,t,qe);if(Ie!==!1)return(Ie===1||Ie===-1)&&(qe=Ie===1),Ph=!0,setTimeout(d0,30),S(),qe&&!de?e.appendChild(bt):n.parentNode.insertBefore(bt,qe?de:n),_e&&Sm(_e,0,J-_e.scrollTop),Tn=bt.parentNode,B!==void 0&&!gu&&(_u=Math.abs(B-cn(n)[ae])),D(),E(!0)}if(e.contains(bt))return E(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){mi(document,"mousemove",this._onTouchMove),mi(document,"touchmove",this._onTouchMove),mi(document,"pointermove",this._onTouchMove),mi(document,"dragover",yl),mi(document,"mousemove",yl),mi(document,"touchmove",yl)},_offUpEvents:function(){var t=this.el.ownerDocument;mi(t,"mouseup",this._onDrop),mi(t,"touchend",this._onDrop),mi(t,"pointerup",this._onDrop),mi(t,"touchcancel",this._onDrop),mi(document,"selectstart",this)},_onDrop:function(t){var e=this.el,n=this.options;if(Kr=xn(bt),Ys=xn(bt,n.draggable),Fr("drop",this,{evt:t}),Tn=bt&&bt.parentNode,Kr=xn(bt),Ys=xn(bt,n.draggable),Ut.eventCanceled){this._nulling();return}Xl=!1,gu=!1,id=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Mh(this.cloneId),Mh(this._dragStartId),this.nativeDraggable&&(mi(document,"drop",this),mi(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),qa&&Rt(document.body,"user-select",""),Rt(bt,"transform",""),t&&(ed&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),oi&&oi.parentNode&&oi.parentNode.removeChild(oi),(hn===Tn||sr&&sr.lastPutMode!=="clone")&&Cn&&Cn.parentNode&&Cn.parentNode.removeChild(Cn),bt&&(this.nativeDraggable&&mi(bt,"dragend",this),Fh(bt),bt.style["will-change"]="",ed&&!Xl&&bn(bt,sr?sr.options.ghostClass:this.options.ghostClass,!1),bn(bt,this.options.chosenClass,!1),yr({sortable:this,name:"unchoose",toEl:Tn,newIndex:null,newDraggableIndex:null,originalEvent:t}),hn!==Tn?(Kr>=0&&(yr({rootEl:Tn,name:"add",toEl:Tn,fromEl:hn,originalEvent:t}),yr({sortable:this,name:"remove",toEl:Tn,originalEvent:t}),yr({rootEl:Tn,name:"sort",toEl:Tn,fromEl:hn,originalEvent:t}),yr({sortable:this,name:"sort",toEl:Tn,originalEvent:t})),sr&&sr.save()):Kr!==jl&&Kr>=0&&(yr({sortable:this,name:"update",toEl:Tn,originalEvent:t}),yr({sortable:this,name:"sort",toEl:Tn,originalEvent:t})),Ut.active&&((Kr==null||Kr===-1)&&(Kr=jl,Ys=Ja),yr({sortable:this,name:"end",toEl:Tn,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){Fr("nulling",this),hn=bt=Tn=oi=bl=Cn=fu=$s=Cl=Mo=ed=Kr=Ys=jl=Ja=ql=td=sr=pu=Ut.dragged=Ut.ghost=Ut.clone=Ut.active=null,bu.forEach(function(t){t.checked=!0}),bu.length=Ih=Dh=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":bt&&(this._onDragOver(t),a0(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],e,n=this.el.children,r=0,o=n.length,s=this.options;r<o;r++)e=n[r],Fo(e,s.draggable,this.el,!1)&&t.push(e.getAttribute(s.dataIdAttr)||p0(e));return t},sort:function(t,e){var n={},r=this.el;this.toArray().forEach(function(o,s){var l=r.children[s];Fo(l,this.options.draggable,r,!1)&&(n[o]=l)},this),e&&this.captureAnimationState(),t.forEach(function(o){n[o]&&(r.removeChild(n[o]),r.appendChild(n[o]))}),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return Fo(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var n=this.options;if(e===void 0)return n[t];var r=Za.modifyOption(this,t,e);typeof r<"u"?n[t]=r:n[t]=e,t==="group"&&Im(n)},destroy:function(){Fr("destroy",this);var t=this.el;t[hr]=null,mi(t,"mousedown",this._onTapStart),mi(t,"touchstart",this._onTapStart),mi(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(mi(t,"dragover",this),mi(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(e){e.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),vu.splice(vu.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!$s){if(Fr("hideClone",this),Ut.eventCanceled)return;Rt(Cn,"display","none"),this.options.removeCloneOnHide&&Cn.parentNode&&Cn.parentNode.removeChild(Cn),$s=!0}},_showClone:function(t){if(t.lastPutMode!=="clone"){this._hideClone();return}if($s){if(Fr("showClone",this),Ut.eventCanceled)return;bt.parentNode==hn&&!this.options.group.revertClone?hn.insertBefore(Cn,bt):bl?hn.insertBefore(Cn,bl):hn.appendChild(Cn),this.options.group.revertClone&&this.animate(bt,Cn),Rt(Cn,"display",""),$s=!1}}};function a0(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.cancelable&&a.preventDefault()}function Eu(a,t,e,n,r,o,s,l){var u,h=a[hr],c=h.options.onMove,p;return window.CustomEvent&&!_s&&!Xa?u=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(u=document.createEvent("Event"),u.initEvent("move",!0,!0)),u.to=t,u.from=a,u.dragged=e,u.draggedRect=n,u.related=r||t,u.relatedRect=o||cn(t),u.willInsertAfter=l,u.originalEvent=s,a.dispatchEvent(u),c&&(p=c.call(h,u,s)),p}function Fh(a){a.draggable=!1}function d0(){Ph=!1}function u0(a,t,e){var n=cn($l(e.el,0,e.options,!0)),r=10;return t?a.clientX<n.left-r||a.clientY<n.top&&a.clientX<n.right:a.clientY<n.top-r||a.clientY<n.bottom&&a.clientX<n.left}function c0(a,t,e){var n=cn(xh(e.el,e.options.draggable)),r=10;return t?a.clientX>n.right+r||a.clientX<=n.right&&a.clientY>n.bottom&&a.clientX>=n.left:a.clientX>n.right&&a.clientY>n.top||a.clientX<=n.right&&a.clientY>n.bottom+r}function h0(a,t,e,n,r,o,s,l){var u=n?a.clientY:a.clientX,h=n?e.height:e.width,c=n?e.top:e.left,p=n?e.bottom:e.right,m=!1;if(!s){if(l&&_u<h*r){if(!id&&(td===1?u>c+h*o/2:u<p-h*o/2)&&(id=!0),id)m=!0;else if(td===1?u<c+_u:u>p-_u)return-td}else if(u>c+h*(1-r)/2&&u<p-h*(1-r)/2)return f0(t)}return m=m||s,m&&(u<c+h*o/2||u>p-h*o/2)?u>c+h/2?1:-1:0}function f0(a){return xn(bt)<xn(a)?1:-1}function p0(a){for(var t=a.tagName+a.className+a.src+a.href+a.textContent,e=t.length,n=0;e--;)n+=t.charCodeAt(e);return n.toString(36)}function m0(a){bu.length=0;for(var t=a.getElementsByTagName("input"),e=t.length;e--;){var n=t[e];n.checked&&bu.push(n)}}function Su(a){return setTimeout(a,0)}function Mh(a){return clearTimeout(a)}Cu&&_i(document,"touchmove",function(a){(Ut.active||Xl)&&a.cancelable&&a.preventDefault()}),Ut.utils={on:_i,off:mi,css:Rt,find:bm,is:function(t,e){return!!Fo(t,e,t,!1)},extend:Q_,throttle:Em,closest:Fo,toggleClass:bn,clone:Oh,index:xn,nextTick:Su,cancelNextTick:Mh,detectDirection:km,getChild:$l},Ut.get=function(a){return a[hr]},Ut.mount=function(){for(var a=arguments.length,t=new Array(a),e=0;e<a;e++)t[e]=arguments[e];t[0].constructor===Array&&(t=t[0]),t.forEach(function(n){if(!n.prototype||!n.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(n));n.utils&&(Ut.utils=Ko(Ko({},Ut.utils),n.utils)),Za.mount(n)})},Ut.create=function(a,t){return new Ut(a,t)},Ut.version=q_;var Hn=[],nd,Nh,Lh=!1,Hh,Bh,wu,rd;function v0(){function a(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var t in this)t.charAt(0)==="_"&&typeof this[t]=="function"&&(this[t]=this[t].bind(this))}return a.prototype={dragStarted:function(e){var n=e.originalEvent;this.sortable.nativeDraggable?_i(document,"dragover",this._handleAutoScroll):this.options.supportPointer?_i(document,"pointermove",this._handleFallbackAutoScroll):n.touches?_i(document,"touchmove",this._handleFallbackAutoScroll):_i(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var n=e.originalEvent;!this.options.dragOverBubble&&!n.rootEl&&this._handleAutoScroll(n)},drop:function(){this.sortable.nativeDraggable?mi(document,"dragover",this._handleAutoScroll):(mi(document,"pointermove",this._handleFallbackAutoScroll),mi(document,"touchmove",this._handleFallbackAutoScroll),mi(document,"mousemove",this._handleFallbackAutoScroll)),Pm(),xu(),J_()},nulling:function(){wu=Nh=nd=Lh=rd=Hh=Bh=null,Hn.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,n){var r=this,o=(e.touches?e.touches[0]:e).clientX,s=(e.touches?e.touches[0]:e).clientY,l=document.elementFromPoint(o,s);if(wu=e,n||this.options.forceAutoScrollFallback||Xa||_s||qa){Vh(e,this.options,l,n);var u=Ws(l,!0);Lh&&(!rd||o!==Hh||s!==Bh)&&(rd&&Pm(),rd=setInterval(function(){var h=Ws(document.elementFromPoint(o,s),!0);h!==u&&(u=h,xu()),Vh(e,r.options,h,n)},10),Hh=o,Bh=s)}else{if(!this.options.bubbleScroll||Ws(l,!0)===Zo()){xu();return}Vh(e,this.options,Ws(l,!1),!1)}}},po(a,{pluginName:"scroll",initializeByDefault:!0})}function xu(){Hn.forEach(function(a){clearInterval(a.pid)}),Hn=[]}function Pm(){clearInterval(rd)}var Vh=Em(function(a,t,e,n){if(t.scroll){var r=(a.touches?a.touches[0]:a).clientX,o=(a.touches?a.touches[0]:a).clientY,s=t.scrollSensitivity,l=t.scrollSpeed,u=Zo(),h=!1,c;Nh!==e&&(Nh=e,xu(),nd=t.scroll,c=t.scrollFn,nd===!0&&(nd=Ws(e,!0)));var p=0,m=nd;do{var v=m,_=cn(v),C=_.top,x=_.bottom,S=_.left,E=_.right,D=_.width,A=_.height,P=void 0,M=void 0,B=v.scrollWidth,Z=v.scrollHeight,L=Rt(v),ae=v.scrollLeft,_e=v.scrollTop;v===u?(P=D<B&&(L.overflowX==="auto"||L.overflowX==="scroll"||L.overflowX==="visible"),M=A<Z&&(L.overflowY==="auto"||L.overflowY==="scroll"||L.overflowY==="visible")):(P=D<B&&(L.overflowX==="auto"||L.overflowX==="scroll"),M=A<Z&&(L.overflowY==="auto"||L.overflowY==="scroll"));var J=P&&(Math.abs(E-r)<=s&&ae+D<B)-(Math.abs(S-r)<=s&&!!ae),U=M&&(Math.abs(x-o)<=s&&_e+A<Z)-(Math.abs(C-o)<=s&&!!_e);if(!Hn[p])for(var F=0;F<=p;F++)Hn[F]||(Hn[F]={});(Hn[p].vx!=J||Hn[p].vy!=U||Hn[p].el!==v)&&(Hn[p].el=v,Hn[p].vx=J,Hn[p].vy=U,clearInterval(Hn[p].pid),(J!=0||U!=0)&&(h=!0,Hn[p].pid=setInterval((function(){n&&this.layer===0&&Ut.active._onTouchMove(wu);var de=Hn[this.layer].vy?Hn[this.layer].vy*l:0,qe=Hn[this.layer].vx?Hn[this.layer].vx*l:0;typeof c=="function"&&c.call(Ut.dragged.parentNode[hr],qe,de,a,wu,Hn[this.layer].el)!=="continue"||Sm(Hn[this.layer].el,qe,de)}).bind({layer:p}),24))),p++}while(t.bubbleScroll&&m!==u&&(m=Ws(m,!1)));Lh=h}},30),Fm=function(t){var e=t.originalEvent,n=t.putSortable,r=t.dragEl,o=t.activeSortable,s=t.dispatchSortableEvent,l=t.hideGhostForTarget,u=t.unhideGhostForTarget;if(e){var h=n||o;l();var c=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,p=document.elementFromPoint(c.clientX,c.clientY);u(),h&&!h.el.contains(p)&&(s("spill"),this.onSpill({dragEl:r,putSortable:n}))}};function zh(){}zh.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var r=$l(this.sortable.el,this.startIndex,this.options);r?this.sortable.el.insertBefore(e,r):this.sortable.el.appendChild(e),this.sortable.animateAll(),n&&n.animateAll()},drop:Fm},po(zh,{pluginName:"revertOnSpill"});function Uh(){}Uh.prototype={onSpill:function(t){var e=t.dragEl,n=t.putSortable,r=n||this.sortable;r.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),r.animateAll()},drop:Fm},po(Uh,{pluginName:"removeOnSpill"});var mo;function g0(){function a(){this.defaults={swapClass:"sortable-swap-highlight"}}return a.prototype={dragStart:function(e){var n=e.dragEl;mo=n},dragOverValid:function(e){var n=e.completed,r=e.target,o=e.onMove,s=e.activeSortable,l=e.changed,u=e.cancel;if(s.options.swap){var h=this.sortable.el,c=this.options;if(r&&r!==h){var p=mo;o(r)!==!1?(bn(r,c.swapClass,!0),mo=r):mo=null,p&&p!==mo&&bn(p,c.swapClass,!1)}l(),n(!0),u()}},drop:function(e){var n=e.activeSortable,r=e.putSortable,o=e.dragEl,s=r||this.sortable,l=this.options;mo&&bn(mo,l.swapClass,!1),mo&&(l.swap||r&&r.options.swap)&&o!==mo&&(s.captureAnimationState(),s!==n&&n.captureAnimationState(),_0(o,mo),s.animateAll(),s!==n&&n.animateAll())},nulling:function(){mo=null}},po(a,{pluginName:"swap",eventProperties:function(){return{swapItem:mo}}})}function _0(a,t){var e=a.parentNode,n=t.parentNode,r,o;!e||!n||e.isEqualNode(t)||n.isEqualNode(a)||(r=xn(a),o=xn(t),e.isEqualNode(n)&&r<o&&o++,e.insertBefore(t,e.children[r]),n.insertBefore(a,n.children[o]))}var Jt=[],Zr=[],od,No,sd=!1,Mr=!1,Kl=!1,tn,ld,Tu;function b0(){function a(t){for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this));t.options.avoidImplicitDeselect||(t.options.supportPointer?_i(document,"pointerup",this._deselectMultiDrag):(_i(document,"mouseup",this._deselectMultiDrag),_i(document,"touchend",this._deselectMultiDrag))),_i(document,"keydown",this._checkKeyDown),_i(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,avoidImplicitDeselect:!1,setData:function(r,o){var s="";Jt.length&&No===t?Jt.forEach(function(l,u){s+=(u?", ":"")+l.textContent}):s=o.textContent,r.setData("Text",s)}}}return a.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(e){var n=e.dragEl;tn=n},delayEnded:function(){this.isMultiDrag=~Jt.indexOf(tn)},setupClone:function(e){var n=e.sortable,r=e.cancel;if(this.isMultiDrag){for(var o=0;o<Jt.length;o++)Zr.push(Oh(Jt[o])),Zr[o].sortableIndex=Jt[o].sortableIndex,Zr[o].draggable=!1,Zr[o].style["will-change"]="",bn(Zr[o],this.options.selectedClass,!1),Jt[o]===tn&&bn(Zr[o],this.options.chosenClass,!1);n._hideClone(),r()}},clone:function(e){var n=e.sortable,r=e.rootEl,o=e.dispatchSortableEvent,s=e.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||Jt.length&&No===n&&(Mm(!0,r),o("clone"),s()))},showClone:function(e){var n=e.cloneNowShown,r=e.rootEl,o=e.cancel;this.isMultiDrag&&(Mm(!1,r),Zr.forEach(function(s){Rt(s,"display","")}),n(),Tu=!1,o())},hideClone:function(e){var n=this;e.sortable;var r=e.cloneNowHidden,o=e.cancel;this.isMultiDrag&&(Zr.forEach(function(s){Rt(s,"display","none"),n.options.removeCloneOnHide&&s.parentNode&&s.parentNode.removeChild(s)}),r(),Tu=!0,o())},dragStartGlobal:function(e){e.sortable,!this.isMultiDrag&&No&&No.multiDrag._deselectMultiDrag(),Jt.forEach(function(n){n.sortableIndex=xn(n)}),Jt=Jt.sort(function(n,r){return n.sortableIndex-r.sortableIndex}),Kl=!0},dragStarted:function(e){var n=this,r=e.sortable;if(this.isMultiDrag){if(this.options.sort&&(r.captureAnimationState(),this.options.animation)){Jt.forEach(function(s){s!==tn&&Rt(s,"position","absolute")});var o=cn(tn,!1,!0,!0);Jt.forEach(function(s){s!==tn&&wm(s,o)}),Mr=!0,sd=!0}r.animateAll(function(){Mr=!1,sd=!1,n.options.animation&&Jt.forEach(function(s){Ah(s)}),n.options.sort&&Ou()})}},dragOver:function(e){var n=e.target,r=e.completed,o=e.cancel;Mr&&~Jt.indexOf(n)&&(r(!1),o())},revert:function(e){var n=e.fromSortable,r=e.rootEl,o=e.sortable,s=e.dragRect;Jt.length>1&&(Jt.forEach(function(l){o.addAnimationState({target:l,rect:Mr?cn(l):s}),Ah(l),l.fromRect=s,n.removeAnimationState(l)}),Mr=!1,C0(!this.options.removeCloneOnHide,r))},dragOverCompleted:function(e){var n=e.sortable,r=e.isOwner,o=e.insertion,s=e.activeSortable,l=e.parentEl,u=e.putSortable,h=this.options;if(o){if(r&&s._hideClone(),sd=!1,h.animation&&Jt.length>1&&(Mr||!r&&!s.options.sort&&!u)){var c=cn(tn,!1,!0,!0);Jt.forEach(function(m){m!==tn&&(wm(m,c),l.appendChild(m))}),Mr=!0}if(!r)if(Mr||Ou(),Jt.length>1){var p=Tu;s._showClone(n),s.options.animation&&!Tu&&p&&Zr.forEach(function(m){s.addAnimationState({target:m,rect:ld}),m.fromRect=ld,m.thisAnimationDuration=null})}else s._showClone(n)}},dragOverAnimationCapture:function(e){var n=e.dragRect,r=e.isOwner,o=e.activeSortable;if(Jt.forEach(function(l){l.thisAnimationDuration=null}),o.options.animation&&!r&&o.multiDrag.isMultiDrag){ld=po({},n);var s=_l(tn,!0);ld.top-=s.f,ld.left-=s.e}},dragOverAnimationComplete:function(){Mr&&(Mr=!1,Ou())},drop:function(e){var n=e.originalEvent,r=e.rootEl,o=e.parentEl,s=e.sortable,l=e.dispatchSortableEvent,u=e.oldIndex,h=e.putSortable,c=h||this.sortable;if(n){var p=this.options,m=o.children;if(!Kl)if(p.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),bn(tn,p.selectedClass,!~Jt.indexOf(tn)),~Jt.indexOf(tn))Jt.splice(Jt.indexOf(tn),1),od=null,Qa({sortable:s,rootEl:r,name:"deselect",targetEl:tn,originalEvent:n});else{if(Jt.push(tn),Qa({sortable:s,rootEl:r,name:"select",targetEl:tn,originalEvent:n}),n.shiftKey&&od&&s.el.contains(od)){var v=xn(od),_=xn(tn);if(~v&&~_&&v!==_){var C,x;for(_>v?(x=v,C=_):(x=_,C=v+1);x<C;x++)~Jt.indexOf(m[x])||(bn(m[x],p.selectedClass,!0),Jt.push(m[x]),Qa({sortable:s,rootEl:r,name:"select",targetEl:m[x],originalEvent:n}))}}else od=tn;No=c}if(Kl&&this.isMultiDrag){if(Mr=!1,(o[hr].options.sort||o!==r)&&Jt.length>1){var S=cn(tn),E=xn(tn,":not(."+this.options.selectedClass+")");if(!sd&&p.animation&&(tn.thisAnimationDuration=null),c.captureAnimationState(),!sd&&(p.animation&&(tn.fromRect=S,Jt.forEach(function(A){if(A.thisAnimationDuration=null,A!==tn){var P=Mr?cn(A):S;A.fromRect=P,c.addAnimationState({target:A,rect:P})}})),Ou(),Jt.forEach(function(A){m[E]?o.insertBefore(A,m[E]):o.appendChild(A),E++}),u===xn(tn))){var D=!1;Jt.forEach(function(A){if(A.sortableIndex!==xn(A)){D=!0;return}}),D&&l("update")}Jt.forEach(function(A){Ah(A)}),c.animateAll()}No=c}(r===o||h&&h.lastPutMode!=="clone")&&Zr.forEach(function(A){A.parentNode&&A.parentNode.removeChild(A)})}},nullingGlobal:function(){this.isMultiDrag=Kl=!1,Zr.length=0},destroyGlobal:function(){this._deselectMultiDrag(),mi(document,"pointerup",this._deselectMultiDrag),mi(document,"mouseup",this._deselectMultiDrag),mi(document,"touchend",this._deselectMultiDrag),mi(document,"keydown",this._checkKeyDown),mi(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(typeof Kl<"u"&&Kl)&&No===this.sortable&&!(e&&Fo(e.target,this.options.draggable,this.sortable.el,!1))&&!(e&&e.button!==0))for(;Jt.length;){var n=Jt[0];bn(n,this.options.selectedClass,!1),Jt.shift(),Qa({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:n,originalEvent:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},po(a,{pluginName:"multiDrag",utils:{select:function(e){var n=e.parentNode[hr];!n||!n.options.multiDrag||~Jt.indexOf(e)||(No&&No!==n&&(No.multiDrag._deselectMultiDrag(),No=n),bn(e,n.options.selectedClass,!0),Jt.push(e))},deselect:function(e){var n=e.parentNode[hr],r=Jt.indexOf(e);!n||!n.options.multiDrag||!~r||(bn(e,n.options.selectedClass,!1),Jt.splice(r,1))}},eventProperties:function(){var e=this,n=[],r=[];return Jt.forEach(function(o){n.push({multiDragElement:o,index:o.sortableIndex});var s;Mr&&o!==tn?s=-1:Mr?s=xn(o,":not(."+e.options.selectedClass+")"):s=xn(o),r.push({multiDragElement:o,index:s})}),{items:W_(Jt),clones:[].concat(Zr),oldIndicies:n,newIndicies:r}},optionListeners:{multiDragKey:function(e){return e=e.toLowerCase(),e==="ctrl"?e="Control":e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}function C0(a,t){Jt.forEach(function(e,n){var r=t.children[e.sortableIndex+(a?Number(n):0)];r?t.insertBefore(e,r):t.appendChild(e)})}function Mm(a,t){Zr.forEach(function(e,n){var r=t.children[e.sortableIndex+(a?Number(n):0)];r?t.insertBefore(e,r):t.appendChild(e)})}function Ou(){Jt.forEach(function(a){a!==tn&&a.parentNode&&a.parentNode.removeChild(a)})}Ut.mount(new v0),Ut.mount(Uh,zh);const Zl=Object.freeze(Object.defineProperty({__proto__:null,MultiDrag:b0,Sortable:Ut,Swap:g0,default:Ut},Symbol.toStringTag,{value:"Module"}));var Gh;const Au=(Gh=Zl==null?void 0:Ut)!==null&&Gh!==void 0?Gh:Zl;class y0{constructor(t,e,n){this.extensionUtility=t,this.pubSubService=e,this.sharedService=n,this._gridColumns=[],this._gridUid="",this._reorderedColumns=[],this._subscriptions=[],this._defaults={dropPlaceHolderText:"Drop a column header here to group by the column",hideGroupSortIcons:!1,hideToggleAllButton:!1,toggleAllButtonText:"",toggleAllPlaceholderText:"Toggle all Groups"},this.columnsGroupBy=[],this.pluginName="DraggableGrouping",this._bindingEventService=new Nn,this._eventHandler=new Slick.EventHandler,this.onGroupChanged=new Slick.Event}get addonOptions(){return this._addonOptions}get dataView(){var t,e,n;return(n=(e=(t=this.grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get dropboxElement(){return this._dropzoneElm}get droppableInstance(){return this._droppableInstance}get sortableLeftInstance(){return this._sortableLeftInstance}get sortableRightInstance(){return this._sortableRightInstance}get eventHandler(){return this._eventHandler}get grid(){var t,e;return(e=(t=this._grid)!==null&&t!==void 0?t:this.sharedService.slickGrid)!==null&&e!==void 0?e:{}}get gridOptions(){var t;return(t=this.sharedService.gridOptions)!==null&&t!==void 0?t:{}}get gridUid(){var t,e;return this._gridUid||((e=(t=this.grid)===null||t===void 0?void 0:t.getUID())!==null&&e!==void 0?e:"")}get gridContainer(){return this.grid.getContainerNode()}init(t,e){var n,r,o,s,l,u;if(this._addonOptions={...this._defaults,...e},this._grid=t,t){if(this._gridUid=t.getUID(),this._gridColumns=t.getColumns(),this._dropzoneElm=t.getPreHeaderPanel(),this._dropzoneElm.classList.add("slick-dropzone"),!this._addonOptions.hideToggleAllButton){this._groupToggler=Re("div",{className:"slick-group-toggle-all",title:(n=this._addonOptions.toggleAllPlaceholderText)!==null&&n!==void 0?n:"",style:{display:"none"}});const h=Re("span",{className:"slick-group-toggle-all-icon"},this._groupToggler);this.gridOptions.enableTranslate&&this._addonOptions.toggleAllButtonTextKey&&(this._addonOptions.toggleAllButtonText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllButtonTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this.gridOptions.enableTranslate&&this._addonOptions.toggleAllPlaceholderTextKey&&(this._addonOptions.toggleAllPlaceholderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.toggleAllPlaceholderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._groupToggler.title=(r=this._addonOptions.toggleAllPlaceholderText)!==null&&r!==void 0?r:"",this._addonOptions.toggleAllButtonText&&this._groupToggler.appendChild(Re("span",{className:"slick-group-toggle-all-text",textContent:this._addonOptions.toggleAllButtonText||""})),this._dropzoneElm.appendChild(this._groupToggler),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuCollapseAllGroups",()=>this.toggleGroupToggler(h,!0,!1)),this.pubSubService.subscribe("onContextMenuExpandAllGroups",()=>this.toggleGroupToggler(h,!1,!1)))}this._dropzonePlaceholderElm=Re("div",{className:"slick-draggable-dropzone-placeholder"},this._dropzoneElm),this.gridOptions.enableTranslate&&(!((o=this._addonOptions)===null||o===void 0)&&o.dropPlaceHolderTextKey)&&(this._addonOptions.dropPlaceHolderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.dropPlaceHolderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._dropzonePlaceholderElm.textContent=(u=(l=(s=this._addonOptions)===null||s===void 0?void 0:s.dropPlaceHolderText)!==null&&l!==void 0?l:this._defaults.dropPlaceHolderText)!==null&&u!==void 0?u:"",this.setupColumnDropbox(),this._eventHandler.subscribe(t.onHeaderCellRendered,(h,c)=>{var p;const m=c.node;if(!lh((p=c.column)===null||p===void 0?void 0:p.grouping)&&m&&(m.style.cursor="pointer",this._addonOptions.groupIconCssClass)){const v=Re("span",{className:"slick-column-groupable"},m);this._addonOptions.groupIconCssClass&&v.classList.add(...this._addonOptions.groupIconCssClass.split(" "))}}),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuClearGrouping",()=>this.clearDroppedGroups()));for(const h of this._gridColumns){const c=h.field;t.updateColumnHeader(c)}}return this}dispose(){this.destroySortableInstances(),this.onGroupChanged.unsubscribe(),this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingEventService.unbindAll(),on(this.gridContainer.querySelector(`.${this.gridUid} .slick-preheader-panel`))}clearDroppedGroups(){this.columnsGroupBy=[],this.updateGroupBy("clear-all");const t=this._dropzoneElm.querySelectorAll(".slick-dropped-grouping");for(const e of Array.from(t)){const n=this._dropzoneElm.querySelector(".slick-groupby-remove");n==null||n.remove(),e==null||e.remove()}this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")}destroySortableInstances(){var t,e,n,r;!((t=this._sortableLeftInstance)===null||t===void 0)&&t.el&&((e=this._sortableLeftInstance)===null||e===void 0||e.destroy()),!((n=this._sortableRightInstance)===null||n===void 0)&&n.el&&((r=this._sortableRightInstance)===null||r===void 0||r.destroy())}setAddonOptions(t){this._addonOptions={...this._addonOptions,...t}}setColumns(t){this._gridColumns=t}setDroppedGroups(t){this._dropzonePlaceholderElm.style.display="none";const e=Array.isArray(t)?t:[t];for(const n of e){const r=this.grid.getHeaderColumn(n);this.handleGroupByDrop(this._dropzoneElm,r)}}setupColumnReorder(t,e,n,r,o,s,l,u,h){this.destroySortableInstances();const c=t.getPreHeaderPanel(),p=c.querySelector(".slick-draggable-dropzone-placeholder"),m=c.querySelector(".slick-group-toggle-all"),v={animation:50,chosenClass:"slick-header-column-active",ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dataIdAttr:"data-id",group:{name:"shared",pull:"clone",put:!1},revertClone:!0,onStart:()=>{p&&(p.style.display="inline-block"),c.querySelectorAll(".slick-dropped-grouping").forEach(C=>C.style.display="none"),m&&(m.style.display="none")},onEnd:_=>{var C,x,S,E,D;c==null||c.classList.remove("slick-dropzone-hover"),(C=p==null?void 0:p.parentElement)===null||C===void 0||C.classList.remove("slick-dropzone-placeholder-hover");const A=c.querySelectorAll(".slick-dropped-grouping");if(A.forEach(Z=>Z.style.display="flex"),A.length&&(p&&(p.style.display="none"),m&&(m.style.display="inline-block")),!t.getEditorLock().commitCurrentEdit())return;const P=(S=(x=this.sortableLeftInstance)===null||x===void 0?void 0:x.toArray())!==null&&S!==void 0?S:[];if(e.length>1){const Z=(D=(E=this._sortableRightInstance)===null||E===void 0?void 0:E.toArray())!==null&&D!==void 0?D:[];for(const L of Z)P.push(L)}const M=[],B=t.getColumns();for(const Z of P)M.push(B[l(Z)]);r(M),h(t.onColumnsReordered,{grid:t}),_.stopPropagation(),o()}};return this._sortableLeftInstance=Au.create(this.gridContainer.querySelector(`.${t.getUID()} .slick-header-columns.slick-header-columns-left`),v),this._sortableRightInstance=Au.create(this.gridContainer.querySelector(`.${t.getUID()} .slick-header-columns.slick-header-columns-right`),v),{sortableLeftInstance:this._sortableLeftInstance,sortableRightInstance:this._sortableRightInstance}}addColumnGroupBy(t){this.columnsGroupBy.push(t),this.updateGroupBy("add-group")}addGroupByRemoveClickHandler(t,e,n,r){this._bindingEventService.bind(e,"click",()=>{const o=this._bindingEventService.boundedEvents.filter(s=>s.element===e);for(const s of o)this._bindingEventService.unbind(s.element,"click",s.listener);this.removeGroupBy(t,n,r)})}addGroupSortClickHandler(t,e){const{grouping:n,type:r}=t;this._bindingEventService.bind(e,"click",()=>{if(this.toggleGroupAll(t,!1),n){const o=n.sortAsc?ji.desc:ji.asc;n.comparer=(s,l)=>Gl(r||"text",s.value,l.value,o,t,this.gridOptions),this.getGroupBySortIcon(e,!n.sortAsc),this.updateGroupBy("sort-group"),n.sortAsc=!n.sortAsc,this.grid.invalidate()}})}getGroupBySortIcon(t,e=!0){var n,r,o,s;e?this._addonOptions.sortAscIconCssClass?(t.classList.remove(...(r=(n=this._addonOptions.sortDescIconCssClass)===null||n===void 0?void 0:n.split(" "))!==null&&r!==void 0?r:""),t.classList.add(...this._addonOptions.sortAscIconCssClass.split(" "))):(t.classList.add("slick-groupby-sort-asc-icon"),t.classList.remove("slick-groupby-sort-desc-icon")):this._addonOptions.sortDescIconCssClass?(t.classList.remove(...(s=(o=this._addonOptions.sortAscIconCssClass)===null||o===void 0?void 0:o.split(" "))!==null&&s!==void 0?s:""),t.classList.add(...this._addonOptions.sortDescIconCssClass.split(" "))):this._addonOptions.sortDescIconCssClass||(t.classList.add("slick-groupby-sort-desc-icon"),t.classList.remove("slick-groupby-sort-asc-icon"))}handleGroupByDrop(t,e){var n,r,o;const s=(n=e.getAttribute("data-id"))===null||n===void 0?void 0:n.replace(this._gridUid,"");let l=!0;for(const u of this.columnsGroupBy)u.id===s&&(l=!1);if(l){for(const u of this._gridColumns)if(u.id===s&&u.grouping&&!lh(u.grouping)){const h=e.querySelector(".slick-column-name"),c=Re("div",{id:`${this._gridUid}_${u.id}_entry`,className:"slick-dropped-grouping",dataset:{id:`${u.id}`}});Re("div",{className:"slick-dropped-grouping-title",style:{display:"inline-flex"},textContent:h?h.textContent:e.textContent},c);const p=Re("div",{className:"slick-groupby-remove"});this._addonOptions.deleteIconCssClass&&p.classList.add(...this._addonOptions.deleteIconCssClass.split(" ")),this._addonOptions.deleteIconCssClass||p.classList.add("slick-groupby-remove-icon");let m;((r=this._addonOptions)===null||r===void 0?void 0:r.hideGroupSortIcons)!==!0&&u.sortable&&(((o=u.grouping)===null||o===void 0?void 0:o.sortAsc)===void 0&&(u.grouping.sortAsc=!0),m=Re("div",{className:"slick-groupby-sort"},c),this.getGroupBySortIcon(m,u.grouping.sortAsc)),c.appendChild(p),c.appendChild(document.createElement("div")),t.appendChild(c),this._groupToggler&&this.columnsGroupBy.length===0&&this.toggleGroupAll(u),this.addColumnGroupBy(u),this.addGroupByRemoveClickHandler(u.id,p,e,c),m&&this.addGroupSortClickHandler(u,m)}this._groupToggler&&this.columnsGroupBy.length>0&&(this._groupToggler.style.display="inline-block")}}toggleGroupAll({grouping:t},e){var n;const r=(n=this._groupToggler)===null||n===void 0?void 0:n.querySelector(".slick-group-toggle-all-icon");e===!0||t!=null&&t.collapsed?(r==null||r.classList.add("collapsed"),r==null||r.classList.remove("expanded")):(r==null||r.classList.add("expanded"),r==null||r.classList.remove("collapsed"))}removeFromArray(t,e){if(Array.isArray(t)){const n=t.findIndex(r=>r.id===e.id);n>=0&&t.splice(n,1)}return t}removeGroupBy(t,e,n){n.remove();const r=[];this._gridColumns.forEach(o=>r[o.id]=o),this.removeFromArray(this.columnsGroupBy,r[t]),this.columnsGroupBy.length===0&&(this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")),this.updateGroupBy("remove-group")}addDragOverDropzoneListeners(){const t=this._dropzoneElm.querySelector(".slick-draggable-dropzone-placeholder");t&&this._dropzoneElm&&(this._bindingEventService.bind(t,"dragover",e=>e.preventDefault()),this._bindingEventService.bind(t,"dragenter",()=>this._dropzoneElm.classList.add("slick-dropzone-hover")),this._bindingEventService.bind(t,"dragleave",()=>this._dropzoneElm.classList.remove("slick-dropzone-hover")))}setupColumnDropbox(){const t=this._dropzoneElm;this._droppableInstance=Au.create(t,{group:"shared",ghostClass:"slick-droppable-sortitem-hover",draggable:".slick-dropped-grouping",dragoverBubble:!0,onAdd:e=>{var n,r;const o=e.item;!((n=o.getAttribute("id"))===null||n===void 0)&&n.replace(this._gridUid,"")&&this.handleGroupByDrop(t,Au.utils.clone(e.item)),(r=o.parentNode)===null||r===void 0||r.removeChild(o)},onUpdate:()=>{var e,n;const r=(n=(e=this._droppableInstance)===null||e===void 0?void 0:e.toArray())!==null&&n!==void 0?n:[],o=[];for(const s of r)for(const l of this.columnsGroupBy)if(l.id===s){o.push(l);break}this.columnsGroupBy=o,this.updateGroupBy("sort-group")}}),this.addDragOverDropzoneListeners(),this._groupToggler&&this._bindingEventService.bind(this._groupToggler,"click",e=>{const n=e.target.classList.contains("slick-group-toggle-all-icon")?e.target:e.currentTarget.querySelector(".slick-group-toggle-all-icon");this.toggleGroupToggler(n,n==null?void 0:n.classList.contains("expanded"))})}toggleGroupToggler(t,e=!0,n=!0){t&&(e===!0?(t.classList.add("collapsed"),t.classList.remove("expanded"),n&&this.dataView.collapseAllGroups()):(t.classList.remove("collapsed"),t.classList.add("expanded"),n&&this.dataView.expandAllGroups()))}updateGroupBy(t){if(this.columnsGroupBy.length===0){this.dataView.setGrouping([]),this._dropzonePlaceholderElm.style.display="inline-block",this.triggerOnGroupChangedEvent({caller:t,groupColumns:[]});return}const e=[];this.columnsGroupBy.forEach(n=>e.push(n.grouping)),this.dataView.setGrouping(e),this._dropzonePlaceholderElm.style.display="none",this.triggerOnGroupChangedEvent({caller:t,groupColumns:e})}triggerOnGroupChangedEvent(t){this._addonOptions&&typeof this._addonOptions.onGroupChanged=="function"&&this._addonOptions.onGroupChanged(new Slick.EventData,t),this.onGroupChanged.notify(t)}}class Nm{constructor(){this._defaults={groupCssClass:"slick-group",groupTitleCssClass:"slick-group-title",totalsCssClass:"slick-group-totals",groupFocusable:!0,indentation:15,totalsFocusable:!1,toggleCssClass:"slick-group-toggle",toggleExpandedCssClass:"expanded",toggleCollapsedCssClass:"collapsed",enableExpandCollapse:!0,groupFormatter:this.defaultGroupCellFormatter.bind(this),totalsFormatter:this.defaultTotalsCellFormatter.bind(this),includeHeaderTotals:!1},this._eventHandler=new Slick.EventHandler,this._options=this._defaults}get eventHandler(){return this._eventHandler}get dataView(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get grid(){return this._grid}init(t,e){this._grid=t,this._options={...this._defaults,...e},this._eventHandler.subscribe(t.onClick,this.handleGridClick.bind(this)),this._eventHandler.subscribe(t.onKeyDown,this.handleGridKeyDown.bind(this))}dispose(){var t;(t=this._eventHandler)===null||t===void 0||t.unsubscribeAll()}getOptions(){return this._options}setOptions(t){this._options={...this._options,...t}}getGroupRowMetadata(t){return{selectable:!1,focusable:this._options.groupFocusable,cssClasses:`${this._options.groupCssClass} slick-group-level-${(t==null?void 0:t.level)||0}`,formatter:this._options.includeHeaderTotals&&this._options.totalsFormatter,columns:{0:{colspan:this._options.includeHeaderTotals?"1":"*",formatter:this._options.groupFormatter,editor:null}}}}getTotalsRowMetadata(t){var e;return{selectable:!1,focusable:this._options.totalsFocusable,cssClasses:`${this._options.totalsCssClass} slick-group-level-${((e=t==null?void 0:t.group)===null||e===void 0?void 0:e.level)||0}`,formatter:this._options.totalsFormatter,editor:null}}defaultGroupCellFormatter(t,e,n,r,o){var s,l;if(!this._options.enableExpandCollapse)return o.title;const u=o.level||0,h=(l=(s=this._options)===null||s===void 0?void 0:s.indentation)!==null&&l!==void 0?l:15,c=`${u*h}px`,p=o.collapsed?this._options.toggleCollapsedCssClass:this._options.toggleExpandedCssClass;return`<span class="${this._options.toggleCssClass} ${p}" aria-expanded="${!o.collapsed}" style="margin-left: ${c}"></span><span class="${this._options.groupTitleCssClass}" level="${u}">${o.title||""}</span>`}defaultTotalsCellFormatter(t,e,n,r,o,s){var l,u;return(u=(l=r==null?void 0:r.groupTotalsFormatter)===null||l===void 0?void 0:l.call(r,o,r,s))!==null&&u!==void 0?u:""}handleGridClick(t,e){const n=t.target,r=this.grid.getDataItem(e.row);r instanceof Slick.Group&&n.classList.contains(this._options.toggleCssClass||"")&&(this.handleDataViewExpandOrCollapse(r),t.stopImmediatePropagation(),t.preventDefault())}handleGridKeyDown(t){if(this._options.enableExpandCollapse&&t.keyCode===xi.SPACE){const e=this.grid.getActiveCell();if(e){const n=this.grid.getDataItem(e.row);n instanceof Slick.Group&&(this.handleDataViewExpandOrCollapse(n),t.stopImmediatePropagation(),t.preventDefault())}}}handleDataViewExpandOrCollapse(t){const e=this.grid.getRenderedRange();this.dataView.setRefreshHints({ignoreDiffsBefore:e.top,ignoreDiffsAfter:e.bottom+1}),t.collapsed?this.dataView.expandGroup(t.groupingKey):this.dataView.collapseGroup(t.groupingKey)}}class E0 extends lu{constructor(t,e,n){super(t,e,n),this.extensionUtility=t,this.pubSubService=e,this.sharedService=n,this._buttonElms=[],this._defaults={buttonCssClass:"slick-header-button"},this.pluginName="HeaderButtons",this._menuCssPrefix="slick-header-button",this._camelPluginName="headerButtons",this._bindEventService=new Nn,this._eventHandler=new Slick.EventHandler,this.init(n.gridOptions.headerButton)}get addonOptions(){return this._addonOptions}set addonOptions(t){this._addonOptions=t}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}init(t){this._addonOptions={...this._defaults,...t},this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this.grid.setColumns(this.grid.getColumns())}dispose(){super.dispose(),this._buttonElms.forEach(t=>t.remove())}handleHeaderCellRendered(t,e){var n;const r=e.column;if(!((n=r.header)===null||n===void 0)&&n.buttons&&Array.isArray(r.header.buttons)){let o=r.header.buttons.length;for(;o--;){const s=r.header.buttons[o],l=this.populateSingleCommandOrOptionItem("command",this.addonOptions,null,s,e,this.handleButtonClick.bind(this));l&&s.handler&&!s.disabled&&this._bindEventService.bind(l,"click",u=>s.handler.call(this,u)),l&&(this._buttonElms.push(l),e.node.appendChild(l))}}}handleBeforeHeaderCellDestroy(t,e){var n,r,o;if(!((n=e.column.header)===null||n===void 0)&&n.buttons&&(!((r=this._addonOptions)===null||r===void 0)&&r.buttonCssClass)){const l=(((o=this._addonOptions)===null||o===void 0?void 0:o.buttonCssClass)||"").replace(/(\s+)/g,".");l&&e.node.querySelectorAll(`.${l}`).forEach(u=>u.remove())}}handleButtonClick(t,e,n,r,o){var s;if(n.command&&!n.disabled){const l=n.command||"",u={grid:this.grid,column:o,button:n};l&&(u.command=l),typeof n.action=="function"&&!n.disabled&&n.action.call(this,t,u),l!==null&&!n.disabled&&(!((s=this._addonOptions)===null||s===void 0)&&s.onCommand)&&(this.pubSubService.publish("onHeaderButtonCommand",u),this._addonOptions.onCommand(t,u),o!=null&&o.id&&this.grid.updateColumnHeader(o.id))}t.preventDefault(),t.stopPropagation()}}class S0 extends lu{constructor(t,e,n,r,o){super(t,n,r),this.extensionUtility=t,this.filterService=e,this.pubSubService=n,this.sharedService=r,this.sortService=o,this._subMenuParentId="",this._defaults={autoAlign:!0,autoAlignOffset:0,buttonCssClass:null,buttonImage:null,minWidth:100,hideColumnHideCommand:!1,hideSortCommands:!1,title:"",subMenuOpenByEvent:"mouseover"},this.pluginName="HeaderMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-header-menu",this._camelPluginName="headerMenu",this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(this.sharedService.columnDefinitions),this.init(r.gridOptions.headerMenu)}init(t){this._addonOptions={...this._defaults,...t},this._eventHandler.subscribe(this.grid.onBeforeSetColumns,(e,n)=>{this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(n.newColumns)}),this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this.grid.setColumns(this.grid.getColumns()),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}dispose(){var t;super.dispose(),this._menuElm=this._menuElm||document.body.querySelector(`.slick-header-menu${this.gridUidSelector}`),(t=this._menuElm)===null||t===void 0||t.remove(),this._activeHeaderColumnElm=void 0}hideColumn(t){var e,n,r;if(!((n=(e=this.sharedService)===null||e===void 0?void 0:e.slickGrid)===null||n===void 0)&&n.getColumnIndex){const o=this.sharedService.slickGrid.getColumnIndex(t.id),s=this.sharedService.slickGrid.getColumns(),l=(r=this.sharedService.gridOptions.frozenColumn)!==null&&r!==void 0?r:-1;l>=0&&l>=o&&(this.sharedService.gridOptions.frozenColumn=l-1,this.sharedService.slickGrid.setOptions({frozenColumn:this.sharedService.gridOptions.frozenColumn}));const u=oh(s,o);this.sharedService.visibleColumns=u,this.sharedService.slickGrid.setColumns(u),this.pubSubService.publish("onHeaderMenuHideColumns",{columns:u,hiddenColumn:t})}}hideMenu(){var t,e;this.disposeSubMenus(),(t=this._menuElm)===null||t===void 0||t.remove(),this._menuElm=void 0,(e=this._activeHeaderColumnElm)===null||e===void 0||e.classList.remove("slick-header-column-active")}repositionSubMenu(t,e,n,r){const o=this.createCommandMenu(e.commandItems||e.items||[],r,n+1,e);document.body.appendChild(o),this.repositionMenu(t,o)}repositionMenu(t,e){var n,r,o,s,l,u,h,c,p;const m=t.target,v=e.classList.contains("slick-submenu"),_=v?t.target.closest(".slick-menu-item"):m,C=x_(this.sharedService.gridContainerElement,m),x=this.grid.getGridPosition(),S=e.offsetWidth,E=Gn(_);let D=v?(n=E==null?void 0:E.left)!==null&&n!==void 0?n:0:(r=C==null?void 0:C.left)!==null&&r!==void 0?r:0,A=v?(o=E==null?void 0:E.top)!==null&&o!==void 0?o:0:((s=C==null?void 0:C.top)!==null&&s!==void 0?s:0)+((u=(l=this.addonOptions)===null||l===void 0?void 0:l.menuOffsetTop)!==null&&u!==void 0?u:0)+m.clientHeight;if(v){const P=(e==null?void 0:e.clientHeight)||0,{bottom:M,top:B}=ou(_);(M<P&&B>M?"top":"bottom")==="top"?(e.classList.remove("dropdown"),e.classList.add("dropup"),A-=P-_.clientHeight):(e.classList.remove("dropup"),e.classList.add("dropdown"))}if(v&&_){const P=D+Number(S)+_.clientWidth,M=document.documentElement.clientWidth;(P>=x.width||P>=M?"left":"right")==="left"?(e.classList.remove("dropright"),e.classList.add("dropleft"),D-=S):(e.classList.remove("dropleft"),e.classList.add("dropright"),D+=_.offsetWidth)}else D=(h=C==null?void 0:C.left)!==null&&h!==void 0?h:0,this.addonOptions.autoAlign&&(x!=null&&x.width)&&D+((c=e.clientWidth)!==null&&c!==void 0?c:0)>=x.width&&(D=D+m.clientWidth-e.clientWidth+(((p=this.addonOptions)===null||p===void 0?void 0:p.autoAlignOffset)||0));e.style.top=`${A}px`,e.style.left=`${D}px`,this._activeHeaderColumnElm=this.grid.getContainerNode().querySelector(":not(.slick-preheader-panel) >.slick-header-columns"),this._activeHeaderColumnElm&&this._activeHeaderColumnElm.classList.add("slick-header-column-active")}translateHeaderMenu(){var t;!((t=this.sharedService.gridOptions)===null||t===void 0)&&t.headerMenu&&this.resetHeaderMenuTranslations(this.sharedService.visibleColumns)}handleHeaderCellRendered(t,e){var n;const o=(n=e.column.header)===null||n===void 0?void 0:n.menu;if(o!=null&&o.items&&console.warn('[Slickgrid-Universal] Header Menu "items" property was deprecated in favor of "commandItems" to align with all other Menu plugins.'),o&&e.node){if(!this.extensionUtility.runOverrideFunctionWhenExists(this.addonOptions.menuUsabilityOverride,e))return;const s=Re("div",{className:"slick-header-menu-button",ariaLabel:"Header Menu"},e.node);this.addonOptions.buttonCssClass&&s.classList.add(...this.addonOptions.buttonCssClass.split(" ")),this.addonOptions.tooltip&&(s.title=this.addonOptions.tooltip),this._bindEventService.bind(s,"click",l=>{this.disposeAllMenus(),this.createParentMenu(l,e.column,o)})}}handleBeforeHeaderCellDestroy(t,e){var n;!((n=e.column.header)===null||n===void 0)&&n.menu&&e.node.querySelectorAll(".slick-header-menu-button").forEach(o=>o.remove())}handleBodyMouseDown(t){if(this.menuElement){let e=!1;const n=t.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(t.target)||n)&&(e=!0),(this._menuElm!==t.target&&!e&&!t.defaultPrevented||t.target.className==="close"&&n)&&this.hideMenu()}}handleMenuItemCommandClick(t,e,n,r=0,o){var s;if(n!=="divider"&&!n.disabled&&!n.divider)if((n.command||"")&&!n.commandItems&&!n.items){const u={grid:this.grid,command:n.command,column:o,item:n};this.executeHeaderMenuInternalCommands(t,u),this.pubSubService.publish("onHeaderMenuCommand",u),typeof((s=this.addonOptions)===null||s===void 0?void 0:s.onCommand)=="function"&&this.addonOptions.onCommand(t,u),typeof n.action=="function"&&n.action.call(this,t,u),t.defaultPrevented||this.hideMenu(),t.preventDefault(),t.stopPropagation()}else(n.commandItems||n.items)&&this.repositionSubMenu(t,n,r,o)}handleMenuItemMouseOver(t,e,n,r=0,o){n!=="divider"&&!n.disabled&&!n.divider&&(n.commandItems||n.items?this.repositionSubMenu(t,n,r,o):r===0&&this.disposeSubMenus())}addHeaderMenuCustomCommands(t){const e=this.sharedService.gridOptions,n=e.headerMenu||{},r=co(e);return Array.isArray(t)&&e.enableHeaderMenu&&t.forEach(o=>{var s,l,u,h,c,p;if(o&&!o.excludeFromHeaderMenu){o.header?o.header.menu||(o.header.menu={commandItems:[]}):o.header={menu:{commandItems:[]}};const m=(p=(u=(l=(s=o==null?void 0:o.header)===null||s===void 0?void 0:s.menu)===null||l===void 0?void 0:l.commandItems)!==null&&u!==void 0?u:(c=(h=o==null?void 0:o.header)===null||h===void 0?void 0:h.menu)===null||c===void 0?void 0:c.items)!==null&&p!==void 0?p:[];let v=!1;n&&!n.hideFreezeColumnsCommand&&(v=!0,m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="freeze-columns")||m.push({iconCssClass:n.iconFreezeColumns||"fa fa-thumb-tack",titleKey:`${r}FREEZE_COLUMNS`,command:"freeze-columns",positionOrder:47})),n&&!n.hideColumnResizeByContentCommand&&this.sharedService.gridOptions.enableColumnResizeOnDoubleClick&&(v=!0,m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="column-resize-by-content")||m.push({iconCssClass:n.iconColumnResizeByContentCommand||"fa fa-arrows-h",titleKey:`${r}COLUMN_RESIZE_BY_CONTENT`,command:"column-resize-by-content",positionOrder:48})),v&&!m.some(_=>_!=="divider"&&_.positionOrder===49)&&m.push({divider:!0,command:"",positionOrder:49}),e.enableSorting&&o.sortable&&n&&!n.hideSortCommands&&(m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="sort-asc")||m.push({iconCssClass:n.iconSortAscCommand||"fa fa-sort-asc",titleKey:`${r}SORT_ASCENDING`,command:"sort-asc",positionOrder:50}),m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="sort-desc")||m.push({iconCssClass:n.iconSortDescCommand||"fa fa-sort-desc",titleKey:`${r}SORT_DESCENDING`,command:"sort-desc",positionOrder:51}),m.some(_=>_!=="divider"&&_.positionOrder===52)||m.push({divider:!0,command:"",positionOrder:52}),!n.hideClearSortCommand&&!m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="clear-sort")&&m.push({iconCssClass:n.iconClearSortCommand||"fa fa-unsorted",titleKey:`${r}REMOVE_SORT`,command:"clear-sort",positionOrder:54})),e.enableFiltering&&o.filterable&&n&&!n.hideFilterCommand&&!n.hideClearFilterCommand&&!m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="clear-filter")&&m.push({iconCssClass:n.iconClearFilterCommand||"fa fa-filter",titleKey:`${r}REMOVE_FILTER`,command:"clear-filter",positionOrder:53}),n&&!n.hideColumnHideCommand&&!m.some(_=>_!=="divider"&&(_==null?void 0:_.command)==="hide-column")&&m.push({iconCssClass:n.iconColumnHideCommand||"fa fa-times",titleKey:`${r}HIDE_COLUMN`,command:"hide-column",positionOrder:55}),this.extensionUtility.translateMenuItemsFromTitleKey(m),this.extensionUtility.sortItems(m,"positionOrder")}}),n}clearColumnFilter(t,e){e!=null&&e.column&&this.filterService.clearFilterByColumnId(t,e.column.id)}clearColumnSort(t,e){e!=null&&e.column&&this.sharedService&&this.sortService.clearSortByColumnId(t,e.column.id)}executeHeaderMenuInternalCommands(t,e){var n;if(e!=null&&e.command)switch(e.command){case"hide-column":this.hideColumn(e.column),!((n=this.sharedService.gridOptions)===null||n===void 0)&&n.enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"clear-filter":this.clearColumnFilter(t,e);break;case"clear-sort":this.clearColumnSort(t,e);break;case"column-resize-by-content":this.pubSubService.publish("onHeaderMenuColumnResizeByContent",{columnId:e.column.id});break;case"freeze-columns":const r=[...this.sharedService.visibleColumns],s={frozenColumn:r.findIndex(c=>c.id===e.column.id),enableMouseWheelScrollHandler:!0},l=this.sharedService.slickGrid.getColumns();this.sharedService.slickGrid.setOptions(s,!1,!0),this.sharedService.gridOptions.frozenColumn=s.frozenColumn,this.sharedService.gridOptions.enableMouseWheelScrollHandler=s.enableMouseWheelScrollHandler,this.sharedService.frozenVisibleColumnId=e.column.id,this.sharedService.hasColumnsReordered||Array.isArray(r)&&Array.isArray(this.sharedService.allColumns)&&r.length!==this.sharedService.allColumns.length?this.sharedService.slickGrid.setColumns(r):this.sharedService.slickGrid.setColumns(l),this.sharedService.slickGrid.getOptions().enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"sort-asc":case"sort-desc":const h=e.command==="sort-asc";this.sortColumn(t,e,h);break}}createParentMenu(t,e,n){var r,o,s,l,u;const h={grid:this.grid,column:e,menu:n};typeof t.stopPropagation=="function"&&(this.pubSubService.publish("onHeaderMenuBeforeMenuShow",h),typeof((r=this.addonOptions)===null||r===void 0?void 0:r.onBeforeMenuShow)=="function"&&((o=this.addonOptions)===null||o===void 0?void 0:o.onBeforeMenuShow(t,h))===!1)||(this._menuElm=this.createCommandMenu(n.commandItems||n.items,e),(s=this.grid.getContainerNode())===null||s===void 0||s.appendChild(this._menuElm),this.repositionMenu(t,this._menuElm),this.pubSubService.publish("onHeaderMenuAfterMenuShow",h),!(typeof((l=this.addonOptions)===null||l===void 0?void 0:l.onAfterMenuShow)=="function"&&((u=this.addonOptions)===null||u===void 0?void 0:u.onAfterMenuShow(t,h))===!1)&&(t.preventDefault(),t.stopPropagation()))}createCommandMenu(t,e,n=0,r){const o=r==null?void 0:r.command;let s=n===1&&o?o.replace(/\s/g,""):"";s&&(this._subMenuParentId=s),n>1&&(s=this._subMenuParentId);const l=`${this.menuCssClass} slick-menu-level-${n} ${this.gridUid}`,u=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${n}${this.gridUidSelector}`);if(u){if(u.dataset.subMenuParent===s)return u;this.disposeSubMenus()}const h=Re("div",{ariaExpanded:"true",ariaLabel:n>1?"SubMenu":"Header Menu",role:"menu",className:l,style:{minWidth:`${this.addonOptions.minWidth}px`}});n>0&&(h.classList.add("slick-submenu"),s&&(h.dataset.subMenuParent=s));const c=Re("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},h),p={grid:this.grid,column:e,level:n,menu:{commandItems:t}};return r&&n>0&&this.addSubMenuTitleWhenExists(r,c),this.populateCommandOrOptionItems("command",this.addonOptions,c,t,p,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),n++,h}resetHeaderMenuTranslations(t){t.forEach(e=>{var n,r,o,s,l;if(((o=(r=(n=e==null?void 0:e.header)===null||n===void 0?void 0:n.menu)===null||r===void 0?void 0:r.commandItems)!==null&&o!==void 0?o:!((l=(s=e==null?void 0:e.header)===null||s===void 0?void 0:s.menu)===null||l===void 0)&&l.items)&&!e.excludeFromHeaderMenu){const u=e.header.menu.commandItems||e.header.menu.items||[];this.extensionUtility.translateMenuItemsFromTitleKey(u)}})}sortColumn(t,e,n=!0){if(e!=null&&e.column){const r=e.column,o=this.sharedService.gridOptions.multiColumnSort?this.sortService.getCurrentColumnSorts(r.id+""):[];let s=Ji.local;o.push({columnId:r.id,sortCol:r,sortAsc:n}),this.sharedService.gridOptions.backendServiceApi?(this.sortService.onBackendSortChanged(t,{multiColumnSort:!0,sortCols:o,grid:this.sharedService.slickGrid}),s=Ji.remote):this.sharedService.dataView?(this.sortService.onLocalSortChanged(this.sharedService.slickGrid,o),s=Ji.local):e.grid.onSort.notify(o);const l=o.map(u=>{var h,c,p;return{columnId:(c=(h=u==null?void 0:u.sortCol)===null||h===void 0?void 0:h.id)!==null&&c!==void 0?c:"",sortAsc:(p=u==null?void 0:u.sortAsc)!==null&&p!==void 0?p:!0}});if(this.sharedService.slickGrid.setSortColumns(l),s){const u=[];l.forEach(h=>{u.push({columnId:`${h.columnId}`,direction:h.sortAsc?"ASC":"DESC"})}),this.sortService.emitSortChanged(s,u)}}}}class Lm{constructor(t){this.pubSubService=t,this._dragging=!1,this._handler=new Slick.EventHandler,this._defaults={autoScroll:!0,columnId:"_move",cssClass:"slick-row-move-column",cancelEditOnDrag:!1,disableRowSelection:!1,hideRowMoveShadow:!0,rowMoveShadowMarginTop:0,rowMoveShadowMarginLeft:0,rowMoveShadowOpacity:.9,rowMoveShadowScale:.75,singleRowMove:!1,width:40},this.onBeforeMoveRows=new Slick.Event,this.onMoveRows=new Slick.Event,this.pluginName="RowMoveManager",this._eventHandler=new Slick.EventHandler}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get gridOptions(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getOptions)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}init(t,e){var n;this._addonOptions={...this._defaults,...e},this._grid=t,this._canvas=this._grid.getCanvasNode(),typeof((n=this._addonOptions)===null||n===void 0?void 0:n.usabilityOverride)=="function"&&this.usabilityOverride(this._addonOptions.usabilityOverride),this._eventHandler.subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this))}dispose(){var t;(t=this._eventHandler)===null||t===void 0||t.unsubscribeAll()}create(t,e){var n,r;if(this._addonOptions={...this._defaults,...e.rowMoveManager},Array.isArray(t)&&e){const o=this.getColumnDefinition();if(!t.some(s=>s.id===o.id)){const s=Array.isArray(t)&&t.find(h=>(h==null?void 0:h.behavior)==="selectAndMove"),l=s||o,u=(r=(n=e==null?void 0:e.rowMoveManager)===null||n===void 0?void 0:n.columnIndexPosition)!==null&&r!==void 0?r:0;u>0?t.splice(u,0,l):t.unshift(l),this.pubSubService.publish("onPluginColumnsChanged",{columns:t,pluginName:this.pluginName})}}return this}getColumnDefinition(){var t,e;const n=String((e=(t=this._addonOptions)===null||t===void 0?void 0:t.columnId)!==null&&e!==void 0?e:this._defaults.columnId);return{id:n,name:"",behavior:"selectAndMove",excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,field:n,resizable:!1,selectable:!1,width:this._addonOptions.width||40,formatter:this.moveIconFormatter.bind(this)}}usabilityOverride(t){this._usabilityOverride=t}setOptions(t){this._addonOptions={...this._addonOptions,...t}}handleDragInit(t){t.stopImmediatePropagation()}handleDragEnd(t,e){var n,r,o;if(this._dragging&&(this._dragging=!1,t.stopImmediatePropagation(),(n=e.guide)===null||n===void 0||n.remove(),(r=e.selectionProxy)===null||r===void 0||r.remove(),(o=e.clonedSlickRow)===null||o===void 0||o.remove(),e.canMove)){const s={grid:this._grid,rows:e.selectedRows,insertBefore:e.insertBefore};typeof this._addonOptions.onMoveRows=="function"&&this._addonOptions.onMoveRows(t,s),this.onMoveRows.notify(s)}}handleDrag(t,e){var n,r,o,s,l,u;if(this._dragging){t.stopImmediatePropagation();const c=((r=(n=t==null?void 0:t.touches)===null||n===void 0?void 0:n[0])!==null&&r!==void 0?r:t).pageY-((s=(o=Gn(this._canvas))===null||o===void 0?void 0:o.top)!==null&&s!==void 0?s:0);e.selectionProxy.style.top=`${c-5}px`,e.selectionProxy.style.display="block",e.clonedSlickRow&&(e.clonedSlickRow.style.top=`${c-6}px`,e.clonedSlickRow.style.display="block");const p=Math.max(0,Math.min(Math.round(c/(this.gridOptions.rowHeight||0)),this._grid.getDataLength()));if(p!==e.insertBefore){const m={grid:this._grid,rows:e.selectedRows,insertBefore:p};if(((u=(l=this._addonOptions)===null||l===void 0?void 0:l.onBeforeMoveRows)===null||u===void 0?void 0:u.call(l,t,m))===!1||this.onBeforeMoveRows.notify(m).getReturnValue()===!1?e.canMove=!1:e.canMove=!0,this._usabilityOverride&&e.canMove){const v=this._grid.getDataItem(p);e.canMove=this.checkUsabilityOverride(p,v,this._grid)}e.canMove?e.guide.style.top=`${p*(this.gridOptions.rowHeight||0)}px`:e.guide.style.top="-1000px",e.insertBefore=p}}}handleDragStart(t,e){var n,r,o,s,l,u,h;const c=this._grid.getCellFromEvent(t)||{cell:-1,row:-1},p=c.row,m=this._grid.getDataItem(p);if(this.checkUsabilityOverride(p,m,this._grid)){if(this._addonOptions.cancelEditOnDrag&&this._grid.getEditorLock().isActive()&&this._grid.getEditorLock().cancelCurrentEdit(),this._grid.getEditorLock().isActive()||!/move|selectAndMove/.test(this._grid.getColumns()[c.cell].behavior||""))return!1;if(this._dragging=!0,t.stopImmediatePropagation(),!this.addonOptions.hideRowMoveShadow){const C=(n=this._grid.getCellNode(c.row,c.cell))===null||n===void 0?void 0:n.closest(".slick-row");C&&(e.clonedSlickRow=C.cloneNode(!0),e.clonedSlickRow.classList.add("slick-reorder-shadow-row"),e.clonedSlickRow.style.display="none",e.clonedSlickRow.style.marginLeft=Gs((r=this._addonOptions)===null||r===void 0?void 0:r.rowMoveShadowMarginLeft,"0px"),e.clonedSlickRow.style.marginTop=Gs((o=this._addonOptions)===null||o===void 0?void 0:o.rowMoveShadowMarginTop,"0px"),e.clonedSlickRow.style.opacity=`${(l=(s=this._addonOptions)===null||s===void 0?void 0:s.rowMoveShadowOpacity)!==null&&l!==void 0?l:.95}`,e.clonedSlickRow.style.transform=`scale(${(h=(u=this.addonOptions)===null||u===void 0?void 0:u.rowMoveShadowScale)!==null&&h!==void 0?h:.75})`,this._canvas.appendChild(e.clonedSlickRow))}let v=this._addonOptions.singleRowMove?[c.row]:this._grid.getSelectedRows();(v.length===0||!v.some(C=>C===c.row))&&(v=[c.row],this._addonOptions.disableRowSelection||this._grid.setSelectedRows(v));const _=this.gridOptions.rowHeight;e.selectedRows=v,e.selectionProxy=Re("div",{className:"slick-reorder-proxy",style:{display:"none",position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,height:`${_*v.length}px`}},this._canvas),e.guide=Re("div",{className:"slick-reorder-guide",style:{position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,top:"-1000px"}},this._canvas),e.insertBefore=-1}}checkUsabilityOverride(t,e,n){return typeof this._usabilityOverride=="function"?this._usabilityOverride(t,e,n):!0}moveIconFormatter(t,e,n,r,o,s){return this.checkUsabilityOverride(t,o,s)?{addClasses:`cell-reorder dnd ${this._addonOptions.cssClass||""}`,text:""}:""}}class w0{get extensionList(){return this._extensionList}get gridOptions(){return this.sharedService.gridOptions||{}}constructor(t,e,n,r,o,s,l){this.extensionUtility=t,this.filterService=e,this.pubSubService=n,this.sharedService=r,this.sortService=o,this.treeDataService=s,this.translaterService=l,this._extensionCreatedList={},this._extensionList={}}dispose(){var t;this.sharedService.visibleColumns=[];for(const e of Object.keys(this._extensionList))if(this._extensionList.hasOwnProperty(e)){const n=this._extensionList[e];!((t=n==null?void 0:n.instance)===null||t===void 0)&&t.dispose&&n.instance.dispose()}for(const e of Object.keys(this._extensionList))delete this._extensionList[e];this._cellMenuPlugin=null,this._cellExcelCopyManagerPlugin=null,this._checkboxSelectColumn=null,this._contextMenuPlugin=null,this._columnPickerControl=null,this._draggleGroupingPlugin=null,this._gridMenuControl=null,this._groupItemMetadataProviderService=null,this._headerMenuPlugin=null,this._rowMoveManagerPlugin=null,this._rowSelectionModel=null,this._extensionCreatedList=null,this._extensionList=null}addExtensionToList(t,e){this._extensionList[t]=e}getAllColumns(){return this.sharedService.allColumns||[]}getVisibleColumns(){return this.sharedService.visibleColumns||[]}getCreatedExtensionByName(t){var e;if(!((e=this._extensionCreatedList)===null||e===void 0)&&e.hasOwnProperty(t))return this._extensionCreatedList[t]}getExtensionByName(t){var e;return(e=this._extensionList)===null||e===void 0?void 0:e[t]}getExtensionInstanceByName(t){var e;return(e=this.getExtensionByName(t))===null||e===void 0?void 0:e.instance}autoResizeColumns(){this.sharedService.slickGrid.autosizeColumns()}bindDifferentExtensions(){var t,e,n,r,o,s,l,u,h,c,p;if(this.gridOptions){if(this.gridOptions.enableTranslate&&this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.gridOptions.enableAutoTooltip){const m=new P_((t=this.gridOptions)===null||t===void 0?void 0:t.autoTooltipOptions);this.sharedService.slickGrid.registerPlugin(m),this._extensionList[ii.autoTooltip]={name:ii.autoTooltip,instance:m}}if(this.gridOptions.enableExcelCopyBuffer&&(this._cellExcelCopyManagerPlugin=new F_,this._cellExcelCopyManagerPlugin.init(this.sharedService.slickGrid,this.sharedService.gridOptions.excelCopyBufferOptions),!((e=this.gridOptions.excelCopyBufferOptions)===null||e===void 0)&&e.onExtensionRegistered&&this.gridOptions.excelCopyBufferOptions.onExtensionRegistered(this._cellExcelCopyManagerPlugin),this._extensionList[ii.cellExternalCopyManager]={name:ii.cellExternalCopyManager,instance:this._cellExcelCopyManagerPlugin}),this.gridOptions.enableCellMenu&&(this._cellMenuPlugin=new L_(this.extensionUtility,this.pubSubService,this.sharedService),!((n=this.gridOptions.cellMenu)===null||n===void 0)&&n.onExtensionRegistered&&this.gridOptions.cellMenu.onExtensionRegistered(this._cellMenuPlugin),this._extensionList[ii.cellMenu]={name:ii.cellMenu,instance:this._cellMenuPlugin}),!this._rowSelectionModel&&(this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector||this.gridOptions.enableRowDetailView||this.gridOptions.enableRowMoveManager)){if(!this._rowSelectionModel||!this.sharedService.slickGrid.getSelectionModel()){const m=(r=this.gridOptions.rowSelectionOptions)!==null&&r!==void 0?r:{};this.gridOptions.enableRowMoveManager&&((o=this.gridOptions.rowMoveManager)===null||o===void 0?void 0:o.dragToSelect)!==!1&&(m.dragToSelect=!0),this._rowSelectionModel=new Ch(m),this.sharedService.slickGrid.setSelectionModel(this._rowSelectionModel)}this._extensionList[ii.rowSelection]={name:ii.rowSelection,instance:this._rowSelectionModel}}if(this.gridOptions.enableCheckboxSelector){this._checkboxSelectColumn=this._checkboxSelectColumn||new sm(this.pubSubService,this.gridOptions.checkboxSelector),this._checkboxSelectColumn.init(this.sharedService.slickGrid);const m=this.getCreatedExtensionByName(ii.checkboxSelector);m&&m.instance&&(this._extensionList[ii.checkboxSelector]={name:ii.checkboxSelector,instance:this._checkboxSelectColumn})}if(this.gridOptions.enableColumnPicker&&(this._columnPickerControl=new yh(this.extensionUtility,this.pubSubService,this.sharedService),!((s=this.gridOptions.columnPicker)===null||s===void 0)&&s.onExtensionRegistered&&this.gridOptions.columnPicker.onExtensionRegistered(this._columnPickerControl),this._extensionList[ii.columnPicker]={name:ii.columnPicker,instance:this._columnPickerControl}),this.gridOptions.enableContextMenu&&(this._contextMenuPlugin=new V_(this.extensionUtility,this.pubSubService,this.sharedService,this.treeDataService),!((l=this.gridOptions.contextMenu)===null||l===void 0)&&l.onExtensionRegistered&&this.gridOptions.contextMenu.onExtensionRegistered(this._contextMenuPlugin),this._extensionList[ii.contextMenu]={name:ii.contextMenu,instance:this._contextMenuPlugin}),this.gridOptions.enableDraggableGrouping&&(this._draggleGroupingPlugin&&(this._draggleGroupingPlugin.init(this.sharedService.slickGrid,this.gridOptions.draggableGrouping),!((u=this.gridOptions.draggableGrouping)===null||u===void 0)&&u.onExtensionRegistered&&this.gridOptions.draggableGrouping.onExtensionRegistered(this._draggleGroupingPlugin),this._extensionList[ii.contextMenu]={name:ii.contextMenu,instance:this._draggleGroupingPlugin}),this._extensionList[ii.draggableGrouping]={name:ii.draggableGrouping,instance:this._draggleGroupingPlugin}),this.gridOptions.enableGridMenu&&(this._gridMenuControl=new lm(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),!((h=this.gridOptions.gridMenu)===null||h===void 0)&&h.onExtensionRegistered&&this.gridOptions.gridMenu.onExtensionRegistered(this._gridMenuControl),this._extensionList[ii.gridMenu]={name:ii.gridMenu,instance:this._gridMenuControl}),(this.gridOptions.enableDraggableGrouping||this.gridOptions.enableGrouping)&&(this._groupItemMetadataProviderService=this._groupItemMetadataProviderService?this._groupItemMetadataProviderService:new Nm,this._groupItemMetadataProviderService.init(this.sharedService.slickGrid),this._extensionList[ii.groupItemMetaProvider]={name:ii.groupItemMetaProvider,instance:this._groupItemMetadataProviderService}),this.gridOptions.enableHeaderButton){const m=new E0(this.extensionUtility,this.pubSubService,this.sharedService);!((c=this.gridOptions.headerButton)===null||c===void 0)&&c.onExtensionRegistered&&this.gridOptions.headerButton.onExtensionRegistered(m),this._extensionList[ii.headerButton]={name:ii.headerButton,instance:m}}if(this.gridOptions.enableHeaderMenu&&(this._headerMenuPlugin=new S0(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),!((p=this.gridOptions.headerMenu)===null||p===void 0)&&p.onExtensionRegistered&&this.gridOptions.headerMenu.onExtensionRegistered(this._headerMenuPlugin),this._extensionList[ii.headerMenu]={name:ii.headerMenu,instance:this._headerMenuPlugin}),this.gridOptions.enableRowMoveManager){this._rowMoveManagerPlugin=this._rowMoveManagerPlugin||new Lm(this.pubSubService),this._rowMoveManagerPlugin.init(this.sharedService.slickGrid,this.gridOptions.rowMoveManager);const m=this.getCreatedExtensionByName(ii.rowMoveManager);(m==null?void 0:m.instance)&&(this._extensionList[ii.rowMoveManager]={name:ii.rowMoveManager,instance:this._rowMoveManagerPlugin})}}}createExtensionsBeforeGridCreation(t,e){var n,r,o,s;const l=[];e.enableCheckboxSelector&&(this.getCreatedExtensionByName(ii.checkboxSelector)||(this._checkboxSelectColumn=new sm(this.pubSubService,this.sharedService.gridOptions.checkboxSelector),l.push({name:ii.checkboxSelector,extension:this._checkboxSelectColumn,columnIndexPosition:(r=(n=e==null?void 0:e.checkboxSelector)===null||n===void 0?void 0:n.columnIndexPosition)!==null&&r!==void 0?r:l.length}))),e.enableRowMoveManager&&(this.getCreatedExtensionByName(ii.rowMoveManager)||(this._rowMoveManagerPlugin=new Lm(this.pubSubService),l.push({name:ii.rowMoveManager,extension:this._rowMoveManagerPlugin,columnIndexPosition:(s=(o=e==null?void 0:e.rowMoveManager)===null||o===void 0?void 0:o.columnIndexPosition)!==null&&s!==void 0?s:l.length}))),this.createExtensionByTheirColumnIndex(l,t,e),e.enableDraggableGrouping&&(this.getCreatedExtensionByName(ii.draggableGrouping)||(this._draggleGroupingPlugin=new y0(this.extensionUtility,this.pubSubService,this.sharedService),this._draggleGroupingPlugin&&(e.enableColumnReorder=this._draggleGroupingPlugin.setupColumnReorder.bind(this._draggleGroupingPlugin),this._extensionCreatedList[ii.draggableGrouping]={name:ii.draggableGrouping,instance:this._draggleGroupingPlugin})))}hideColumn(t){var e,n;if(typeof((n=(e=this.sharedService)===null||e===void 0?void 0:e.slickGrid)===null||n===void 0?void 0:n.getColumns)=="function"){const r=this.sharedService.slickGrid.getColumnIndex(t.id);this.sharedService.visibleColumns=this.removeColumnByIndex(this.sharedService.slickGrid.getColumns(),r),this.sharedService.slickGrid.setColumns(this.sharedService.visibleColumns)}}refreshBackendDataset(t){this.extensionUtility.refreshBackendDataset(t)}removeColumnByIndex(t,e){return Array.isArray(t)?t.filter((n,r)=>e!==r):t}translateAllExtensions(){this.translateCellMenu(),this.translateColumnHeaders(),this.translateColumnPicker(),this.translateContextMenu(),this.translateGridMenu(),this.translateHeaderMenu()}translateCellMenu(){var t,e;(e=(t=this._cellMenuPlugin)===null||t===void 0?void 0:t.translateCellMenu)===null||e===void 0||e.call(t)}translateColumnPicker(){var t;!((t=this._columnPickerControl)===null||t===void 0)&&t.translateColumnPicker&&this._columnPickerControl.translateColumnPicker()}translateContextMenu(){var t,e;(e=(t=this._contextMenuPlugin)===null||t===void 0?void 0:t.translateContextMenu)===null||e===void 0||e.call(t)}translateGridMenu(){var t,e;(e=(t=this._gridMenuControl)===null||t===void 0?void 0:t.translateGridMenu)===null||e===void 0||e.call(t)}translateHeaderMenu(){var t,e;(e=(t=this._headerMenuPlugin)===null||t===void 0?void 0:t.translateHeaderMenu)===null||e===void 0||e.call(t)}translateColumnHeaders(t,e){var n,r,o;if(this.sharedService&&this.gridOptions&&this.gridOptions.enableTranslate&&(!this.translaterService||!this.translaterService.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');t&&(!((n=this.translaterService)===null||n===void 0)&&n.use)&&this.translaterService.use(t);let s=e;s||(s=this.sharedService.columnDefinitions),this.translateItems(s,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.renderColumnHeaders(s,Array.isArray(e)),(o=(r=this._gridMenuControl)===null||r===void 0?void 0:r.translateGridMenu)===null||o===void 0||o.call(r)}renderColumnHeaders(t,e=!1){var n;let r=t;r||(r=this.sharedService.columnDefinitions),Array.isArray(r)&&this.sharedService.slickGrid&&this.sharedService.slickGrid.setColumns&&((r.length>this.sharedService.allColumns.length||e)&&(this.sharedService.allColumns=r),this.sharedService.slickGrid.setColumns(r)),this.gridOptions.enableColumnPicker&&this._columnPickerControl&&(this._columnPickerControl.columns=this.sharedService.allColumns),this.gridOptions.enableGridMenu&&this._gridMenuControl&&(this._gridMenuControl.columns=(n=this.sharedService.allColumns)!==null&&n!==void 0?n:[],this._gridMenuControl.recreateGridMenu())}createExtensionByTheirColumnIndex(t,e,n){t.sort((r,o)=>r.columnIndexPosition-o.columnIndexPosition),t.forEach(r=>{const o=r.extension.create(e,n);o&&(this._extensionCreatedList[r.name]={name:r.name,instance:o})})}translateItems(t,e,n){var r,o,s;if(!((r=this.gridOptions)===null||r===void 0)&&r.enableTranslate&&!(!((o=this.translaterService)===null||o===void 0)&&o.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');if(Array.isArray(t))for(const l of t)l[e]&&(l[n]=(s=this.translaterService)===null||s===void 0?void 0:s.translate(l[e]))}}var Hm=Object.prototype.hasOwnProperty;function Qo(a,t){var e,n;if(a===t)return!0;if(a&&t&&(e=a.constructor)===t.constructor){if(e===Date)return a.getTime()===t.getTime();if(e===RegExp)return a.toString()===t.toString();if(e===Array){if((n=a.length)===t.length)for(;n--&&Qo(a[n],t[n]););return n===-1}if(!e||typeof a=="object"){n=0;for(e in a)if(Hm.call(a,e)&&++n&&!Hm.call(t,e)||!(e in t)||!Qo(a[e],t[e]))return!1;return Object.keys(t).length===n}}return a!==a&&t!==t}function Bm(a,t,e){if(e&&(a!=null&&a.hasOwnProperty(e)||t!=null&&t.hasOwnProperty(e)))return a[e]===t||a===t[e]||a[e]===t[e];for(const n in a)if(a.hasOwnProperty(n)&&a[n]!==t[n])return!1;return!0}function x0(a){switch(a&&a.toUpperCase()||""){case"IN":case"NIN":case"NOT_IN":case"IN_CONTAINS":case"NIN_CONTAINS":case"NOT_IN_CONTAINS":case"IN_COLLECTION":case"NOT_IN_COLLECTION":return!0;default:return!1}}const bs=(a,t,e)=>{switch(a.toUpperCase()){case"<":case"LT":return t<e;case"<=":case"LE":return t<=e;case">":case"GT":return t>e;case">=":case"GE":return t>=e;case"!=":case"<>":case"NE":return t!==e;case"=":case"==":case"EQ":return t===e;case"IN":return e&&Array.isArray(e)?e.includes(t):!1;case"NIN":case"NOT_IN":return e&&Array.isArray(e)?!e.includes(t):!1;case"IN_CONTAINS":return e&&Array.isArray(e)&&typeof t=="string"?e.some(n=>t.split(/[,]+/).map(r=>r.trim()).includes(n)):!1;case"NIN_CONTAINS":case"NOT_IN_CONTAINS":return e&&Array.isArray(e)&&typeof t=="string"?!e.some(n=>t.split(/[,]+/).map(r=>r.trim()).includes(n)):!1;case"IN_COLLECTION":return t&&e&&Array.isArray(t)&&Array.isArray(e)?e.some(n=>t.includes(n)):!1;case"NOT_IN_COLLECTION":return t&&e&&Array.isArray(t)&&Array.isArray(e)?!e.some(n=>t.includes(n)):!1}return!0},Vm=(a,t)=>{var e;let[n,r]=t;if(n===void 0&&!a.operator)return!0;a.cellValue=a.cellValue===void 0||a.cellValue===null?"":a.cellValue.toString();const o=a!=null&&a.ignoreAccentOnStringFilterAndSort?Ul(a.cellValue,!0):a.cellValue.toLowerCase();if(typeof n=="string"&&(n=a!=null&&a.ignoreAccentOnStringFilterAndSort?Ul(n,!0):n.toLowerCase()),typeof r=="string"&&(r=a!=null&&a.ignoreAccentOnStringFilterAndSort?Ul(r,!0):r.toLowerCase()),n!==void 0&&r!==void 0){let l=(e=a==null?void 0:a.operator)!==null&&e!==void 0?e:a.defaultFilterRangeOperator;l!==Nt.rangeInclusive&&l!==Nt.rangeExclusive&&(l=a.defaultFilterRangeOperator);const u=l===Nt.rangeInclusive,h=Wh(u?">=":">",o,n,a.searchInputLastChar),c=Wh(u?"<=":"<",o,r,a.searchInputLastChar);return h&&c}return Wh(a.operator,o,n,a.searchInputLastChar)};function T0(a){const t="",e=Array.isArray(a)&&a||[t],n=[];let r,o;if(e.length===2||typeof e[0]=="string"&&e[0].indexOf("..")>0){const s=e.length===2?e:e[0].split("..");r=`${Array.isArray(s)?s[0]:""}`,o=`${Array.isArray(s)?s[1]:""}`}else{const s=Array.isArray(a)&&a.length>0?a[0]:"";r=s==null?"":`${s}`}return r!==void 0&&o!==void 0?n.push(r,o):r!==void 0&&n.push(r),n}function Wh(a,t,e,n){return a==="*"||a===Nt.endsWith||a==="*z"?t.endsWith(e):a===""&&n==="*"||a===Nt.startsWith||a==="a*"?t.startsWith(e):a===""||a===Nt.contains?t.indexOf(e)>-1:a==="<>"||a===Nt.notContains?t.indexOf(e)===-1:bs(a||"==",t,e)}const O0=(a,t)=>{if(t===void 0&&!a.operator)return!0;switch((a.operator||"").toUpperCase()){case"!=":case"<>":case"NE":return!Bm(a.cellValue,t,a.dataKey);case"=":case"==":case"EQ":default:return Bm(a.cellValue,t,a.dataKey)}};function A0(a){return(Array.isArray(a)&&a.length>0?a[0]:"")||""}const zm=(a,t)=>{var e;const n=parseFloat(a.cellValue),[r,o]=t;if(r===void 0&&!a.operator)return!0;if(r!==void 0&&o!==void 0){let s=(e=a==null?void 0:a.operator)!==null&&e!==void 0?e:a.defaultFilterRangeOperator;s!==Nt.rangeInclusive&&s!==Nt.rangeExclusive&&(s=a.defaultFilterRangeOperator);const l=s===Nt.rangeInclusive,u=bs(l?">=":">",n,+r),h=bs(l?"<=":"<",n,+o);return u&&h}return bs(a.operator||"==",n,+r)};function k0(a){const e=Array.isArray(a)&&a||[0],n=[];let r,o;if(e.length===2||typeof e[0]=="string"&&e[0].indexOf("..")>0){const s=e.length===2?e:e[0].split("..");r=parseFloat(Array.isArray(s)?s[0]:""),o=parseFloat(Array.isArray(s)?s[1]:"")}else r=parseFloat(e[0]);return en(r,!0)&&en(o,!0)?n.push(r,o):en(r,!0)&&n.push(r),n}const Um=(a,t)=>Zd(a.cellValue)===Zd(t);function I0(a){const t=Array.isArray(a)&&a[0]||!1;return Zd(t)}const Gm=a=>{const t=a.operator;let e;return Array.isArray(a.cellValue)&&(t==="IN_COLLECTION"||t==="NOT_IN_COLLECTION")?e=a.cellValue.length?a.cellValue.map(n=>`${n}`):[]:e=a.cellValue===void 0||a.cellValue===null?"":`${a.cellValue}`,bs(t||"IN",e,a.searchTerms||[])},ku=zs||hs;function D0(a,t){var e;const n=a&&(a.filterSearchType||a.fieldType)||ie.dateIso,r=Pr(n),[o,s]=t,l=ku(a.cellValue,r,!0);if(!o&&!s||!l.isValid())return!1;const u=r.toLowerCase().includes("h")?l.valueOf():l.clone().startOf("day").valueOf();if(o&&s){let c=(e=a==null?void 0:a.operator)!==null&&e!==void 0?e:a.defaultFilterRangeOperator;c!==Nt.rangeInclusive&&c!==Nt.rangeExclusive&&(c=a.defaultFilterRangeOperator);const p=c===Nt.rangeInclusive,m=bs(p?">=":">",u,o.valueOf()),v=bs(p?"<=":"<",u,s.valueOf());return m&&v}const h=r.toLowerCase().includes("h")?o.valueOf():o.clone().startOf("day").valueOf();return bs(a.operator||"==",u,h)}function R0(a,t){const e=Array.isArray(a)&&a||[],n=t||ie.dateIso,r=Pr(n),o=[];if(e.length===2||typeof e[0]=="string"&&e[0].indexOf("..")>0){const s=e.length===2?e:e[0].split(".."),l=Array.isArray(s)&&s[0]||"",u=Array.isArray(s)&&s[1]||"",h=ku(l,r,!0),c=ku(u,r,!0);if(!h.isValid()||!c.isValid())return[];o.push(h,c)}else{const s=ku(e[0],r,!0);if(!s.isValid())return[];o.push(s)}return o}const P0=(a,t)=>{if(x0(a.operator))return Gm(a);switch(Wm(a.filterSearchType||a.fieldType)){case"boolean":return Um(a,t);case"date":return D0(a,t||[]);case"number":return zm(a,t||[]);case"object":return O0(a,t);case"string":default:return Vm(a,t||[])}};function Iu(a,t){const e=Wm(t);let n;switch(e){case"boolean":n=I0(a);break;case"date":n=R0(a,t);break;case"number":n=k0(a);break;case"object":n=A0(a);break;case"string":n=T0(a);break}return n}function Wm(a){switch(a){case ie.boolean:return"boolean";case ie.date:case ie.dateIso:case ie.dateUtc:case ie.dateTime:case ie.dateTimeIso:case ie.dateTimeIsoAmPm:case ie.dateTimeIsoAM_PM:case ie.dateTimeShortIso:case ie.dateEuro:case ie.dateEuroShort:case ie.dateTimeShortEuro:case ie.dateTimeEuro:case ie.dateTimeEuroAmPm:case ie.dateTimeEuroAM_PM:case ie.dateTimeEuroShort:case ie.dateTimeEuroShortAmPm:case ie.dateTimeEuroShortAM_PM:case ie.dateUs:case ie.dateUsShort:case ie.dateTimeShortUs:case ie.dateTimeUs:case ie.dateTimeUsAmPm:case ie.dateTimeUsAM_PM:case ie.dateTimeUsShort:case ie.dateTimeUsShortAmPm:case ie.dateTimeUsShortAM_PM:return"date";case ie.integer:case ie.float:case ie.number:return"number";case ie.object:return"object";case ie.string:case ie.text:case ie.password:case ie.readonly:default:return"string"}}const $m={executeFilterConditionTest:P0,booleanFilter:Um,collectionSearchFilter:Gm,numberFilter:zm,stringFilter:Vm,testFilter:bs};class F0{constructor(t,e,n,r,o){this.filterFactory=t,this.pubSubService=e,this.sharedService=n,this.backendUtilities=r,this.rxjs=o,this._isFilterFirstRender=!0,this._firstColumnIdRendered="",this._filtersMetadata=[],this._columnFilters={},this._isTreePresetExecuted=!1,this._previousFilters=[],this._onSearchChange=new Slick.Event,this._eventHandler=new Slick.EventHandler,this.rxjs&&(this.httpCancelRequests$=this.rxjs.createSubject())}get eventHandler(){return this._eventHandler}get isFilterFirstRender(){return this._isFilterFirstRender}get onSearchChange(){return this._onSearchChange}get _gridOptions(){var t,e;return(e=(t=this._grid)===null||t===void 0?void 0:t.getOptions())!==null&&e!==void 0?e:{}}get _columnDefinitions(){var t,e;return(e=(t=this._grid)===null||t===void 0?void 0:t.getColumns())!==null&&e!==void 0?e:[]}get _dataView(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}addRxJsResource(t){this.rxjs=t}init(t){this._grid=t,this._gridOptions&&this._gridOptions.enableTreeData&&this._gridOptions.treeDataOptions&&this._grid.setSortColumns([{columnId:this._gridOptions.treeDataOptions.columnId,sortAsc:!0}])}dispose(){var t;this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&(!((t=this.rxjs)===null||t===void 0)&&t.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete()),this.disposeColumnFilters(),this._onSearchChange=null}disposeColumnFilters(){if(this.removeAllColumnFiltersProperties(),Array.isArray(this._filtersMetadata)){let t=this._filtersMetadata.pop();for(;t;)typeof(t==null?void 0:t.destroy)=="function"&&t.destroy(),t=this._filtersMetadata.pop()}}bindBackendOnFilter(t){this._filtersMetadata=[],this._eventHandler.subscribe(t.onHeaderRowCellRendered,(e,n)=>{n.column.id===this._firstColumnIdRendered&&(this._isFilterFirstRender=!1),this.addFilterTemplateToHeaderRow(n,this._isFilterFirstRender),this._firstColumnIdRendered===""&&(this._firstColumnIdRendered=n.column.id)}),this.subscribeToOnHeaderRowCellRendered(t),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,this.onBackendFilterChange.bind(this))}bindLocalOnFilter(t){this._filtersMetadata=[],this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid,dataView:this._dataView}),this._dataView.setFilter(this.customLocalFilter.bind(this)),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,async(e,n)=>{var r;const o=(r=n==null?void 0:n.clearFilterTriggered)!==null&&r!==void 0?r:!1;o||await this.emitFilterChanged(Ji.local,!0),this._gridOptions.enableTreeData===!0&&(this._tmpPreFilteredData=this.preFilterTreeData(this._dataView.getItems(),this._columnFilters)),n.columnId!==null&&this._dataView.refresh(),o||await this.emitFilterChanged(Ji.local),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)}),this._eventHandler.subscribe(t.onHeaderRowCellRendered,(e,n)=>{this.addFilterTemplateToHeaderRow(n)}),this.subscribeToOnHeaderRowCellRendered(t)}async clearFilterByColumnId(t,e){var n;await this.pubSubService.publish("onBeforeFilterClear",{columnId:e},0);const r=(n=this._gridOptions.backendServiceApi)!==null&&n!==void 0?n:!1,o=r?Ji.remote:Ji.local,s=Object.keys(this._columnFilters);let l;Array.isArray(s)&&(l=s.find(h=>h===`${e}`));const u=this._filtersMetadata.find(h=>h.columnDef.id===e);return u!=null&&u.clear&&u.clear(!0),r&&l!==void 0&&this.onBackendFilterChange(t,{grid:this._grid,columnFilters:this._columnFilters}),await this.emitFilterChanged(o),!0}async clearFilters(t=!0){var e,n,r;t&&await this.pubSubService.publish("onBeforeFilterClear",!0,0),this._filtersMetadata.forEach(s=>{s!=null&&s.clear&&s.clear(!1)}),this.removeAllColumnFiltersProperties(),Array.isArray(this._columnDefinitions)&&this._columnDefinitions.forEach(s=>{var l;!((l=s.filter)===null||l===void 0)&&l.searchTerms&&delete s.filter.searchTerms}),this._dataView&&this._grid&&(this._dataView.refresh(),this._grid.invalidate());const o=this._gridOptions.backendServiceApi;if(o&&t){const s={clearFilterTriggered:!0,shouldTriggerQuery:t,grid:this._grid,columnFilters:this._columnFilters},u=o.service.processOnFilterChanged(void 0,s),h=(n=(e=this._gridOptions.pagination)===null||e===void 0?void 0:e.totalItems)!==null&&n!==void 0?n:0;(r=this.backendUtilities)===null||r===void 0||r.executeBackendCallback(o,u,s,new Date,h,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:c=>this._previousFilters=this.extractBasicFilterDetails(c.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this)})}else this._previousFilters=this.extractBasicFilterDetails(this._columnFilters);t&&this.pubSubService.publish("onFilterCleared",!0)}customLocalFilter(t,e){var n,r,o,s,l,u,h;const c=e==null?void 0:e.grid,p=(n=e==null?void 0:e.columnFilters)!==null&&n!==void 0?n:{},m=(r=this._gridOptions.enableTreeData)!==null&&r!==void 0?r:!1,v=this._gridOptions.treeDataOptions;if(m&&v){const _=(o=v.collapsedPropName)!==null&&o!==void 0?o:je.treeDataProperties.COLLAPSED_PROP,C=(s=v.parentPropName)!==null&&s!==void 0?s:je.treeDataProperties.PARENT_PROP,x=(l=v==null?void 0:v.childrenPropName)!==null&&l!==void 0?l:je.treeDataProperties.CHILDREN_PROP,S=(u=this._gridOptions.datasetIdPropertyName)!==null&&u!==void 0?u:"id",E=(h=v.autoRecalcTotalsOnFilterChange)!==null&&h!==void 0?h:!1;let D=!1;if(t[C]!==null){let A=this._dataView.getItemById(t[C]);for(;A;){if(A[_])if(E)D=!0;else return!1;A=this._dataView.getItemById(A[C])}}if(this._tmpPreFilteredData instanceof Set){const A=this._tmpPreFilteredData.has(t[S]);if(E){const P=Ba(this.sharedService.hierarchicalDataset,M=>M[S]===t[S],x);if(P&&(P.__filteredOut=!A),D)return!1}return A}}else if(typeof p=="object")for(const _ of Object.keys(p)){const C=p[_],x=this.preProcessFilterConditionOnDataContext(t,C,c);if(typeof x=="boolean")return x;let S=C==null?void 0:C.parsedSearchTerms;if(S===void 0&&(S=Iu(C.searchTerms,C.columnDef.type||ie.string),S!==void 0&&(C.parsedSearchTerms=S)),!$m.executeFilterConditionTest(x,S))return!1}return!0}parseFormInputFilterConditions(t,e){var n,r,o,s;const l=ho(t)||[];let u=Array.isArray(l)&&l.length===1?l[0]:"";const h=e.columnDef,c=(o=(r=(n=h.filter)===null||n===void 0?void 0:n.type)!==null&&r!==void 0?r:h.type)!==null&&o!==void 0?o:ie.string;let p=null;c!==ie.object&&(u=u==null?"":`${u}`,p=((s=h.autoParseInputFilterOperator)!==null&&s!==void 0?s:this._gridOptions.autoParseInputFilterOperator)!==!1?u.match(/^([<>!=\*]{0,2})(.*[^<>!=\*])?([\*]?)$/):[u,"",u,""]);let m=(p==null?void 0:p[1])||e.operator;const v=(p==null?void 0:p[2])||"",_=(p==null?void 0:p[3])||(m==="*z"?"*":"");return typeof u=="string"&&(u=u.replace("'","''"),m==="*"||m==="*z"?m=Nt.endsWith:(m==="a*"||_==="*")&&(m=Nt.startsWith)),Array.isArray(p)&&p.length>=1&&Array.isArray(l)&&l.length===1&&(l[0]=v),{dataKey:h.dataKey,fieldType:c,searchTerms:l||[],operator:m,searchInputLastChar:_,filterSearchType:h.filterSearchType,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preProcessFilterConditionOnDataContext(t,e,n){var r,o,s,l,u,h;const c=e.columnDef,p=e.columnId;let m=n.getColumnIndex(p);if(!c&&this.sharedService&&Array.isArray(this.sharedService.allColumns)&&(m=this.sharedService.allColumns.findIndex(E=>E.field===p)),!c)return!0;if(this._gridOptions.enableRowDetailView){const E=this._gridOptions.rowDetailView&&this._gridOptions.rowDetailView.keyPrefix||"__";t[`${E}isPadding`]&&t[`${E}parent`]&&(t=t[`${E}parent`])}let v=((r=c.filter)===null||r===void 0?void 0:r.queryField)||c.queryFieldFilter||c.queryField||c.field||"";typeof c.queryFieldNameGetterFn=="function"&&(v=c.queryFieldNameGetterFn(t));const _=(l=(s=(o=c.filter)===null||o===void 0?void 0:o.type)!==null&&s!==void 0?s:c.type)!==null&&l!==void 0?l:ie.string;let C=t[v];(v==null?void 0:v.indexOf("."))>=0&&(C=_n(t,v));const x=e.operator,S=e.searchTerms||[];if(!S||Array.isArray(S)&&(S.length===0||S.length===1&&x===S[0]))return!0;if(S&&Array.isArray(S)&&_!==ie.object)for(let E=0,D=S.length;E<D;E++)S[E]=(S[E]===void 0||S[E]===null?"":S[E])+"";if(((u=c==null?void 0:c.params)===null||u===void 0?void 0:u.useFormatterOuputToFilter)===!0){const E=n.getData(),D=this._gridOptions.datasetIdPropertyName||"id",A=E&&typeof E.getIdxById=="function"?E.getIdxById(t[D]):0,P=c&&typeof c.formatter=="function"?c.formatter(A||0,m,C,c,t,this._grid):"";C=or(P)}return typeof C=="number"&&(C=C.toString()),{dataKey:c.dataKey,fieldType:_,searchTerms:S,cellValue:C,operator:x,searchInputLastChar:e.searchInputLastChar,filterSearchType:c.filterSearchType,ignoreAccentOnStringFilterAndSort:(h=this._gridOptions.ignoreAccentOnStringFilterAndSort)!==null&&h!==void 0?h:!1,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preFilterTreeData(t,e){var n,r,o,s,l,u,h,c,p,m,v,_,C,x,S,E,D;const A=this._gridOptions.treeDataOptions,P=(n=A==null?void 0:A.collapsedPropName)!==null&&n!==void 0?n:je.treeDataProperties.COLLAPSED_PROP,M=(r=A==null?void 0:A.parentPropName)!==null&&r!==void 0?r:je.treeDataProperties.PARENT_PROP,B=(o=A==null?void 0:A.hasChildrenPropName)!==null&&o!==void 0?o:je.treeDataProperties.HAS_CHILDREN_PROP,Z=(s=this._gridOptions.datasetIdPropertyName)!==null&&s!==void 0?s:"id",L=(u=(l=this._gridOptions.presets)===null||l===void 0?void 0:l.treeData)===null||u===void 0?void 0:u.toggledItems,ae=(c=(h=this._gridOptions.treeDataOptions)===null||h===void 0?void 0:h.initiallyCollapsed)!==null&&c!==void 0?c:!1,_e=(p=this._gridOptions.treeDataOptions)===null||p===void 0?void 0:p.columnId,J=(m=this._gridOptions.treeDataOptions)===null||m===void 0?void 0:m.excludeChildrenWhenFilteringTree,U=!J&&((v=this._gridOptions.treeDataOptions)===null||v===void 0?void 0:v.autoApproveParentItemWhenTreeColumnIsValid)===!0,F={},de=new Set,qe=new Map;if(Array.isArray(t)){for(const Ie of t)F[Ie[Z]]=Ie,delete F[Ie[Z]].__used;for(const Ie of Object.keys(e)){const xe=e[Ie],Oe=xe!=null&&xe.searchTerms?ho(xe.searchTerms):[],De=this.parseFormInputFilterConditions(Oe,xe),ne=xe.columnDef,pe=(x=(C=(_=ne==null?void 0:ne.filter)===null||_===void 0?void 0:_.type)!==null&&C!==void 0?C:ne==null?void 0:ne.type)!==null&&x!==void 0?x:ie.string,Ve=Iu(De.searchTerms,pe);Ve!==void 0&&(xe.parsedSearchTerms=Ve)}for(const Ie of t){const xe=Ie[B];let Oe=!0;for(const De of Object.keys(e)){const ne=e[De],pe=this.preProcessFilterConditionOnDataContext(Ie,ne,this._grid);if(pe){const Ve=ne==null?void 0:ne.parsedSearchTerms,Ye=typeof pe=="boolean"?pe:$m.executeFilterConditionTest(pe,Ve);if(Ye&&U&&xe&&ne.columnId===_e){qe.set(Ie[Z],!0);break}if(Ye||!J&&qe.get(Ie[M])===!0){if(xe&&ne.columnId===_e&&qe.set(Ie[Z],!0),Ye||!J&&ne.columnId===_e)continue}else xe&&qe.get(Ie[M])!==!0&&ne.columnId!==_e&&qe.set(Ie[Z],!1)}Oe=!1}if(Oe){de.add(Ie[Z]);let De=(S=F[Ie[M]])!==null&&S!==void 0?S:!1;const ne=!ae;for(!this._isTreePresetExecuted&&Array.isArray(L)&&L.some(pe=>pe.itemId===De.id&&pe.isCollapsed===ne)&&(De[P]=ne);De;)(E=De.__used)!==null&&E!==void 0||de.add(De[Z]),F[De[Z]].__used=!0,De=(D=F[De[M]])!==null&&D!==void 0?D:!1}}}return this._isTreePresetExecuted=!0,de}getColumnFilters(){return this._columnFilters}getPreviousFilters(){return this._previousFilters}getFiltersMetadata(){return this._filtersMetadata}getCurrentLocalFilters(){var t,e;const n=[];if(this._columnFilters)for(const r of Object.keys(this._columnFilters)){const o=this._columnFilters[r],s={columnId:r||""},l=this.sharedService.allColumns.find(h=>h.id===s.columnId),u=(e=(t=l==null?void 0:l.filter)===null||t===void 0?void 0:t.emptySearchTermReturnAllValues)!==null&&e!==void 0?e:!0;o!=null&&o.searchTerms&&(s.searchTerms=o.searchTerms),o.operator&&(s.operator=o.operator),o.targetSelector&&(s.targetSelector=o.targetSelector),Array.isArray(s.searchTerms)&&s.searchTerms.length>0&&(!u||s.searchTerms[0]!=="")&&n.push(s)}return n}emitFilterChanged(t,e=!1){const n=e?"onBeforeFilterChange":"onFilterChanged";if(t===Ji.remote&&this._gridOptions.backendServiceApi){let r=[];const o=this._gridOptions.backendServiceApi.service;return o!=null&&o.getCurrentFilters&&(r=o.getCurrentFilters()),this.pubSubService.publish(n,r)}else if(t===Ji.local)return this.pubSubService.publish(n,this.getCurrentLocalFilters())}async onBackendFilterChange(t,e){var n,r,o;const s=e==null?void 0:e.shouldTriggerQuery;if(s&&await this.emitFilterChanged(Ji.remote,!0),!e||!e.grid)throw new Error('Something went wrong when trying to bind the "onBackendFilterChange(event, args)" function, it seems that "args" is not populated correctly');const l=this._gridOptions.backendServiceApi;if(!l||!l.process||!l.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const u=new Date;if(l.preProcess&&l.preProcess(),s){const h=await l.service.processOnFilterChanged(t,e),c=(r=(n=this._gridOptions.pagination)===null||n===void 0?void 0:n.totalItems)!==null&&r!==void 0?r:0;(o=this.backendUtilities)===null||o===void 0||o.executeBackendCallback(l,h,e,u,c,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:p=>this._previousFilters=this.extractBasicFilterDetails(p.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this),httpCancelRequestSubject:this.httpCancelRequests$})}}populateColumnFilterSearchTermPresets(t){return Array.isArray(t)&&(this._columnDefinitions.forEach(e=>{var n;!((n=e.filter)===null||n===void 0)&&n.searchTerms&&delete e.filter.searchTerms;const r=t.find(o=>o.columnId===e.id);r&&Array.isArray(r==null?void 0:r.searchTerms)&&(e.filter=e.filter||{},e.filter.operator=r.operator||e.filter.operator||"",e.filter.searchTerms=r.searchTerms)}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)),this._columnDefinitions}refreshTreeDataFilters(t){var e,n,r;const o=(r=t??((n=(e=this._dataView)===null||e===void 0?void 0:e.getItems)===null||n===void 0?void 0:n.call(e)))!==null&&r!==void 0?r:[];this._dataView&&this._gridOptions.enableTreeData&&o.length>0?(this._tmpPreFilteredData=this.preFilterTreeData(o,this._columnFilters),this._dataView.refresh()):o.length===0&&Array.isArray(this.sharedService.hierarchicalDataset)&&this.sharedService.hierarchicalDataset.length>0&&setTimeout(()=>this.refreshTreeDataFilters())}disableFilterFunctionality(t=!0,e=!0){const r=!this._gridOptions.enableFiltering;r!==t&&(e&&t&&this.clearFilters(),this.disableAllFilteringCommands(t),this._grid.setOptions({enableFiltering:r},!1,!0),this._grid.setHeaderRowVisibility(r),this._gridOptions.enableFiltering=!t,this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(this.sharedService.columnDefinitions))}resetToPreviousSearchFilters(){this.updateFilters(this._previousFilters,!1,!1,!1)}toggleFilterFunctionality(t=!0){const e=this._gridOptions.enableFiltering;this.disableFilterFunctionality(e,t)}toggleHeaderFilterRow(){var t;let e=(t=this._gridOptions.showHeaderRow)!==null&&t!==void 0?t:!1;e=!e,this._grid.setHeaderRowVisibility(e),e===!0&&this._grid.setColumns(this.sharedService.columnDefinitions)}setSortColumnIcons(t){this._grid&&Array.isArray(t)&&this._grid.setSortColumns(t)}async updateFilters(t,e=!0,n=!0,r=!1){var o;if(!this._filtersMetadata||this._filtersMetadata.length===0||!this._gridOptions||!this._gridOptions.enableFiltering)throw new Error('[Slickgrid-Universal] in order to use "updateFilters" method, you need to have Filterable Columns defined in your grid and "enableFiltering" set in your Grid Options');if(Array.isArray(t)){this.clearFilters(!1),t.forEach(u=>{const h=this._filtersMetadata.find(c=>u.columnId===c.columnDef.id);if(u&&h){const c=u.operator||h.defaultOperator;this.updateColumnFilters(u.searchTerms,h.columnDef,c),h.setValues(u.searchTerms||[],c),(r||this._gridOptions.enableTreeData)&&this.callbackSearchEvent(void 0,{columnDef:h.columnDef,operator:c,searchTerms:u.searchTerms,shouldTriggerQuery:!0,forceOnSearchChangeEvent:!0})}});const s=this._gridOptions.backendServiceApi,l=s?Ji.remote:Ji.local;if(e&&await this.emitFilterChanged(l,!0),this._dataView.refresh(),s){const u=s==null?void 0:s.service;u!=null&&u.updateFilters&&(u.updateFilters(t,!0),n&&((o=this.backendUtilities)===null||o===void 0||o.refreshBackendDataset(this._gridOptions)))}e&&await this.emitFilterChanged(l)}return!0}async updateSingleFilter(t,e=!0,n=!0){var r,o,s,l;const u=this.sharedService.allColumns.find(h=>h.id===t.columnId);if(u&&t.columnId){this._columnFilters={};const h=(o=(r=u.filter)===null||r===void 0?void 0:r.emptySearchTermReturnAllValues)!==null&&o!==void 0?o:!0;Array.isArray(t.searchTerms)&&(t.searchTerms.length>1||t.searchTerms.length===1&&(!h||t.searchTerms[0]!==""))&&(this._columnFilters[t.columnId]={columnId:t.columnId,operator:t.operator,searchTerms:t.searchTerms,columnDef:u,type:(s=u.type)!==null&&s!==void 0?s:ie.string});const c=this._gridOptions.backendServiceApi,p=c?Ji.remote:Ji.local;if(e&&await this.emitFilterChanged(p,!0),c){const m=c==null?void 0:c.service;m!=null&&m.updateFilters&&(m.updateFilters(this._columnFilters,!0),n&&((l=this.backendUtilities)===null||l===void 0||l.refreshBackendDataset(this._gridOptions)))}else this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._dataView.refresh();e&&await this.emitFilterChanged(p)}return!0}drawFilterTemplate(t,e){var n;let r;if(typeof e=="string"){if(r=document.querySelector(e),r===null)return null}else r=e;const o=typeof t=="string"?this.sharedService.allColumns.find(l=>l.id===t):t;if(((n=o==null?void 0:o.id)!==null&&n!==void 0?n:"")!=="selector"&&(o!=null&&o.filterable)){let l,u;const h=this.filterFactory.createFilter(o.filter);u=o&&o.filter&&o.filter.operator||h&&h.operator,this._columnFilters[o.id]?(l=this._columnFilters[o.id].searchTerms||void 0,u=this._columnFilters[o.id].operator||void 0):o.filter&&(l=o.filter.searchTerms||void 0,this.updateColumnFilters(l,o,u));const c={grid:this._grid,operator:u,searchTerms:l,columnDef:o,filterContainerElm:r,callback:this.callbackSearchEvent.bind(this)};return h&&(h.init(c),l&&h.setValues&&h.setValues(l,u)),h}return null}addFilterTemplateToHeaderRow(t,e=!0){var n;const r=t.column,o=(n=r==null?void 0:r.id)!==null&&n!==void 0?n:"";if(o!=="selector"&&(r!=null&&r.filterable)){let s,l;const u=this.filterFactory.createFilter(r.filter);l=r&&r.filter&&r.filter.operator||u&&u.operator,this._columnFilters[r.id]?(s=this._columnFilters[r.id].searchTerms||void 0,l=this._columnFilters[r.id].operator||void 0):r.filter&&(s=r.filter.searchTerms||void 0,this.updateColumnFilters(s,r,l));const h={grid:this._grid,operator:l,searchTerms:s,columnDef:r,filterContainerElm:this._grid.getHeaderRowColumn(o),callback:this.callbackSearchEvent.bind(this)};if(u){u.init(h,e);const c=this._filtersMetadata.findIndex(p=>u.columnDef.id===p.columnDef.id);c===-1?this._filtersMetadata.push(u):this._filtersMetadata[c]=u,s&&u.setValues&&u.setValues(s,l)}}}callbackSearchEvent(t,e){var n,r,o,s,l,u;if(e){const h=t!=null&&t.target?t.target.value:void 0,c=e.searchTerms&&Array.isArray(e.searchTerms)?e.searchTerms:h?[h]:void 0,p=e.columnDef||null,m=(n=p==null?void 0:p.id)!==null&&n!==void 0?n:"",v=(s=(o=(r=p==null?void 0:p.filter)===null||r===void 0?void 0:r.type)!==null&&o!==void 0?o:p==null?void 0:p.type)!==null&&s!==void 0?s:ie.string,_=e.operator||void 0,C=c&&Array.isArray(c),x=C&&c&&c.length,S={...this._columnFilters},E=(u=(l=p.filter)===null||l===void 0?void 0:l.emptySearchTermReturnAllValues)!==null&&u!==void 0?u:!0;let D;if(p&&m)if(!C||x===0||x===1&&Array.isArray(c)&&E&&c[0]==="")delete this._columnFilters[m];else{const B=`${m}`,Z={columnId:B,columnDef:p,parsedSearchTerms:[],type:v,targetSelector:O_(t==null?void 0:t.target)},L=this.parseFormInputFilterConditions(c,Z);Z.operator=_||L.operator||rh(v),D=Iu(L.searchTerms,v),D!==void 0&&(Z.parsedSearchTerms=D),Z.searchTerms=L.searchTerms||[],this._columnFilters[B]=Z}const A=t&&typeof t.isPropagationStopped!="function"?Slick.Utils.extend({},new Slick.EventData,t):t,P=t==null?void 0:t.key,M=t==null?void 0:t.keyCode;if(this._onSearchChange&&(e.forceOnSearchChangeEvent||P==="Enter"||M===xi.ENTER||!Qo(S,this._columnFilters))){const B={clearFilterTriggered:e.clearFilterTriggered,shouldTriggerQuery:e.shouldTriggerQuery,columnId:m,columnDef:p,columnFilters:this._columnFilters,operator:_||rh(v),searchTerms:c,parsedSearchTerms:D,grid:this._grid,target:t==null?void 0:t.target};this.pubSubService.publish("onBeforeSearchChange",B)===!1?this._gridOptions.resetFilterSearchValueAfterOnBeforeCancellation&&this.resetToPreviousSearchFilters():this._onSearchChange.notify(B,A)}}}disableAllFilteringCommands(t=!0){var e;const n=this._grid.getColumns();n.forEach(o=>{var s,l;!((s=o==null?void 0:o.header)===null||s===void 0)&&s.menu&&((l=o.header.menu.commandItems||o.header.menu.items)===null||l===void 0||l.forEach(u=>{u&&typeof u!="string"&&u.command==="clear-filter"&&(u.hidden=t)}))});const r=(e=this._gridOptions.gridMenu)===null||e===void 0?void 0:e.commandItems;return r&&r.forEach(o=>{if(o&&typeof o!="string"){const s=o.command;(s==="clear-filter"||s==="toggle-filter")&&(o.hidden=t)}}),n}extractBasicFilterDetails(t){const e=[];if(t&&typeof t=="object")for(const n of Object.keys(t)){const{operator:r,searchTerms:o}=t[`${n}`];e.push({columnId:n,operator:r,searchTerms:o})}return e}removeAllColumnFiltersProperties(){if(typeof this._columnFilters=="object")for(const t in this._columnFilters)t&&this._columnFilters[t]&&delete this._columnFilters[t]}subscribeToOnHeaderRowCellRendered(t){this._eventHandler.subscribe(t.onBeforeHeaderRowCellDestroy,(e,n)=>{var r;const o=this._filtersMetadata.find(s=>s.columnDef.id===n.column.id);(r=o==null?void 0:o.destroy)===null||r===void 0||r.call(o)})}updateColumnFilters(t,e,n){var r,o,s;const l=(s=(o=(r=e.filter)===null||r===void 0?void 0:r.type)!==null&&o!==void 0?o:e.type)!==null&&s!==void 0?s:ie.string,u=Iu(t,l);t&&e&&(this._columnFilters[e.id]={columnId:e.id,columnDef:e,searchTerms:t,operator:n,parsedSearchTerms:u,type:l})}}const Du={skipError:!1,triggerEvent:!0},ad={highlightRow:!0,resortGrid:!1,selectRow:!1,scrollRowIntoView:!0,skipError:!1,triggerEvent:!0},$h={highlightRow:!1,selectRow:!1,scrollRowIntoView:!1,skipError:!1,triggerEvent:!0},Ym={autoResizeColumns:!0,triggerEvent:!0,hideFromColumnPicker:!1,hideFromGridMenu:!1};class M0{constructor(t,e,n,r,o,s,l){this.gridStateService=t,this.filterService=e,this.pubSubService=n,this.paginationService=r,this.sharedService=o,this.sortService=s,this.treeDataService=l}get _dataView(){var t;return((t=this._grid)===null||t===void 0?void 0:t.getData)&&this._grid.getData()}get _gridOptions(){var t;return!((t=this._grid)===null||t===void 0)&&t.getOptions?this._grid.getOptions():{}}dispose(){var t;this.clearHighlightTimer(),(t=this._rowSelectionPlugin)===null||t===void 0||t.dispose()}init(t){this._grid=t}clearAllFiltersAndSorts(){this.sortService&&this.sortService.clearSorting&&this.sortService.clearSorting(!1),this.filterService&&this.filterService.clearFilters&&this.filterService.clearFilters()}clearHighlightTimer(){clearTimeout(this._highlightTimer),clearTimeout(this._highlightTimerEnd)}clearPinning(t=!0){const e=[...this.sharedService.visibleColumns];this.sharedService.slickGrid.setOptions({frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1}),t&&Array.isArray(e)&&this.sharedService.slickGrid.setColumns(e)}setPinning(t,e=!0,n=!1,r=!0){Rp(t)?this.clearPinning():(this.sharedService.slickGrid.setOptions(t,n,r),this.sharedService.gridOptions={...this.sharedService.gridOptions,...t}),e&&this.sharedService.slickGrid.autosizeColumns()}getAllColumnDefinitions(){return this.sharedService.allColumns}getVisibleColumnDefinitions(){return this.sharedService.visibleColumns}getColumnFromEventArguments(t){if(!t||!t.grid||!t.grid.getColumns||!t.grid.getDataItem)throw new Error("[Slickgrid-Universal] To get the column definition and data, we need to have these arguments passed as objects (row, cell, grid)");return{row:t.row,cell:t.cell,columnDef:t.grid.getColumns()[t.cell],dataContext:t.grid.getDataItem(t.row),dataView:this._dataView,grid:this._grid}}getDataItemByRowNumber(t){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error(`[Slickgrid-Universal] We could not find SlickGrid Grid object or it's "getDataItem" method`);return this._grid.getDataItem(t)}getItemRowMetadataToHighlight(t){return e=>{const n=this._dataView.getItem(e);let r={cssClasses:""};return typeof t=="function"&&(r=t(e)),r||(r={cssClasses:""}),n&&n._dirty&&(r.cssClasses=(r&&r.cssClasses||"")+" dirty"),n&&n.rowClass&&r&&(r.cssClasses+=` ${n.rowClass}`,r.cssClasses+=` row${e}`),r}}getDataItemByRowIndex(t){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');return this._grid.getDataItem(t)}getDataItemByRowIndexes(t){if(!this._grid||typeof this._grid.getDataItem!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getDataItem" method');const e=[];return Array.isArray(t)&&t.forEach(n=>{e.push(this._grid.getDataItem(n))}),e}getSelectedRows(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');return this._grid.getSelectedRows()}getSelectedRowsDataItem(){if(!this._grid||typeof this._grid.getSelectedRows!="function")throw new Error('[Slickgrid-Universal] We could not find SlickGrid Grid object and/or "getSelectedRows" method');const t=this._grid.getSelectedRows();return this.getDataItemByRowIndexes(t)}hideColumnById(t,e){if(e={...Ym,...e},this._grid&&this._grid.getColumns&&this._grid.setColumns){const n=this._grid.getColumns(),r=n.findIndex(o=>o.id===t);if(r>=0){const o=oh(n,r);this.sharedService.visibleColumns=o,this._grid.setColumns(o);const s=this.sharedService.allColumns.findIndex(l=>l.id===t);return s&&(e!=null&&e.hideFromColumnPicker&&(this.sharedService.allColumns[s].excludeFromColumnPicker=!0),e!=null&&e.hideFromGridMenu&&(this.sharedService.allColumns[s].excludeFromGridMenu=!0)),e!=null&&e.autoResizeColumns&&this._grid.autosizeColumns(),e!=null&&e.triggerEvent&&this.pubSubService.publish("onHeaderMenuHideColumns",{columns:o}),r}}return-1}hideColumnByIds(t,e){if(e={...Ym,...e},Array.isArray(t)){for(const n of t)this.hideColumnById(n,{...e,triggerEvent:!1,autoResizeColumns:!1});e!=null&&e.autoResizeColumns&&this._grid.autosizeColumns(),e!=null&&e.triggerEvent&&this.pubSubService.publish("onHeaderMenuHideColumns",{columns:this.sharedService.visibleColumns})}}highlightRow(t,e=1500,n=300){this._grid.getSelectionModel()||(this._rowSelectionPlugin=new Ch(this._gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionPlugin)),Array.isArray(t)?t.forEach(r=>this.highlightRowByMetadata(r,e,n)):this.highlightRowByMetadata(t,e,n)}highlightRowByMetadata(t,e=1500,n=300){this._dataView.getItemMetadata=this.getItemRowMetadataToHighlight(this._dataView.getItemMetadata);const r=this._dataView.getItem(t),o=this._gridOptions.datasetIdPropertyName||"id";(r==null?void 0:r[o])!==void 0&&(r.rowClass="highlight",this._dataView.updateItem(r[o],r),this.renderGrid(),this.clearHighlightTimer(),this._highlightTimerEnd=setTimeout(()=>{r.rowClass="highlight-end",this._dataView.updateItem(r[o],r),this.renderGrid()},n),this._highlightTimer=setTimeout(()=>{(r==null?void 0:r[o])!==void 0&&(delete r.rowClass,this._dataView.getIdxById(r[o])!==void 0&&(this._dataView.updateItem(r[o],r),this.renderGrid()))},e+n))}setSelectedRow(t){var e;!((e=this._grid)===null||e===void 0)&&e.setSelectedRows&&this._grid.setSelectedRows([t])}setSelectedRows(t){var e;!((e=this._grid)===null||e===void 0)&&e.setSelectedRows&&this._grid.setSelectedRows(t)}renderGrid(){this._grid&&typeof this._grid.invalidate=="function"&&(this._grid.invalidate(),this._grid.render())}resetGrid(t){var e,n,r;if(this.clearPinning(!1),this._grid){const o=this.sharedService.allColumns||[];Array.isArray(o)&&o.length>0&&(this._grid.setColumns(o),!((e=this._gridOptions)===null||e===void 0)&&e.enableAutoSizeColumns&&this._grid.autosizeColumns(),this.gridStateService.resetColumns(t))}typeof((n=this.filterService)===null||n===void 0?void 0:n.clearFilters)=="function"&&this.filterService.clearFilters(),typeof((r=this.sortService)===null||r===void 0?void 0:r.clearSorting)=="function"&&this.sortService.clearSorting()}addItem(t,e){var n,r,o,s,l;const u={...ad,...e};if(!(u!=null&&u.skipError)&&(!this._grid||!this._gridOptions||!this._dataView))throw new Error("[Slickgrid-Universal] We could not find SlickGrid Grid, DataView objects");const h=this._gridOptions.datasetIdPropertyName||"id";if(!(u!=null&&u.skipError)&&(!t||!t.hasOwnProperty(h)))throw new Error(`[Slickgrid-Universal] Adding an item requires the item to include an "${h}" property`);if(!((n=this._gridOptions)===null||n===void 0)&&n.enableTreeData&&(e==null?void 0:e.position)==="top")throw new Error('[Slickgrid-Universal] Please note that `addItem({ position: "top" })` is not supported when used with Tree Data because of the extra complexity.');const c=u==null?void 0:u.position;c==="bottom"||!((r=this._gridOptions)===null||r===void 0)&&r.enableTreeData?this._dataView.addItem(t):this._dataView.insertItem(0,t);let p=0;const m=(o=t==null?void 0:t[h])!==null&&o!==void 0?o:"";return!((s=this._gridOptions)===null||s===void 0)&&s.enableTreeData?(this.invalidateHierarchicalDataset(),p=this._dataView.getRowById(m),u.scrollRowIntoView&&this._grid.scrollRowIntoView(p??0,!1)):u.resortGrid?(this._dataView.reSort(),p=this._dataView.getRowById(m)):(p=c==="bottom"?this._dataView.getRowById(m):0,u.scrollRowIntoView&&this._grid.scrollRowIntoView(p??0)),u.highlightRow&&p!==void 0&&this.highlightRow(p),p!==void 0&&u.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(p),u.triggerEvent&&this.pubSubService.publish("onItemAdded",t),!(!((l=this._gridOptions)===null||l===void 0)&&l.backendServiceApi)&&this._gridOptions.enablePagination&&(c==="bottom"?this.paginationService.goToLastPage():this.paginationService.goToFirstPage()),p}addItems(t,e){var n,r,o,s,l;const u={...ad,...e},h=this._gridOptions.datasetIdPropertyName||"id",c=u==null?void 0:u.position,p=[];if(Array.isArray(t))this._dataView.beginUpdate(!0),c==="bottom"||!((n=this._gridOptions)===null||n===void 0)&&n.enableTreeData?this._dataView.addItems(t):this._dataView.insertItems(0,t),this._dataView.endUpdate();else return[this.addItem(t,u)||0];if(!((r=this._gridOptions)===null||r===void 0)&&r.enableTreeData){this.invalidateHierarchicalDataset();const m=(s=(o=t[0])===null||o===void 0?void 0:o[h])!==null&&s!==void 0?s:"",v=this._dataView.getRowById(m);u.scrollRowIntoView&&this._grid.scrollRowIntoView(v??0,!1)}else u.resortGrid&&this._dataView.reSort();return c&&u.scrollRowIntoView&&!(!((l=this._gridOptions)===null||l===void 0)&&l.enableTreeData)&&(c==="bottom"?this._grid.navigateBottom():this._grid.navigateTop()),t.forEach(m=>p.push(this._dataView.getRowById(m[h]))),u.highlightRow&&this.highlightRow(p),u.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(p),u.triggerEvent&&this.pubSubService.publish("onItemAdded",t),p}deleteItem(t,e){e={...Du,...e};const n=this._gridOptions.datasetIdPropertyName||"id";if(!(e!=null&&e.skipError)&&(!t||!t.hasOwnProperty(n)))throw new Error(`[Slickgrid-Universal] Deleting an item requires the item to include an "${n}" property`);return this.deleteItemById(t[n],e)}deleteItems(t,e){e={...Du,...e};const n=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(t))return this.deleteItem(t,e),[t[n]];this._dataView.beginUpdate(!0);const r=[];return t.forEach(o=>{(o==null?void 0:o[n])!==void 0&&r.push(o[n])}),this._dataView.deleteItems(r),this._dataView.endUpdate(),e.triggerEvent&&this.pubSubService.publish("onItemDeleted",t),r}deleteItemById(t,e){if(e={...Du,...e},!(e!=null&&e.skipError)&&t==null)throw new Error('[Slickgrid-Universal] Cannot delete a row without a valid "id"');return!(this.gridStateService&&this.gridStateService.needToPreserveRowSelection()||!1)&&this._grid&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows([]),this._dataView.deleteItem(t),e.triggerEvent&&this.pubSubService.publish("onItemDeleted",t),t}deleteItemByIds(t,e){if(e={...Du,...e},Array.isArray(t)){this._dataView.beginUpdate(!0);for(let n=0;n<t.length;n++)t[n]!==null&&this.deleteItemById(t[n],{triggerEvent:!1});return this._dataView.endUpdate(),e.triggerEvent&&this.pubSubService.publish("onItemDeleted",t),t}return[]}updateItem(t,e){e={...$h,...e};const n=this._gridOptions.datasetIdPropertyName||"id",r=!t||!t.hasOwnProperty(n)?void 0:t[n];if(!(e!=null&&e.skipError)&&r===void 0)throw new Error(`[Slickgrid-Universal] Calling Update of an item requires the item to include an "${n}" property`);return this.updateItemById(r,t,e)}updateItems(t,e){var n;e={...$h,...e};const r=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(t))return[this.updateItem(t,e)];this._dataView.beginUpdate(!0);const o=[],s=[];return t.forEach(l=>{const u=!l||!l.hasOwnProperty(r)?void 0:l[r];if(s.push(u),this._dataView.getIdxById(u)!==void 0){const h=this._dataView.getRowById(u);h!==void 0&&(o.push(h),this._grid.updateRow(h))}}),this._dataView.updateItems(s,t),this._dataView.endUpdate(),!((n=this._gridOptions)===null||n===void 0)&&n.enableTreeData&&this.invalidateHierarchicalDataset(),e.highlightRow&&this.highlightRow(o),e.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(o),e.triggerEvent&&this.pubSubService.publish("onItemUpdated",t),o}updateItemById(t,e,n){var r;if(n={...$h,...n},!(n!=null&&n.skipError)&&t===void 0)throw new Error('[Slickgrid-Universal] Cannot update a row without a valid "id"');const o=this._dataView.getRowById(t);if(!(n!=null&&n.skipError)&&!e&&!this._gridOptions.enablePagination)throw new Error(`[Slickgrid-Universal] The item to update in the grid was not found with id: ${t}`);return this._dataView.getIdxById(t)!==void 0&&(this._dataView.updateItem(t,e),o!==void 0&&this._grid.updateRow(o),!((r=this._gridOptions)===null||r===void 0)&&r.enableTreeData&&this.invalidateHierarchicalDataset(),n.scrollRowIntoView&&o!==void 0&&this._grid.scrollRowIntoView(o),n.highlightRow&&o!==void 0&&this.highlightRow(o),o!==void 0&&n.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(o),n.triggerEvent&&this.pubSubService.publish("onItemUpdated",e)),o}upsertItem(t,e){e={...ad,...e};const n=this._gridOptions.datasetIdPropertyName||"id",r=!t||!t.hasOwnProperty(n)?void 0:t[n];if(!(e!=null&&e.skipError)&&r===void 0)throw new Error(`[Slickgrid-Universal] Calling Upsert of an item requires the item to include an "${n}" property`);return this.upsertItemById(r,t,e)}upsertItems(t,e){if(e={...ad,...e},!Array.isArray(t))return[this.upsertItem(t,e)];this._dataView.beginUpdate(!0);const n=[];t.forEach(o=>{n.push(this.upsertItem(o,{...e,highlightRow:!1,resortGrid:!1,selectRow:!1,triggerEvent:!1}))}),this._dataView.endUpdate();const r=n.map(o=>o.added!==void 0?o.added:o.updated);if(e.highlightRow&&this.highlightRow(r),e.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(r),e.triggerEvent){this.pubSubService.publish("onItemUpserted",t);const o=n.filter(l=>l.added!==void 0);Array.isArray(o)&&o.length>0&&this.pubSubService.publish("onItemAdded",o);const s=n.filter(l=>l.updated!==void 0);Array.isArray(s)&&s.length>0&&this.pubSubService.publish("onItemUpdated",s)}return n}upsertItemById(t,e,n){let r=!1;if(n={...ad,...n},!(n!=null&&n.skipError)&&t===void 0&&!this.hasRowSelectionEnabled())throw new Error('[Slickgrid-Universal] Calling Upsert of an item requires the item to include a valid and unique "id" property');let o,s;return this._dataView.getRowById(t)===void 0?(o=this.addItem(e,n),r=!0):(s=this.updateItem(e,{highlightRow:n.highlightRow,selectRow:n.selectRow,triggerEvent:n.triggerEvent}),r=!1),n.triggerEvent&&(this.pubSubService.publish("onItemUpserted",e),r?this.pubSubService.publish("onItemAdded",e):this.pubSubService.publish("onItemUpdated",e)),{added:o,updated:s}}invalidateHierarchicalDataset(t){var e;if(!((e=this._gridOptions)===null||e===void 0)&&e.enableTreeData&&this.treeDataService){const n=t??this._dataView.getItems(),r=this.treeDataService.convertFlatParentChildToTreeDatasetAndSort(n||[],this.sharedService.allColumns,this._gridOptions);this.sharedService.hierarchicalDataset=r.hierarchical,this.filterService.refreshTreeDataFilters(t),this._dataView.setItems(r.flat),this._grid.invalidate()}}hasRowSelectionEnabled(){const t=this._grid.getSelectionModel();return(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&t}}class N0{get eventHandler(){return this._eventHandler}constructor(){this._eventHandler=new Slick.EventHandler}dispose(){this._eventHandler.unsubscribeAll()}bindOnBeforeEditCell(t){var e;const n=(e=t==null?void 0:t.getData)===null||e===void 0?void 0:e.call(t);this._eventHandler.subscribe(t.onBeforeEditCell,(r,o)=>{if(!r||!o||!t||o.cell===void 0||!t.getColumns||!t.getDataItem)return;const s=t.getColumns()[o.cell];if(typeof s.onBeforeEditCell=="function"){const l={row:o.row,cell:o.cell,dataView:n,grid:t,columnDef:s,dataContext:t.getDataItem(o.row)};s.onBeforeEditCell(r,l)}})}bindOnCellChange(t){var e;const n=(e=t==null?void 0:t.getData)===null||e===void 0?void 0:e.call(t);this._eventHandler.subscribe(t.onCellChange,(r,o)=>{if(!r||!o||!t||o.cell===void 0||!t.getColumns||!t.getDataItem)return;const s=t.getColumns()[o.cell];if(typeof s.onCellChange=="function"){const l={row:o.row,cell:o.cell,dataView:n,grid:t,columnDef:s,dataContext:t.getDataItem(o.row)};s.onCellChange(r,l)}})}bindOnClick(t){var e;const n=(e=t==null?void 0:t.getData)===null||e===void 0?void 0:e.call(t);this._eventHandler.subscribe(t.onClick,(r,o)=>{var s;if(!r||!o||!t||o.cell===void 0||!t.getColumns||!t.getDataItem)return;const l=(s=t.getColumns)===null||s===void 0?void 0:s.call(t)[o.cell];if(typeof l.onCellClick=="function"){const u={row:o.row,cell:o.cell,dataView:n,grid:t,columnDef:l,dataContext:t.getDataItem(o.row)};l.onCellClick(r,u)}})}}class L0{constructor(t,e,n,r,o,s){this.extensionService=t,this.filterService=e,this.pubSubService=n,this.sharedService=r,this.sortService=o,this.treeDataService=s,this._eventHandler=new Slick.EventHandler,this._columns=[],this._subscriptions=[],this._selectedRowIndexes=[],this._selectedRowDataContextIds=[],this._wasRecheckedAfterPageChange=!0}get _dataView(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get _gridOptions(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getOptions)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get selectedRowDataContextIds(){return this._selectedRowDataContextIds}set selectedRowDataContextIds(t){this._selectedRowDataContextIds=t}init(t){this._grid=t,this.subscribeToAllGridChanges(t)}dispose(){this._columns=[],this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}changeColumnsArrangement(t,e=!0,n=!1){var r,o,s,l,u,h,c,p,m;if(Array.isArray(t)&&t.length>0){const v=this.getAssociatedGridColumns(this._grid,t);if(v&&Array.isArray(v)&&v.length>0){if(Array.isArray(this.sharedService.allColumns)){const _=[];if(this._gridOptions.enableCheckboxSelector){const C=(s=(o=(r=this._gridOptions)===null||r===void 0?void 0:r.checkboxSelector)===null||o===void 0?void 0:o.columnIndexPosition)!==null&&s!==void 0?s:0;_.push({columnId:"_checkbox_selector",columnIndexPosition:C})}if(this._gridOptions.enableRowDetailView){const C=(h=(u=(l=this._gridOptions)===null||l===void 0?void 0:l.rowDetailView)===null||u===void 0?void 0:u.columnIndexPosition)!==null&&h!==void 0?h:0;_.push({columnId:"_detail_selector",columnIndexPosition:C})}if(this._gridOptions.enableRowMoveManager){const C=(m=(p=(c=this._gridOptions)===null||c===void 0?void 0:c.rowMoveManager)===null||p===void 0?void 0:p.columnIndexPosition)!==null&&m!==void 0?m:0;_.push({columnId:"_move",columnIndexPosition:C})}this.addColumnDynamicWhenFeatureEnabled(_,this.sharedService.allColumns,v)}v.forEach(_=>_.originalWidth=_.width||_.originalWidth),this._grid.setColumns(v),this.sharedService.visibleColumns=v,e?this._grid.autosizeColumns():(n||this._gridOptions.enableAutoResizeColumnsByCellContent&&!this._gridOptions.autosizeColumnsByCellContentOnFirstLoad)&&this.pubSubService.publish("onFullResizeByContentRequested",{caller:"GridStateService"})}}}getCurrentGridState(){var t;const{frozenColumn:e,frozenRow:n,frozenBottom:r}=this.sharedService.gridOptions,o={columns:this.getCurrentColumns(),filters:this.getCurrentFilters(),sorters:this.getCurrentSorters(),pinning:{frozenColumn:e,frozenRow:n,frozenBottom:r}},s=this.getCurrentPagination();if(s&&(o.pagination=s),this.hasRowSelectionEnabled()){const l=this.getCurrentRowSelections();l&&(o.rowSelection=l)}if(!((t=this._gridOptions)===null||t===void 0)&&t.enableTreeData){const l=this.getCurrentTreeDataToggleState();l&&(o.treeData=l)}return o}getColumns(){return this._columns}getAssociatedCurrentColumns(t){const e=[];return t&&Array.isArray(t)&&t.forEach(n=>{n!=null&&n.id&&e.push({columnId:n.id,cssClass:n.cssClass||"",headerCssClass:n.headerCssClass||"",width:n.width||0})}),e}getAssociatedGridColumns(t,e){const n=[],r=this.sharedService.allColumns||t.getColumns();return e&&Array.isArray(e)&&e.forEach(o=>{const s=r.find(l=>l.id===o.columnId);s!=null&&s.id&&n.push({...s,cssClass:o.cssClass||s.cssClass,headerCssClass:o.headerCssClass||s.headerCssClass,width:o.width})}),this._columns=n,n}getCurrentColumns(){return this.getAssociatedCurrentColumns(this._grid.getColumns()||[])}getCurrentFilters(){var t,e;if(!((t=this._gridOptions)===null||t===void 0)&&t.backendServiceApi){const n=this._gridOptions.backendServiceApi.service;if(n!=null&&n.getCurrentFilters)return n.getCurrentFilters()}else if(!((e=this.filterService)===null||e===void 0)&&e.getCurrentLocalFilters)return this.filterService.getCurrentLocalFilters();return null}getCurrentPagination(){var t;if(!((t=this._gridOptions)===null||t===void 0)&&t.enablePagination)if(this._gridOptions.backendServiceApi){const e=this._gridOptions.backendServiceApi.service;if(e!=null&&e.getCurrentPagination)return e.getCurrentPagination()}else return this.sharedService.currentPagination;return null}getCurrentRowSelections(){return this._grid&&this._dataView&&this.hasRowSelectionEnabled()?{gridRowIndexes:this._grid.getSelectedRows()||[],dataContextIds:this._dataView.getAllSelectedIds()||[],filteredDataContextIds:this._dataView.getAllSelectedFilteredIds()||[]}:null}getCurrentSorters(){var t,e;if(!((t=this._gridOptions)===null||t===void 0)&&t.backendServiceApi){const n=this._gridOptions.backendServiceApi.service;if(n!=null&&n.getCurrentSorters)return n.getCurrentSorters()}else if(!((e=this.sortService)===null||e===void 0)&&e.getCurrentLocalSorters)return this.sortService.getCurrentLocalSorters();return null}getCurrentTreeDataToggleState(){var t;return!((t=this._gridOptions)===null||t===void 0)&&t.enableTreeData&&this.treeDataService?this.treeDataService.getCurrentToggleState():null}needToPreserveRowSelection(){var t;let e=!1;if(!((t=this._gridOptions)===null||t===void 0)&&t.dataView&&this._gridOptions.dataView.hasOwnProperty("syncGridSelection")){const n=this._gridOptions.dataView.syncGridSelection;typeof n=="boolean"?e=this._gridOptions.dataView.syncGridSelection:typeof n=="object"&&(e=n.preserveHidden||n.preserveHiddenOnSelectionChange),e&&this._gridOptions.backendServiceApi&&this._gridOptions.dataView.hasOwnProperty("syncGridSelectionWithBackendService")&&(e=this._gridOptions.dataView.syncGridSelectionWithBackendService)}return e}resetColumns(t){const e=t||this._columns,n=this.getAssociatedCurrentColumns(e);this.pubSubService.publish("onGridStateChanged",{change:{newValues:n,type:ur.columns},gridState:this.getCurrentGridState()})}resetToOriginalColumns(t=!0){this._grid.setColumns(this.sharedService.allColumns),this.sharedService.visibleColumns=this.sharedService.allColumns,t&&this._grid.autosizeColumns()}resetRowSelectionWhenRequired(){var t,e;if(!this.needToPreserveRowSelection()&&(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)){const n=(e=(t=this.extensionService)===null||t===void 0?void 0:t.getExtensionByName)===null||e===void 0?void 0:e.call(t,ii.rowSelection);n!=null&&n.instance&&this._grid.setSelectedRows([])}}subscribeToAllGridChanges(t){this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",e=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:ur.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:ur.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",e=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:ur.sorter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:ur.sorter},gridState:this.getCurrentGridState()})})),this.bindExtensionAddonEventToGridStateChange(ii.columnPicker,"onColumnsChanged"),this.bindExtensionAddonEventToGridStateChange(ii.gridMenu,"onColumnsChanged"),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsReordered",t),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsResized",t),this.bindSlickGridOnSetOptionsEventToGridStateChange(t),(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,(e,n)=>{const r=(this._selectedRowIndexes||[]).slice(),o=(this.selectedRowDataContextIds||[]).slice();if(this.selectedRowDataContextIds=n.filteredIds,this._selectedRowIndexes=n.rows,!Qo(this.selectedRowDataContextIds,o)||!Qo(this._selectedRowIndexes,r)){const s={gridRowIndexes:this._selectedRowIndexes||[],dataContextIds:n.selectedRowIds,filteredDataContextIds:n.filteredIds};this.pubSubService.publish("onGridStateChanged",{change:{newValues:s,type:ur.rowSelection},gridState:this.getCurrentGridState()})}}),this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuHideColumns",e=>{const n=this.getAssociatedCurrentColumns(e);this.pubSubService.publish("onGridStateChanged",{change:{newValues:n,type:ur.columns},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeItemToggled",e=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:ur.treeData},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeFullToggleEnd",e=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:e,type:ur.treeData},gridState:this.getCurrentGridState()})}))}addColumnDynamicWhenFeatureEnabled(t,e,n){t.sort((r,o)=>r.columnIndexPosition-o.columnIndexPosition),t.forEach(r=>{const o=e.findIndex(l=>l.id===r.columnId),s=n.findIndex(l=>l.id===r.columnId);if(o>=0&&s===-1){const l=e[o];o===0?n.unshift(l):n.splice(o,0,l)}})}bindExtensionAddonEventToGridStateChange(t,e){var n,r,o;const s=(r=(n=this.extensionService)===null||n===void 0?void 0:n.getExtensionByName)===null||r===void 0?void 0:r.call(n,t),l=(o=s==null?void 0:s.instance)===null||o===void 0?void 0:o[e];l&&typeof l.subscribe=="function"&&this._eventHandler.subscribe(l,(u,h)=>{const c=h==null?void 0:h.columns,p=this.getAssociatedCurrentColumns(c);this.pubSubService.publish("onGridStateChanged",{change:{newValues:p,type:ur.columns},gridState:this.getCurrentGridState()})})}bindSlickGridColumnChangeEventToGridStateChange(t,e){const n=e==null?void 0:e[t];n&&typeof n.subscribe=="function"&&this._eventHandler.subscribe(n,()=>{const r=e.getColumns(),o=this.getAssociatedCurrentColumns(r);this.pubSubService.publish("onGridStateChanged",{change:{newValues:o,type:ur.columns},gridState:this.getCurrentGridState()})})}bindSlickGridOnSetOptionsEventToGridStateChange(t){const e=t.onSetOptions;this._eventHandler.subscribe(e,(n,r)=>{const{frozenBottom:o,frozenColumn:s,frozenRow:l}=r.optionsBefore,{frozenBottom:u,frozenColumn:h,frozenRow:c}=r.optionsAfter;if(o!==u||s!==h||l!==c){const p={frozenBottom:u,frozenColumn:h,frozenRow:c},m=this.getCurrentGridState();this.pubSubService.publish("onGridStateChanged",{change:{newValues:p,type:ur.pinning},gridState:m})}})}hasRowSelectionEnabled(){const t=this._grid.getSelectionModel();return(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&t}}class H0{constructor(t,e){this.extensionUtility=t,this.pubSubService=e,this._subscriptions=[],this._eventHandler=new Slick.EventHandler}get _dataView(){var t;return((t=this._grid)===null||t===void 0?void 0:t.getData)&&this._grid.getData()}get eventHandler(){return this._eventHandler}get _gridOptions(){var t;return!((t=this._grid)===null||t===void 0)&&t.getOptions?this._grid.getOptions():{}}get _columnDefinitions(){return this._grid&&this._grid.getColumns?this._grid.getColumns():[]}init(t){if(this._grid=t,t&&this._gridOptions&&this._gridOptions.createPreHeaderPanel){this._gridOptions.enableTranslate&&this.translateGroupingAndColSpan(),this._eventHandler.subscribe(t.onSort,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onRendered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onAutosizeColumns,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onColumnsResized,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onColumnsReordered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(this._dataView.onRowCountChanged,()=>this.delayRenderPreHeaderRowGroupingTitles(0)),this._subscriptions.push(this.pubSubService.subscribe("onColumnPickerColumnsChanged",()=>this.renderPreHeaderRowGroupingTitles()),this.pubSubService.subscribe("onHeaderMenuHideColumns",()=>this.delayRenderPreHeaderRowGroupingTitles(0)),this.pubSubService.subscribe("onGridMenuColumnsChanged",()=>this.renderPreHeaderRowGroupingTitles()),this.pubSubService.subscribe("onGridMenuMenuClose",()=>this.renderPreHeaderRowGroupingTitles()));const e=t.getPluginByName("Resizer");e!=null&&e.onGridAfterResize&&this._eventHandler.subscribe(e.onGridAfterResize,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(t.onSetOptions,(n,r)=>{var o,s;((o=r==null?void 0:r.optionsBefore)===null||o===void 0?void 0:o.frozenColumn)!==((s=r==null?void 0:r.optionsAfter)===null||s===void 0?void 0:s.frozenColumn)&&this.delayRenderPreHeaderRowGroupingTitles(0)}),this.delayRenderPreHeaderRowGroupingTitles(75)}}dispose(){this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}delayRenderPreHeaderRowGroupingTitles(t=0){setTimeout(()=>this.renderPreHeaderRowGroupingTitles(),t)}renderPreHeaderRowGroupingTitles(){var t;if(this._gridOptions&&this._gridOptions.frozenColumn!==void 0&&this._gridOptions.frozenColumn>=0){let e=this._grid.getPreHeaderPanelLeft();this.renderHeaderGroups(e,0,this._gridOptions.frozenColumn+1),e=this._grid.getPreHeaderPanelRight(),this.renderHeaderGroups(e,((t=this._gridOptions)===null||t===void 0?void 0:t.frozenColumn)+1,this._columnDefinitions.length)}else{const e=this._grid.getPreHeaderPanel();this.renderHeaderGroups(e,0,this._columnDefinitions.length)}}renderHeaderGroups(t,e,n){var r,o,s;on(t),t.className="slick-header-columns",t.style.left="-1000px",t.style.width=`${this._grid.getHeadersWidth()}px`,t.parentElement&&t.parentElement.classList.add("slick-header");const l=this._grid.getHeaderColumnWidthDiff();let u,h=null,c="",p=0;const m=(o=(r=this._gridOptions)===null||r===void 0?void 0:r.frozenHeaderWidthCalcDifferential)!==null&&o!==void 0?o:0,v=((s=this._gridOptions)===null||s===void 0?void 0:s.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0;for(let _=e;_<n;_++)u=this._columnDefinitions[_],u&&(c===u.columnGroup&&_>0?(p+=u.width||0,h!=null&&h.style&&(h.style.width=`${p-l-m}px`)):(p=u.width||0,h=Re("div",{className:`ui-state-default slick-header-column ${v?"frozen":""}`,style:{width:`${p-l}px`}}),Re("span",{className:"slick-column-name",textContent:u.columnGroup||""},h),t.appendChild(h)),c=u.columnGroup||"")}translateGroupingAndColSpan(){const t=this._grid.getColumns();this.extensionUtility.translateItems(t,"columnGroupKey","columnGroup"),this._grid.setColumns(t),this.renderPreHeaderRowGroupingTitles()}}class B0{constructor(t,e,n,r){this.pubSubService=t,this.sharedService=e,this.backendUtilities=n,this.rxjs=r,this._eventHandler=new Slick.EventHandler,this._initialized=!1,this._isLocalGrid=!0,this._dataFrom=1,this._dataTo=1,this._itemsPerPage=0,this._pageCount=1,this._pageNumber=1,this._totalItems=0,this._availablePageSizes=[],this._subscriptions=[],this._isCursorBased=!1}get dataView(){var t,e,n;return(n=(e=(t=this.grid)===null||t===void 0?void 0:t.getData)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}set paginationOptions(t){this._paginationOptions=t}get paginationOptions(){return this._paginationOptions}get availablePageSizes(){return this._availablePageSizes}get dataFrom(){return this._dataFrom}get dataTo(){return this._dataTo}get itemsPerPage(){return this._itemsPerPage}get pageCount(){return this._pageCount}get pageNumber(){return this._pageNumber}get totalItems(){return this._totalItems}set totalItems(t){this._totalItems=t,this._initialized&&this.refreshPagination()}get isCursorBased(){return this._isCursorBased}addRxJsResource(t){this.rxjs=t}init(t,e,n){var r,o,s;if(this._availablePageSizes=e.pageSizes,this.grid=t,this._backendServiceApi=n,this._paginationOptions=e,this._isLocalGrid=!n,this._pageNumber=e.pageNumber||1,this._isCursorBased=(s=(o=(r=this._backendServiceApi)===null||r===void 0?void 0:r.options)===null||o===void 0?void 0:o.isWithCursor)!==null&&s!==void 0?s:!1,n&&(!n.service||!n.process))throw new Error('BackendServiceApi requires the following 2 properties "process" and "service" to be defined.');this._isLocalGrid&&this.dataView&&(this._eventHandler.subscribe(this.dataView.onPagingInfoChanged,(u,h)=>{this._totalItems!==h.totalRows&&(this.updateTotalItems(h.totalRows),this._previousPagination={pageNumber:h.pageNum,pageSize:h.pageSize,pageSizes:this.availablePageSizes,totalItems:h.totalRows})}),setTimeout(()=>{this.dataView&&(this.dataView.setRefreshHints({isFilterUnchanged:!0}),this.dataView.setPagingOptions({pageSize:this.paginationOptions.pageSize,pageNum:this._pageNumber-1}))})),this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",()=>this.resetPagination())),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>this.resetPagination())),this.dataView&&(this._subscriptions.push(this.pubSubService.subscribe("onItemAdded",u=>this.processOnItemAddedOrRemoved(u,!0))),this._subscriptions.push(this.pubSubService.subscribe("onItemDeleted",u=>this.processOnItemAddedOrRemoved(u,!1)))),this.refreshPagination(!1,!1,!0);const l=this.getFullPagination();this._previousPagination={pageNumber:l.pageNumber,pageSize:l.pageSize,pageSizes:l.pageSizes,totalItems:this.totalItems},this._initialized=!0}dispose(){this._initialized=!1,this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}getCurrentPagination(){return{pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes}}getFullPagination(){return{pageCount:this._pageCount,pageNumber:this._pageNumber,pageSize:this._itemsPerPage,pageSizes:this._availablePageSizes,totalItems:this._totalItems,dataFrom:this._dataFrom,dataTo:this._dataTo}}getCurrentPageNumber(){return this._pageNumber}getCurrentItemPerPage(){return this._itemsPerPage}changeItemPerPage(t,e,n=!0){return this._pageNumber=1,this._pageCount=Math.ceil(this._totalItems/t),this._itemsPerPage=t,n?this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToFirstPage(t,e=!0){return this._pageNumber=1,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,t,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())}goToLastPage(t,e=!0){return this._pageNumber=this._pageCount||1,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,t,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())}goToNextPage(t,e=!0){return this._pageNumber<this._pageCount?(this._pageNumber++,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,t,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage,after:this._cursorPageInfo.endCursor}):this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}goToPageNumber(t,e,n=!0){if(this.isCursorBased)return console.assert(!0,"Cursor based navigation cannot navigate to arbitrary page"),Promise.resolve(!1);const r=this._pageNumber;return t<1?this._pageNumber=1:t>this._pageCount?this._pageNumber=this._pageCount:this._pageNumber=t,this._pageNumber!==r?n?this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination()):Promise.resolve(!1)}goToPreviousPage(t,e=!0){return this._pageNumber>1?(this._pageNumber--,e?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,t,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage,before:this._cursorPageInfo.startCursor}):this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}refreshPagination(t=!1,e=!0,n=!1){var r,o,s;const l={...this.getFullPagination()};if(this._paginationOptions){const h=this._paginationOptions;this._itemsPerPage||(this._isLocalGrid?this._itemsPerPage=h.pageSize:this._itemsPerPage=+(!((s=(o=(r=this._backendServiceApi)===null||r===void 0?void 0:r.options)===null||o===void 0?void 0:o.paginationOptions)===null||s===void 0)&&s.first?this._backendServiceApi.options.paginationOptions.first:h.pageSize)),(t||this._totalItems!==h.totalItems)&&(t?(this._pageNumber=1,this.paginationOptions.pageNumber=1):!this._initialized&&h.pageNumber&&h.pageNumber>1&&(this._pageNumber=h.pageNumber||1),this._pageNumber===1&&this._backendServiceApi&&this._backendServiceApi.service.resetPaginationOptions()),this._availablePageSizes=h.pageSizes,!this._totalItems&&h.totalItems&&(this._totalItems=h.totalItems),this.recalculateFromToIndexes()}this._pageCount=Math.ceil(this._totalItems/this._itemsPerPage),this.sharedService.currentPagination=this.getCurrentPagination(),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),e&&!Qo(l,this.getFullPagination())&&this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),n&&!Qo(l,this.getFullPagination())&&this.pubSubService.publish("onPaginationPresetsInitialized",this.getFullPagination());const u=this.getFullPagination();this._previousPagination={pageNumber:u.pageNumber,pageSize:u.pageSize,pageSizes:u.pageSizes,totalItems:this.totalItems}}resetPagination(t=!0){var e,n;this._isLocalGrid&&this.dataView&&(!((n=(e=this.sharedService)===null||e===void 0?void 0:e.gridOptions)===null||n===void 0)&&n.enablePagination)&&this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:0}),this._cursorPageInfo=void 0,this.refreshPagination(!0,t)}togglePaginationVisibility(t){var e;if(this.grid&&(!((e=this.sharedService)===null||e===void 0)&&e.gridOptions)){const n=t!==void 0?t:!this.sharedService.gridOptions.enablePagination;if(n&&this.goToFirstPage(),this._isLocalGrid&&this.dataView){const r=t?this._itemsPerPage:0;this.dataView.setPagingOptions({pageSize:r,pageNum:0})}this.sharedService.gridOptions.enablePagination=n,this.pubSubService.publish("onPaginationVisibilityChanged",{visible:n})}}processOnPageChanged(t,e,n){return console.assert(!this.isCursorBased||n,"Configured for cursor based pagination - cursorArgs expected"),this.pubSubService.publish("onBeforePaginationChange",this.getFullPagination())===!1?(this.resetToPreviousPagination(),Promise.resolve(this.getFullPagination())):new Promise((r,o)=>{var s,l,u;if(this.recalculateFromToIndexes(),this._isLocalGrid&&this.dataView)this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:t-1}),this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),r(this.getFullPagination());else{const h=+this._itemsPerPage,c=new Date;if(!((s=this._backendServiceApi)===null||s===void 0)&&s.preProcess&&this._backendServiceApi.preProcess(),!((l=this._backendServiceApi)===null||l===void 0)&&l.process){const p=this.isCursorBased&&n?this._backendServiceApi.service.processOnPaginationChanged(e,n):this._backendServiceApi.service.processOnPaginationChanged(e,{newPage:t,pageSize:h}),m=this._backendServiceApi.process(p);m instanceof Promise?m.then(v=>{var _;(_=this.backendUtilities)===null||_===void 0||_.executeBackendProcessesCallback(c,v,this._backendServiceApi,this._totalItems);const C=this.getFullPagination();this._previousPagination={pageNumber:C.pageNumber,pageSize:C.pageSize,pageSizes:C.pageSizes,totalItems:this.totalItems},r(this.getFullPagination())}).catch(v=>{var _,C,x;this.resetToPreviousPagination(),(_=this.backendUtilities)===null||_===void 0||_.onBackendError(v,this._backendServiceApi),(!(!((C=this._backendServiceApi)===null||C===void 0)&&C.onError)||!(!((x=this.backendUtilities)===null||x===void 0)&&x.onBackendError))&&o(m)}):!((u=this.rxjs)===null||u===void 0)&&u.isObservable(m)&&this._subscriptions.push(m.subscribe(v=>{var _;const C=this.getFullPagination();this._previousPagination={pageNumber:C.pageNumber,pageSize:C.pageSize,pageSizes:C.pageSizes,totalItems:this.totalItems},r((_=this.backendUtilities)===null||_===void 0?void 0:_.executeBackendProcessesCallback(c,v,this._backendServiceApi,this._totalItems))},v=>{var _,C,x;this.resetToPreviousPagination(),(_=this.backendUtilities)===null||_===void 0||_.onBackendError(v,this._backendServiceApi),(!(!((C=this._backendServiceApi)===null||C===void 0)&&C.onError)||!(!((x=this.backendUtilities)===null||x===void 0)&&x.onBackendError))&&o(m)})),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}})}recalculateFromToIndexes(){this._totalItems===0?(this._dataFrom=0,this._dataTo=1,this._pageNumber=0):(this._dataFrom=this._pageNumber>1?this._pageNumber*this._itemsPerPage-this._itemsPerPage+1:1,this._dataTo=this._totalItems<this._itemsPerPage?this._totalItems:(this._pageNumber||1)*this._itemsPerPage,this._dataTo>this._totalItems&&(this._dataTo=this._totalItems)),this._pageNumber=this._totalItems>0&&this._pageNumber===0?1:this._pageNumber,this._dataTo>this._totalItems?this._dataTo=this._totalItems:this._totalItems<this._itemsPerPage&&(this._dataTo=this._totalItems)}resetToPreviousPagination(){var t,e,n,r,o,s,l,u,h,c,p,m,v;const _=((t=this._previousPagination)===null||t===void 0?void 0:t.pageNumber)!==this.getFullPagination().pageNumber,C=((e=this._previousPagination)===null||e===void 0?void 0:e.pageSize)!==this.getFullPagination().pageSize;C&&this.changeItemPerPage((r=(n=this._previousPagination)===null||n===void 0?void 0:n.pageSize)!==null&&r!==void 0?r:0,null,!1),_&&this.goToPageNumber((s=(o=this._previousPagination)===null||o===void 0?void 0:o.pageNumber)!==null&&s!==void 0?s:0,null,!1),(_||C)&&(this.refreshPagination(),(h=(u=(l=this._backendServiceApi)===null||l===void 0?void 0:l.service)===null||u===void 0?void 0:u.updatePagination)===null||h===void 0||h.call(u,(p=(c=this._previousPagination)===null||c===void 0?void 0:c.pageNumber)!==null&&p!==void 0?p:0,(v=(m=this._previousPagination)===null||m===void 0?void 0:m.pageSize)!==null&&v!==void 0?v:0))}setCursorBased(t){this._isCursorBased=t}setCursorPageInfo(t){this._cursorPageInfo=t}updateTotalItems(t,e=!1){this._totalItems=t,this._paginationOptions&&(this._paginationOptions.totalItems=t,this.refreshPagination(!1,e))}processOnItemAddedOrRemoved(t,e=!0){if(t!==null){const n=this._dataTo,r=Array.isArray(t)?t.length:1,o=e?+r:-r;this._totalItems+=o,this.recalculateFromToIndexes(),this._dataTo=n+o,this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}}const V0=20,z0=25,U0=35,G0=180,W0=300,$0=200;class Y0{get eventHandler(){return this._eventHandler}get gridOptions(){var t,e,n;return(n=(e=(t=this._grid)===null||t===void 0?void 0:t.getOptions)===null||e===void 0?void 0:e.call(t))!==null&&n!==void 0?n:{}}get dataView(){var t;return(t=this._grid)===null||t===void 0?void 0:t.getData()}get gridUid(){var t,e;return(e=(t=this._grid)===null||t===void 0?void 0:t.getUID())!==null&&e!==void 0?e:""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get intervalRetryDelay(){return this._intervalRetryDelay}set intervalRetryDelay(t){this._intervalRetryDelay=t}get resizeByContentOptions(){var t,e;return(e=(t=this.gridOptions)===null||t===void 0?void 0:t.resizeByContentOptions)!==null&&e!==void 0?e:{}}constructor(t){this.pubSubService=t,this._intervalRetryDelay=$0,this._isStopResizeIntervalRequested=!1,this._hasResizedByContentAtLeastOnce=!1,this._totalColumnsWidthByContent=0,this._resizePaused=!1,this._subscriptions=[],this._eventHandler=new Slick.EventHandler,this._bindingEventService=new Nn}dispose(){var t,e;(t=this._eventHandler)===null||t===void 0||t.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._intervalId&&clearInterval(this._intervalId),clearTimeout(this._timer),((e=this.gridOptions.autoResize)===null||e===void 0?void 0:e.resizeDetection)==="container"&&this._resizeObserver&&this._resizeObserver.disconnect(),this._bindingEventService.unbindAll()}init(t,e){var n,r,o,s,l,u,h,c;if(!t||!this.gridOptions||!e)throw new Error(`
15
15
  [Slickgrid-Universal] Resizer Service requires a valid Grid object and DOM Element Container to be provided.
16
16
  You can fix this by setting your gridOption to use "enableAutoResize" or create an instance of the ResizerService by calling bindAutoResizeDataGrid() once.`);this._grid=t,this._gridContainerElm=e;const p=!((n=this.gridOptions)===null||n===void 0)&&n.gridHeight||!((r=this.gridOptions)===null||r===void 0)&&r.gridWidth?{height:(o=this.gridOptions)===null||o===void 0?void 0:o.gridHeight,width:(s=this.gridOptions)===null||s===void 0?void 0:s.gridWidth}:void 0;this._autoResizeOptions=(u=(l=this.gridOptions)===null||l===void 0?void 0:l.autoResize)!==null&&u!==void 0?u:{container:"grid1",bottomPadding:0},p!=null&&p.width&&(e!=null&&e.style)&&(e.style.width=typeof p.width=="string"?p.width:`${p.width}px`),this._gridDomElm=(h=t==null?void 0:t.getContainerNode)===null||h===void 0?void 0:h.call(t),typeof this._autoResizeOptions.container=="string"?this._pageContainerElm=typeof this._autoResizeOptions.container=="string"?document.querySelector(this._autoResizeOptions.container):this._autoResizeOptions.container:this._pageContainerElm=this._autoResizeOptions.container,p&&(this._fixedHeight=p.height,this._fixedWidth=p.width),this.gridOptions&&this.gridOptions.enableAutoResize&&this.bindAutoResizeDataGrid(),this.gridOptions.autoResize&&this._subscriptions.push(this.pubSubService.subscribe("onFullResizeByContentRequested",()=>this.resizeColumnsByCellContent(!0))),!((c=this.gridOptions)===null||c===void 0)&&c.enableColumnResizeOnDoubleClick&&(this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuColumnResizeByContent",m=>{this.handleSingleColumnResizeByContent(m.columnId)})),this._eventHandler.subscribe(this._grid.onColumnsResizeDblClick,(m,v)=>{this.handleSingleColumnResizeByContent(v.triggeredByColumn)}))}bindAutoResizeDataGrid(t){var e;if(((e=this.gridOptions.autoResize)===null||e===void 0?void 0:e.resizeDetection)==="container"){if(!this._pageContainerElm||!this._pageContainerElm)throw new Error(`
17
17
  [Slickgrid-Universal] Resizer Service requires a container when gridOption.autoResize.resizeDetection="container"