@slickgrid-universal/vanilla-force-bundle 5.13.2 → 5.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(Fe,oe){typeof exports=="object"&&typeof module<"u"?oe(exports):typeof define=="function"&&define.amd?define(["exports"],oe):(Fe=typeof globalThis<"u"?globalThis:Fe||self,oe(Fe.Slicker={}))})(this,function(Fe){"use strict";var oe;(function(r){r.local="local",r.remote="remote"})(oe||(oe={}));class no{constructor(e){this.rxjs=e,this._infiniteScrollBottomHit=!1}addRxJsResource(e){this.rxjs=e}executeBackendProcessesCallback(e,t,i,s){var o;const n=new Date;t&&i.service.postProcess&&i.service.postProcess(t),t&&(i!=null&&i.internalPostProcess)&&i.internalPostProcess(t),i.postProcess!==void 0&&(t instanceof Object&&(t.metrics={startTime:e,endTime:n,executionTime:n.valueOf()-e.valueOf(),itemCount:s,totalItemCount:s},(o=i.service.options)!=null&&o.infiniteScroll&&(t.infiniteScrollBottomHit=this._infiniteScrollBottomHit,delete t.itemCount)),i.postProcess(t),this.setInfiniteScrollBottomHit(!1))}onBackendError(e,t){if(typeof(t==null?void 0:t.onError)=="function")t.onError(e);else throw e}executeBackendCallback(e,t,i,s,n,o){var l;if(e){i&&!i.clearFilterTriggered&&!i.clearSortTriggered&&(o!=null&&o.emitActionChangedCallback)&&o.emitActionChangedCallback.call(this,oe.remote);const a=e.process(t);if(a instanceof Promise&&a.then)a.then(h=>{var d;this.executeBackendProcessesCallback(s,h,e,n),(d=o==null?void 0:o.successCallback)==null||d.call(this,i)}).catch(h=>{var d;(d=o==null?void 0:o.errorCallback)==null||d.call(this,i),this.onBackendError(h,e)});else if((l=this.rxjs)!=null&&l.isObservable(a)){const h=this.rxjs;h.isObservable(o==null?void 0:o.httpCancelRequestSubject)&&(o==null||o.httpCancelRequestSubject.next()),a.pipe(h.takeUntil(h.iif(()=>h.isObservable(o==null?void 0:o.httpCancelRequestSubject),o==null?void 0:o.httpCancelRequestSubject,h.EMPTY))).subscribe(d=>{var c;this.executeBackendProcessesCallback(s,d,e,n),(c=o==null?void 0:o.successCallback)==null||c.call(this,i)},d=>{var c;(c=o==null?void 0:o.errorCallback)==null||c.call(this,i),this.onBackendError(d,e)})}}}refreshBackendDataset(e){var s;let t="";const i=e==null?void 0:e.backendServiceApi;if(!i||!i.service||!i.process)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');if(i.service&&(t=i.service.buildQuery()),t&&t!==""){const n=new Date;i.preProcess&&i.preProcess();const o=((s=e==null?void 0:e.pagination)==null?void 0:s.totalItems)??0;this.executeBackendCallback(i,t,null,n,o)}}setInfiniteScrollBottomHit(e){this._infiniteScrollBottomHit=e}}const uh=Object.freeze(Object.defineProperty({__proto__:null,BackendUtilityService:no},Symbol.toStringTag,{value:"Module"}));function ci(r,e){if(Array.isArray(r)){const t=["pop","push","reverse","shift","unshift","splice","sort"],i=[];return t.forEach(n=>{r[n]=(...o)=>{const l=Array.prototype[n].apply(r,o);return i.push({method:n,action:l}),e.apply(r,[r,o]),l}}),{disconnect:()=>t.forEach(n=>{r[n]=()=>i[n].action})}}return null}function hs(r,e,t){let i=r[e];Object.defineProperty(r,e,{configurable:!0,get(){return i},set(s){i=s,t.apply(r,[s,r[e]])}})}const ph=Object.freeze(Object.defineProperty({__proto__:null,collectionObserver:ci,propertyObserver:hs},Symbol.toStringTag,{value:"Module"})),mh=r=>r;function fh(r,e,t=mh,i=()=>{}){const s=r&&r.length?[{pointer:r,offset:0}]:[],n=[];let o;for(;s.length;)for(o=s.pop();o.offset<o.pointer.length;){const l=o.pointer[o.offset],a=i(l),h=e(l);n.push(t(l,o.node,a,o.nodeId)),o.offset+=1,h&&(s.push(o),o={pointer:h,offset:0,node:l,nodeId:a})}return n}class R{}R.locales={TEXT_ALL_SELECTED:"All Selected",TEXT_ALL_X_RECORDS_SELECTED:"All {{x}} records selected",TEXT_APPLY_MASS_UPDATE:"Apply Mass Update",TEXT_APPLY_TO_SELECTION:"Update Selection",TEXT_CANCEL:"Cancel",TEXT_CLEAR_ALL_FILTERS:"Clear all Filters",TEXT_CLEAR_ALL_GROUPING:"Clear all Grouping",TEXT_CLEAR_ALL_SORTING:"Clear all Sorting",TEXT_CLEAR_PINNING:"Unfreeze Columns/Rows",TEXT_CLONE:"Clone",TEXT_COLLAPSE_ALL_GROUPS:"Collapse all Groups",TEXT_CONTAINS:"Contains",TEXT_COLUMNS:"Columns",TEXT_COLUMN_RESIZE_BY_CONTENT:"Resize by Content",TEXT_COMMANDS:"Commands",TEXT_COPY:"Copy",TEXT_DROP_COLUMN_HEADER_TO_GROUP_BY:"Drop a column header here to group by the column",TEXT_EQUALS:"Equals",TEXT_EQUAL_TO:"Equal to",TEXT_ENDS_WITH:"Ends With",TEXT_ERROR_EDITABLE_GRID_REQUIRED:"Your grid must be editable in order to use the Composite Editor Modal.",TEXT_ERROR_ENABLE_CELL_NAVIGATION_REQUIRED:'Composite Editor requires the flag "enableCellNavigation" to be set to True in your Grid Options.',TEXT_ERROR_NO_CHANGES_DETECTED:"Sorry we could not detect any changes.",TEXT_ERROR_NO_EDITOR_FOUND:"We could not find any Editor in your Column Definition.",TEXT_ERROR_NO_RECORD_FOUND:"No records selected for edit or clone operation.",TEXT_ERROR_ROW_NOT_EDITABLE:"Current row is not editable.",TEXT_ERROR_ROW_SELECTION_REQUIRED:"You must select some rows before trying to apply new value(s).",TEXT_EXPAND_ALL_GROUPS:"Expand all Groups",TEXT_EXPORT_TO_CSV:"Export in CSV format",TEXT_EXPORT_TO_TEXT_FORMAT:"Export in Text format (Tab delimited)",TEXT_EXPORT_TO_EXCEL:"Export to Excel",TEXT_EXPORT_TO_TAB_DELIMITED:"Export in Text format (Tab delimited)",TEXT_FORCE_FIT_COLUMNS:"Force fit columns",TEXT_FILTER_SHORTCUTS:"Filter Shortcuts",TEXT_FREEZE_COLUMNS:"Freeze Columns",TEXT_GREATER_THAN:"Greater than",TEXT_GREATER_THAN_OR_EQUAL_TO:"Greater than or equal to",TEXT_GROUP_BY:"Group By",TEXT_HIDE_COLUMN:"Hide Column",TEXT_ITEMS:"items",TEXT_ITEMS_PER_PAGE:"items per page",TEXT_ITEMS_SELECTED:"items selected",TEXT_OF:"of",TEXT_OK:"OK",TEXT_LAST_UPDATE:"Last Update",TEXT_LESS_THAN:"Less than",TEXT_LESS_THAN_OR_EQUAL_TO:"Less than or equal to",TEXT_NOT_CONTAINS:"Not contains",TEXT_NOT_EQUAL_TO:"Not equal to",TEXT_PAGE:"Page",TEXT_RECORDS_SELECTED:"records selected",TEXT_REFRESH_DATASET:"Refresh Dataset",TEXT_REMOVE_FILTER:"Remove Filter",TEXT_REMOVE_SORT:"Remove Sort",TEXT_RESET_INPUT_VALUE:"Reset Input Value",TEXT_RESET_FORM:"Reset Form",TEXT_SAVE:"Save",TEXT_SELECT_ALL:"Select All",TEXT_SYNCHRONOUS_RESIZE:"Synchronous resize",TEXT_SORT_ASCENDING:"Sort Ascending",TEXT_SORT_DESCENDING:"Sort Descending",TEXT_STARTS_WITH:"Starts With",TEXT_TOGGLE_ALL_GROUPS:"Toggle all Groups",TEXT_TOGGLE_DARK_MODE:"Toggle Dark Mode",TEXT_TOGGLE_FILTER_ROW:"Toggle Filter Row",TEXT_TOGGLE_PRE_HEADER_ROW:"Toggle Pre-Header Row",TEXT_UNFREEZE_COLUMNS:"Unfreeze Columns",TEXT_X_OF_Y_SELECTED:"# of % selected",TEXT_X_OF_Y_MASS_SELECTED:"{{x}} of {{y}} selected"},R.treeDataProperties={CHILDREN_PROP:"children",COLLAPSED_PROP:"__collapsed",HAS_CHILDREN_PROP:"__hasChildren",TREE_LEVEL_PROP:"__treeLevel",PARENT_PROP:"__parentId"},R.DEFAULT_FORMATTER_NUMBER_MIN_DECIMAL=2,R.DEFAULT_FORMATTER_NUMBER_MAX_DECIMAL=2,R.DEFAULT_FORMATTER_CURRENCY_MIN_DECIMAL=2,R.DEFAULT_FORMATTER_CURRENCY_MAX_DECIMAL=4,R.DEFAULT_FORMATTER_PERCENT_MIN_DECIMAL=void 0,R.DEFAULT_FORMATTER_PERCENT_MAX_DECIMAL=void 0,R.DEFAULT_NUMBER_DECIMAL_SEPARATOR=".",R.DEFAULT_NUMBER_THOUSAND_SEPARATOR="",R.DEFAULT_NEGATIVE_NUMBER_WRAPPED_IN_BRAQUET=!1,R.SLIDER_DEFAULT_MIN_VALUE=0,R.SLIDER_DEFAULT_MAX_VALUE=100,R.SLIDER_DEFAULT_STEP=1,R.VALIDATION_REQUIRED_FIELD="Field is required",R.VALIDATION_EDITOR_VALID_NUMBER="Please enter a valid number",R.VALIDATION_EDITOR_VALID_INTEGER="Please enter a valid integer number",R.VALIDATION_EDITOR_INTEGER_BETWEEN="Please enter a valid integer number between {{minValue}} and {{maxValue}}",R.VALIDATION_EDITOR_INTEGER_MAX="Please enter a valid integer number that is lower than {{maxValue}}",R.VALIDATION_EDITOR_INTEGER_MAX_INCLUSIVE="Please enter a valid integer number that is lower than or equal to {{maxValue}}",R.VALIDATION_EDITOR_INTEGER_MIN="Please enter a valid integer number that is greater than {{minValue}}",R.VALIDATION_EDITOR_INTEGER_MIN_INCLUSIVE="Please enter a valid integer number that is greater than or equal to {{minValue}}",R.VALIDATION_EDITOR_NUMBER_BETWEEN="Please enter a valid number between {{minValue}} and {{maxValue}}",R.VALIDATION_EDITOR_NUMBER_MAX="Please enter a valid number that is lower than {{maxValue}}",R.VALIDATION_EDITOR_NUMBER_MAX_INCLUSIVE="Please enter a valid number that is lower than or equal to {{maxValue}}",R.VALIDATION_EDITOR_NUMBER_MIN="Please enter a valid number that is greater than {{minValue}}",R.VALIDATION_EDITOR_NUMBER_MIN_INCLUSIVE="Please enter a valid number that is greater than or equal to {{minValue}}",R.VALIDATION_EDITOR_DECIMAL_BETWEEN="Please enter a valid number with a maximum of {{maxDecimal}} decimals",R.VALIDATION_EDITOR_TEXT_LENGTH_BETWEEN="Please make sure your text length is between {{minLength}} and {{maxLength}} characters",R.VALIDATION_EDITOR_TEXT_MAX_LENGTH="Please make sure your text is less than {{maxLength}} characters",R.VALIDATION_EDITOR_TEXT_MAX_LENGTH_INCLUSIVE="Please make sure your text is less than or equal to {{maxLength}} characters",R.VALIDATION_EDITOR_TEXT_MIN_LENGTH="Please make sure your text is more than {{minLength}} character(s)",R.VALIDATION_EDITOR_TEXT_MIN_LENGTH_INCLUSIVE="Please make sure your text is at least {{minLength}} character(s)";var Cn;(function(r){r[r.camelCase=0]="camelCase",r[r.pascalCase=1]="pascalCase",r[r.snakeCase=2]="snakeCase",r[r.kebabCase=3]="kebabCase"})(Cn||(Cn={}));var Ot;(function(r){r.colon=":",r.comma=",",r.equalSign="=",r.pipe="|",r.semicolon=";",r.space=" ",r.tab=" ",r.doubleColon="::",r.doublePipe="||",r.doubleSemicolon=";;"})(Ot||(Ot={}));var G;(function(r){r.autoTooltip="autoTooltip",r.cellExternalCopyManager="cellExternalCopyManager",r.cellMenu="cellMenu",r.checkboxSelector="checkboxSelector",r.columnPicker="columnPicker",r.contextMenu="contextMenu",r.customTooltip="customTooltip",r.draggableGrouping="draggableGrouping",r.groupItemMetaProvider="groupItemMetaProvider",r.gridMenu="gridMenu",r.headerButton="headerButton",r.headerMenu="headerMenu",r.rowBasedEdit="rowBasedEdit",r.rowDetailView="rowDetailView",r.rowMoveManager="rowMoveManager",r.rowSelection="rowSelection"})(G||(G={}));const w={unknown:"unknown",string:"string",boolean:"boolean",integer:"integer",float:"float",number:"number",date:"date",dateIso:"dateIso",dateUtc:"dateUtc",dateTime:"dateTime",dateTimeIso:"dateTimeIso",dateTimeIsoAmPm:"dateTimeIsoAmPm",dateTimeIsoAM_PM:"dateTimeIsoAM_PM",dateTimeShortIso:"dateTimeShortIso",dateEuro:"dateEuro",dateEuroShort:"dateEuroShort",dateTimeShortEuro:"dateTimeShortEuro",dateTimeEuro:"dateTimeEuro",dateTimeEuroAmPm:"dateTimeEuroAmPm",dateTimeEuroAM_PM:"dateTimeEuroAM_PM",dateTimeEuroShort:"dateTimeEuroShort",dateTimeEuroShortAmPm:"dateTimeEuroShortAmPm",dateTimeEuroShortAM_PM:"dateTimeEuroShortAM_PM",dateUs:"dateUs",dateUsShort:"dateUsShort",dateTimeShortUs:"dateTimeShortUs",dateTimeUs:"dateTimeUs",dateTimeUsAmPm:"dateTimeUsAmPm",dateTimeUsAM_PM:"dateTimeUsAM_PM",dateTimeUsShort:"dateTimeUsShort",dateTimeUsShortAmPm:"dateTimeUsShortAmPm",dateTimeUsShortAM_PM:"dateTimeUsShortAM_PM",object:"object",password:"password",text:"text",readonly:"readonly"};var ve;(function(r){r.csv="csv",r.txt="txt",r.xls="xls",r.xlsx="xlsx"})(ve||(ve={}));var ui;(function(r){r.merge="merge",r.chain="chain"})(ui||(ui={}));var $e;(function(r){r.columns="columns",r.filter="filter",r.pagination="pagination",r.pinning="pinning",r.rowSelection="rowSelection",r.sorter="sorter",r.treeData="treeData"})($e||($e={}));var H;(function(r){r.empty="",r.custom="Custom",r.contains="Contains",r.notContains="Not_Contains",r.lessThan="LT",r.lessThanOrEqual="LE",r.greaterThan="GT",r.greaterThanOrEqual="GE",r.notEqual="NE",r.equal="EQ",r.endsWith="EndsWith",r.rangeInclusive="RangeInclusive",r.rangeExclusive="RangeExclusive",r.startsWith="StartsWith",r.startsWithEndsWith="StartsWithEndsWith",r.in="IN",r.notIn="NOT_IN",r.inContains="IN_CONTAINS",r.notInContains="NOT_IN_CONTAINS",r.inCollection="IN_COLLECTION",r.notInCollection="NOT_IN_COLLECTION"})(H||(H={}));var ut;(function(r){r.asc="asc",r.ASC="ASC",r.desc="desc",r.DESC="DESC"})(ut||(ut={}));var ae;(function(r){r[r.asc=1]="asc",r[r.desc=-1]="desc",r[r.neutral=0]="neutral"})(ae||(ae={}));var xt;(function(r){r.toggleCollapse="toggle-collapse",r.fullExpand="full-expand",r.fullCollapse="full-collapse",r.toggleExpand="toggle-expand"})(xt||(xt={}));const vn=Object.freeze(Object.defineProperty({__proto__:null,get CaseType(){return Cn},get DelimiterType(){return Ot},get EmitterType(){return oe},get ExtensionName(){return G},FieldType:w,get FileType(){return ve},get FilterMultiplePassType(){return ui},get GridStateType(){return $e},get OperatorType(){return H},get SortDirection(){return ut},get SortDirectionNumber(){return ae},get ToggleStateChangeType(){return xt}},Symbol.toStringTag,{value:"Module"}));class Di extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Di.prototype)}}function ro(r){let e=!1;return r instanceof Promise?{promise:r.then(t=>{if(e)throw new Di("Cancelled Promise");return t}),cancel:()=>e=!0}:r}function oo(r,e,t=""){let i=e;if(e instanceof Promise)return e;if(r.isObservable(e)&&(i=r.firstValueFrom(e)),!(i instanceof Promise))throw new Error(`Something went wrong, Slickgrid-Universal ${t} is not able to convert the Observable into a Promise.`);return i}function ds(r,e,t=0){const i=Ae(e,"childrenPropName");Array.isArray(r)&&r.forEach(s=>{s&&(Array.isArray(s[i])&&s[i].length>0&&(t++,ds(s[i],e,t),t--),s[e.levelPropName]=t)})}function Mi(r,e,t=0,i=null){const s=Ae(e,"childrenPropName"),{aggregator:n}=e;Array.isArray(r)&&r.forEach(o=>{if(o){const l=Array.isArray(o[s]);Array.isArray(o[s])&&o[s].length>0&&(n.init(o,!0),t++,Mi(o[s],e,t,o),t--),i&&n.isInitialized&&typeof n.accumulate=="function"&&!(o!=null&&o.__filteredOut)&&(n.accumulate(o,l),n.storeResult(i.__treeTotals)),o[e.levelPropName]=t}})}function lo(r,e){const t=Ae(e,"identifierPropName"),i=Ae(e,"childrenPropName"),s=Ae(e,"hasChildrenPropName"),n=Ae(e,"parentPropName"),o=Ae(e,"levelPropName");return e!=null&&e.shouldAddTreeLevelNumber&&(Array.isArray(e==null?void 0:e.aggregators)?e.aggregators.forEach(a=>{Mi(r,{childrenPropName:i,levelPropName:o,aggregator:a})}):ds(r,{childrenPropName:i,levelPropName:o})),fh(r,a=>a[i],(a,h)=>({[t]:a[t],[n]:h!==void 0?h[t]:null,[s]:!!a[i],...ho(a,i)}))}function Ae(r,e,t="id"){let i="";switch(e){case"childrenPropName":i=(r==null?void 0:r.childrenPropName)??R.treeDataProperties.CHILDREN_PROP;break;case"collapsedPropName":i=(r==null?void 0:r.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP;break;case"hasChildrenPropName":i=(r==null?void 0:r.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP;break;case"identifierPropName":i=(r==null?void 0:r.identifierPropName)??t;break;case"levelPropName":i=(r==null?void 0:r.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP;break;case"parentPropName":i=(r==null?void 0:r.parentPropName)??R.treeDataProperties.PARENT_PROP;break}return i}function ao(r,e){const t=Ae(e,"identifierPropName"),i=Ae(e,"childrenPropName"),s=Ae(e,"parentPropName"),n=Ae(e,"levelPropName"),o=Ae(e,"collapsedPropName"),l=r||[],a=[],h={};return l.forEach(d=>{h[d[t]]=d,delete d[i]}),Object.keys(h).forEach(d=>{const c=h[d];if(!(s in c)||c[s]===null||c[s]===void 0||c[s]==="")a.push(c);else if(c[s]in h){const u=h[c[s]];i in u||(u[i]=[]),u[i].push(c),u[o]===void 0&&(u[o]=(e==null?void 0:e.initiallyCollapsed)??!1)}}),Array.isArray(e==null?void 0:e.aggregators)?e.aggregators.forEach(d=>{Mi(a,{childrenPropName:i,levelPropName:n,aggregator:d},0)}):ds(a,{childrenPropName:i,levelPropName:n},0),a}function Li(r,e,t){if(!t)throw new Error('findItemInTreeStructure requires parameter "childrenPropertyName"');const i=r.find(e),s=r.filter(n=>t in n&&n[t]);if(i)return i;if(s.length){const n=[];for(const o of s)t in o&&n.push(...o[t]);return Li(n,e,t)}}function Vt(r,e,t,i=".",s=""){if(isNaN(+r))return r;const n=e===void 0?2:e,o=t===void 0?2:t;let l=String(Math.round(+r*Math.pow(10,o))/Math.pow(10,o));for(l.indexOf(".")<0&&n>0&&(l+=".");l.length-l.indexOf(".")<=n;)l+="0";const a=l.split(".");let h,d;s?h=a.length>=1?Rt(a[0],s):void 0:h=a.length>=1?a[0]:l,a.length>1&&(d=a[1]);let c="";return h!==void 0&&d!==void 0?c=`${h}${i}${d}`:h!=null&&(c=h),c}function Ie(r,e,t,i,s="",n="",o=".",l=""){if(isNaN(+r))return r;const a=Math.round(parseFloat(r)*1e6)/1e6;if(a<0){const h=Math.abs(a);if(i){if(!isNaN(e)||!isNaN(t))return`(${s}${Vt(h,e,t,o,l)}${n})`;const d=Rt(`${h}`,l);return`(${s}${d}${n})`}else{if(!isNaN(e)||!isNaN(t))return`-${s}${Vt(h,e,t,o,l)}${n}`;const d=Rt(`${h}`,l);return`-${s}${d}${n}`}}else{if(!isNaN(e)||!isNaN(t))return`${s}${Vt(r,e,t,o,l)}${n}`;const h=Rt(`${r}`,l);return`${s}${h}${n}`}}function Ni(r,e,t){if(typeof r.queryFieldNameGetterFn=="function"){const i=r.queryFieldNameGetterFn(e);(i==null?void 0:i.indexOf("."))>=0?t=Ee(e,i):t=e.hasOwnProperty(i)?e[i]:t}return t}function Ee(r,e){return!r||!e?r:e.split(".").reduce((t,i)=>t&&t[i],r)}function lt(r){return r&&r.translationNamespace?r.translationNamespace+(r.translationNamespaceSeparator||""):""}function Hi(r){return r.outputType||r.type||w.string}function It(r){switch(r){case w.date:case w.dateTime:case w.dateIso:case w.dateTimeIso:case w.dateTimeShortIso:case w.dateTimeIsoAmPm:case w.dateTimeIsoAM_PM:case w.dateEuro:case w.dateEuroShort:case w.dateTimeEuro:case w.dateTimeShortEuro:case w.dateTimeEuroAmPm:case w.dateTimeEuroAM_PM:case w.dateTimeEuroShort:case w.dateTimeEuroShortAmPm:case w.dateTimeEuroShortAM_PM:case w.dateUs:case w.dateUsShort:case w.dateTimeUs:case w.dateTimeShortUs:case w.dateTimeUsAmPm:case w.dateTimeUsAM_PM:case w.dateTimeUsShort:case w.dateTimeUsShortAmPm:case w.dateTimeUsShortAM_PM:case w.dateUtc:return!0;default:return!1}}function gh(r){let e;switch(r){case"<":case"LT":e=H.lessThan;break;case"<=":case"LE":e=H.lessThanOrEqual;break;case">":case"GT":e=H.greaterThan;break;case">=":case"GE":e=H.greaterThanOrEqual;break;case"!=":case"NE":e=H.notEqual;break;case"*":case"a*":case"StartsWith":e=H.startsWith;break;case"*z":case"EndsWith":e=H.endsWith;break;case"=":case"==":case"EQ":e=H.equal;break;case"IN":e=H.in;break;case"NIN":case"NOT_IN":e=H.notIn;break;case"<>":case"Not_Contains":case"NOT_CONTAINS":e=H.notContains;break;case"Contains":case"CONTAINS":default:e=H.contains;break}return e}function pi(r){let e="";switch(r){case H.greaterThan:case">":e=">";break;case H.greaterThanOrEqual:case">=":e=">=";break;case H.lessThan:case"<":e="<";break;case H.lessThanOrEqual:case"<=":e="<=";break;case H.notEqual:case"<>":e="<>";break;case H.equal:case"=":case"==":case"EQ":e="=";break;case H.startsWith:case"a*":case"*":e="a*";break;case H.endsWith:case"*z":e="*z";break;default:e=r;break}return e}function bn(r){let e;if(It(r))e=H.equal;else switch(r){case w.unknown:case w.string:case w.text:case w.password:case w.readonly:e=H.contains;break;case w.float:case w.number:default:e=H.equal;break}return e}function ho(r,e){return Object.keys(r).reduce((t,i)=>(i!==e&&(t[i]=r[i]),t),{})}function Rt(r,e=","){if(r!=null){const t=`${r}`,i=t.split(".");return i.length===2?`${i[0].replace(/\B(?=(\d{3})+(?!\d))/g,e)}.${i[1]}`:t.replace(/\B(?=(\d{3})+(?!\d))/g,e)}return r}function At(r,e,t={}){return Array.isArray(r)?r.find(e)||t:r}function cs(r){if(Array.isArray(r))for(;r.length>0;){const e=r.pop();e!=null&&e.unsubscribe&&e.unsubscribe()}return r}const _h=Object.freeze(Object.defineProperty({__proto__:null,CancelledException:Di,addTreeLevelAndAggregatorsByMutation:Mi,addTreeLevelByMutation:ds,cancellablePromise:ro,castObservableToPromise:oo,decimalFormatted:Vt,findItemInTreeStructure:Li,findOrDefault:At,flattenToParentChildArray:lo,formatNumber:Ie,getCellValueFromQueryFieldGetter:Ni,getColumnFieldType:Hi,getDescendantProperty:Ee,getTranslationPrefix:lt,getTreeDataOptionPropName:Ae,isColumnDateType:It,mapOperatorByFieldType:bn,mapOperatorToShorthandDesignation:pi,mapOperatorType:gh,objectWithoutKey:ho,thousandSeparatorFormatted:Rt,unflattenParentChildArrayToTree:ao,unsubscribeAll:cs},Symbol.toStringTag,{value:"Module"})),Ch=(r,e,t=ae.neutral)=>{let i=0;return r===e?i=0:r===null?i=-1:e===null?i=1:t?i=r<e?-1:1:i=r<e?1:-1,t*i},vh=(r,e,t=ae.neutral,i,s)=>{if(!i||!i.dataKey)throw new Error('Sorting a "FieldType.object" requires you to provide the "dataKey" (object property name) of the object so that we can use it to sort correctly');const n=r!=null&&r.hasOwnProperty(i.dataKey)?r[i.dataKey]:r,o=e!=null&&e.hasOwnProperty(i.dataKey)?e[i.dataKey]:e,l=(i==null?void 0:i.valueCouldBeUndefined)??(s==null?void 0:s.cellValueCouldBeUndefined)??!1;let a=0;return typeof r!="object"?a=-1/0:typeof e!="object"?a=1/0:n===null||l&&n===void 0?a=-1:o===null||l&&o===void 0?a=1:n===o?a=0:t?a=n<o?-1:1:a=n<o?1:-1,t*a};function Vi(r){let e=0,t=0,i=0,s=0;const n=window.innerHeight||0,o=window.innerWidth||0,l=yn(),a=l.top,h=l.left,d=ge(r);if(d){const c=d.top,u=d.left;t=c-a,i=u-h,e=n-(c-a+r.clientHeight),s=o-(u-h+r.clientWidth)}return{top:t,bottom:e,left:i,right:s}}function v(r,e,t){const i=document.createElement(r);return e&&Object.keys(e).forEach(s=>{s==="innerHTML"&&console.warn(`[Slickgrid-Universal] For better CSP (Content Security Policy) support, do not use "innerHTML" directly in "createDomElement('${r}', { innerHTML: 'some html'})", it is better as separate assignment: "const elm = createDomElement('span'); elm.innerHTML = 'some html';"`);const n=e[s];typeof n=="object"?Object.assign(i[s],n):i[s]=e[s]}),t!=null&&t.appendChild&&t.appendChild(i),i}function he(r=""){return r.split(" ").filter(e=>e)}function Sn(r){typeof r=="object"&&Object.keys(r).forEach(e=>{Array.isArray(r[e])&&Sn(r[e]),r[e]instanceof HTMLElement&&(r[e]=null)})}function ee(r){for(;r!=null&&r.firstChild;)r.removeChild(r.firstChild);return r}function _t(r,e="innerHTML"){return r instanceof DocumentFragment?[].map.call(r.childNodes,t=>t[e]).join("")||r.textContent||"":r instanceof HTMLElement?r[e]:String(r??"")}function co(r,e){if(!r||!e)return;const t=r.getBoundingClientRect(),i=e.getBoundingClientRect();return{top:i.top-t.top,right:i.right-t.right,bottom:i.bottom-t.bottom,left:i.left-t.left}}function ge(r){let e=0,t=0,i=0,s=0;if(!r||!r.getBoundingClientRect)return{top:e,bottom:i,left:t,right:s};const n=r.getBoundingClientRect(),o=document.documentElement;return(n==null?void 0:n.top)!==void 0&&n.left!==void 0&&(e=n.top+window.pageYOffset-o.clientTop,t=n.left+window.pageXOffset-o.clientLeft,s=n.right,i=n.bottom),{top:e,left:t,bottom:i,right:s}}function us(r,e){let t=0;if(r){const i=e==="height"?"clientHeight":"clientWidth",s=e==="height"?["top","bottom"]:["left","right"];t=r[i];for(const n of s){const o=parseFloat(uo(r,`padding-${n}`)||"")||0;t-=o}}return t}function uo(r,e){return r?window.getComputedStyle(r).getPropertyValue(e):null}function Bi(r,e){if(r)for(const t of e){const i=r.getAttribute(t);if(i)return i}return null}function Pt(r,e="auto"){return(/^[0-9]+$/i.test(`${r}`)?`${+r}px`:r)||e}function po(r){const e=typeof r=="string"?r:String(r),t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return(e||"").toString().replace(/[&<>"']/g,i=>t[i])}function mo(r){return r.replace(/&#(\d+);/g,(e,t)=>String.fromCharCode(t))}function fo(r,e){const t=r.length;let i=po(r);if(t<e)for(let s=t;s<e;s++)i+="&nbsp;";return i}function go(r,e){var t;(t=r.parentNode)==null||t.insertBefore(e,r.nextSibling)}function yn(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}const ps=Object.prototype.hasOwnProperty,_o=Object.prototype.toString,Co=Object.defineProperty,vo=Object.getOwnPropertyDescriptor,bo=function(e){return typeof Array.isArray=="function"?Array.isArray(e):_o.call(e)==="[object Array]"},So=function(e){if(!e||_o.call(e)!=="[object Object]")return!1;const t=ps.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&ps.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!i)return!1;let s;for(s in e);return typeof s>"u"||ps.call(e,s)},yo=function(e,t){Co&&t.name==="__proto__"?Co(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},Eo=function(e,t){if(t==="__proto__")if(ps.call(e,t)){if(vo)return vo(e,t).value}else return;return e[t]};function de(...r){let e,t,i,s,n,o,l=r[0],a=1;const h=r.length;let d=!1;for(typeof l=="boolean"&&(d=l,l=r[1]||{},a=2),(l==null||typeof l!="object"&&typeof l!="function")&&(l={});a<h;++a)if(e=r[a],e!=null)for(t in e)i=Eo(l,t),s=Eo(e,t),l!==s&&(d&&s&&(So(s)||(n=bo(s)))?(n?(n=!1,o=i&&bo(i)?i:[]):o=i&&So(i)?i:{},yo(l,{name:t,newValue:de(d,o,s)})):typeof s<"u"&&yo(l,{name:t,newValue:s}));return l}function bh(r,e,t="id"){let i=-1;e&&typeof e=="object"&&t in e?i=r.findIndex(s=>s[t]===e[t]):i=r.findIndex(s=>s===e),i<0&&r.push(e)}function zi(r,e=" "){let t="";for(let i=0;i<r;i++)t+=e;return t}function En(r,e){return r.filter((t,i)=>e!==i)}function Sh(r){if(!Array.isArray(r)&&!Bt(r))return r;const e=Array.isArray(r)?[]:{};return de(!0,e,r)}function Zt(r,...e){if(!e.length)return r;const t=e.shift();return r=!Bt(r)&&Bt(t)?{}:r,Bt(r)&&Bt(t)&&Object.keys(t).forEach(i=>{t.hasOwnProperty(i)&&(i in r?typeof r[i]!="object"||typeof t[i]!="object"?r[i]=t[i]:r[i].concat&&t[i].concat?r[i]=r[i].concat(t[i]):r[i]=Zt(r[i],t[i]):r[i]=t[i])}),Zt(r,...e)}function wo(r){return Bt(r)&&Object.keys(r).forEach(e=>{r.hasOwnProperty(e)&&delete r[e]}),r=null,r={},r}function wn(r,e=!0){let t=!1;const i=n=>{const o=n.toString();if(t=o.includes("async "),o.replaceAll(" ","").includes("=>({")){const h=o.match(/(({.*}))/g)||[];return h.length>=1?`return ${h[0].trimStart()}`:o}const l=!o.includes("{")&&o.includes("=>"),a=o.substring(o.indexOf("{")+1||o.indexOf("=>")+2,o.includes("}")?o.lastIndexOf("}"):o.length);return e&&l&&!a.startsWith("return")?"return "+a.trimStart():a};return{params:(n=>{const o=/(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,)]*(('(?:\\'|[^'\r\n])*')|("(?:\\"|[^"\r\n])*"))|(\s*=[^,)]*))/gm,l=/([^\s,]+)/g,a=n.toString().replace(o,"");return a.slice(a.indexOf("(")+1,a.indexOf(")")).match(l)??[]})(r),body:i(r),isAsync:t}}function Tn(r){return r==null?!0:Object.entries(r).length===0}function q(r){return r!=null&&r!==""}function Jt(r){return r!==null&&!isNaN(r)&&r!==""}function Bt(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)}function $i(r){return typeof r=="boolean"||typeof r=="number"||typeof r=="string"||r===null||r===void 0}function ei(r){return r instanceof HTMLElement||r instanceof DocumentFragment||$i(r)}function U(r,e=!1){return e?r==null||typeof r=="string"?!1:!isNaN(r):r==null||r===""?!1:!isNaN(+r)}function To(r){return!r||r&&typeof r=="object"&&Object.keys(r).length===0}function ms(r){return/(true|1)/i.test(r+"")}function mi(r,e=!1){const t=typeof r.normalize=="function"?r.normalize("NFD").replace(/[\u0300-\u036f]/g,""):r;return e?t.toLowerCase():t}function We(r,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length>1){const i=e.shift();r&&i!==void 0&&We(r[i]=q(r[i])&&(Array.isArray(r[i])||Object.prototype.toString.call(r[i])==="[object Object]")?r[i]:{},e,t)}else r&&e[0]&&(r[e[0]]=t)}function ti(r,e=!1){return typeof r=="string"?e?r.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()):r.charAt(0).toUpperCase()+r.slice(1):r}function On(r){return typeof r=="string"?r.replace(/(?:^\w|[A-Z]|\b\w|[\s+\-_/])/g,(e,t)=>/[\s+\-_/]/.test(e)?"":t===0?e.toLowerCase():e.toUpperCase()):r}function fi(r){return typeof r=="string"?On(r).replace(/([A-Z])|([-_])/g,"-$1").toLowerCase():r}function Ct(r){if(typeof r=="string"){const e=r.replace(/([A-Z])|([-_])/g," $1").replace(/\s+/g," ").trim();return e.charAt(0).toUpperCase()+e.slice(1)}return r}function yh(r){return typeof r=="string"?On(r).replace(/([A-Z])/g,"_$1").toLowerCase():r}function Oo(r){return Array.isArray(r)&&r.length>0?r.filter((e,t)=>r.indexOf(e)>=t):r}function Eh(r,e="id"){if(Array.isArray(r)&&r.length>0){const t=[],i=new Map;for(const s of r)s&&!i.has(s[e])&&(i.set(s[e],!0),t.push({id:s[e],name:s.name}));return t}return r}const Wi=Symbol("plaintext"),xo=Symbol("html"),Io=Symbol("comment"),wh=/<(\w*)>/g,Th=/<\/?([^\s/>]+)/;function we(r,e,t){function i(a,h,d){if(typeof a!="string"&&(U(a)||typeof a=="boolean"))return String(a);if(a instanceof HTMLElement&&(a=a.innerHTML),typeof a!="string"&&a!==void 0&&a!==null)throw new TypeError("'html' parameter must be a string");return n(a||"",s(h||"",d||""))}function s(a,h){return{allowable_tags:o(a),tag_replacement:h,state:Wi,tag_buffer:"",depth:0,in_quote_char:""}}function n(a,h){const d=h.allowable_tags,c=h.tag_replacement;let u=h.state,p=h.tag_buffer,m=h.depth,f=h.in_quote_char,g="";for(let _=0,C=a.length;_<C;_++){const b=a[_];if(u===Wi)switch(b){case"<":u=xo,p+=b;break;default:g+=b;break}else if(u===xo)switch(b){case"<":if(f)break;m++;break;case">":if(f)break;if(m){m--;break}f="",u=Wi,p+=">",d.has(l(p))?g+=p:g+=c,p="";break;case'"':case"'":b===f?f="":f=f||b,p+=b;break;case"-":p==="<!-"&&(u=Io),p+=b;break;case" ":case`
1
+ (function(Fe,oe){typeof exports=="object"&&typeof module<"u"?oe(exports):typeof define=="function"&&define.amd?define(["exports"],oe):(Fe=typeof globalThis<"u"?globalThis:Fe||self,oe(Fe.Slicker={}))})(this,function(Fe){"use strict";var oe;(function(r){r.local="local",r.remote="remote"})(oe||(oe={}));class no{constructor(e){this.rxjs=e,this._infiniteScrollBottomHit=!1}addRxJsResource(e){this.rxjs=e}executeBackendProcessesCallback(e,t,i,s){var o;const n=new Date;t&&i.service.postProcess&&i.service.postProcess(t),t&&(i!=null&&i.internalPostProcess)&&i.internalPostProcess(t),i.postProcess!==void 0&&(t instanceof Object&&(t.metrics={startTime:e,endTime:n,executionTime:n.valueOf()-e.valueOf(),itemCount:s,totalItemCount:s},(o=i.service.options)!=null&&o.infiniteScroll&&(t.infiniteScrollBottomHit=this._infiniteScrollBottomHit,delete t.itemCount)),i.postProcess(t),this.setInfiniteScrollBottomHit(!1))}onBackendError(e,t){if(typeof(t==null?void 0:t.onError)=="function")t.onError(e);else throw e}executeBackendCallback(e,t,i,s,n,o){var l;if(e){i&&!i.clearFilterTriggered&&!i.clearSortTriggered&&(o!=null&&o.emitActionChangedCallback)&&o.emitActionChangedCallback.call(this,oe.remote);const a=e.process(t);if(a instanceof Promise&&a.then)a.then(h=>{var d;this.executeBackendProcessesCallback(s,h,e,n),(d=o==null?void 0:o.successCallback)==null||d.call(this,i)}).catch(h=>{var d;(d=o==null?void 0:o.errorCallback)==null||d.call(this,i),this.onBackendError(h,e)});else if((l=this.rxjs)!=null&&l.isObservable(a)){const h=this.rxjs;h.isObservable(o==null?void 0:o.httpCancelRequestSubject)&&(o==null||o.httpCancelRequestSubject.next()),a.pipe(h.takeUntil(h.iif(()=>h.isObservable(o==null?void 0:o.httpCancelRequestSubject),o==null?void 0:o.httpCancelRequestSubject,h.EMPTY))).subscribe(d=>{var c;this.executeBackendProcessesCallback(s,d,e,n),(c=o==null?void 0:o.successCallback)==null||c.call(this,i)},d=>{var c;(c=o==null?void 0:o.errorCallback)==null||c.call(this,i),this.onBackendError(d,e)})}}}refreshBackendDataset(e){var s;let t="";const i=e==null?void 0:e.backendServiceApi;if(!i||!i.service||!i.process)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');if(i.service&&(t=i.service.buildQuery()),t&&t!==""){const n=new Date;i.preProcess&&i.preProcess();const o=((s=e==null?void 0:e.pagination)==null?void 0:s.totalItems)??0;this.executeBackendCallback(i,t,null,n,o)}}setInfiniteScrollBottomHit(e){this._infiniteScrollBottomHit=e}}const uh=Object.freeze(Object.defineProperty({__proto__:null,BackendUtilityService:no},Symbol.toStringTag,{value:"Module"}));function ci(r,e){if(Array.isArray(r)){const t=["pop","push","reverse","shift","unshift","splice","sort"],i=[];return t.forEach(n=>{r[n]=(...o)=>{const l=Array.prototype[n].apply(r,o);return i.push({method:n,action:l}),e.apply(r,[r,o]),l}}),{disconnect:()=>t.forEach(n=>{r[n]=()=>i[n].action})}}return null}function hs(r,e,t){let i=r[e];Object.defineProperty(r,e,{configurable:!0,get(){return i},set(s){i=s,t.apply(r,[s,r[e]])}})}const ph=Object.freeze(Object.defineProperty({__proto__:null,collectionObserver:ci,propertyObserver:hs},Symbol.toStringTag,{value:"Module"})),mh=r=>r;function fh(r,e,t=mh,i=()=>{}){const s=r&&r.length?[{pointer:r,offset:0}]:[],n=[];let o;for(;s.length;)for(o=s.pop();o.offset<o.pointer.length;){const l=o.pointer[o.offset],a=i(l),h=e(l);n.push(t(l,o.node,a,o.nodeId)),o.offset+=1,h&&(s.push(o),o={pointer:h,offset:0,node:l,nodeId:a})}return n}class R{}R.locales={TEXT_ALL_SELECTED:"All Selected",TEXT_ALL_X_RECORDS_SELECTED:"All {{x}} records selected",TEXT_APPLY_MASS_UPDATE:"Apply Mass Update",TEXT_APPLY_TO_SELECTION:"Update Selection",TEXT_CANCEL:"Cancel",TEXT_CLEAR_ALL_FILTERS:"Clear all Filters",TEXT_CLEAR_ALL_GROUPING:"Clear all Grouping",TEXT_CLEAR_ALL_SORTING:"Clear all Sorting",TEXT_CLEAR_PINNING:"Unfreeze Columns/Rows",TEXT_CLONE:"Clone",TEXT_COLLAPSE_ALL_GROUPS:"Collapse all Groups",TEXT_CONTAINS:"Contains",TEXT_COLUMNS:"Columns",TEXT_COLUMN_RESIZE_BY_CONTENT:"Resize by Content",TEXT_COMMANDS:"Commands",TEXT_COPY:"Copy",TEXT_DROP_COLUMN_HEADER_TO_GROUP_BY:"Drop a column header here to group by the column",TEXT_EQUALS:"Equals",TEXT_EQUAL_TO:"Equal to",TEXT_ENDS_WITH:"Ends With",TEXT_ERROR_EDITABLE_GRID_REQUIRED:"Your grid must be editable in order to use the Composite Editor Modal.",TEXT_ERROR_ENABLE_CELL_NAVIGATION_REQUIRED:'Composite Editor requires the flag "enableCellNavigation" to be set to True in your Grid Options.',TEXT_ERROR_NO_CHANGES_DETECTED:"Sorry we could not detect any changes.",TEXT_ERROR_NO_EDITOR_FOUND:"We could not find any Editor in your Column Definition.",TEXT_ERROR_NO_RECORD_FOUND:"No records selected for edit or clone operation.",TEXT_ERROR_ROW_NOT_EDITABLE:"Current row is not editable.",TEXT_ERROR_ROW_SELECTION_REQUIRED:"You must select some rows before trying to apply new value(s).",TEXT_EXPAND_ALL_GROUPS:"Expand all Groups",TEXT_EXPORT_TO_CSV:"Export in CSV format",TEXT_EXPORT_TO_TEXT_FORMAT:"Export in Text format (Tab delimited)",TEXT_EXPORT_TO_EXCEL:"Export to Excel",TEXT_EXPORT_TO_TAB_DELIMITED:"Export in Text format (Tab delimited)",TEXT_FORCE_FIT_COLUMNS:"Force fit columns",TEXT_FILTER_SHORTCUTS:"Filter Shortcuts",TEXT_FREEZE_COLUMNS:"Freeze Columns",TEXT_GREATER_THAN:"Greater than",TEXT_GREATER_THAN_OR_EQUAL_TO:"Greater than or equal to",TEXT_GROUP_BY:"Group By",TEXT_HIDE_COLUMN:"Hide Column",TEXT_ITEMS:"items",TEXT_ITEMS_PER_PAGE:"items per page",TEXT_ITEMS_SELECTED:"items selected",TEXT_OF:"of",TEXT_OK:"OK",TEXT_LAST_UPDATE:"Last Update",TEXT_LESS_THAN:"Less than",TEXT_LESS_THAN_OR_EQUAL_TO:"Less than or equal to",TEXT_NOT_CONTAINS:"Not contains",TEXT_NOT_EQUAL_TO:"Not equal to",TEXT_PAGE:"Page",TEXT_RECORDS_SELECTED:"records selected",TEXT_REFRESH_DATASET:"Refresh Dataset",TEXT_REMOVE_FILTER:"Remove Filter",TEXT_REMOVE_SORT:"Remove Sort",TEXT_RESET_INPUT_VALUE:"Reset Input Value",TEXT_RESET_FORM:"Reset Form",TEXT_SAVE:"Save",TEXT_SELECT_ALL:"Select All",TEXT_SYNCHRONOUS_RESIZE:"Synchronous resize",TEXT_SORT_ASCENDING:"Sort Ascending",TEXT_SORT_DESCENDING:"Sort Descending",TEXT_STARTS_WITH:"Starts With",TEXT_TOGGLE_ALL_GROUPS:"Toggle all Groups",TEXT_TOGGLE_DARK_MODE:"Toggle Dark Mode",TEXT_TOGGLE_FILTER_ROW:"Toggle Filter Row",TEXT_TOGGLE_PRE_HEADER_ROW:"Toggle Pre-Header Row",TEXT_UNFREEZE_COLUMNS:"Unfreeze Columns",TEXT_X_OF_Y_SELECTED:"# of % selected",TEXT_X_OF_Y_MASS_SELECTED:"{{x}} of {{y}} selected"},R.treeDataProperties={CHILDREN_PROP:"children",COLLAPSED_PROP:"__collapsed",HAS_CHILDREN_PROP:"__hasChildren",TREE_LEVEL_PROP:"__treeLevel",PARENT_PROP:"__parentId"},R.DEFAULT_FORMATTER_NUMBER_MIN_DECIMAL=2,R.DEFAULT_FORMATTER_NUMBER_MAX_DECIMAL=2,R.DEFAULT_FORMATTER_CURRENCY_MIN_DECIMAL=2,R.DEFAULT_FORMATTER_CURRENCY_MAX_DECIMAL=4,R.DEFAULT_FORMATTER_PERCENT_MIN_DECIMAL=void 0,R.DEFAULT_FORMATTER_PERCENT_MAX_DECIMAL=void 0,R.DEFAULT_NUMBER_DECIMAL_SEPARATOR=".",R.DEFAULT_NUMBER_THOUSAND_SEPARATOR="",R.DEFAULT_NEGATIVE_NUMBER_WRAPPED_IN_BRAQUET=!1,R.SLIDER_DEFAULT_MIN_VALUE=0,R.SLIDER_DEFAULT_MAX_VALUE=100,R.SLIDER_DEFAULT_STEP=1,R.VALIDATION_REQUIRED_FIELD="Field is required",R.VALIDATION_EDITOR_VALID_NUMBER="Please enter a valid number",R.VALIDATION_EDITOR_VALID_INTEGER="Please enter a valid integer number",R.VALIDATION_EDITOR_INTEGER_BETWEEN="Please enter a valid integer number between {{minValue}} and {{maxValue}}",R.VALIDATION_EDITOR_INTEGER_MAX="Please enter a valid integer number that is lower than {{maxValue}}",R.VALIDATION_EDITOR_INTEGER_MAX_INCLUSIVE="Please enter a valid integer number that is lower than or equal to {{maxValue}}",R.VALIDATION_EDITOR_INTEGER_MIN="Please enter a valid integer number that is greater than {{minValue}}",R.VALIDATION_EDITOR_INTEGER_MIN_INCLUSIVE="Please enter a valid integer number that is greater than or equal to {{minValue}}",R.VALIDATION_EDITOR_NUMBER_BETWEEN="Please enter a valid number between {{minValue}} and {{maxValue}}",R.VALIDATION_EDITOR_NUMBER_MAX="Please enter a valid number that is lower than {{maxValue}}",R.VALIDATION_EDITOR_NUMBER_MAX_INCLUSIVE="Please enter a valid number that is lower than or equal to {{maxValue}}",R.VALIDATION_EDITOR_NUMBER_MIN="Please enter a valid number that is greater than {{minValue}}",R.VALIDATION_EDITOR_NUMBER_MIN_INCLUSIVE="Please enter a valid number that is greater than or equal to {{minValue}}",R.VALIDATION_EDITOR_DECIMAL_BETWEEN="Please enter a valid number with a maximum of {{maxDecimal}} decimals",R.VALIDATION_EDITOR_TEXT_LENGTH_BETWEEN="Please make sure your text length is between {{minLength}} and {{maxLength}} characters",R.VALIDATION_EDITOR_TEXT_MAX_LENGTH="Please make sure your text is less than {{maxLength}} characters",R.VALIDATION_EDITOR_TEXT_MAX_LENGTH_INCLUSIVE="Please make sure your text is less than or equal to {{maxLength}} characters",R.VALIDATION_EDITOR_TEXT_MIN_LENGTH="Please make sure your text is more than {{minLength}} character(s)",R.VALIDATION_EDITOR_TEXT_MIN_LENGTH_INCLUSIVE="Please make sure your text is at least {{minLength}} character(s)";var Cn;(function(r){r[r.camelCase=0]="camelCase",r[r.pascalCase=1]="pascalCase",r[r.snakeCase=2]="snakeCase",r[r.kebabCase=3]="kebabCase"})(Cn||(Cn={}));var Ot;(function(r){r.colon=":",r.comma=",",r.equalSign="=",r.pipe="|",r.semicolon=";",r.space=" ",r.tab=" ",r.doubleColon="::",r.doublePipe="||",r.doubleSemicolon=";;"})(Ot||(Ot={}));var G;(function(r){r.autoTooltip="autoTooltip",r.cellExternalCopyManager="cellExternalCopyManager",r.cellMenu="cellMenu",r.checkboxSelector="checkboxSelector",r.columnPicker="columnPicker",r.contextMenu="contextMenu",r.customTooltip="customTooltip",r.draggableGrouping="draggableGrouping",r.groupItemMetaProvider="groupItemMetaProvider",r.gridMenu="gridMenu",r.headerButton="headerButton",r.headerMenu="headerMenu",r.rowBasedEdit="rowBasedEdit",r.rowDetailView="rowDetailView",r.rowMoveManager="rowMoveManager",r.rowSelection="rowSelection"})(G||(G={}));const w={unknown:"unknown",string:"string",boolean:"boolean",integer:"integer",float:"float",number:"number",date:"date",dateIso:"dateIso",dateUtc:"dateUtc",dateTime:"dateTime",dateTimeIso:"dateTimeIso",dateTimeIsoAmPm:"dateTimeIsoAmPm",dateTimeIsoAM_PM:"dateTimeIsoAM_PM",dateTimeShortIso:"dateTimeShortIso",dateEuro:"dateEuro",dateEuroShort:"dateEuroShort",dateTimeShortEuro:"dateTimeShortEuro",dateTimeEuro:"dateTimeEuro",dateTimeEuroAmPm:"dateTimeEuroAmPm",dateTimeEuroAM_PM:"dateTimeEuroAM_PM",dateTimeEuroShort:"dateTimeEuroShort",dateTimeEuroShortAmPm:"dateTimeEuroShortAmPm",dateTimeEuroShortAM_PM:"dateTimeEuroShortAM_PM",dateUs:"dateUs",dateUsShort:"dateUsShort",dateTimeShortUs:"dateTimeShortUs",dateTimeUs:"dateTimeUs",dateTimeUsAmPm:"dateTimeUsAmPm",dateTimeUsAM_PM:"dateTimeUsAM_PM",dateTimeUsShort:"dateTimeUsShort",dateTimeUsShortAmPm:"dateTimeUsShortAmPm",dateTimeUsShortAM_PM:"dateTimeUsShortAM_PM",object:"object",password:"password",text:"text",readonly:"readonly"};var ve;(function(r){r.csv="csv",r.txt="txt",r.xls="xls",r.xlsx="xlsx"})(ve||(ve={}));var ui;(function(r){r.merge="merge",r.chain="chain"})(ui||(ui={}));var $e;(function(r){r.columns="columns",r.filter="filter",r.pagination="pagination",r.pinning="pinning",r.rowSelection="rowSelection",r.sorter="sorter",r.treeData="treeData"})($e||($e={}));var H;(function(r){r.empty="",r.custom="Custom",r.contains="Contains",r.notContains="Not_Contains",r.lessThan="LT",r.lessThanOrEqual="LE",r.greaterThan="GT",r.greaterThanOrEqual="GE",r.notEqual="NE",r.equal="EQ",r.endsWith="EndsWith",r.rangeInclusive="RangeInclusive",r.rangeExclusive="RangeExclusive",r.startsWith="StartsWith",r.startsWithEndsWith="StartsWithEndsWith",r.in="IN",r.notIn="NOT_IN",r.inContains="IN_CONTAINS",r.notInContains="NOT_IN_CONTAINS",r.inCollection="IN_COLLECTION",r.notInCollection="NOT_IN_COLLECTION"})(H||(H={}));var ut;(function(r){r.asc="asc",r.ASC="ASC",r.desc="desc",r.DESC="DESC"})(ut||(ut={}));var ae;(function(r){r[r.asc=1]="asc",r[r.desc=-1]="desc",r[r.neutral=0]="neutral"})(ae||(ae={}));var xt;(function(r){r.toggleCollapse="toggle-collapse",r.fullExpand="full-expand",r.fullCollapse="full-collapse",r.toggleExpand="toggle-expand"})(xt||(xt={}));const vn=Object.freeze(Object.defineProperty({__proto__:null,get CaseType(){return Cn},get DelimiterType(){return Ot},get EmitterType(){return oe},get ExtensionName(){return G},FieldType:w,get FileType(){return ve},get FilterMultiplePassType(){return ui},get GridStateType(){return $e},get OperatorType(){return H},get SortDirection(){return ut},get SortDirectionNumber(){return ae},get ToggleStateChangeType(){return xt}},Symbol.toStringTag,{value:"Module"}));class Di extends Error{constructor(e){super(e),Object.setPrototypeOf(this,Di.prototype)}}function ro(r){let e=!1;return r instanceof Promise?{promise:r.then(t=>{if(e)throw new Di("Cancelled Promise");return t}),cancel:()=>e=!0}:r}function oo(r,e,t=""){let i=e;if(e instanceof Promise)return e;if(r.isObservable(e)&&(i=r.firstValueFrom(e)),!(i instanceof Promise))throw new Error(`Something went wrong, Slickgrid-Universal ${t} is not able to convert the Observable into a Promise.`);return i}function ds(r,e,t=0){const i=Ae(e,"childrenPropName");Array.isArray(r)&&r.forEach(s=>{s&&(Array.isArray(s[i])&&s[i].length>0&&(t++,ds(s[i],e,t),t--),s[e.levelPropName]=t)})}function Mi(r,e,t=0,i=null){const s=Ae(e,"childrenPropName"),{aggregator:n}=e;Array.isArray(r)&&r.forEach(o=>{if(o){const l=Array.isArray(o[s]);Array.isArray(o[s])&&o[s].length>0&&(n.init(o,!0),t++,Mi(o[s],e,t,o),t--),i&&n.isInitialized&&typeof n.accumulate=="function"&&!(o!=null&&o.__filteredOut)&&(n.accumulate(o,l),n.storeResult(i.__treeTotals)),o[e.levelPropName]=t}})}function lo(r,e){const t=Ae(e,"identifierPropName"),i=Ae(e,"childrenPropName"),s=Ae(e,"hasChildrenPropName"),n=Ae(e,"parentPropName"),o=Ae(e,"levelPropName");return e!=null&&e.shouldAddTreeLevelNumber&&(Array.isArray(e==null?void 0:e.aggregators)?e.aggregators.forEach(a=>{Mi(r,{childrenPropName:i,levelPropName:o,aggregator:a})}):ds(r,{childrenPropName:i,levelPropName:o})),fh(r,a=>a[i],(a,h)=>({[t]:a[t],[n]:h!==void 0?h[t]:null,[s]:!!a[i],...ho(a,i)}))}function Ae(r,e,t="id"){let i="";switch(e){case"childrenPropName":i=(r==null?void 0:r.childrenPropName)??R.treeDataProperties.CHILDREN_PROP;break;case"collapsedPropName":i=(r==null?void 0:r.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP;break;case"hasChildrenPropName":i=(r==null?void 0:r.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP;break;case"identifierPropName":i=(r==null?void 0:r.identifierPropName)??t;break;case"levelPropName":i=(r==null?void 0:r.levelPropName)??R.treeDataProperties.TREE_LEVEL_PROP;break;case"parentPropName":i=(r==null?void 0:r.parentPropName)??R.treeDataProperties.PARENT_PROP;break}return i}function ao(r,e){const t=Ae(e,"identifierPropName"),i=Ae(e,"childrenPropName"),s=Ae(e,"parentPropName"),n=Ae(e,"levelPropName"),o=Ae(e,"collapsedPropName"),l=r||[],a=[],h={};return l.forEach(d=>{h[d[t]]=d,delete d[i]}),Object.keys(h).forEach(d=>{const c=h[d];if(!(s in c)||c[s]===null||c[s]===void 0||c[s]==="")a.push(c);else if(c[s]in h){const u=h[c[s]];i in u||(u[i]=[]),u[i].push(c),u[o]===void 0&&(u[o]=(e==null?void 0:e.initiallyCollapsed)??!1)}}),Array.isArray(e==null?void 0:e.aggregators)?e.aggregators.forEach(d=>{Mi(a,{childrenPropName:i,levelPropName:n,aggregator:d},0)}):ds(a,{childrenPropName:i,levelPropName:n},0),a}function Li(r,e,t){if(!t)throw new Error('findItemInTreeStructure requires parameter "childrenPropertyName"');const i=r.find(e),s=r.filter(n=>t in n&&n[t]);if(i)return i;if(s.length){const n=[];for(const o of s)t in o&&o[t].forEach(l=>n.push(l));return Li(n,e,t)}}function Vt(r,e,t,i=".",s=""){if(isNaN(+r))return r;const n=e===void 0?2:e,o=t===void 0?2:t;let l=String(Math.round(+r*Math.pow(10,o))/Math.pow(10,o));for(l.indexOf(".")<0&&n>0&&(l+=".");l.length-l.indexOf(".")<=n;)l+="0";const a=l.split(".");let h,d;s?h=a.length>=1?Rt(a[0],s):void 0:h=a.length>=1?a[0]:l,a.length>1&&(d=a[1]);let c="";return h!==void 0&&d!==void 0?c=`${h}${i}${d}`:h!=null&&(c=h),c}function Ie(r,e,t,i,s="",n="",o=".",l=""){if(isNaN(+r))return r;const a=Math.round(parseFloat(r)*1e6)/1e6;if(a<0){const h=Math.abs(a);if(i){if(!isNaN(e)||!isNaN(t))return`(${s}${Vt(h,e,t,o,l)}${n})`;const d=Rt(`${h}`,l);return`(${s}${d}${n})`}else{if(!isNaN(e)||!isNaN(t))return`-${s}${Vt(h,e,t,o,l)}${n}`;const d=Rt(`${h}`,l);return`-${s}${d}${n}`}}else{if(!isNaN(e)||!isNaN(t))return`${s}${Vt(r,e,t,o,l)}${n}`;const h=Rt(`${r}`,l);return`${s}${h}${n}`}}function Ni(r,e,t){if(typeof r.queryFieldNameGetterFn=="function"){const i=r.queryFieldNameGetterFn(e);(i==null?void 0:i.indexOf("."))>=0?t=Ee(e,i):t=e.hasOwnProperty(i)?e[i]:t}return t}function Ee(r,e){return!r||!e?r:e.split(".").reduce((t,i)=>t&&t[i],r)}function lt(r){return r&&r.translationNamespace?r.translationNamespace+(r.translationNamespaceSeparator||""):""}function Hi(r){return r.outputType||r.type||w.string}function It(r){switch(r){case w.date:case w.dateTime:case w.dateIso:case w.dateTimeIso:case w.dateTimeShortIso:case w.dateTimeIsoAmPm:case w.dateTimeIsoAM_PM:case w.dateEuro:case w.dateEuroShort:case w.dateTimeEuro:case w.dateTimeShortEuro:case w.dateTimeEuroAmPm:case w.dateTimeEuroAM_PM:case w.dateTimeEuroShort:case w.dateTimeEuroShortAmPm:case w.dateTimeEuroShortAM_PM:case w.dateUs:case w.dateUsShort:case w.dateTimeUs:case w.dateTimeShortUs:case w.dateTimeUsAmPm:case w.dateTimeUsAM_PM:case w.dateTimeUsShort:case w.dateTimeUsShortAmPm:case w.dateTimeUsShortAM_PM:case w.dateUtc:return!0;default:return!1}}function gh(r){let e;switch(r){case"<":case"LT":e=H.lessThan;break;case"<=":case"LE":e=H.lessThanOrEqual;break;case">":case"GT":e=H.greaterThan;break;case">=":case"GE":e=H.greaterThanOrEqual;break;case"!=":case"NE":e=H.notEqual;break;case"*":case"a*":case"StartsWith":e=H.startsWith;break;case"*z":case"EndsWith":e=H.endsWith;break;case"=":case"==":case"EQ":e=H.equal;break;case"IN":e=H.in;break;case"NIN":case"NOT_IN":e=H.notIn;break;case"<>":case"Not_Contains":case"NOT_CONTAINS":e=H.notContains;break;case"Contains":case"CONTAINS":default:e=H.contains;break}return e}function pi(r){let e="";switch(r){case H.greaterThan:case">":e=">";break;case H.greaterThanOrEqual:case">=":e=">=";break;case H.lessThan:case"<":e="<";break;case H.lessThanOrEqual:case"<=":e="<=";break;case H.notEqual:case"<>":e="<>";break;case H.equal:case"=":case"==":case"EQ":e="=";break;case H.startsWith:case"a*":case"*":e="a*";break;case H.endsWith:case"*z":e="*z";break;default:e=r;break}return e}function bn(r){let e;if(It(r))e=H.equal;else switch(r){case w.unknown:case w.string:case w.text:case w.password:case w.readonly:e=H.contains;break;case w.float:case w.number:default:e=H.equal;break}return e}function ho(r,e){return Object.keys(r).reduce((t,i)=>(i!==e&&(t[i]=r[i]),t),{})}function Rt(r,e=","){if(r!=null){const t=`${r}`,i=t.split(".");return i.length===2?`${i[0].replace(/\B(?=(\d{3})+(?!\d))/g,e)}.${i[1]}`:t.replace(/\B(?=(\d{3})+(?!\d))/g,e)}return r}function At(r,e,t={}){return Array.isArray(r)?r.find(e)||t:r}function cs(r){if(Array.isArray(r))for(;r.length>0;){const e=r.pop();e!=null&&e.unsubscribe&&e.unsubscribe()}return r}const _h=Object.freeze(Object.defineProperty({__proto__:null,CancelledException:Di,addTreeLevelAndAggregatorsByMutation:Mi,addTreeLevelByMutation:ds,cancellablePromise:ro,castObservableToPromise:oo,decimalFormatted:Vt,findItemInTreeStructure:Li,findOrDefault:At,flattenToParentChildArray:lo,formatNumber:Ie,getCellValueFromQueryFieldGetter:Ni,getColumnFieldType:Hi,getDescendantProperty:Ee,getTranslationPrefix:lt,getTreeDataOptionPropName:Ae,isColumnDateType:It,mapOperatorByFieldType:bn,mapOperatorToShorthandDesignation:pi,mapOperatorType:gh,objectWithoutKey:ho,thousandSeparatorFormatted:Rt,unflattenParentChildArrayToTree:ao,unsubscribeAll:cs},Symbol.toStringTag,{value:"Module"})),Ch=(r,e,t=ae.neutral)=>{let i=0;return r===e?i=0:r===null?i=-1:e===null?i=1:t?i=r<e?-1:1:i=r<e?1:-1,t*i},vh=(r,e,t=ae.neutral,i,s)=>{if(!i||!i.dataKey)throw new Error('Sorting a "FieldType.object" requires you to provide the "dataKey" (object property name) of the object so that we can use it to sort correctly');const n=r!=null&&r.hasOwnProperty(i.dataKey)?r[i.dataKey]:r,o=e!=null&&e.hasOwnProperty(i.dataKey)?e[i.dataKey]:e,l=(i==null?void 0:i.valueCouldBeUndefined)??(s==null?void 0:s.cellValueCouldBeUndefined)??!1;let a=0;return typeof r!="object"?a=-1/0:typeof e!="object"?a=1/0:n===null||l&&n===void 0?a=-1:o===null||l&&o===void 0?a=1:n===o?a=0:t?a=n<o?-1:1:a=n<o?1:-1,t*a};function Vi(r){let e=0,t=0,i=0,s=0;const n=window.innerHeight||0,o=window.innerWidth||0,l=yn(),a=l.top,h=l.left,d=ge(r);if(d){const c=d.top,u=d.left;t=c-a,i=u-h,e=n-(c-a+r.clientHeight),s=o-(u-h+r.clientWidth)}return{top:t,bottom:e,left:i,right:s}}function v(r,e,t){const i=document.createElement(r);return e&&Object.keys(e).forEach(s=>{s==="innerHTML"&&console.warn(`[Slickgrid-Universal] For better CSP (Content Security Policy) support, do not use "innerHTML" directly in "createDomElement('${r}', { innerHTML: 'some html'})", it is better as separate assignment: "const elm = createDomElement('span'); elm.innerHTML = 'some html';"`);const n=e[s];typeof n=="object"?Object.assign(i[s],n):i[s]=e[s]}),t!=null&&t.appendChild&&t.appendChild(i),i}function he(r=""){return r.split(" ").filter(e=>e)}function Sn(r){typeof r=="object"&&Object.keys(r).forEach(e=>{Array.isArray(r[e])&&Sn(r[e]),r[e]instanceof HTMLElement&&(r[e]=null)})}function ee(r){for(;r!=null&&r.firstChild;)r.removeChild(r.firstChild);return r}function _t(r,e="innerHTML"){return r instanceof DocumentFragment?[].map.call(r.childNodes,t=>t[e]).join("")||r.textContent||"":r instanceof HTMLElement?r[e]:String(r??"")}function co(r,e){if(!r||!e)return;const t=r.getBoundingClientRect(),i=e.getBoundingClientRect();return{top:i.top-t.top,right:i.right-t.right,bottom:i.bottom-t.bottom,left:i.left-t.left}}function ge(r){let e=0,t=0,i=0,s=0;if(!r||!r.getBoundingClientRect)return{top:e,bottom:i,left:t,right:s};const n=r.getBoundingClientRect(),o=document.documentElement;return(n==null?void 0:n.top)!==void 0&&n.left!==void 0&&(e=n.top+window.pageYOffset-o.clientTop,t=n.left+window.pageXOffset-o.clientLeft,s=n.right,i=n.bottom),{top:e,left:t,bottom:i,right:s}}function us(r,e){let t=0;if(r){const i=e==="height"?"clientHeight":"clientWidth",s=e==="height"?["top","bottom"]:["left","right"];t=r[i];for(const n of s){const o=parseFloat(uo(r,`padding-${n}`)||"")||0;t-=o}}return t}function uo(r,e){return r?window.getComputedStyle(r).getPropertyValue(e):null}function Bi(r,e){if(r)for(const t of e){const i=r.getAttribute(t);if(i)return i}return null}function Pt(r,e="auto"){return(/^[0-9]+$/i.test(`${r}`)?`${+r}px`:r)||e}function po(r){const e=typeof r=="string"?r:String(r),t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return(e||"").toString().replace(/[&<>"']/g,i=>t[i])}function mo(r){return r.replace(/&#(\d+);/g,(e,t)=>String.fromCharCode(t))}function fo(r,e){const t=r.length;let i=po(r);if(t<e)for(let s=t;s<e;s++)i+="&nbsp;";return i}function go(r,e){var t;(t=r.parentNode)==null||t.insertBefore(e,r.nextSibling)}function yn(){return{left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0}}const ps=Object.prototype.hasOwnProperty,_o=Object.prototype.toString,Co=Object.defineProperty,vo=Object.getOwnPropertyDescriptor,bo=function(e){return typeof Array.isArray=="function"?Array.isArray(e):_o.call(e)==="[object Array]"},So=function(e){if(!e||_o.call(e)!=="[object Object]")return!1;const t=ps.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&ps.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!i)return!1;let s;for(s in e);return typeof s>"u"||ps.call(e,s)},yo=function(e,t){Co&&t.name==="__proto__"?Co(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},Eo=function(e,t){if(t==="__proto__")if(ps.call(e,t)){if(vo)return vo(e,t).value}else return;return e[t]};function de(...r){let e,t,i,s,n,o,l=r[0],a=1;const h=r.length;let d=!1;for(typeof l=="boolean"&&(d=l,l=r[1]||{},a=2),(l==null||typeof l!="object"&&typeof l!="function")&&(l={});a<h;++a)if(e=r[a],e!=null)for(t in e)i=Eo(l,t),s=Eo(e,t),l!==s&&(d&&s&&(So(s)||(n=bo(s)))?(n?(n=!1,o=i&&bo(i)?i:[]):o=i&&So(i)?i:{},yo(l,{name:t,newValue:de(d,o,s)})):typeof s<"u"&&yo(l,{name:t,newValue:s}));return l}function bh(r,e,t="id"){let i=-1;e&&typeof e=="object"&&t in e?i=r.findIndex(s=>s[t]===e[t]):i=r.findIndex(s=>s===e),i<0&&r.push(e)}function zi(r,e=" "){let t="";for(let i=0;i<r;i++)t+=e;return t}function En(r,e){return r.filter((t,i)=>e!==i)}function Sh(r){if(!Array.isArray(r)&&!Bt(r))return r;const e=Array.isArray(r)?[]:{};return de(!0,e,r)}function Zt(r,...e){if(!e.length)return r;const t=e.shift();return r=!Bt(r)&&Bt(t)?{}:r,Bt(r)&&Bt(t)&&Object.keys(t).forEach(i=>{t.hasOwnProperty(i)&&(i in r?typeof r[i]!="object"||typeof t[i]!="object"?r[i]=t[i]:r[i].concat&&t[i].concat?r[i]=r[i].concat(t[i]):r[i]=Zt(r[i],t[i]):r[i]=t[i])}),Zt(r,...e)}function wo(r){return Bt(r)&&Object.keys(r).forEach(e=>{r.hasOwnProperty(e)&&delete r[e]}),r=null,r={},r}function wn(r,e=!0){let t=!1;const i=n=>{const o=n.toString();if(t=o.includes("async "),o.replaceAll(" ","").includes("=>({")){const h=o.match(/(({.*}))/g)||[];return h.length>=1?`return ${h[0].trimStart()}`:o}const l=!o.includes("{")&&o.includes("=>"),a=o.substring(o.indexOf("{")+1||o.indexOf("=>")+2,o.includes("}")?o.lastIndexOf("}"):o.length);return e&&l&&!a.startsWith("return")?"return "+a.trimStart():a};return{params:(n=>{const o=/(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,)]*(('(?:\\'|[^'\r\n])*')|("(?:\\"|[^"\r\n])*"))|(\s*=[^,)]*))/gm,l=/([^\s,]+)/g,a=n.toString().replace(o,"");return a.slice(a.indexOf("(")+1,a.indexOf(")")).match(l)??[]})(r),body:i(r),isAsync:t}}function Tn(r){return r==null?!0:Object.entries(r).length===0}function q(r){return r!=null&&r!==""}function Jt(r){return r!==null&&!isNaN(r)&&r!==""}function Bt(r){return r!==null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)}function $i(r){return typeof r=="boolean"||typeof r=="number"||typeof r=="string"||r===null||r===void 0}function ei(r){return r instanceof HTMLElement||r instanceof DocumentFragment||$i(r)}function U(r,e=!1){return e?r==null||typeof r=="string"?!1:!isNaN(r):r==null||r===""?!1:!isNaN(+r)}function To(r){return!r||r&&typeof r=="object"&&Object.keys(r).length===0}function ms(r){return/(true|1)/i.test(r+"")}function mi(r,e=!1){const t=typeof r.normalize=="function"?r.normalize("NFD").replace(/[\u0300-\u036f]/g,""):r;return e?t.toLowerCase():t}function We(r,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length>1){const i=e.shift();r&&i!==void 0&&We(r[i]=q(r[i])&&(Array.isArray(r[i])||Object.prototype.toString.call(r[i])==="[object Object]")?r[i]:{},e,t)}else r&&e[0]&&(r[e[0]]=t)}function ti(r,e=!1){return typeof r=="string"?e?r.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()):r.charAt(0).toUpperCase()+r.slice(1):r}function On(r){return typeof r=="string"?r.replace(/(?:^\w|[A-Z]|\b\w|[\s+\-_/])/g,(e,t)=>/[\s+\-_/]/.test(e)?"":t===0?e.toLowerCase():e.toUpperCase()):r}function fi(r){return typeof r=="string"?On(r).replace(/([A-Z])|([-_])/g,"-$1").toLowerCase():r}function Ct(r){if(typeof r=="string"){const e=r.replace(/([A-Z])|([-_])/g," $1").replace(/\s+/g," ").trim();return e.charAt(0).toUpperCase()+e.slice(1)}return r}function yh(r){return typeof r=="string"?On(r).replace(/([A-Z])/g,"_$1").toLowerCase():r}function Oo(r){return Array.isArray(r)&&r.length>0?r.filter((e,t)=>r.indexOf(e)>=t):r}function Eh(r,e="id"){if(Array.isArray(r)&&r.length>0){const t=[],i=new Map;for(const s of r)s&&!i.has(s[e])&&(i.set(s[e],!0),t.push({id:s[e],name:s.name}));return t}return r}const Wi=Symbol("plaintext"),xo=Symbol("html"),Io=Symbol("comment"),wh=/<(\w*)>/g,Th=/<\/?([^\s/>]+)/;function we(r,e,t){function i(a,h,d){if(typeof a!="string"&&(U(a)||typeof a=="boolean"))return String(a);if(a instanceof HTMLElement&&(a=a.innerHTML),typeof a!="string"&&a!==void 0&&a!==null)throw new TypeError("'html' parameter must be a string");return n(a||"",s(h||"",d||""))}function s(a,h){return{allowable_tags:o(a),tag_replacement:h,state:Wi,tag_buffer:"",depth:0,in_quote_char:""}}function n(a,h){const d=h.allowable_tags,c=h.tag_replacement;let u=h.state,p=h.tag_buffer,m=h.depth,f=h.in_quote_char,g="";for(let _=0,C=a.length;_<C;_++){const b=a[_];if(u===Wi)switch(b){case"<":u=xo,p+=b;break;default:g+=b;break}else if(u===xo)switch(b){case"<":if(f)break;m++;break;case">":if(f)break;if(m){m--;break}f="",u=Wi,p+=">",d.has(l(p))?g+=p:g+=c,p="";break;case'"':case"'":b===f?f="":f=f||b,p+=b;break;case"-":p==="<!-"&&(u=Io),p+=b;break;case" ":case`
2
2
  `:if(p==="<"){u=Wi,g+="< ",p="";break}p+=b;break;default:p+=b;break}else if(u===Io)switch(b){case">":p.slice(-2)==="--"&&(u=Wi),p="";break;default:p+=b;break}}return h.state=u,h.tag_buffer=p,h.depth=m,h.in_quote_char=f,g}function o(a){let h=new Set;if(typeof a=="string"){let d;for(;d=wh.exec(a);)h.add(d[1])}else typeof a[Symbol.iterator]=="function"&&(h=new Set(a));return h}function l(a){const h=Th.exec(a);return h?h[1].toLowerCase():null}return i(r,e,t)}const Oh=Object.freeze(Object.defineProperty({__proto__:null,addToArrayWhenNotExists:bh,addWhiteSpaces:zi,arrayRemoveItemByIndex:En,calculateAvailableSpace:Vi,classNameToList:he,createDomElement:v,deepCopy:Sh,deepMerge:Zt,destroyAllElementProps:Sn,emptyElement:ee,emptyObject:wo,extend:de,findFirstAttribute:Bi,findWidthOrDefault:Pt,getFunctionDetails:wn,getHtmlStringOutput:_t,getInnerSize:us,getOffset:ge,getOffsetRelativeToParent:co,getStyleProp:uo,htmlEncode:po,htmlEncodeWithPadding:fo,htmlEntityDecode:mo,insertAfterElement:go,isDefined:q,isDefinedNumber:Jt,isEmptyObject:Tn,isNumber:U,isObject:Bt,isObjectEmpty:To,isPrimitiveOrHTML:ei,isPrimitiveValue:$i,parseBoolean:ms,removeAccentFromText:mi,setDeepValue:We,stripTags:we,titleCase:ti,toCamelCase:On,toKebabCase:fi,toSentenceCase:Ct,toSnakeCase:yh,uniqueArray:Oo,uniqueObjectArray:Eh,windowScrollPosition:yn},Symbol.toStringTag,{value:"Module"})),xh=(r,e,t=ae.neutral,i,s)=>{let n=0;const o=(i==null?void 0:i.valueCouldBeUndefined)??(s==null?void 0:s.cellValueCouldBeUndefined)??!1;return r===e?n=0:r===null||o&&r===void 0?n=-1:e===null||o&&e===void 0?n=1:(s!=null&&s.ignoreAccentOnStringFilterAndSort&&(r=mi(r,!1),e=mi(e,!1)),t?n=r<e?-1:1:n=r<e?1:-1),t*n},Ro=(r,e,t=ae.neutral,i,s)=>{const n=(i==null?void 0:i.valueCouldBeUndefined)??(s==null?void 0:s.cellValueCouldBeUndefined)??!1,o=isNaN(r)||r===""||r===null||n&&r===void 0?-1/0:parseFloat(r),l=isNaN(e)||e===""||e===null||n&&e===void 0?-1/0:parseFloat(e);return t*(o===l?0:o>l?1:-1)};var Ao=/^([0-9]{4})-([0-1][0-9])(?:-([0-3][0-9]))?(?:[T ]?([0-2][0-9])(?::([0-5][0-9]))?(?::([0-5][0-9]))?)?(?:\.[0-9]+)?(Z|(?:\+|\-)[0-9]{2}:?[0-9]{2})?$/;function Ih(r){const e=r.match(Ao);if(e){const t=Number(e[2]);if(t<1||t>12)return!1;if(typeof e[3]!==void 0){const i=Number(e[3]);if(i<1||i>31)return!1}if(typeof e[4]!==void 0){const i=Number(e[4]);if(i<0||i>23)return!1}return!0}return!1}function Rh(r){const e=r.match(Ao);return e&&typeof e[4]>"u"?r+="T00:00:00":r}function zt(r){if(r||(r=new Date),r instanceof Date){const e=new Date(r);return e.setMilliseconds(0),e}if(r=r.trim(),Ih(r))return new Date(Rh(r));throw new Error(`Non ISO 8601 compliant date (${r}).`)}function Ah(r){const e=zt(r);return e.setDate(1),e.setMonth(e.getMonth()+1),e.setDate(0),e}function Ph(r){return Ah(r).getDate()}var xn="1999-03-04T02:05:01.000Z",In=new Map,Rn=[["YYYY",{year:"numeric"}],["YY",{year:"2-digit"}],["MMMM",{month:"long"}],["MMM",{month:"short"}],["MM",{month:"2-digit"}],["M",{month:"numeric"}],["DD",{day:"2-digit"}],["D",{day:"numeric"}],["dddd",{weekday:"long"}],["ddd",{weekday:"short"}],["d",{weekday:"narrow"}],["mm",{minute:"2-digit"}],["m",{minute:"numeric"}],["ss",{second:"2-digit"}],["s",{second:"numeric"}],["ZZ",{timeZoneName:"long"}],["Z",{timeZoneName:"short"}]],An=[["HH",{hour:"2-digit"}],["H",{hour:"numeric"}]],Pn=[["hh",{hour:"2-digit"}],["h",{hour:"numeric"}],["a",{dayPeriod:"narrow"}],["A",{dayPeriod:"narrow"}]],fs={DD:2,HH:2,MM:2,YY:2,YYYY:4,hh:2,mm:2,ss:2};function Po(r){if(/^[+-]\d{2}:\d{2}/.test(r))return 6;if(/^[+-]\d{4}/.test(r))return 5;throw new Error("Invalid offset format")}var kh=["MMMM","MMM","dddd","ddd"],Te=new Map([...Rn,...An,...Pn].map(r=>[r[0],r])),ko=new Map,Fo=["full","long","medium","short"],$t=r=>String(r).padStart(2,"0"),kn=r=>String(r).padStart(2,"0");function kt(r){return r.type==="literal"&&(r.value=r.value.normalize("NFKC")),r}function Fh(r,e,t,i=!1,s=null){const n=Dh(r,e,t,i),o=zt(r);function l({partName:a,partValue:h,token:d}){if(a==="literal")return h;const c=n[a];if(a==="hour"&&d==="H")return c.replace(/^0/,"")||"0";if(["mm","ss","MM"].includes(d)&&c.length===1)return`0${c}`;if(a==="dayPeriod"){const u=gi(o.getUTCHours()<12?"am":"pm",t);return d==="A"?u.toUpperCase():u.toLowerCase()}return a==="timeZoneName"?s??Do(-1*o.getTimezoneOffset(),d):c}return e.map(a=>({...a,value:l(a)}))}function Dh(r,e,t,i=!1){const s=zt(r),n=e.filter(d=>d.hour12),o=e.filter(d=>!d.hour12),l=[],a=[];function h(d,c=!1){const u=`${t}-u-hc-${c?"h12":"h23"}`;if(l.push(...new Intl.DateTimeFormat(u,d.reduce((p,m)=>m.partName==="literal"?p:(i&&kh.includes(m.token)&&a.push(m),Object.assign(p,m.option)),{timeZone:"UTC"})).formatToParts(s).map(kt)),i&&a.length)for(const p of a){let m=[];switch(p.token){case"MMMM":m=new Intl.DateTimeFormat(u,{dateStyle:"long",timeZone:"UTC"}).formatToParts(s).map(kt);break;case"MMM":m=new Intl.DateTimeFormat(u,{dateStyle:"medium",timeZone:"UTC"}).formatToParts(s).map(kt);break}const f=m.find(_=>_.type===p.partName),g=l.findIndex(_=>_.type===p.partName);f&&g>-1&&(l[g]=f)}}return n.length&&h(n,!0),o.length&&h(o),l.reduce((d,c)=>(d[c.type]=c.value,d),{})}function Do(r,e="Z"){const t=String(Math.floor(Math.abs(r/60))).padStart(2,"0"),i=String(Math.abs(r%60)).padStart(2,"0"),s=r<0?"-":"+";return e==="ZZ"?`${s}${t}${i}`:`${s}${t}:${i}`}function Mh(r,e){Mo(r,e);const[t,i,s,n]=r.match(/([+-])([0-3][0-9]):?([0-6][0-9])/),o=Number(s)*60+Number(n);return i==="+"?o:-o}function Mo(r,e="Z"){if(!(i=>{switch(i){case"Z":return/^([+-])[0-3][0-9]:[0-6][0-9]$/.test(r);case"ZZ":return/^([+-])[0-3][0-9][0-6][0-9]$/.test(r)}})(e))throw new Error(`Invalid offset: ${r}`);return r}function Lh(r){return Rn.concat(An).concat(Pn).sort((e,t)=>e[0].length>t[0].length?1:-1).reduce((e,t)=>e.replace(t[0],`\\${t[0]}`),r)}function Nh(r){return["numeric","2-digit"].includes(r.partValue)}function Hh(r){let e;for(const t of r){if(t.partName==="literal"&&!isNaN(parseFloat(t.partValue)))throw new Error(`Numbers in format (${t.partValue}).`);if(e&&e.partName!=="literal"&&t.partName!=="literal"&&!(e.token in fs)&&!(t.token in fs)&&!(Nh(e)&&t.token.toLowerCase()==="a"))throw new Error(`Illegal adjacent tokens (${e.token}, ${t.token})`);e=t}return r}function Vh(r){return typeof r=="string"?r.includes("ZZ")?"ZZ":"Z":"time"in r&&r.time==="full"?"Z":"ZZ"}function gi(r,e){const t=ko.get(e);if(t&&t[r])return t[r];const i=new Date(xn);i.setUTCHours(r==="am"?5:20);const n=new Intl.DateTimeFormat(e,{timeStyle:"full",timeZone:"UTC",hour12:!0}).formatToParts(i).map(kt).find(o=>o.type==="dayPeriod");if(n){const o=t||{};return ko.set(e,Object.assign(o,{[r]:n.value})),n.value}return r}function Bh(r,e="+00:00"){const t=zt(r),i=(()=>{switch(Po(e)){case 5:return"ZZ";case 6:return"Z"}})(),s=Mh(e,i);return new Date(t.getTime()+s*1e3*60)}function Lo(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function No(r,e){const t=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZone:e,hourCycle:"h23"}).formatToParts(r).map(kt),i={};return t.forEach(s=>{i[s.type]=s.value}),new Date(`${i.year}-${i.month}-${i.day}T${i.hour}:${i.minute}:${i.second}Z`)}function Fn(r,e="UTC",t="device",i="Z"){var s;t=t==="device"?(s=Lo())!=null?s:"utc":t;const n=zt(r),o=No(n,e),l=No(n,t),a=Math.round((l.getTime()-o.getTime())/1e3/60);return Do(a,i)}function Ho(r){const e=zt(r);return e.setHours(0,0,0),e}function Dn(r,e){if(Fo.includes(r)||typeof r=="object")return zh(r,e);let t=r,i=0;const s=d=>{if(d[2]||(d[2]=new RegExp(`(.)?(${d[0]})`,"g")),d[2].test(t)){let c=0;return t=t.replace(d[2],(u,p,m)=>p==="\\"?m:`${typeof p=="string"?p:""}{!${c++?i:i++}!}`),!!c}return!1};function n(d){const c=d.map(p=>p.partName),u=new Set(c);if(c.length>u.size)throw new Error("Cannot reuse format tokens.");return d}function o(d,[c,u,p]){const m=Object.keys(u)[0],f=u[m];return{option:u,partName:m,partValue:f,token:c,pattern:p,hour12:d}}const l=Rn.filter(s).concat(An.filter(s)).map(o.bind(null,!1)),a=n(l.concat(Pn.filter(s).map(o.bind(null,!0)))),h=/^\{!(\d+)!\}$/;return t.split(/(\{!\d+!\})/).map(d=>{const c=d.match(h);return c?a[Number(c[1])]:{option:{literal:d},partName:"literal",partValue:d,token:d,pattern:new RegExp(""),hour12:!1}}).filter(d=>!(d.partName==="literal"&&d.partValue===""))}function zh(r,e){const t={timeZone:"UTC"};typeof r=="string"?t.dateStyle=r:("date"in r&&(t.dateStyle=r.date),"time"in r&&(t.timeStyle=r.time));const i=new Intl.DateTimeFormat(e,t),s=i.formatToParts(new Date(xn)).map(kt),o=i.formatToParts(new Date("1999-04-05T23:05:01.000Z")).map(kt).find(a=>a.type==="hour"),l=o&&o.value==="23"?24:12;return s.map(a=>{const h=a.type,d=$h(a.type,a.value,e,a.type==="hour"?l:void 0,t);if(d===void 0)return;const c=d[1][h];if(c)return d[2]||(d[2]=new RegExp(`${d[0]}`,"g")),{option:{[h]:c},partName:h,partValue:c,token:d[0],pattern:d[2],hour12:l===12}}).filter(a=>!!a)}function $h(r,e,t,i,s){const n=e.length,o=!isNaN(Number(e));let l;switch(r){case"year":return n===2?Te.get("YY"):Te.get("YYYY");case"month":if(o)return n===1?Te.get("M"):Te.get("MM");switch(l=Vo(t,r,e),l){case"long":return Te.get("MMMM");default:return Te.get("MMM")}case"day":return n===1?Te.get("D"):Te.get("DD");case"weekday":switch(l=Vo(t,r,e),l){case"narrow":return Te.get("d");case"short":return Te.get("ddd");default:return Te.get("dddd")}case"hour":return i===12?n===1?Te.get("h"):Te.get("hh"):n===1?Te.get("H"):Te.get("HH");case"minute":return n===1?Te.get("m"):Te.get("mm");case"second":return n===1?Te.get("s"):Te.get("ss");case"dayPeriod":return/^[A-Z]+$/u.test(e)?Te.get("A"):Te.get("a");case"literal":return[e,{literal:e},new RegExp("")];case"timeZoneName":return s.timeStyle==="full"?Te.get("Z"):Te.get("ZZ");default:return}}function Vo(r,e,t){if(!In.has(r)){const s=new Date(xn),n=[3,8,9,7,6,4,3],o=["weekday","month","dayPeriod"],l=["long","short","narrow"],a={};for(let h=0;h<12;h++){s.setMonth(0+h),h in n&&s.setDate(n[h]),s.setUTCHours(8+h);for(const d of l){const c=new Intl.DateTimeFormat(r,o.reduce((u,p)=>Object.assign(u,{[p]:d}),{hour12:!0,timeZone:"UTC"})).formatToParts(s).map(kt);if(d==="long"||d==="short"){const p=new Intl.DateTimeFormat(r,{dateStyle:d==="short"?"medium":"long",timeZone:"UTC"}).formatToParts(s).map(kt).find(f=>f.type==="month"),m=c.findIndex(f=>f.type==="month");m>-1&&p&&(c[m]=p)}c.forEach(u=>{if(u.type==="literal")return;const p=u.type;a[p]=Object.assign(a[p]||{},{[u.value]:d})})}}In.set(r,a)}const i=In.get(r);return i?i[e][t]:void 0}function Bo(r,e="+00:00"){const t=e.slice(0,1)==="+";return Bh(r,e.replace(t?"+":"-",t?"-":"+"))}function Wh(){return Intl.DateTimeFormat().resolvedOptions().locale}function et(r,e="long",t="device",i=!1,s){let n,o;return typeof r=="object"&&!(r instanceof Date)&&({date:r,format:e,locale:t,genitive:i,partFilter:s,tz:n}=r),e==="ISO8601"?zt(r).toISOString():(n&&(o=Fn(r,"utc",n,Vh(e))),n??(n=Lo()),(n==null?void 0:n.toLowerCase())!=="utc"&&(r=Bo(r,Fn(r,n,"utc"))),(!t||t==="device")&&(t=Wh()),Fh(r,Dn(e,t).filter(s??(()=>!0)),t,i,o).map(l=>l.value).join(""))}function Gh(r,e="en",t=!1,i=()=>!0){return Dn(r,e).filter(i).reduce((s,n)=>s+=t&&n.partName==="literal"?Lh(n.token):n.token,"").normalize("NFKC")}function Uh(r){const e=new Date().getFullYear(),t=e%100,i=Math.floor(e/100),s=Number(r);return(i+(s>t+20?-1:0))*100+s}function zo(r,e="en",t=!1){const i=(s,n)=>Array(s).fill("").map((o,l)=>`${n(l)}`);if(r==="M")return i(12,s=>s+1);if(r==="MM")return i(12,s=>{const n=s+1;return n<10?`0${n}`:n});if(r.startsWith("M"))return zo("MM").map(s=>et(`2000-${s}-05`,r,e,t));if(r.startsWith("d"))return i(7,s=>`0${s+2}`).map(s=>et(`2022-10-${s}`,r,e));if(r==="a")return[gi("am",e).toLowerCase(),gi("pm",e).toLowerCase()];if(r==="A")return[gi("am",e).toUpperCase(),gi("pm",e).toUpperCase()];if(r.startsWith("Y")){const s=new Date().getFullYear();return i(120,n=>n+1).reduce((n,o)=>(o!=="120"&&n.push(et(`${s+Number(o)}-06-06`,r,e)),n.unshift(et(`${s-Number(o)}-06-06`,r,e)),n),[et(`${s}-06-06`,r,e)])}return r.startsWith("D")?i(31,s=>`${r==="DD"&&s<9?"0":""}${s+1}`):r.startsWith("H")?i(24,s=>`${r==="HH"&&s<10?"0":""}${s}`):r.startsWith("h")?i(12,s=>`${r==="hh"&&s<9?"0":""}${s+1}`):r.startsWith("m")||r.startsWith("s")?i(60,s=>`${r.length>1&&s<10?"0":""}${s}`):[]}function gs(r,e="ISO8601",t="device"){let i=()=>!0,s,n="backward";if(typeof r=="object"?{date:s,format:e="ISO8601",locale:t="device",dateOverflow:n="backward",partFilter:i=()=>!0}=r:s=r,!s)throw new Error("parse() requires a date string.");const o=()=>{throw new Error(`Date (${s}) does not match format (${Gh(e,t)})`)};if(e==="ISO8601")return zt(s);const l=Fo.includes(e)||typeof e=="object",a=Hh(Dn(e,t).filter(i));if(!a.length)throw new Error("parse() requires a pattern.");let h;try{h=jh(s,a)}catch{return o()}const d=new Date,c=new Map([["YYYY",d.getFullYear()],["MM",d.getMonth()+1],["DD",d.getDate()],["HH",0],["mm",0],["ss",0]]);let u=null,p="";h.forEach(O=>{if(O.partName==="literal")return;if(O.token===O.value)return o();const I=Number(O.value);if(c.has(O.token))c.set(O.token,I);else if(O.token==="YY")c.set("YYYY",Uh(O.value));else{const A=O.token;if(A.startsWith("d"))return;if(A==="D")c.set("DD",I);else if(A==="H"||A.startsWith("h"))c.set("HH",I);else if(A==="M")c.set("MM",I);else if(A==="a"||A==="A")u=O.value.toLowerCase()===gi("am",t).toLowerCase();else if(A==="Z"||A==="ZZ")p=Mo(O.value,A);else{const L=zo(A,t,l).indexOf(O.value);if(L!==-1)switch(A){case"MMM":case"MMMM":c.set("MM",L+1);break}}}});let m=c.get("HH")||0;u===!1?(m+=m===12?0:12,c.set("HH",m===24?0:m)):u===!0&&m===12&&c.set("HH",0),c.set("MM",(c.get("MM")||1)-1);let[f,g,_,C,b,S]=Array.from(c.values());const E=Ph(new Date(`${kn(f)}-${$t(g+1)}-10`));if(E<_&&n==="throw")throw new Error(`Invalid date ${kn(f)}-${$t(g+1)}-${$t(_)}`);_=n==="backward"?Math.min(_,E):_;const y=`${kn(f)}-${$t(g+1)}-${$t(_)}T${$t(C)}:${$t(b)}:${$t(S)}${p}`,x=new Date(y);return isFinite(+x)?x:o()}function jh(r,e){let t=0;const i=l=>[l[t++],l[t]];let s=0;const n=[];let o;do{const[l,a]=i(e);o=a;let h=1;if(l.partName==="literal")h=l.partValue.length;else if(l.partName==="timeZoneName")h=Po(r.substring(s));else if(l.token in fs)h=fs[l.token];else if(a)if(a.partName==="literal"){if(h=r.indexOf(a.partValue,s)-s,h<0)throw new Error}else if(a.partName==="dayPeriod"){for(let d=1;d<=4;d++)if(isNaN(Number(r.charAt(s+d)))){h=d;break}}else{const d=r.substring(s).search(/\d/);d!==-1&&(h=s+d)}else h=r.length;n.push({...l,value:r.substring(s,s+h)}),s+=h}while(o);return n}function Ke(r,e){let t;const i=(e==null?void 0:e.withZeroPadding)??!1;switch(r){case w.dateTime:case w.dateTimeIso:t="YYYY-MM-DD HH:mm:ss";break;case w.dateTimeIsoAmPm:t="YYYY-MM-DD hh:mm:ss a";break;case w.dateTimeIsoAM_PM:t="YYYY-MM-DD hh:mm:ss A";break;case w.dateTimeShortIso:t="YYYY-MM-DD HH:mm";break;case w.dateEuro:t="DD/MM/YYYY";break;case w.dateEuroShort:t=i?"DD/MM/YY":"D/M/YY";break;case w.dateTimeEuro:t="DD/MM/YYYY HH:mm:ss";break;case w.dateTimeShortEuro:t=i?"DD/MM/YYYY HH:mm":"D/M/YYYY H:m";break;case w.dateTimeEuroAmPm:t="DD/MM/YYYY hh:mm:ss a";break;case w.dateTimeEuroAM_PM:t="DD/MM/YYYY hh:mm:ss A";break;case w.dateTimeEuroShort:t=i?"DD/MM/YY HH:mm:ss":"D/M/YY H:m:s";break;case w.dateTimeEuroShortAmPm:t=i?"DD/MM/YY hh:mm:ss a":"D/M/YY h:m:s a";break;case w.dateTimeEuroShortAM_PM:t=i?"DD/MM/YY hh:mm:ss A":"D/M/YY h:m:s A";break;case w.dateUs:t="MM/DD/YYYY";break;case w.dateUsShort:t=i?"MM/DD/YY":"M/D/YY";break;case w.dateTimeUs:t="MM/DD/YYYY HH:mm:ss";break;case w.dateTimeUsAmPm:t="MM/DD/YYYY hh:mm:ss a";break;case w.dateTimeUsAM_PM:t="MM/DD/YYYY hh:mm:ss A";break;case w.dateTimeUsShort:t=i?"MM/DD/YY HH:mm:ss":"M/D/YY H:m:s";break;case w.dateTimeUsShortAmPm:t=i?"MM/DD/YY hh:mm:ss a":"M/D/YY h:m:s a";break;case w.dateTimeUsShortAM_PM:t=i?"MM/DD/YY hh:mm:ss A":"M/D/YY h:m:s A";break;case w.dateTimeShortUs:t=i?"MM/DD/YYYY HH:mm":"M/D/YYYY H:m";break;case w.dateUtc:t="ISO8601";break;case w.date:case w.dateIso:default:t=e!=null&&e.withDefaultIso8601?"ISO8601":"YYYY-MM-DD";break}return t}function vt(r,e,t){const i=e?Ke(e):void 0,s=Ke(t),n=r instanceof Date?r:bt(r,i);return n&&r!==void 0?t===w.dateUtc?n.toISOString():et(n,s,"en-US"):""}function bt(r,e,t=!1){try{return r?r instanceof Date?r:gs({date:r,format:e,dateOverflow:t?"throw":"backward",locale:"en-US"}):!1}catch{return!1}}function Yh(r){return Bo(r,Fn(r,"utc"))}function $o(r,e,t,i,s){let n=0;if(r===e)n=0;else{let o=bt(r,i,s),l=bt(e,i,s);o||(o=new Date(1001,1,1)),l||(l=new Date(1001,1,1)),n=o.valueOf()-l.valueOf()}return t*n}function ue(r){const e=r===w.date?void 0:Ke(r);return(t,i,s)=>e===void 0?$o(t,i,s,e,!1):$o(t,i,s,e,!0)}const ii={boolean:Ch,date:ue(w.date),dateIso:ue(w.dateIso),dateUtc:ue(w.dateUtc),dateTime:ue(w.dateTime),dateTimeIso:ue(w.dateTimeIso),dateTimeIsoAmPm:ue(w.dateTimeIsoAmPm),dateTimeIsoAM_PM:ue(w.dateTimeIsoAM_PM),dateTimeShortIso:ue(w.dateTimeShortIso),dateEuro:ue(w.dateEuro),dateEuroShort:ue(w.dateEuroShort),dateTimeShortEuro:ue(w.dateTimeShortEuro),dateTimeEuro:ue(w.dateTimeEuro),dateTimeEuroAmPm:ue(w.dateTimeEuroAmPm),dateTimeEuroAM_PM:ue(w.dateTimeEuroAM_PM),dateTimeEuroShort:ue(w.dateTimeEuroShort),dateTimeEuroShortAmPm:ue(w.dateTimeEuroShortAmPm),dateTimeEuroShortAM_PM:ue(w.dateTimeEuroShortAM_PM),dateUs:ue(w.dateUs),dateUsShort:ue(w.dateUsShort),dateTimeShortUs:ue(w.dateTimeShortUs),dateTimeUs:ue(w.dateTimeUs),dateTimeUsAmPm:ue(w.dateTimeUsAmPm),dateTimeUsAM_PM:ue(w.dateTimeUsAM_PM),dateTimeUsShort:ue(w.dateTimeUsShort),dateTimeUsShortAmPm:ue(w.dateTimeUsShortAmPm),dateTimeUsShortAM_PM:ue(w.dateTimeUsShortAM_PM),numeric:Ro,objectString:vh,string:xh};function _i(r,e,t,i,s,n){let o=0;if(It(r))o=ue(r).call(this,e,t,i,s,n);else switch(r){case w.boolean:o=ii.boolean(e,t,i,s,n);break;case w.float:case w.integer:case w.number:o=ii.numeric(e,t,i,s,n);break;case w.object:o=ii.objectString(e,t,i,s,n);break;case w.string:case w.text:case w.password:case w.readonly:default:o=ii.string(e,t,i,s,n);break}return o}const qh=Object.freeze(Object.defineProperty({__proto__:null,sortByFieldType:_i},Symbol.toStringTag,{value:"Module"}));var at;(function(r){r.camelCase="camelCase",r.camelCaseWithExtraOnPrefix="camelCaseWithExtraOnPrefix",r.kebabCase="kebabCase",r.lowerCase="lowerCase",r.lowerCaseWithoutOnPrefix="lowerCaseWithoutOnPrefix"})(at||(at={}));class Wo{get elementSource(){return this._elementSource}set elementSource(e){this._elementSource=e}get subscribedEvents(){return this._subscribedEvents}get subscribedEventNames(){return this._subscribedEvents.map(e=>e.name)}constructor(e){this._subscribedEvents=[],this.eventNamingStyle=at.camelCase,this._elementSource=e||document.createElement("div")}dispose(){var e;this.unsubscribeAll(),this._subscribedEvents=[],window.clearTimeout(this._timer),(e=this._elementSource)==null||e.remove(),this._elementSource=null}dispatchCustomEvent(e,t,i=!0,s=!0,n){var a;const o={bubbles:i,cancelable:s};t&&(o.detail=t);const l=new CustomEvent(e,o);return typeof n=="function"&&n(l),(a=this._elementSource)==null?void 0:a.dispatchEvent(l)}getEventNameByNamingConvention(e,t){let i="";switch(this.eventNamingStyle===at.lowerCaseWithoutOnPrefix?i=`${t}${e.replace(/^on/,"")}`:this.eventNamingStyle===at.camelCaseWithExtraOnPrefix&&(i=`${t}${e.replace(/^on/,"onOn")}`),this.eventNamingStyle){case at.camelCase:i=t!==""?`${t}${ti(e)}`:e;break;case at.kebabCase:i=t!==""?`${t}-${fi(e)}`:fi(e);break;case at.lowerCase:i=`${t}${e}`.toLowerCase();break}return i}publish(e,t,i,s){const n=this.getEventNameByNamingConvention(e,"");return i?new Promise(o=>{window.clearTimeout(this._timer),this._timer=window.setTimeout(()=>o(this.dispatchCustomEvent(n,t,!1,!0,s)),i)}):this.dispatchCustomEvent(n,t,!1,!0,s)}subscribe(e,t){e=Array.isArray(e)?e:[e];const i=[];return e.forEach(s=>{const n=this.getEventNameByNamingConvention(s,"");this._elementSource.addEventListener(n,o=>t.call(null,o.detail)),this._subscribedEvents.push({name:n,listener:t}),i.push(()=>this.unsubscribe(n,t))}),{unsubscribe:()=>i.forEach(s=>s())}}subscribeEvent(e,t){const i=this.getEventNameByNamingConvention(e,"");return this._elementSource.addEventListener(i,t),this._subscribedEvents.push({name:i,listener:t}),{unsubscribe:()=>this.unsubscribe(i,t)}}unsubscribe(e,t,i=!0){const s=this.getEventNameByNamingConvention(e,"");this._elementSource.removeEventListener(s,t),i&&this.removeSubscribedEventWhenFound(e,t)}unsubscribeAll(e){if(Array.isArray(e)){let t;do t=e.pop(),t!=null&&t.dispose?t.dispose():t!=null&&t.unsubscribe&&t.unsubscribe();while(t)}else{let t=this._subscribedEvents.pop();for(;t;)this.unsubscribe(t.name,t.listener,!1),t=this._subscribedEvents.pop()}}removeSubscribedEventWhenFound(e,t){const i=this._subscribedEvents.findIndex(s=>s.name===e&&s.listener===t);i>=0&&this._subscribedEvents.splice(i,1)}}function _s(r){var e=document,t=r.container||e.createElement("div"),i=r.preventSubmit||0;t.id=t.id||"autocomplete-"+C();var s=t.style,n=r.debounceWaitMs||0,o=r.disableAutoSelect||!1,l=t.parentElement,a=[],h="",d=2,c=r.showOnFocus,u,p=0,m,f=!1,g=!1;if(r.minLength!==void 0&&(d=r.minLength),!r.input)throw new Error("input undefined");var _=r.input;t.className=[t.className,"autocomplete",r.className||""].join(" ").trim(),t.setAttribute("role","listbox"),_.setAttribute("role","combobox"),_.setAttribute("aria-expanded","false"),_.setAttribute("aria-autocomplete","list"),_.setAttribute("aria-controls",t.id),_.setAttribute("aria-owns",t.id),_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-haspopup","listbox"),s.position="absolute";function C(){return Date.now().toString(36)+Math.random().toString(36).substring(2)}function b(){var N=t.parentNode;N&&N.removeChild(t)}function S(){m&&window.clearTimeout(m)}function E(){t.parentNode||(l||e.body).appendChild(t)}function y(){return!!t.parentNode}function x(){p++,a=[],h="",u=void 0,_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-expanded","false"),b()}function O(){if(!y())return;_.setAttribute("aria-expanded","true"),s.height="auto",s.width=_.offsetWidth+"px";var N=0,se;function Ne(){var je=e.documentElement,rt=je.clientTop||e.body.clientTop||0,ot=je.clientLeft||e.body.clientLeft||0,Fi=window.pageYOffset||je.scrollTop,Ht=window.pageXOffset||je.scrollLeft;se=_.getBoundingClientRect();var Je=se.top+_.offsetHeight+Fi-rt,as=se.left+Ht-ot;s.top=Je+"px",s.left=as+"px",N=window.innerHeight-(se.top+_.offsetHeight),N<0&&(N=0),s.top=Je+"px",s.bottom="",s.left=as+"px",s.maxHeight=N+"px"}Ne(),Ne(),r.customize&&se&&r.customize(_,se,t,N)}function I(){t.textContent="",_.setAttribute("aria-activedescendant","");var N=function(ot,Fi,Ht){var Je=e.createElement("div");return Je.textContent=ot.label||"",Je};r.render&&(N=r.render);var se=function(ot,Fi){var Ht=e.createElement("div");return Ht.textContent=ot,Ht};r.renderGroup&&(se=r.renderGroup);var Ne=e.createDocumentFragment(),je=C();if(a.forEach(function(ot,Fi){if(ot.group&&ot.group!==je){je=ot.group;var Ht=se(ot.group,h);Ht&&(Ht.className+=" group",Ne.appendChild(Ht))}var Je=N(ot,h,Fi);Je&&(Je.id=t.id+"_"+Fi,Je.setAttribute("role","option"),Je.addEventListener("click",function(as){g=!0;try{r.onSelect(ot,_)}finally{g=!1}x(),as.preventDefault(),as.stopPropagation()}),ot===u&&(Je.className+=" selected",Je.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",Je.id)),Ne.appendChild(Je))}),t.appendChild(Ne),a.length<1)if(r.emptyMsg){var rt=e.createElement("div");rt.id=t.id+"_"+C(),rt.className="empty",rt.textContent=r.emptyMsg,t.appendChild(rt),_.setAttribute("aria-activedescendant",rt.id)}else{x();return}E(),O(),W()}function A(){y()&&I()}function D(){A()}function L(N){N.target!==t?A():N.preventDefault()}function M(){g||Le(0)}function W(){var N=t.getElementsByClassName("selected");if(N.length>0){var se=N[0],Ne=se.previousElementSibling;if(Ne&&Ne.className.indexOf("group")!==-1&&!Ne.previousElementSibling&&(se=Ne),se.offsetTop<t.scrollTop)t.scrollTop=se.offsetTop;else{var je=se.offsetTop+se.offsetHeight,rt=t.scrollTop+t.offsetHeight;je>rt&&(t.scrollTop+=je-rt)}}}function K(){var N=a.indexOf(u);u=N===-1?void 0:a[(N+a.length-1)%a.length],X(N)}function J(){var N=a.indexOf(u);u=a.length<1?void 0:N===-1?a[0]:a[(N+1)%a.length],X(N)}function X(N){a.length>0&&(ze(N),ie(a.indexOf(u)),W())}function ie(N){var se=e.getElementById(t.id+"_"+N);se&&(se.classList.add("selected"),se.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",se.id))}function ze(N){var se=e.getElementById(t.id+"_"+N);se&&(se.classList.remove("selected"),se.removeAttribute("aria-selected"),_.removeAttribute("aria-activedescendant"))}function nt(N,se){var Ne=y();if(se==="Escape")x();else{if(!Ne||a.length<1)return;se==="ArrowUp"?K():J()}N.preventDefault(),Ne&&N.stopPropagation()}function fe(N){if(u){i===2&&N.preventDefault(),g=!0;try{r.onSelect(u,_)}finally{g=!1}x()}i===1&&N.preventDefault()}function xe(N){var se=N.key;switch(se){case"ArrowUp":case"ArrowDown":case"Escape":nt(N,se);break;case"Enter":fe(N);break}}function qe(){c&&Le(1)}function Le(N){_.value.length>=d||N===1?(S(),m=window.setTimeout(function(){return ke(_.value,N,_.selectionStart||0)},N===0||N===2?n:0)):x()}function ke(N,se,Ne){if(!f){var je=++p;r.fetch(N,function(rt){p===je&&rt&&(a=rt,h=N,u=a.length<1||o?void 0:a[0],I())},se,Ne)}}function Q(N){if(r.keyup){r.keyup({event:N,fetch:function(){return Le(0)}});return}!y()&&N.key==="ArrowDown"&&Le(0)}function ce(N){r.click&&r.click({event:N,fetch:function(){return Le(2)}})}function ct(){setTimeout(function(){e.activeElement!==_&&x()},200)}function hi(){ke(_.value,3,_.selectionStart||0)}t.addEventListener("mousedown",function(N){N.stopPropagation(),N.preventDefault()}),t.addEventListener("focus",function(){return _.focus()}),b();function Nt(){_.removeEventListener("focus",qe),_.removeEventListener("keyup",Q),_.removeEventListener("click",ce),_.removeEventListener("keydown",xe),_.removeEventListener("input",M),_.removeEventListener("blur",ct),window.removeEventListener("resize",D),e.removeEventListener("scroll",L,!0),_.removeAttribute("role"),_.removeAttribute("aria-expanded"),_.removeAttribute("aria-autocomplete"),_.removeAttribute("aria-controls"),_.removeAttribute("aria-activedescendant"),_.removeAttribute("aria-owns"),_.removeAttribute("aria-haspopup"),S(),x(),f=!0}return _.addEventListener("keyup",Q),_.addEventListener("click",ce),_.addEventListener("keydown",xe),_.addEventListener("input",M),_.addEventListener("blur",ct),_.addEventListener("focus",qe),window.addEventListener("resize",D),e.addEventListener("scroll",L,!0),{destroy:Nt,fetch:hi}}class Cs{constructor(e){this._value=null,this._boundedEventWithListeners=[],this._elementBindings=[],this._binding=e,this._property=e.property||"",this._elementBindings=[],e.property&&e.variable&&(e.variable.hasOwnProperty(e.property)||e.property in e.variable)?this._value=e.variable[e.property]:this._value=e.variable,typeof e.variable=="object"&&Object.defineProperty(e.variable,e.property,{get:this.valueGetter.bind(this),set:this.valueSetter.bind(this)})}get boundedEventWithListeners(){return this._boundedEventWithListeners}get elementBindings(){return this._elementBindings}get property(){return this._property}dispose(){this.unbindAll(),this._boundedEventWithListeners=[],this._elementBindings=[]}valueGetter(){return this._value}valueSetter(e){if(this._value=e,Array.isArray(this._elementBindings))for(const t of this._elementBindings)t!=null&&t.element&&(t!=null&&t.attribute)&&(t.element[t.attribute]=e)}bind(e,t,i,s){return e&&e.forEach?e.forEach(n=>this.bindSingleElement(n,t,i,s)):e&&this.bindSingleElement(e,t,i,s),this}unbind(e,t,i,s,n){if(e){e.removeEventListener(t,i,s);const o=this._boundedEventWithListeners.findIndex(l=>l.uid===n);o>=0&&this._boundedEventWithListeners.splice(o,1)}}unbindAll(){let e=this._boundedEventWithListeners.pop();for(;e;){const{element:t,eventName:i,listener:s,uid:n}=e;this.unbind(t,i,s,void 0,n),e=this._boundedEventWithListeners.pop()}this._boundedEventWithListeners=[]}bindSingleElement(e,t,i,s){const n={element:e,attribute:t};if(e){if(i){const o=()=>{let l=e[t];if(this.hasData(l)&&(e==null?void 0:e.type)==="number"&&(l=+l),this.valueSetter(l),(this._binding.variable.hasOwnProperty(this._binding.property)||this._binding.property in this._binding.variable)&&(this._binding.variable[this._binding.property]=this.valueGetter()),typeof s=="function")return s(this.valueGetter())};n.event=i,n.listener=o,e.addEventListener(i,o),this._boundedEventWithListeners.push({element:e,eventName:i,listener:o,uid:this.generateUuidV4()})}this._elementBindings.push(n),e[t]=this._value}}generateUuidV4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}hasData(e){return e!=null&&e!==""}}class Go{constructor(){this._observers=[],this._querySelectorPrefix=""}get querySelectorPrefix(){return this._querySelectorPrefix||""}set querySelectorPrefix(e){this._querySelectorPrefix=e}get observers(){return this._observers}dispose(){let e=this._observers.pop();for(;e;)e.dispose(),e=this._observers.pop();this._observers=[]}addElementBinding(e,t,i,s,n,o){const l=document.querySelectorAll(`${this.querySelectorPrefix}${i}`);let a=this._observers.find(h=>h.property===e);a||(a=new Cs({variable:e,property:t})),Array.isArray(n)?n.forEach(h=>a==null?void 0:a.bind(l,s,h,o)):a==null||a.bind(l,s,n,o),this._observers.push(a)}bindEventHandler(e,t,i,s){document.querySelectorAll(`${this.querySelectorPrefix}${e}`).forEach(o=>{o!=null&&o.addEventListener&&o.addEventListener(t,i,s)})}setElementAttributeValue(e,t,i){document.querySelectorAll(`${this.querySelectorPrefix}${e}`).forEach(n=>{n.textContent="",n&&t in n&&(n[t]=i)})}}class Pe{constructor(){this._boundedEvents=[]}get boundedEvents(){return this._boundedEvents}dispose(){this.unbindAll(),this._boundedEvents=[]}bind(e,t,i,s,n=""){const o=Array.isArray(t)?t:[t];if(!(e instanceof HTMLElement||e instanceof DocumentFragment)&&(e!=null&&e.forEach))e.forEach(l=>{for(const a of o)l.addEventListener(a,i,s),this._boundedEvents.push({element:l,eventName:a,listener:i,groupName:n})});else if(e)for(const l of o)e.addEventListener(l,i,s),this._boundedEvents.push({element:e,eventName:l,listener:i,groupName:n})}unbind(e,t,i){const s=Array.isArray(e)?e:[e],n=Array.isArray(t)?t:[t];for(const o of n)for(const l of s)typeof(l==null?void 0:l.removeEventListener)=="function"&&l.removeEventListener(o,i)}unbindByEventName(e,t){const i=this._boundedEvents.find(s=>s.element===e&&s.eventName===t);i&&this.unbind(i.element,i.eventName,i.listener)}unbindAll(e){if(e){const t=Array.isArray(e)?e:[e];for(let i=this._boundedEvents.length-1;i>=0;--i){const s=this._boundedEvents[i];if(t.some(n=>n===s.groupName)){const{element:n,eventName:o,listener:l}=s;this.unbind(n,o,l),this._boundedEvents.splice(i,1)}}}else for(;this._boundedEvents.length>0;){const t=this._boundedEvents.pop(),{element:i,eventName:s,listener:n}=t;this.unbind(i,s,n)}}}var Uo=Object.prototype.hasOwnProperty;function pt(r,e){var t,i;if(r===e)return!0;if(r&&e&&(t=r.constructor)===e.constructor){if(t===Date)return r.getTime()===e.getTime();if(t===RegExp)return r.toString()===e.toString();if(t===Array){if((i=r.length)===e.length)for(;i--&&pt(r[i],e[i]););return i===-1}if(!t||typeof r=="object"){i=0;for(t in r)if(Uo.call(r,t)&&++i&&!Uo.call(e,t)||!(t in e)||!pt(r[t],e[t]))return!1;return Object.keys(e).length===i}}return r!==r&&e!==e}function jo(r,e){const t=e.fetch;t&&(e.fetch=(i,s,n,o)=>{r.classList.add("slick-autocomplete-loading");const l=s;t(i,h=>{l(h),r.classList.remove("slick-autocomplete-loading")},n,o)})}function Mn(r){const e=new Date;r.settings.selected={dates:[],month:e.getMonth(),year:e.getFullYear()};const t=r.HTMLInputElement;t&&(t.value=""),r.update({dates:!0,month:!0,year:!0,time:!0})}function Gi(r,e,t,i){var h,d;const{oldVal:s,newVal:n,columnDef:o,selectedSettings:l,updatePickerUI:a}=i;if(s!==n){const c=r.type||o.type,u=o.outputType||r.type||o.type||w.dateUtc,p=Array.isArray(n)?n:[n||""],m=[],f=Ke(w.dateIso),g=c?Ke(c):void 0;for(const C of p){const b=C instanceof Date?C:bt(C,g);b&&m.push(b)}const _=l??{dates:[m.map(C=>et(C,f)).join(":")],month:(h=m[0])==null?void 0:h.getMonth(),year:(d=m[0])==null?void 0:d.getFullYear(),time:g==="ISO8601"||(g||"").toLowerCase().includes("h")?et(m[0],"HH:mm"):void 0};pt(t.settings.selected,_)||(t.settings.selected=_,a&&(t!=null&&t.update)&&t.update({dates:!0,month:!0,year:!0,time:!0})),e.value=p.length?m.map(C=>vt(C,void 0,u)).join(" — "):""}}function Ln(r,e){const t=v("select",{className:"form-control"});for(const i of r){const s=document.createElement("option");s.value=i.operator,e.applyHtmlCode(s,`${fo(i.operatorAlt||i.operator,3)}${i.descAlt||i.desc}`),t.appendChild(s)}return t}function Kh(r,e,t){const i=(e==null?void 0:e.filter)??{},s=(i==null?void 0:i.collectionOptions)??{};if(s&&s.collectionInsideObjectProperty){const n=s.collectionInsideObjectProperty;r=Ee(r,n)}if(!Array.isArray(r))throw new Error('Something went wrong while trying to pull the collection from the "collectionAsync" call in the Filter, the collection is not a valid array.');i.collection=r,t(r)}async function Yo(r,e,t,i,s){const n=(e==null?void 0:e.filter)??{},o=(n==null?void 0:n.collectionOptions)??{};let l=null;if(r){const a=(i==null?void 0:i.isObservable(r))??!1;a&&i&&(l=await oo(i,r));const h=await r;if(Array.isArray(h)?l=h:(h==null?void 0:h.status)>=200&&h.status<300&&typeof h.json=="function"?l=await h.json():h&&h.content&&(l=h.content),!Array.isArray(l)&&(o!=null&&o.collectionInsideObjectProperty)){const d=l||h,c=o.collectionInsideObjectProperty;l=Ee(d,c||"")}if(!Array.isArray(l))throw new Error('Something went wrong while trying to pull the collection from the "collectionAsync" call in the Filter, the collection is not a valid array.');n.collection=l,t(l),a&&Xh(e,t,i,s)}return l}function Xh(r,e,t,i){const s=(r==null?void 0:r.filter)??{},n=t==null?void 0:t.createSubject();s.collectionAsync=n,i&&n&&i.push(n.subscribe(o=>Kh(o,r,e)))}function ht(r,e,t,i,s){if(i!=null&&i.enableTranslate&&(s!=null&&s.translate)){const o=lt(i);return s.translate(`${o}${r}`)}const n=i.locales||R.locales;return(n==null?void 0:n[e])??t}function Qh(r,e){return[{operator:"",desc:ht("CONTAINS","TEXT_CONTAINS","Contains",r,e)},{operator:"<>",desc:ht("NOT_CONTAINS","TEXT_NOT_CONTAINS","Not Contains",r,e)},{operator:"=",desc:ht("EQUALS","TEXT_EQUALS","Equals",r,e)},{operator:"!=",desc:ht("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)},{operator:"a*",desc:ht("STARTS_WITH","TEXT_STARTS_WITH","Starts with",r,e)},{operator:"*z",desc:ht("ENDS_WITH","TEXT_ENDS_WITH","Ends with",r,e)}]}function Nn(r,e){return[{operator:"",desc:""},{operator:"=",desc:ht("EQUAL_TO","TEXT_EQUAL_TO","Equal to",r,e)},{operator:"<",desc:ht("LESS_THAN","TEXT_LESS_THAN","Less than",r,e)},{operator:"<=",desc:ht("LESS_THAN_OR_EQUAL_TO","TEXT_LESS_THAN_OR_EQUAL_TO","Less than or equal to",r,e)},{operator:">",desc:ht("GREATER_THAN","TEXT_GREATER_THAN","Greater than",r,e)},{operator:">=",desc:ht("GREATER_THAN_OR_EQUAL_TO","TEXT_GREATER_THAN_OR_EQUAL_TO","Greater than or equal to",r,e)},{operator:"<>",desc:ht("NOT_EQUAL_TO","TEXT_NOT_EQUAL_TO","Not equal to",r,e)}]}function Hn(r,e,t){if(r.compoundOperatorAltTexts){for(const i of e)if(r.compoundOperatorAltTexts.hasOwnProperty(t)){const s=r.compoundOperatorAltTexts[t][i.operator];i.operatorAlt=(s==null?void 0:s.operatorAlt)||"",i.descAlt=(s==null?void 0:s.descAlt)||""}}}class le{get defaultPrevented(){return this._isDefaultPrevented}constructor(e,t){this.event=e,this.args=t,this._isPropagationStopped=!1,this._isImmediatePropagationStopped=!1,this._isDefaultPrevented=!1,this.returnValue=void 0,this.nativeEvent=e,this._arguments=t,e&&["altKey","ctrlKey","metaKey","shiftKey","key","keyCode","clientX","clientY","offsetX","offsetY","pageX","pageY","bubbles","target","type","which","x","y"].forEach(i=>this[i]=e[i]),this._eventTarget=this.nativeEvent?this.nativeEvent.target:void 0}stopPropagation(){var e;this._isPropagationStopped=!0,(e=this.nativeEvent)==null||e.stopPropagation()}isPropagationStopped(){return this._isPropagationStopped}stopImmediatePropagation(){this._isImmediatePropagationStopped=!0,this.nativeEvent&&this.nativeEvent.stopImmediatePropagation()}isImmediatePropagationStopped(){return this._isImmediatePropagationStopped}getNativeEvent(){return this.nativeEvent}preventDefault(){this.nativeEvent&&this.nativeEvent.preventDefault(),this._isDefaultPrevented=!0}isDefaultPrevented(){return this.nativeEvent?this.nativeEvent.defaultPrevented:this._isDefaultPrevented}addReturnValue(e){this.returnValue===void 0&&e!==void 0&&(this.returnValue=e)}getReturnValue(){return this.returnValue}getArguments(){return this._arguments}resetReturnValue(){this.returnValue=void 0}}class P{get subscriberCount(){return this._handlers.length}constructor(e,t){this.eventName=e,this.pubSub=t,this._handlers=[],this._pubSubService=t}subscribe(e){this._handlers.push(e)}unsubscribe(e){for(let t=this._handlers.length-1;t>=0;t--)this._handlers[t]===e&&this._handlers.splice(t,1)}notify(e,t,i,s=!1){var o;const n=t instanceof le?t:new le(t,e);s&&n.resetReturnValue(),i=i||this;for(let l=0;l<this._handlers.length&&!(n.isPropagationStopped()||n.isImmediatePropagationStopped());l++){const a=this._handlers[l].call(i,n,e);n.addReturnValue(a)}if(typeof((o=this._pubSubService)==null?void 0:o.publish)=="function"&&this.eventName){const l=this._pubSubService.publish(this.eventName,{args:e,eventData:n},void 0,a=>n.nativeEvent??(n.nativeEvent=a));n.addReturnValue(l)}return n}setPubSubService(e){this._pubSubService=e}}class pe{constructor(){this.handlers=[]}get subscriberCount(){return this.handlers.length}subscribe(e,t){return this.handlers.push({event:e,handler:t}),e.subscribe(t),this}unsubscribe(e,t){let i=this.handlers.length;for(;i--;)if(this.handlers[i].event===e&&this.handlers[i].handler===t){this.handlers.splice(i,1),e.unsubscribe(t);return}return this}unsubscribeAll(){let e=this.handlers.length;for(;e--;)this.handlers[e].event.unsubscribe(this.handlers[e].handler);return this.handlers=[],this}}class tt{constructor(e,t,i,s){i===void 0&&s===void 0&&(i=e,s=t),this.fromRow=Math.min(e,i),this.fromCell=Math.min(t,s),this.toRow=Math.max(e,i),this.toCell=Math.max(t,s)}isSingleCell(){return this.fromRow===this.toRow&&this.fromCell===this.toCell}isSingleRow(){return this.fromRow===this.toRow}contains(e,t){return e>=this.fromRow&&e<=this.toRow&&t>=this.fromCell&&t<=this.toCell}toString(){return this.isSingleCell()?`(${this.fromRow}:${this.fromCell})`:`(${this.fromRow}:${this.fromCell} - ${this.toRow}:${this.toCell})`}}class qo{constructor(){this.__nonDataRow=!0}}class vs extends qo{constructor(){super(),this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=""}equals(e){return this.value===e.value&&this.count===e.count&&this.collapsed===e.collapsed&&this.title===e.title}}class Zh extends qo{constructor(){super(),this.__groupTotals=!0,this.group=null,this.initialized=!1}}class Jh{constructor(){this.activeEditController=null}isActive(e){return e?this.activeEditController===e:this.activeEditController!==null}activate(e){if(e!==this.activeEditController){if(this.activeEditController!==null)throw new Error("SlickEditorLock.activate: an editController is still active, can't activate another editController");if(!e.commitCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .commitCurrentEdit()");if(!e.cancelCurrentEdit)throw new Error("SlickEditorLock.activate: editController must implement .cancelCurrentEdit()");this.activeEditController=e}}deactivate(e){if(this.activeEditController){if(this.activeEditController!==e)throw new Error("SlickEditorLock.deactivate: specified editController is not the currently active one");this.activeEditController=null}}commitCurrentEdit(){return this.activeEditController?this.activeEditController.commitCurrentEdit():!0}cancelCurrentEdit(){return this.activeEditController?this.activeEditController.cancelCurrentEdit():!0}}class T{static height(e,t){if(e){if(t===void 0)return e.getBoundingClientRect().height;T.setStyleSize(e,"height",t)}}static width(e,t){if(!(!e||!e.getBoundingClientRect)){if(t===void 0)return e.getBoundingClientRect().width;T.setStyleSize(e,"width",t)}}static setStyleSize(e,t,i){typeof i=="function"&&(i=i()),e.style[t]=typeof i=="string"?i:`${i}px`}static isHidden(e){return e.offsetWidth===0&&e.offsetHeight===0}static parents(e,t){const i=[],s=t===":visible",n=t===":hidden";for(;(e=e.parentNode)&&e!==document&&!(!e||!e.parentNode);)n?T.isHidden(e)&&i.push(e):s?T.isHidden(e)||i.push(e):(!t||e.matches(t))&&i.push(e);return i}static toFloat(e){const t=parseFloat(e);return isNaN(t)?0:t}static show(e,t=""){Array.isArray(e)?e.forEach(i=>i.style.display=t):e.style.display=t}static hide(e){Array.isArray(e)?e.forEach(t=>t.style.display="none"):e.style.display="none"}static applyDefaults(e,t){typeof t=="object"&&Object.keys(t).forEach(i=>{t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])})}static addSlickEventPubSubWhenDefined(e,t){if(e)for(const i in t)t[i]instanceof P&&typeof t[i].setPubSubService=="function"&&t[i].setPubSubService(e)}}T.storage={_storage:new WeakMap,put:function(r,e,t){this._storage.has(r)||this._storage.set(r,new Map),this._storage.get(r).set(e,t)},get:function(r,e){const t=this._storage.get(r);return t?t.get(e):null},remove:function(r,e){const t=this._storage.get(r).delete(e);return this._storage.get(r).size!==0&&this._storage.delete(r),t}};const Ui=new Jh,ed="slick-edit-preclick";class Ko{constructor(e){this.pluginName="GroupItemMetadataProvider",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 pe,this._options=de(!0,{},this._defaults,e)}get eventHandler(){return this._eventHandler}get dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())||{}}init(e,t){this._grid=e,this._options={...this._defaults,...t},this._eventHandler.subscribe(e.onClick,this.handleGridClick.bind(this)),this._eventHandler.subscribe(e.onKeyDown,this.handleGridKeyDown.bind(this))}destroy(){this.dispose()}dispose(){var e;(e=this._eventHandler)==null||e.unsubscribeAll()}getOptions(){return this._options}setOptions(e){this._options={...this._options,...e}}getGroupRowMetadata(e,t){return{selectable:!1,focusable:this._options.groupFocusable,cssClasses:`${this._options.groupCssClass} slick-group-level-${(e==null?void 0:e.level)||0}`,formatter:this._options.includeHeaderTotals&&this._options.totalsFormatter||void 0,columns:{0:{colspan:this._options.includeHeaderTotals?"1":"*",formatter:this._options.groupFormatter,editorClass:null}}}}getTotalsRowMetadata(e,t){var i;return{selectable:!1,focusable:this._options.totalsFocusable,cssClasses:`${this._options.totalsCssClass} slick-group-level-${((i=e==null?void 0:e.group)==null?void 0:i.level)||0}`,formatter:this._options.totalsFormatter,editorClass:null}}defaultGroupCellFormatter(e,t,i,s,n){var u,p;if(!this._options.enableExpandCollapse)return n.title;const o=n.level||0,l=((u=this._options)==null?void 0:u.indentation)??15,a=`${o*l}px`,h=n.collapsed?this._options.toggleCollapsedCssClass:this._options.toggleExpandedCssClass,d=(p=this.gridOptions)!=null&&p.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment;d.appendChild(v("span",{className:`${this._options.toggleCssClass} ${h}`,ariaExpanded:String(!n.collapsed),style:{marginLeft:a}}));const c=v("span",{className:this._options.groupTitleCssClass||""});return c.setAttribute("level",o),n.title instanceof HTMLElement||n.title instanceof DocumentFragment?c.appendChild(n.title):this._grid.applyHtmlCode(c,n.title??""),d.appendChild(c),d}defaultTotalsCellFormatter(e,t,i,s,n,o){var l;return((l=s==null?void 0:s.groupTotalsFormatter)==null?void 0:l.call(s,n,s,o))??""}handleGridClick(e,t){var n;const i=e.target,s=(n=this._grid)==null?void 0:n.getDataItem(t.row);s instanceof vs&&i.classList.contains(this._options.toggleCssClass||"")&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}handleGridKeyDown(e){var t;if(this._options.enableExpandCollapse&&e.key===" "){const i=(t=this._grid)==null?void 0:t.getActiveCell();if(i){const s=this._grid.getDataItem(i.row);s instanceof vs&&(this.handleDataViewExpandOrCollapse(s),e.stopImmediatePropagation(),e.preventDefault())}}}handleDataViewExpandOrCollapse(e){var i;const t=(i=this._grid)==null?void 0:i.getRenderedRange();this.dataView.setRefreshHints({ignoreDiffsBefore:t.top,ignoreDiffsAfter:t.bottom+1}),e.collapsed?this.dataView.expandGroup(e.groupingKey):this.dataView.collapseGroup(e.groupingKey)}}class td{constructor(e,t){this.externalPubSub=t,this.defaults={globalItemMetadataProvider:null,groupItemMetadataProvider:null,inlineFilters:!1,useCSPSafeFilter:!1},this.idProperty="id",this.items=[],this.rows=[],this.idxById=new Map,this.rowsById=void 0,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.suspend=!1,this.isBulkSuspend=!1,this.bulkDeleteIds=new Map,this.sortAsc=!0,this.refreshHints={},this.prevRefreshHints={},this.filteredItems=[],this.filterCache=[],this.groupingInfoDefaults={getter:void 0,formatter:void 0,comparer:(i,s)=>i.value===s.value?0:i.value>s.value?1:-1,predefinedValues:[],aggregators:[],aggregateEmpty:!1,aggregateCollapsed:!1,aggregateChildGroups:!1,collapsed:!1,displayTotalsRow:!0,lazyTotalsCalculation:!1},this.groupingInfos=[],this.groups=[],this.toggledGroupsByLevel=[],this.groupingDelimiter=":|:",this.selectedRowIds=[],this.pagesize=0,this.pagenum=0,this.totalRows=0,this.onBeforePagingInfoChanged=new P("onBeforePagingInfoChanged",t),this.onGroupExpanded=new P("onGroupExpanded",t),this.onGroupCollapsed=new P("onGroupCollapsed",t),this.onPagingInfoChanged=new P("onPagingInfoChanged",t),this.onRowCountChanged=new P("onRowCountChanged",t),this.onRowsChanged=new P("onRowsChanged",t),this.onRowsOrCountChanged=new P("onRowsOrCountChanged",t),this.onSelectedRowIdsChanged=new P("onSelectedRowIdsChanged",t),this.onSetItemsCalled=new P("onSetItemsCalled",t),this._options=de(!0,{},this.defaults,e)}beginUpdate(e){this.suspend=!0,this.isBulkSuspend=e===!0}endUpdate(){const e=this.isBulkSuspend;this.isBulkSuspend=!1,this.suspend=!1,e&&(this.processBulkDelete(),this.ensureIdUniqueness()),this.refresh()}destroy(){var e,t,i;this.items=[],this.idProperty="id",this.idxById=null,this.rowsById=null,this.filter=null,this.filterCSPSafe=null,this.updated=null,this.sortComparer=null,this.filterCache=[],this.filteredItems=[],this.compiledFilter=null,this.compiledFilterCSPSafe=null,this.compiledFilterWithCaching=null,this.compiledFilterWithCachingCSPSafe=null,this._grid&&((e=this._grid.onSelectedRowsChanged)==null||e.unsubscribe(),(t=this._grid.onCellCssStylesChanged)==null||t.unsubscribe()),(i=this.onRowsOrCountChanged)==null||i.unsubscribe()}setRefreshHints(e){this.refreshHints=e}getFilterArgs(){return this.filterArgs}setFilterArgs(e){this.filterArgs=e}processBulkDelete(){if(!this.idxById)return;let e,t,i=0;for(let s=0,n=this.items.length;s<n;s++){if(t=this.items[s],e=t[this.idProperty],e===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.bulkDeleteIds.has(e)?this.idxById.delete(e):(this.items[i]=t,this.idxById.set(e,i),++i)}this.items.length=i,this.bulkDeleteIds=new Map}updateIdxById(e){if(this.isBulkSuspend||!this.idxById)return;e=e||0;let t;for(let i=e,s=this.items.length;i<s;i++){if(t=this.items[i][this.idProperty],t===void 0)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property");this.idxById.set(t,i)}}ensureIdUniqueness(){if(this.isBulkSuspend||!this.idxById)return;let e;for(let t=0,i=this.items.length;t<i;t++)if(e=this.items[t][this.idProperty],e===void 0||this.idxById.get(e)!==t)throw new Error("[SlickGrid DataView] Each data element must implement a unique 'id' property")}getItems(){return this.items}getIdPropertyName(){return this.idProperty}setItems(e,t){t!==void 0&&(this.idProperty=t),this.items=this.filteredItems=e,this.onSetItemsCalled.notify({idProperty:this.idProperty,itemCount:this.items.length},null,this),this.idxById=new Map,this.updateIdxById(),this.ensureIdUniqueness(),this.refresh()}setPagingOptions(e){this.onBeforePagingInfoChanged.notify(this.getPagingInfo(),null,this).getReturnValue()!==!1&&(q(e.pageSize)&&(this.pagesize=e.pageSize,this.pagenum=this.pagesize?Math.min(this.pagenum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1)):0),q(e.pageNum)&&(this.pagenum=Math.min(e.pageNum,Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1))),this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),this.refresh())}getPagingInfo(){const e=this.pagesize?Math.max(1,Math.ceil(this.totalRows/this.pagesize)):1;return{pageSize:this.pagesize,pageNum:this.pagenum,totalRows:this.totalRows,totalPages:e,dataView:this}}sort(e,t){this.sortAsc=t,this.sortComparer=e,t===!1&&this.items.reverse(),this.items.sort(e),t===!1&&this.items.reverse(),this.idxById=new Map,this.updateIdxById(),this.refresh()}reSort(){this.sortComparer&&this.sort(this.sortComparer,this.sortAsc)}getFilteredItems(){return this.filteredItems}getFilteredItemCount(){return this.filteredItems.length}getFilter(){return this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter}setFilter(e){this.filterCSPSafe=e,this.filter=e,this._options.inlineFilters&&(this.compiledFilterCSPSafe=this.compileFilterCSPSafe,this.compiledFilterWithCachingCSPSafe=this.compileFilterWithCachingCSPSafe,this.compiledFilter=this.compileFilter(this._options.useCSPSafeFilter),this.compiledFilterWithCaching=this.compileFilterWithCaching(this._options.useCSPSafeFilter)),this.refresh()}getGrouping(){return this.groupingInfos}setGrouping(e){this._options.groupItemMetadataProvider||(this._options.groupItemMetadataProvider=new Ko),this.groups=[],this.toggledGroupsByLevel=[],e=e||[],this.groupingInfos=e instanceof Array?e:[e];for(let t=0;t<this.groupingInfos.length;t++){const i=this.groupingInfos[t]=de(!0,{},this.groupingInfoDefaults,this.groupingInfos[t]);i.getterIsAFn=typeof i.getter=="function",i.compiledAccumulators=[];let s=i.aggregators.length;for(;s--;)i.compiledAccumulators[s]=this.compileAccumulatorLoopCSPSafe(i.aggregators[s]);this.toggledGroupsByLevel[t]={}}this.refresh()}getItemByIdx(e){return this.items[e]}getIdxById(e){var t;return(t=this.idxById)==null?void 0:t.get(e)}ensureRowsByIdCache(){if(!this.rowsById){this.rowsById={};for(let e=0,t=this.rows.length;e<t;e++)this.rowsById[this.rows[e][this.idProperty]]=e}}getRowByItem(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e[this.idProperty]]}getRowById(e){var t;return this.ensureRowsByIdCache(),(t=this.rowsById)==null?void 0:t[e]}getItemById(e){return this.items[this.idxById.get(e)]}mapItemsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const o=(i=this.rowsById)==null?void 0:i[e[s][this.idProperty]];q(o)&&(t[t.length]=o)}return t}mapIdsToRows(e){var i;const t=[];this.ensureRowsByIdCache();for(let s=0,n=e.length;s<n;s++){const o=(i=this.rowsById)==null?void 0:i[e[s]];q(o)&&(t[t.length]=o)}return t}mapRowsToIds(e){const t=[];for(let i=0,s=e.length;i<s;i++)if(e[i]<this.rows.length){const n=this.rows[e[i]];t[t.length]=n[this.idProperty]}return t}updateSingleItem(e,t){var i;if(this.idxById){if(!this.idxById.has(e))throw new Error("[SlickGrid DataView] Invalid id");if(e!==t[this.idProperty]){const s=t[this.idProperty];if(!q(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a null id");if(this.idxById.has(s))throw new Error("[SlickGrid DataView] Cannot update item to associate with a non-unique id");this.idxById.set(s,this.idxById.get(e)),this.idxById.delete(e),(i=this.updated)!=null&&i[e]&&delete this.updated[e],e=s}this.items[this.idxById.get(e)]=t,this.updated||(this.updated={}),this.updated[e]=!0}}updateItem(e,t){this.updateSingleItem(e,t),this.refresh()}updateItems(e,t){if(e.length!==t.length)throw new Error("[SlickGrid DataView] Mismatch on the length of ids and items provided to update");for(let i=0,s=t.length;i<s;i++)this.updateSingleItem(e[i],t[i]);this.refresh()}insertItem(e,t){this.items.splice(e,0,t),this.updateIdxById(e),this.refresh()}insertItems(e,t){Array.prototype.splice.apply(this.items,[e,0].concat(t)),this.updateIdxById(e),this.refresh()}addItem(e){this.items.push(e),this.updateIdxById(this.items.length-1),this.refresh()}addItems(e){this.items=this.items.concat(e),this.updateIdxById(this.items.length-e.length),this.refresh()}deleteItem(e){if(this.idxById)if(this.isBulkSuspend)this.bulkDeleteIds.set(e,!0);else{const t=this.idxById.get(e);if(t===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(e),this.items.splice(t,1),this.updateIdxById(t),this.refresh()}}deleteItems(e){if(!(e.length===0||!this.idxById))if(this.isBulkSuspend)for(let t=0,i=e.length;t<i;t++){const s=e[t];if(this.idxById.get(s)===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.bulkDeleteIds.set(s,!0)}else{const t=[];for(let i=0,s=e.length;i<s;i++){const n=e[i],o=this.idxById.get(n);if(o===void 0)throw new Error("[SlickGrid DataView] Invalid id");this.idxById.delete(n),t.push(o)}t.sort();for(let i=t.length-1;i>=0;--i)this.items.splice(t[i],1);this.updateIdxById(t[0]),this.refresh()}}sortedAddItem(e){if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedAddItem() requires a sort comparer, use sort()");this.insertItem(this.sortedIndex(e),e)}sortedUpdateItem(e,t){if(!this.idxById)return;if(!this.idxById.has(e)||e!==t[this.idProperty])throw new Error(`[SlickGrid DataView] Invalid or non-matching id ${e}`);if(!this.sortComparer)throw new Error("[SlickGrid DataView] sortedUpdateItem() requires a sort comparer, use sort()");const i=this.getItemById(e);this.sortComparer(i,t)!==0?(this.deleteItem(e),this.sortedAddItem(t)):this.updateItem(e,t)}sortedIndex(e){let t=0,i=this.items.length;for(;t<i;){const s=t+i>>>1;this.sortComparer(this.items[s],e)===-1?t=s+1:i=s}return t}getItemCount(){return this.items.length}getLength(){return this.rows.length}getItem(e){var i;const t=this.rows[e];if(t!=null&&t.__group&&t.totals&&!((i=t.totals)!=null&&i.initialized)){const s=this.groupingInfos[t.level];s.displayTotalsRow||(this.calculateTotals(t.totals),t.title=s.formatter?s.formatter(t):t.value)}else t!=null&&t.__groupTotals&&!t.initialized&&this.calculateTotals(t);return t}getItemMetadata(e){var i,s,n;const t=this.rows[e];return t===void 0?null:(i=this._options.globalItemMetadataProvider)!=null&&i.getRowMetadata?this._options.globalItemMetadataProvider.getRowMetadata(t,e):t.__group&&((s=this._options.groupItemMetadataProvider)!=null&&s.getGroupRowMetadata)?this._options.groupItemMetadataProvider.getGroupRowMetadata(t,e):t.__groupTotals&&((n=this._options.groupItemMetadataProvider)!=null&&n.getTotalsRowMetadata)?this._options.groupItemMetadataProvider.getTotalsRowMetadata(t,e):null}expandCollapseAllGroups(e,t){if(q(e))this.toggledGroupsByLevel[e]={},this.groupingInfos[e].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:e,groupingKey:null}):this.onGroupExpanded.notify({level:e,groupingKey:null});else for(let i=0;i<this.groupingInfos.length;i++)this.toggledGroupsByLevel[i]={},this.groupingInfos[i].collapsed=t,t===!0?this.onGroupCollapsed.notify({level:i,groupingKey:null}):this.onGroupExpanded.notify({level:i,groupingKey:null});this.refresh()}collapseAllGroups(e){this.expandCollapseAllGroups(e,!0)}expandAllGroups(e){this.expandCollapseAllGroups(e,!1)}expandCollapseGroup(e,t,i){this.toggledGroupsByLevel[e]&&(this.toggledGroupsByLevel[e][t]=this.groupingInfos[e].collapsed^i),this.refresh()}collapseGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(s=i,n=i.split(this.groupingDelimiter).length-1):(s=e.join(this.groupingDelimiter),n=e.length-1),this.expandCollapseGroup(n,s,!0),this.onGroupCollapsed.notify({level:n,groupingKey:s})}expandGroup(...e){const i=Array.prototype.slice.call(e)[0];let s,n;e.length===1&&i.indexOf(this.groupingDelimiter)!==-1?(n=i.split(this.groupingDelimiter).length-1,s=i):(n=e.length-1,s=e.join(this.groupingDelimiter)),this.expandCollapseGroup(n,s,!1),this.onGroupExpanded.notify({level:n,groupingKey:s})}getGroups(){return this.groups}extractGroups(e,t){var d,c;let i,s;const n=[],o={};let l;const a=t?t.level+1:0,h=this.groupingInfos[a];for(let u=0,p=((d=h.predefinedValues)==null?void 0:d.length)??0;u<p;u++)s=(c=h.predefinedValues)==null?void 0:c[u],i=o[s],i||(i=new vs,i.value=s,i.level=a,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,o[s]=i);for(let u=0,p=e.length;u<p;u++)l=e[u],s=h.getterIsAFn?h.getter(l):l[h.getter],i=o[s],i||(i=new vs,i.value=s,i.level=a,i.groupingKey=(t?t.groupingKey+this.groupingDelimiter:"")+s,n[n.length]=i,o[s]=i),i.rows[i.count++]=l;if(a<this.groupingInfos.length-1)for(let u=0;u<n.length;u++)i=n[u],i.groups=this.extractGroups(i.rows,i);return n.length&&this.addTotals(n,a),n.sort(this.groupingInfos[a].comparer),n}calculateTotals(e){var l;const t=e.group,i=this.groupingInfos[(t==null?void 0:t.level)??0],s=t.level===this.groupingInfos.length;let n,o=i.aggregators.length;if(!s&&i.aggregateChildGroups){let a=((l=t.groups)==null?void 0:l.length)??0;for(;a--;)t.groups[a].totals.initialized||this.calculateTotals(t.groups[a].totals)}for(;o--;)n=i.aggregators[o],n.init(),!s&&i.aggregateChildGroups?i.compiledAccumulators[o].call(n,t.groups):i.compiledAccumulators[o].call(n,t.rows),n.storeResult(e);e.initialized=!0}addGroupTotals(e){const t=this.groupingInfos[e.level],i=new Zh;i.group=e,e.totals=i,t.lazyTotalsCalculation||this.calculateTotals(i)}addTotals(e,t){var a,h;t=t||0;const i=this.groupingInfos[t],s=i.collapsed,n=this.toggledGroupsByLevel[t];let o=e.length,l;for(;o--;)l=e[o],!(l.collapsed&&!i.aggregateCollapsed)&&(l.groups&&this.addTotals(l.groups,t+1),(a=i.aggregators)!=null&&a.length&&(i.aggregateEmpty||l.rows.length||(h=l.groups)!=null&&h.length)&&this.addGroupTotals(l),l.collapsed=s^n[l.groupingKey],l.title=i.formatter?i.formatter(l):l.value)}flattenGroupedRows(e,t){t=t||0;const i=this.groupingInfos[t],s=[];let n,o=0,l;for(let a=0,h=e.length;a<h;a++){if(l=e[a],s[o++]=l,!l.collapsed){n=l.groups?this.flattenGroupedRows(l.groups,t+1):l.rows;for(let d=0,c=n.length;d<c;d++)s[o++]=n[d]}l.totals&&i.displayTotalsRow&&(!l.collapsed||i.aggregateCollapsed)&&(s[o++]=l.totals)}return s}compileAccumulatorLoopCSPSafe(e){return e.accumulate?function(t){let i;if(Array.isArray(t))for(let s=0;s<t.length;s++){const n=t[s];i=e.accumulate.call(e,n)}return i}:function(){}}compileFilterCSPSafe(e,t){if(typeof this.filterCSPSafe!="function")return[];const i=[],s=e.length;for(let n=0;n<s;n++)this.filterCSPSafe(e[n],t)&&i.push(e[n]);return i}compileFilter(e=!1){if(e)return null;const t=wn(this.filter),i="{ continue _coreloop; }$1",s="{ _retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ($1) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","$filter$; ","} ","return _retval; "].join("");o=o.replace(/\$filter\$/gi,n),o=o.replace(/\$item\$/gi,t.params[0]),o=o.replace(/\$args\$/gi,t.params[1]);const l=new Function("_items,_args",o),a="compiledFilter";return l.displayName=a,l.name=this.setFunctionName(l,a),l}compileFilterWithCaching(e=!1){if(e)return null;const t=wn(this.filter),i="{ continue _coreloop; }$1",s="{ _cache[_i] = true;_retval[_idx++] = $item$; continue _coreloop; }$1",n=t.body.replace(/return false\s*([;}]|\}|$)/gi,i).replace(/return!1([;}]|\}|$)/gi,i).replace(/return true\s*([;}]|\}|$)/gi,s).replace(/return!0([;}]|\}|$)/gi,s).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ((_cache[_i] = $1)) { _retval[_idx++] = $item$; }; continue _coreloop; }$2");let o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","if (_cache[_i]) { ","_retval[_idx++] = $item$; ","continue _coreloop; ","} ","$filter$; ","} ","return _retval; "].join("");o=o.replace(/\$filter\$/gi,n),o=o.replace(/\$item\$/gi,t.params[0]),o=o.replace(/\$args\$/gi,t.params[1]);const l=new Function("_items,_args,_cache",o),a="compiledFilterWithCaching";return l.displayName=a,l.name=this.setFunctionName(l,a),l}compileFilterWithCachingCSPSafe(e,t,i){if(typeof this.filterCSPSafe!="function")return[];const s=[],n=e.length;for(let o=0;o<n;o++)(i[o]||this.filterCSPSafe(e[o],t))&&s.push(e[o]);return s}setFunctionName(e,t){try{Object.defineProperty(e,"name",{writable:!0,value:t})}catch{e.name=t}}uncompiledFilter(e,t){var n;const i=[];let s=0;for(let o=0,l=e.length;o<l;o++)(n=this.filter)!=null&&n.call(this,e[o],t)&&(i[s++]=e[o]);return i}uncompiledFilterWithCaching(e,t,i){var l;const s=[];let n=0,o;for(let a=0,h=e.length;a<h;a++)o=e[a],i[a]?s[n++]=o:(l=this.filter)!=null&&l.call(this,o,t)&&(s[n++]=o,i[a]=!0);return s}getFilteredAndPagedItems(e){if(this._options.useCSPSafeFilter?this.filterCSPSafe:this.filter){let i,s;this._options.useCSPSafeFilter?(i=this._options.inlineFilters?this.compiledFilterCSPSafe:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCachingCSPSafe:this.uncompiledFilterWithCaching):(i=this._options.inlineFilters?this.compiledFilter:this.uncompiledFilter,s=this._options.inlineFilters?this.compiledFilterWithCaching:this.uncompiledFilterWithCaching),this.refreshHints.isFilterNarrowing?this.filteredItems=i.call(this,this.filteredItems,this.filterArgs):this.refreshHints.isFilterExpanding?this.filteredItems=s.call(this,e,this.filterArgs,this.filterCache):this.refreshHints.isFilterUnchanged||(this.filteredItems=i.call(this,e,this.filterArgs))}else this.filteredItems=this.pagesize?e:e.concat();let t;return this.pagesize?(this.filteredItems.length<=this.pagenum*this.pagesize&&(this.filteredItems.length===0?this.pagenum=0:this.pagenum=Math.floor((this.filteredItems.length-1)/this.pagesize)),t=this.filteredItems.slice(this.pagesize*this.pagenum,this.pagesize*this.pagenum+this.pagesize)):t=this.filteredItems,{totalRows:this.filteredItems.length,rows:t}}getRowDiffs(e,t){var h,d,c;let i,s,n;const o=[];let l=0,a=Math.max(t.length,e.length);(h=this.refreshHints)!=null&&h.ignoreDiffsBefore&&(l=Math.max(0,Math.min(t.length,this.refreshHints.ignoreDiffsBefore))),(d=this.refreshHints)!=null&&d.ignoreDiffsAfter&&(a=Math.min(t.length,Math.max(0,this.refreshHints.ignoreDiffsAfter)));for(let u=l,p=e.length;u<a;u++)u>=p?o[o.length]=u:(i=t[u],s=e[u],(!i||this.groupingInfos.length&&(n=i.__nonDataRow||s.__nonDataRow)&&i.__group!==s.__group||i.__group&&!i.equals(s)||n&&(i.__groupTotals||s.__groupTotals)||i[this.idProperty]!==s[this.idProperty]||(c=this.updated)!=null&&c[i[this.idProperty]])&&(o[o.length]=u));return o}recalc(e){this.rowsById=void 0,(this.refreshHints.isFilterNarrowing!==this.prevRefreshHints.isFilterNarrowing||this.refreshHints.isFilterExpanding!==this.prevRefreshHints.isFilterExpanding)&&(this.filterCache=[]);const t=this.getFilteredAndPagedItems(e);this.totalRows=t.totalRows;let i=t.rows;this.groups=[],this.groupingInfos.length&&(this.groups=this.extractGroups(i),this.groups.length&&(i=this.flattenGroupedRows(this.groups)));const s=this.getRowDiffs(this.rows,i);return this.rows=i,s}refresh(){if(this.suspend)return;const e=de(!0,{},this.getPagingInfo()),t=this.rows.length,i=this.totalRows;let s=this.recalc(this.items);this.pagesize&&this.totalRows<this.pagenum*this.pagesize&&(this.pagenum=Math.max(0,Math.ceil(this.totalRows/this.pagesize)-1),s=this.recalc(this.items)),this.updated=null,this.prevRefreshHints=this.refreshHints,this.refreshHints={},i!==this.totalRows&&this.onBeforePagingInfoChanged.notify(e,null,this).getReturnValue()!==!1&&this.onPagingInfoChanged.notify(this.getPagingInfo(),null,this),t!==this.rows.length&&this.onRowCountChanged.notify({previous:t,current:this.rows.length,itemCount:this.items.length,dataView:this,changedRows:s,callingOnRowsChanged:s.length>0},null,this),s.length>0&&this.onRowsChanged.notify({rows:s,itemCount:this.items.length,dataView:this,calledOnRowCountChanged:t!==this.rows.length},null,this),(t!==this.rows.length||s.length>0)&&this.onRowsOrCountChanged.notify({rowsDiff:s,previousRowCount:t,currentRowCount:this.rows.length,itemCount:this.items.length,rowCountChanged:t!==this.rows.length,rowsChanged:s.length>0,dataView:this},null,this)}syncGridSelection(e,t,i){this._grid=e;let s;this.selectedRowIds=this.mapRowsToIds(e.getSelectedRows());const n=e.getOptions(),o=a=>{a===!1?this.selectedRowIds=[]:this.selectedRowIds.sort().join(",")!==a.sort().join(",")&&(this.selectedRowIds=a)},l=()=>{if((this.selectedRowIds||[]).length>0&&!s){s=!0;const a=this.mapIdsToRows(this.selectedRowIds||[]);if(!t){const h={grid:this._grid,ids:this.mapRowsToIds(a),rows:a,dataView:this};this.preSelectedRowIdsChangeFn(h),this.onSelectedRowIdsChanged.notify(Object.assign(h,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new le,this)}e.setSelectedRows(a),s=!1}};return e.onSelectedRowsChanged.subscribe((a,h)=>{if(!s){const d=this.mapRowsToIds(h.rows),c={grid:this._grid,ids:d,rows:h.rows,added:!0,dataView:this};this.preSelectedRowIdsChangeFn(c),this.onSelectedRowIdsChanged.notify(Object.assign(c,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new le,this)}}),this.preSelectedRowIdsChangeFn=a=>{var h,d;if(!s){if(s=!0,typeof a.added>"u")o(a.ids);else{let u;if(a.added)i&&n.multiSelect?u=((h=this.selectedRowIds)==null?void 0:h.filter(m=>this.getRowById(m)===void 0)).concat(a.ids):u=a.ids;else if(i&&n.multiSelect){const p=new Set(a.ids);u=(d=this.selectedRowIds)==null?void 0:d.filter(m=>!p.has(m))}else u=[];o(u)}s=!1}},this.onRowsOrCountChanged.subscribe(l.bind(this)),this.onSelectedRowIdsChanged}getAllSelectedIds(){return this.selectedRowIds}getAllSelectedFilteredIds(){return this.getAllSelectedFilteredItems().map(e=>e[this.idProperty])}setSelectedIds(e,t){var a;let i=t==null?void 0:t.isRowBeingAdded;const s=t==null?void 0:t.shouldTriggerEvent,n=t==null?void 0:t.applyRowSelectionToGrid;i!==!1&&(i=!0);const o=this.mapIdsToRows(e),l={grid:this._grid,ids:e,rows:o,added:i,dataView:this};(a=this.preSelectedRowIdsChangeFn)==null||a.call(this,l),s!==!1&&this.onSelectedRowIdsChanged.notify(Object.assign(l,{selectedRowIds:this.selectedRowIds,filteredIds:this.getAllSelectedFilteredIds()}),new le,this),n!==!1&&this._grid&&this._grid.setSelectedRows(o)}getAllSelectedItems(){const e=[];return this.getAllSelectedIds().forEach(i=>{e.push(this.getItemById(i))}),e}getAllSelectedFilteredItems(){if(!Array.isArray(this.selectedRowIds))return[];const e=new Set(this.selectedRowIds);return this.filteredItems.filter(i=>e.has(i[this.idProperty]))||[]}syncGridCellCssStyles(e,t){let i,s;const n=l=>{i={},typeof l=="object"&&Object.keys(l).forEach(a=>{if(l&&this.rows[a]){const h=this.rows[a][this.idProperty];i[h]=l[a]}})};n(e.getCellCssStyles(t));const o=()=>{if(typeof i=="object"){s=!0,this.ensureRowsByIdCache();const l={};Object.keys(i).forEach(a=>{var d;const h=(d=this.rowsById)==null?void 0:d[a];q(h)&&(l[h]=i[a])}),e.setCellCssStyles(t,l),s=!1}};e.onCellCssStylesChanged.subscribe((l,a)=>{s||t!==a.key||(a.hash?n(a.hash):(e.onCellCssStylesChanged.unsubscribe(),this.onRowsOrCountChanged.unsubscribe(o)))}),this.onRowsOrCountChanged.subscribe(o.bind(this))}}/**!
3
3
  * Sortable 1.15.6
4
4
  * @author RubaXa <trash@rubaxa.org>
@@ -8,7 +8,7 @@
8
8
  `,this._addonOptions.replaceNewlinesWith||`
9
9
  `).replaceAll("\r","").replaceAll('"',this._addonOptions.removeDoubleQuotesOnPaste?"":'"')]:l[o++]=S.split(" ");const a=this._grid.getActiveCell(),h=(b=this._grid.getSelectionModel())==null?void 0:b.getSelectedRanges(),d=h!=null&&h.length?h[0]:null;let c,u;if(d)c=d.fromRow,u=d.fromCell;else if(a)c=a.row,u=a.cell;else return;let p=!1,m=l.length,f=l.length?l[0].length:0;l.length===1&&l[0].length===1&&d&&(p=!0,m=d.toRow-d.fromRow+1,f=d.toCell-d.fromCell+1);const g=this._dataWrapper.getDataLength()-c;if(g<m&&typeof this._addonOptions.newRowCreator=="function"){const S=m-g,E=this._dataWrapper.getDataLength();this._addonOptions.newRowCreator(S);const y=this._dataWrapper.getDataLength();y!==E+S&&console.warn(`[Slickgrid-Universal] The "newRowCreator" did not add the correct amount of rows, it should add "${S}" rows but it added "${y-E}" rows`),this._grid.render()}if(c+m>this._dataWrapper.getDataLength()&&typeof this._addonOptions.newRowCreator=="function"){const S=c+m-this._dataWrapper.getDataLength();this._addonOptions.newRowCreator(S)}const C={isClipboardCommand:!0,clippedRange:l,oldValues:[],cellExternalCopyManager:this,_options:this._addonOptions,setDataItemValueForColumn:this.setDataItemValueForColumn,markCopySelection:this.markCopySelection,oneCellToMultiple:p,activeRow:c,activeCell:u,destH:m,destW:f,maxDestY:this._dataWrapper.getDataLength(),maxDestX:this._grid.getColumns().length,h:0,w:0,execute:()=>{var E;C.h=0;for(let y=0;y<C.destH;y++){C.oldValues[y]=[],C.w=0,C.h++;let x=0;for(let O=0;O<C.destW;O++){const I=c+y,A=u+O,D=i[A];if(D.hidden){C.destW++,x++;continue}if(C.w++,I<C.maxDestY&&A<C.maxDestX){const L=this._dataWrapper.getDataItem(I);if(this._grid.triggerEvent(this.onBeforePasteCell,{row:I,cell:A,dt:L,column:D,target:"grid"}).getReturnValue()===!1)continue;C.oldValues[y][O-x]=L[D.field],p?this.setDataItemValueForColumn(L,D,l[0][0]):this.setDataItemValueForColumn(L,D,l[y]?l[y][O-x]:""),this._grid.updateCell(I,A),this._grid.onCellChange.notify({row:I,cell:A,item:L,grid:this._grid,column:{}})}}}const S=new tt(c,u,c+C.h-1,u+C.w-1);this.markCopySelection([S]),(E=this._grid.getSelectionModel())==null||E.setSelectedRanges([S]),this.onPasteCells.notify({ranges:[S]})},undo:()=>{var E;for(let y=0;y<C.destH;y++)for(let x=0;x<C.destW;x++){const O=c+y,I=u+x;if(O<C.maxDestY&&I<C.maxDestX){const A=this._dataWrapper.getDataItem(O);p?this.setDataItemValueForColumn(A,i[I],C.oldValues[0][0]):this.setDataItemValueForColumn(A,i[I],C.oldValues[y][x]),this._grid.updateCell(O,I),this._grid.onCellChange.notify({row:O,cell:I,item:A,grid:this._grid,column:{}})}}const S=new tt(c,u,c+C.h-1,u+C.w-1);this.markCopySelection([S]),(E=this._grid.getSelectionModel())==null||E.setSelectedRanges([S]),this.onPasteCells.notify({ranges:[S]}),typeof this._addonOptions.onPasteCells=="function"&&this._addonOptions.onPasteCells(new le,{ranges:[S]})}};this._addonOptions.clipboardCommandHandler?this._addonOptions.clipboardCommandHandler(C):C.execute()}handleKeyDown(e){var i,s,n;let t;if(!this._grid.getEditorLock().isActive()||this._grid.getOptions().autoEdit){if(e.key==="Escape"&&this._copiedRanges&&(e.preventDefault(),this.clearCopySelection(),this.onCopyCancelled.notify({ranges:this._copiedRanges}),typeof this._addonOptions.onCopyCancelled=="function"&&this._addonOptions.onCopyCancelled(e,{ranges:this._copiedRanges}),this._copiedRanges=null),(e.key==="c"||e.key==="Insert")&&(e.ctrlKey||e.metaKey)&&!e.shiftKey&&(typeof this._onCopyInit=="function"&&this._onCopyInit.call(this),t=((i=this._grid.getSelectionModel())==null?void 0:i.getSelectedRanges())??[],t.length!==0)){this._copiedRanges=t,this.markCopySelection(t),this.onCopyCells.notify({ranges:t}),typeof this._addonOptions.onCopyCells=="function"&&this._addonOptions.onCopyCells(e,{ranges:t});const o=this._grid.getColumns();let l="";for(let a=0;a<t.length;a++){const h=t[a],d=[];for(let c=h.fromRow;c<h.toRow+1;c++){const u=[],p=this._dataWrapper.getDataItem(c);if(d.length===0&&this._addonOptions.includeHeaderWhenCopying){const m=[];for(let f=h.fromCell;f<h.toCell+1;f++)o[f]&&(o[f].name instanceof HTMLElement?we(o[f].name.innerHTML):o[f].name).length>0&&!o[f].hidden&&m.push(this.getHeaderValueForColumn(o[f]));d.push(m.join(" "))}for(let m=h.fromCell;m<h.toCell+1;m++)o[m]&&(o[m].name instanceof HTMLElement?we(o[m].name.innerHTML):o[m].name).length>0&&!o[m].hidden&&u.push(this.getDataItemValueForColumn(p,o[m],c,m,e));d.push(u.join(" "))}l+=d.join(`\r
10
10
  `)+`\r
11
- `}if(window.clipboardData)return window.clipboardData.setData("Text",l),!0;{const a=document.activeElement,h=this.createTextBox(l);if(h.focus(),window.setTimeout(()=>{this._bodyElement.removeChild(h),a?a.focus():console.log("No element to restore focus to after copy?")},((s=this.addonOptions)==null?void 0:s.clipboardPasteDelay)??Ql),typeof this._onCopySuccess=="function"){const d=t.length===1?t[0].toRow+1-t[0].fromRow:t.length;this._onCopySuccess(d)}return!1}}if(!this._addonOptions.readOnlyMode&&(e.key==="v"&&(e.ctrlKey||e.metaKey)&&!e.shiftKey||e.key==="Insert"&&e.shiftKey&&!e.ctrlKey)){const o=this.createTextBox("");return window.setTimeout(()=>this.decodeTabularData(this._grid,o),((n=this.addonOptions)==null?void 0:n.clipboardPasteDelay)??Ql),!1}}}markCopySelection(e){var s;this.clearCopySelection();const t=this._grid.getColumns(),i={};for(const n of e)for(let o=n.fromRow;o<=n.toRow;o++){i[o]={};for(let l=n.fromCell;l<=n.toCell&&l<t.length;l++)i[o][t[l].id]=this._copiedCellStyle}this._grid.setCellCssStyles(this._copiedCellStyleLayerKey,i),window.clearTimeout(this._clearCopyTI),this._clearCopyTI=window.setTimeout(()=>this.clearCopySelection(),((s=this.addonOptions)==null?void 0:s.clearCopySelectionDelay)||$c)}}class zs{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._addonOptions={},this._camelPluginName="",this._gridUid="",this._menuCssPrefix="",this._menuPluginCssPrefix="",this._bindEventService=new Pe,this._eventHandler=new pe}get addonOptions(){return this._addonOptions}set addonOptions(e){this._addonOptions=e}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var e;return this._gridUid||(((e=this.grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get menuCssClass(){return this._menuPluginCssPrefix||this._menuCssPrefix}get menuElement(){return this._menuElm||document.querySelector(`.${this.menuCssClass}${this.gridUidSelector}`)}dispose(){var e,t,i,s,n;(e=this._eventHandler)==null||e.unsubscribeAll(),this._bindEventService.unbindAll(),this.pubSubService.unsubscribeAll(),(t=this._commandTitleElm)==null||t.remove(),(i=this._optionTitleElm)==null||i.remove(),this.disposeAllMenus(),ee(this._menuElm),(s=this.menuElement)==null||s.remove(),(n=this._menuElm)==null||n.remove()}disposeAllMenus(){this.disposeSubMenus(),this._bindEventService.unbindAll("parent-menu"),document.querySelectorAll(`.${this.menuCssClass}${this.gridUidSelector}`).forEach(e=>e.remove())}disposeSubMenus(){this._bindEventService.unbindAll("sub-menu"),document.querySelectorAll(`.${this.menuCssClass}.slick-submenu${this.gridUidSelector}`).forEach(e=>e.remove())}setOptions(e){this._addonOptions={...this._addonOptions,...e}}addSubMenuTitleWhenExists(e,t){if(e!=="divider"&&(e!=null&&e.subMenuTitle)){const i=document.createElement("div");i.className="slick-menu-title",i.textContent=e.subMenuTitle;const s=e.subMenuTitleCssClass;s&&i.classList.add(...he(s)),t.appendChild(i)}}populateCommandOrOptionItems(e,t,i,s,n,o,l){if(n&&s&&t)for(const a of s)this.populateSingleCommandOrOptionItem(e,t,i,a,n,o,l)}populateCommandOrOptionTitle(e,t,i,s){var n;if(t){const o=s>0,l=((n=this._menuElm)==null?void 0:n.querySelector(`.slick-${e}-header`))??v("div",{className:`slick-${e}-header`}),a=`${e}Title`;o||(t!=null&&t[a]?(ee(l),this[`_${e}TitleElm`]=v("span",{className:"slick-menu-title",textContent:t[a]}),l.appendChild(this[`_${e}TitleElm`]),l.classList.add("with-title")):l.classList.add("no-title"),i.appendChild(l))}}populateSingleCommandOrOptionItem(e,t,i,s,n,o,l){var h;let a=null;if(n&&s&&t){const d=(n==null?void 0:n.level)||0,c=this._camelPluginName==="headerButtons"?"":"-item",u=`${this._menuCssPrefix}${c}`;let p=!0,m=!0;if(typeof s=="object"&&(p=this.extensionUtility.runOverrideFunctionWhenExists(s.itemVisibilityOverride,n),m=this.extensionUtility.runOverrideFunctionWhenExists(s.itemUsabilityOverride,n)),!p)return null;if(typeof s=="object"&&s.itemUsabilityOverride&&(s.disabled=!m),a=v("li",{className:u,role:"menuitem"}),typeof s=="object"&&q(s[e])&&(a.dataset[e]=s==null?void 0:s[e]),i&&i.appendChild(a),typeof s=="object"&&s.divider||s==="divider")return a.classList.add(`${u}-divider`),a;if(s.disabled&&a.classList.add(`${u}-disabled`),(s.hidden||s.showOnHover)&&a.classList.add(`${u}-hidden`),s.cssClass&&a.classList.add(...he(s.cssClass)),s.tooltip&&(a.title=s.tooltip),this._camelPluginName!=="headerButtons"){const g=v("div",{className:`${this._menuCssPrefix}-icon`});a.appendChild(g),s.iconCssClass?g.classList.add(...he(s.iconCssClass)):!s.commandItems&&!s.optionItems&&(g.textContent="◦");const _=v("span",{className:`${this._menuCssPrefix}-content`,textContent:typeof s=="object"&&s.title||""},a);s.textCssClass&&_.classList.add(...he(s.textCssClass))}const f=d>0?"sub-menu":"parent-menu";if(this._bindEventService.bind(a,"click",g=>o.call(this,g,e,s,d,n==null?void 0:n.column),void 0,f),((h=this._addonOptions)==null?void 0:h.subMenuOpenByEvent)==="mouseover"&&typeof l=="function"&&this._bindEventService.bind(a,"mouseover",g=>l.call(this,g,e,s,d,n==null?void 0:n.column),void 0,f),s.commandItems||s.optionItems){const g=document.createElement("span");g.className="sub-item-chevron",this._addonOptions.subItemChevronClass?g.classList.add(...he(this._addonOptions.subItemChevronClass)):g.textContent="⮞",a.classList.add("slick-submenu-item"),a.appendChild(g)}}return a}}class Zl extends zs{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._currentCell=-1,this._currentRow=-1,this._lastMenuTypeClicked="",this._subMenuParentId=""}createParentMenu(e){var i,s,n,o,l;(i=this.menuElement)==null||i.remove(),this._menuElm=void 0;const t=this.grid.getCellFromEvent(e);if(t){this._currentCell=t.cell??0,this._currentRow=t.row??0;const a=((s=this._addonOptions)==null?void 0:s.commandItems)||[],h=((n=this._addonOptions)==null?void 0:n.optionItems)||[],d={cell:this._currentCell,row:this._currentRow,grid:this.grid};if(this.closeMenu(e,d),typeof e.stopPropagation=="function"&&(this.pubSubService.publish(`on${ti(this._camelPluginName)}BeforeMenuShow`,d),typeof((o=this.addonOptions)==null?void 0:o.onBeforeMenuShow)=="function"&&this.addonOptions.onBeforeMenuShow(e,d)===!1)||(this._menuElm=this.createMenu(a,h),this._menuElm&&(this._menuElm.style.top=`${(e.pageY||0)+5}px`,this._menuElm.style.left=`${e.pageX}px`,this._menuElm.style.display="block",document.body.appendChild(this._menuElm)),this.pubSubService.publish(`on${ti(this._camelPluginName)}AfterMenuShow`,d),typeof((l=this.addonOptions)==null?void 0:l.onAfterMenuShow)=="function"&&this.addonOptions.onAfterMenuShow(e,d)===!1))return}return this._menuElm}createMenu(e,t,i=0,s){var _,C,b,S,E;const n=this.grid.getColumns()[this._currentCell],o=this.grid.getDataItem(this._currentRow),l=(s==null?void 0:s.command)||(s==null?void 0:s.option);let a=i===1&&l?String(l).replace(/\s/g,""):"";a&&(this._subMenuParentId=a),i>1&&(a=this._subMenuParentId);let h=!0,d=!0;if(this._camelPluginName==="contextMenu"){if(h=this.checkIsColumnAllowed(((_=this._addonOptions)==null?void 0:_.optionShownOverColumnIds)??[],n.id),d=this.checkIsColumnAllowed(((C=this._addonOptions)==null?void 0:C.commandShownOverColumnIds)??[],n.id),!n||(!d||!e.length)&&(!h||!t.length)){this.hideMenu();return}}else if(!n||!n.cellMenu||!e.length&&!t.length)return;const c=`${this.menuCssClass} slick-menu-level-${i} ${this.gridUid}`,u=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${i}${this.gridUidSelector}`);if(u){if(u.dataset.subMenuParent===a)return u;this.disposeSubMenus()}const p=document.createElement("div");p.className=c,i>0&&(p.classList.add("slick-submenu"),(b=this.gridOptions)!=null&&b.darkMode&&p.classList.add("slick-dark-mode"),a&&(p.dataset.subMenuParent=a));const m=isNaN(this.addonOptions.maxHeight)?this.addonOptions.maxHeight:`${this.addonOptions.maxHeight??0}px`,f=isNaN(this.addonOptions.maxWidth)?this.addonOptions.maxWidth:`${this.addonOptions.maxWidth??0}px`;m&&(p.style.maxHeight=m),f&&(p.style.maxWidth=f),(S=this.addonOptions)!=null&&S.width&&(p.style.width=Pt((E=this.addonOptions)==null?void 0:E.width));const g=v("button",{ariaLabel:"Close",className:"close",type:"button",textContent:"×",dataset:{dismiss:this._menuCssPrefix}});if(!this.addonOptions.hideOptionSection&&h&&t.length>0){const y=v("div",{className:`${this._menuCssPrefix}-option-list`,role:"menu"},p);this.populateCommandOrOptionTitle("option",this.addonOptions,y,i),!this.addonOptions.hideCloseButton&&i<1&&this.populateCommandOrOptionCloseBtn("option",g,y),s&&i>0&&this.addSubMenuTitleWhenExists(s,y),this.populateCommandOrOptionItems("option",this.addonOptions,y,t,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:o,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}if(!this.addonOptions.hideCommandSection&&d&&e.length>0){const y=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},p);this.populateCommandOrOptionTitle("command",this.addonOptions,y,i),!this.addonOptions.hideCloseButton&&i<1&&(!h||t.length===0||this.addonOptions.hideOptionSection)&&this.populateCommandOrOptionCloseBtn("command",g,y),s&&i>0&&this.addSubMenuTitleWhenExists(s,y),this.populateCommandOrOptionItems("command",this.addonOptions,y,e,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:o,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}return i++,p}closeMenu(e,t){var i;if(this.menuElement){if(typeof((i=this.addonOptions)==null?void 0:i.onBeforeMenuClose)=="function"&&this.addonOptions.onBeforeMenuClose(e,t)===!1)return;this.hideMenu()}}hideMenu(){var e;(e=this.menuElement)==null||e.remove(),this._menuElm=null,this.disposeSubMenus()}checkIsColumnAllowed(e,t){return(e==null?void 0:e.length)>0?e.findIndex(i=>i===t)>=0:!0}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.closeMenu(e,{cell:this._currentCell,row:this._currentRow,grid:this.grid})}}handleCloseButtonClicked(e){e.defaultPrevented||this.closeMenu(e,{cell:0,row:0,grid:this.grid})}handleMenuItemMouseOver(e,t,i,s=0){(i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems||i.optionItems?(this.repositionSubMenu(i,t,s,e),this._lastMenuTypeClicked=t):s===0&&this.disposeSubMenus())}handleMenuItemCommandClick(e,t,i,s=0){var n;if((i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&this._currentCell!==void 0&&this._currentRow!==void 0){if(t==="option"&&!this.grid.getEditorLock().commitCurrentEdit())return;const o=this._currentCell,l=this._currentRow,a=this.grid.getColumns()[this._currentCell],h=this.grid.getDataItem(this._currentRow),d=i[t]!==void 0?i[t]:"";if(d!==void 0&&!i[`${t}Items`]){const c={cell:this._currentCell,row:this._currentRow,grid:this.grid,[t]:d,item:i,column:a,dataContext:h},u=t==="command"?"onCommand":"onOptionSelected",p=`${this._camelPluginName}:${u}`;this.pubSubService.publish(p,c),typeof((n=this._addonOptions)==null?void 0:n[u])=="function"&&this._addonOptions[u](e,c),typeof i.action=="function"&&i.action.call(this,e,c),e.defaultPrevented||this.closeMenu(e,{cell:o,row:l,grid:this.grid})}else(i.commandItems||i.optionItems)&&this.repositionSubMenu(i,t,s,e);this._lastMenuTypeClicked=t}}populateCommandOrOptionCloseBtn(e,t,i){this._bindEventService.bind(t,"click",n=>this.handleCloseButtonClicked(n),void 0,"parent-menu");const s=i.querySelector(`.slick-${e}-header`)??v("div",{className:`slick-${e}-header`});s==null||s.appendChild(t),i.appendChild(s),s.classList.add("with-close")}repositionSubMenu(e,t,i,s){(s.target.classList.contains("slick-cell")||this._lastMenuTypeClicked!==t)&&this.disposeSubMenus();const n=this.createMenu((e==null?void 0:e.commandItems)||[],(e==null?void 0:e.optionItems)||[],i+1,e);n&&(n.style.display="block",document.body.appendChild(n),this.repositionMenu(s,n))}repositionMenu(e,t){var n;const i=t==null?void 0:t.classList.contains("slick-submenu"),s=i?e.target.closest(`.${this._menuCssPrefix}-item`):e.target.closest(".slick-cell");if(t&&s){t.style.top="0px",t.style.left="0px";const o=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,l=ge(s);let a=s&&this._camelPluginName==="cellMenu"?l.left:o.pageX,h=s&&this._camelPluginName==="cellMenu"?l.top:o.pageY;i&&this._camelPluginName==="contextMenu"&&(a=l.left,h=l.top);const d=s.offsetWidth||0,c=(t==null?void 0:t.offsetHeight)||0,u=(t==null?void 0:t.offsetWidth)||this._addonOptions.width||0,p=this.gridOptions.rowHeight||0,m=Number(this._addonOptions.autoAdjustDropOffset||0),f=Number(this._addonOptions.autoAlignSideOffset||0);if(this._addonOptions.autoAdjustDrop||this._addonOptions.dropDirection){const{bottom:g,top:_}=Vi(s),C=g+m-p,b=_-m+p;(C<c&&b>C?"top":"bottom")==="top"||this._addonOptions.dropDirection==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),i?h-=c-m-s.clientHeight:h-=c-m):(t.classList.remove("dropup"),t.classList.add("dropdown"),h=h+m,this._camelPluginName==="cellMenu"&&(i?h+=m:h+=p+m))}if(this._addonOptions.autoAlignSide||this._addonOptions.dropSide==="left"){const g=this.grid.getGridPosition();let _=a+Number(u);i&&(_+=s.clientWidth);const C=document.documentElement.clientWidth;(_>=g.width||_>=C?"left":"right")==="left"||!i&&this._addonOptions.dropSide==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),this._camelPluginName==="cellMenu"&&!i?a-=Number(u)-d-f:a-=Number(u)-f):(t.classList.remove("dropleft"),t.classList.add("dropright"),i?a+=f+s.offsetWidth:a+=f)}t.style.top=`${h}px`,t.style.left=`${a}px`}}}class Gc extends Zl{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.pluginName="CellMenu",this._defaults={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!0,subMenuOpenByEvent:"mouseover"},this._camelPluginName="cellMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-cell-menu",this.init(i.gridOptions.cellMenu)}init(e){this._addonOptions={...this._defaults,...e},this.sortMenuItems(this.sharedService.allColumns),this._eventHandler.subscribe(this.grid.onClick,this.handleCellClick.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateCellMenu(){var i;const e=(i=this.sharedService)==null?void 0:i.gridOptions,t=this.sharedService.allColumns;e!=null&&e.enableTranslate&&Array.isArray(t)&&t.forEach(s=>{if(s!=null&&s.cellMenu&&(Array.isArray(s.cellMenu.commandItems)||Array.isArray(s.cellMenu.optionItems))){const n=s.cellMenu.commandItems||[],o=s.cellMenu.optionItems||[];s.cellMenu.commandTitleKey&&(s.cellMenu.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.commandTitleKey,"TEXT_COMMANDS")||s.cellMenu.commandTitle),s.cellMenu.optionTitleKey&&(s.cellMenu.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.optionTitleKey,"TEXT_COMMANDS")||s.cellMenu.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(n,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(o,"optionItems")}})}handleCellClick(e,t){var s;this.disposeAllMenus();const i=this.grid.getCellFromEvent(e);if(i){const n=this.grid.getDataItem(i.row),o=this.grid.getColumns()[i.cell];o!=null&&o.cellMenu&&!((s=this.gridOptions.cellMenu)!=null&&s.activateCellOnMenuClick)&&e.preventDefault(),this._addonOptions={...this._addonOptions,...o.cellMenu};const l=t||{};if(l.column=o,l.dataContext=n,l.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,l))return;this._menuElm=this.createParentMenu(e),this._menuElm&&(this.repositionMenu(e,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block",this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode")),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}sortMenuItems(e){e.forEach(t=>{var i,s;(i=t==null?void 0:t.cellMenu)!=null&&i.commandItems&&this.extensionUtility.sortItems(t.cellMenu.commandItems||[],"positionOrder"),(s=t==null?void 0:t.cellMenu)!=null&&s.optionItems&&this.extensionUtility.sortItems(t.cellMenu.optionItems||[],"positionOrder")})}}class Uc{constructor(e,t){this.grid=e,this.pluginName="CellRangeDecorator",this._defaults={selectionCssClass:"slick-range-decorator",selectionCss:{border:"2px dashed red",zIndex:"9999"},offset:{top:-1,left:-1,height:-2,width:-2}},this._options=Zt(this._defaults,t)}get addonOptions(){return this._options}get addonElement(){return this._elem}destroy(){this.hide()}init(){}hide(){var e;(e=this._elem)==null||e.remove(),this._elem=null}show(e){var s,n;this._elem||(this._elem=v("div",{className:this._options.selectionCssClass}),Object.keys(this._options.selectionCss).forEach(o=>{this._elem.style[o]=this._options.selectionCss[o]}),this._elem.style.position="absolute",(s=this.grid.getActiveCanvasNode())==null||s.appendChild(this._elem));const t=this.grid.getCellNodeBox(e.fromRow,e.fromCell),i=this.grid.getCellNodeBox(e.toRow,e.toCell);return t&&i&&((n=this._options)!=null&&n.offset)&&(this._elem.style.top=`${t.top+this._options.offset.top}px`,this._elem.style.left=`${t.left+this._options.offset.left}px`,this._elem.style.height=`${i.bottom-t.top+this._options.offset.height}px`,this._elem.style.width=`${i.right-t.left+this._options.offset.width}px`),this._elem}}class mr{constructor(e){this.pluginName="CellRangeSelector",this._currentlySelectedRange=null,this._canvas=null,this._dragging=!1,this._gridUid="",this._columnOffset=0,this._rowOffset=0,this._isRightCanvas=!1,this._isBottomCanvas=!1,this._xDelayForNextCell=0,this._yDelayForNextCell=0,this._viewportHeight=0,this._viewportWidth=0,this._isRowMoveRegistered=!1,this._scrollLeft=0,this._scrollTop=0,this._defaults={autoScroll:!0,minIntervalToShowNextCell:30,maxIntervalToShowNextCell:600,accelerateInterval:5,selectionCss:{border:"2px dashed blue"}},this.onBeforeCellRangeSelected=new P("onBeforeCellRangeSelected"),this.onCellRangeSelecting=new P("onCellRangeSelecting"),this.onCellRangeSelected=new P("onCellRangeSelected"),this._eventHandler=new pe,this._options=Zt(this._defaults,e)}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridUid(){var e;return this._gridUid||(((e=this._grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}init(e){this._grid=e,this._decorator=this._options.cellDecorator||new Uc(e,this._options),this._canvas=e.getCanvasNode(),this._gridOptions=e.getOptions(),this._gridUid=e.getUID();const t=e.getPubSubService();t&&T.addSlickEventPubSubWhenDefined(t,this),this._eventHandler.subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this)).subscribe(this._grid.onScroll,this.handleScroll.bind(this))}destroy(){this.dispose()}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),ee(this._activeCanvas),ee(this._canvas),(t=this._decorator)==null||t.destroy(),this.stopIntervalTimer()}getCellDecorator(){return this._decorator}getCurrentRange(){return this._currentlySelectedRange}getMouseOffsetViewport(e,t){var m;const i=((m=e==null?void 0:e.touches)==null?void 0:m[0])??e,s=this._activeViewport.scrollLeft,n=this._activeViewport.scrollTop,o=s+this._viewportWidth,l=n+this._viewportHeight,a=ge(this._activeViewport),h=a.left,d=a.top,c=h+this._viewportWidth,u=d+this._viewportHeight,p={e,dd:t,viewport:{left:s,top:n,right:o,bottom:l,offset:{left:h,top:d,right:c,bottom:u}},offset:{x:0,y:0},isOutsideViewport:!1};return i.pageX<h?p.offset.x=i.pageX-h:i.pageX>c&&(p.offset.x=i.pageX-c),i.pageY<d?p.offset.y=d-i.pageY:i.pageY>u&&(p.offset.y=u-i.pageY),p.isOutsideViewport=!!p.offset.x||!!p.offset.y,p}stopIntervalTimer(){this._autoScrollTimerId&&(window.clearInterval(this._autoScrollTimerId),this._autoScrollTimerId=void 0)}handleDrag(e,t){if(!this._dragging&&!this._gridOptions.enableRowMoveManager)return;this._gridOptions.enableRowMoveManager||e.stopImmediatePropagation();const i=e.getNativeEvent();if(this.addonOptions.autoScroll&&(this._draggingMouseOffset=this.getMouseOffsetViewport(i,t),this._draggingMouseOffset.isOutsideViewport))return this.handleDragOutsideViewport();this.stopIntervalTimer(),this.handleDragTo(i,t)}handleDragOutsideViewport(){if(this._xDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.x)*this.addonOptions.accelerateInterval,this._yDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.y)*this.addonOptions.accelerateInterval,!this._autoScrollTimerId){let e=0,t=0;this._autoScrollTimerId=window.setInterval(()=>{let i=!1,s=!1;this._draggingMouseOffset.offset.x?(e+=this.addonOptions.minIntervalToShowNextCell,i=e>=this._xDelayForNextCell):e=0,this._draggingMouseOffset.offset.y?(t+=this.addonOptions.minIntervalToShowNextCell,s=t>=this._yDelayForNextCell):t=0,(i||s)&&(i&&(e=0),s&&(t=0),this.handleDragToNewPosition(i,s))},this.addonOptions.minIntervalToShowNextCell)}}handleDragToNewPosition(e,t){let i=this._draggingMouseOffset.e.pageX,s=this._draggingMouseOffset.e.pageY;const n=this._draggingMouseOffset.offset.x,o=this._draggingMouseOffset.offset.y,l=this._draggingMouseOffset.viewport.offset;e&&n&&(n>0?i=l.right+this._moveDistanceForOneCell.x:i=l.left-this._moveDistanceForOneCell.x),t&&o&&(o>0?s=l.top-this._moveDistanceForOneCell.y:s=l.bottom+this._moveDistanceForOneCell.y),this.handleDragTo({pageX:i,pageY:s},this._draggingMouseOffset.dd)}handleDragTo(e,t){var n;const i=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,s=this._grid.getCellFromPoint(i.pageX-ge(this._activeCanvas).left+this._columnOffset,i.pageY-ge(this._activeCanvas).top+this._rowOffset);if(s!==void 0){if(this._gridOptions.frozenColumn>=0&&(!this._isRightCanvas&&s.cell>this._gridOptions.frozenColumn||this._isRightCanvas&&s.cell<=this._gridOptions.frozenColumn)||this._gridOptions.frozenRow>=0&&(!this._isBottomCanvas&&s.row>=this._gridOptions.frozenRow||this._isBottomCanvas&&s.row<this._gridOptions.frozenRow))return;if(this.addonOptions.autoScroll&&this._draggingMouseOffset){const o=this._grid.getCellNodeBox(s.row,s.cell);if(o){const l=this._draggingMouseOffset.viewport;(o.left<l.left||o.right>l.right||o.top<l.top||o.bottom>l.bottom)&&this._grid.scrollCellIntoView(s.row,s.cell)}}if(!this._grid.canCellBeSelected(s.row,s.cell))return;if(t!=null&&t.range){t.range.end=s;const o=new tt(t.range.start.row??0,t.range.start.cell??0,s.row,s.cell);this._decorator.show(o),this.onCellRangeSelecting.notify({range:o})}}}handleDragEnd(e,t){this._decorator.hide(),this._dragging&&(this._dragging=!1,e.stopImmediatePropagation(),this.stopIntervalTimer(),this.onCellRangeSelected.notify({range:new tt(t.range.start.row??0,t.range.start.cell??0,t.range.end.row,t.range.end.cell)}))}handleDragInit(e){var n,o;this._activeCanvas=this._grid.getActiveCanvasNode(e),this._activeViewport=this._grid.getActiveViewportNode(e);const t=this._grid.getDisplayedScrollbarDimensions();if(this._viewportWidth=this._activeViewport.offsetWidth-t.width,this._viewportHeight=this._activeViewport.offsetHeight-t.height,this._moveDistanceForOneCell={x:this._grid.getAbsoluteColumnMinWidth()/2,y:this._gridOptions.rowHeight/2},this._rowOffset=0,this._columnOffset=0,this._isBottomCanvas=this._activeCanvas.classList.contains("grid-canvas-bottom"),this._gridOptions.frozenRow>-1&&this._isBottomCanvas){const l=`${this.gridUidSelector} .grid-canvas-${this._gridOptions.frozenBottom?"bottom":"top"}`;this._rowOffset=((n=document.querySelector(l))==null?void 0:n.clientHeight)??0}this._isRightCanvas=this._activeCanvas.classList.contains("grid-canvas-right"),this._gridOptions.frozenColumn>-1&&this._isRightCanvas&&(this._columnOffset=((o=document.querySelector(`${this.gridUidSelector} .grid-canvas-left`))==null?void 0:o.clientWidth)??0);const i=this._grid.getCellFromEvent(e),s=this._grid.getActiveCell();(!this._grid.getEditorLock().isActive()||!(s&&i&&s.row===i.row&&s.cell===i.cell))&&(e.stopImmediatePropagation(),e.preventDefault())}handleDragStart(e,t){const i=this._grid.getCellFromEvent(e);if(i&&this.onBeforeCellRangeSelected.notify(i).getReturnValue()!==!1&&this._grid.canCellBeSelected(i.row,i.cell)&&(this._dragging=!0,e.stopImmediatePropagation()),!this._dragging)return;this._grid.focus();const s=ge(this._canvas);let n=t.startX-s.left;this._gridOptions.frozenColumn>=0&&this._isRightCanvas&&(n+=this._scrollLeft);let o=t.startY-s.top;this._gridOptions.frozenRow>=0&&this._isBottomCanvas&&(o+=this._scrollTop);const l=this._grid.getCellFromPoint(n,o);return t.range={start:l,end:{}},this._currentlySelectedRange=t.range,this._decorator.show(new tt(l.row,l.cell))}handleScroll(e,t){this._scrollTop=t.scrollTop,this._scrollLeft=t.scrollLeft}}class jc{constructor(e){this.pluginName="CellSelectionModel",this._cachedPageRowCount=0,this._prevKeyDown="",this._ranges=[],this._defaults={selectActiveCell:!0},this.onSelectedRangesChanged=new P("onSelectedRangesChanged"),this._eventHandler=new pe,this._selector=e===void 0||e.cellRangeSelector===void 0?new mr({selectionCss:{border:"2px solid black"}}):e.cellRangeSelector,this._addonOptions=e}get addonOptions(){return this._addonOptions}get cellRangeSelector(){return this._selector}get eventHandler(){return this._eventHandler}init(e){this._grid=e,(this._addonOptions===void 0||this._addonOptions.cellRangeSelector===void 0)&&(this._selector=new mr({selectionCss:{border:`2px solid ${this._grid.getOptions().darkMode?"white":"black"}`}})),e.hasDataView()&&(this._dataView=e.getData()),this._addonOptions={...this._defaults,...this._addonOptions};const t=e.getPubSubService();t&&this.onSelectedRangesChanged.setPubSubService(t),this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)).subscribe(this._selector.onBeforeCellRangeSelected,this.handleBeforeCellRangeSelected.bind(this)).subscribe(this._selector.onCellRangeSelected,this.handleCellRangeSelected.bind(this)),e.registerPlugin(this._selector)}destroy(){this.dispose()}dispose(){var e,t;this._selector&&(this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this))),this._eventHandler.unsubscribeAll(),(e=this._grid)==null||e.unregisterPlugin(this._selector),(t=this._selector)==null||t.dispose()}getSelectedRanges(){return this._ranges}rangesAreEqual(e,t){let i=e.length!==t.length;if(!i){for(let s=0;s<e.length;s++)if(e[s].fromCell!==t[s].fromCell||e[s].fromRow!==t[s].fromRow||e[s].toCell!==t[s].toCell||e[s].toRow!==t[s].toRow){i=!0;break}}return!i}refreshSelections(){this.setSelectedRanges(this.getSelectedRanges())}removeInvalidRanges(e){const t=[];for(let i=0;i<e.length;i++){const s=e[i];this._grid.canCellBeSelected(s.fromRow,s.fromCell)&&this._grid.canCellBeSelected(s.toRow,s.toCell)&&t.push(s)}return t}resetPageRowCount(){this._cachedPageRowCount=0}setSelectedRanges(e,t="SlickCellSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;const i=!this.rangesAreEqual(this._ranges,e);if(this._ranges=this.removeInvalidRanges(e),i){const s=new le(new CustomEvent("click",{detail:{caller:t}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,s)}}handleActiveCellChange(e,t){var n,o;this._prevSelectedRow=void 0;const i=q(t.cell),s=q(t.row);(n=this._addonOptions)!=null&&n.selectActiveCell&&s&&i?this.setSelectedRanges([new tt(t.row,t.cell)]):(!((o=this._addonOptions)!=null&&o.selectActiveCell)||!s&&!i)&&this.setSelectedRanges([])}handleBeforeCellRangeSelected(e){const t=this._grid.getCellFromEvent(e),i=this._grid.getActiveCell();if(this._grid.getEditorLock().isActive()&&i&&t&&i.row===t.row&&i.cell===t.cell)return e.stopPropagation(),!1}handleCellRangeSelected(e,t){this._grid.setActiveCell(t.range.fromRow,t.range.fromCell,!1,!1,!0),this.setSelectedRanges([t.range])}isKeyAllowed(e,t){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","PageDown","PageUp","Home","End",...t?[]:["a","A"]].some(i=>i===e)}handleKeyDown(e){var l,a;let t,i;const s=this._grid.getColumns().length,n=this._grid.getActiveCell();let o=0;if(this._dataView&&"getPagingInfo"in this._dataView?o=((l=this._dataView)==null?void 0:l.getPagingInfo().pageSize)||this._dataView.getLength():o=this._grid.getDataLength(),n&&(e.shiftKey||e.ctrlKey)&&!e.altKey&&this.isKeyAllowed(e.key,e.shiftKey)&&(t=this.getSelectedRanges().slice(),t.length||t.push(new tt(n.row,n.cell)),i=t.pop(),typeof(i==null?void 0:i.contains)=="function")){i.contains(n.row,n.cell)||(i=new tt(n.row,n.cell));let h=i.toRow-i.fromRow,d=i.toCell-i.fromCell,c,u=0;e.ctrlKey&&((a=e.key)==null?void 0:a.toLowerCase())==="a"&&(this._grid.setActiveCell(0,0,!1,!1,!0),n.row=0,n.cell=0,c=s-1,u=o-1);const p=n.row===i.fromRow?1:-1,m=n.cell===i.fromCell?1:-1,f=e.key.startsWith("Arrow");f&&!e.ctrlKey?(e.key==="ArrowLeft"?d-=m:e.key==="ArrowRight"?d+=m:e.key==="ArrowUp"?h-=p:e.key==="ArrowDown"&&(h+=p),u=n.row+p*h):(this._cachedPageRowCount<1&&(this._cachedPageRowCount=this._grid.getViewportRowCount()),this._prevSelectedRow===void 0&&(this._prevSelectedRow=n.row),!e.ctrlKey&&e.shiftKey&&e.key==="Home"||e.ctrlKey&&e.shiftKey&&e.key==="ArrowLeft"?(c=0,u=n.row):!e.ctrlKey&&e.shiftKey&&e.key==="End"||e.ctrlKey&&e.shiftKey&&e.key==="ArrowRight"?(c=s-1,u=n.row):e.ctrlKey&&e.shiftKey&&e.key==="ArrowUp"?u=0:e.ctrlKey&&e.shiftKey&&e.key==="ArrowDown"?u=o-1:e.ctrlKey&&e.shiftKey&&e.key==="Home"?(c=0,u=0):e.ctrlKey&&e.shiftKey&&e.key==="End"?(c=s-1,u=o-1):e.key==="PageUp"?(this._prevSelectedRow>=0&&(u=this._prevSelectedRow-this._cachedPageRowCount),u<0&&(u=0)):e.key==="PageDown"&&(this._prevSelectedRow<=o-1&&(u=this._prevSelectedRow+this._cachedPageRowCount),u>o-1&&(u=o-1)),this._prevSelectedRow=u),c??(c=n.cell+m*d);const g=new tt(n.row,n.cell,u,c);if(this.removeInvalidRanges([g]).length){t.push(g);const _=p>0?g.toRow:g.fromRow,C=m>0?g.toCell:g.fromCell;f?(this._grid.scrollRowIntoView(_),this._grid.scrollCellIntoView(_,C,!1)):(this._grid.scrollRowIntoView(u),this._grid.scrollCellIntoView(u,C,!1))}else t.push(i);this.setSelectedRanges(t),e.preventDefault(),e.stopPropagation(),this._prevKeyDown=e.key}}}class fr{constructor(e){this.pluginName="RowSelectionModel",this._inHandler=!1,this._ranges=[],this._defaults={autoScrollWhenDrag:!0,cellRangeSelector:void 0,dragToSelect:!1,selectActiveRow:!0},this.onSelectedRangesChanged=new P("onSelectedRangesChanged"),this._eventHandler=new pe,this._options={...this._defaults,...e}}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return(e=this._grid)==null?void 0:e.getOptions()}init(e){this._grid=e,this._options={...this._defaults,...this._options},this._selector=this.addonOptions.cellRangeSelector;const t=e.getPubSubService();t&&this.onSelectedRangesChanged.setPubSubService(t),!this._selector&&this._options.dragToSelect&&(this._selector=new mr({selectionCss:{border:"none"},autoScroll:this._options.autoScrollWhenDrag}),this.addonOptions.cellRangeSelector=this._selector),this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onClick,this.handleClick.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)),this._selector&&(this._grid.registerPlugin(this._selector),this._selector.onCellRangeSelecting.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.subscribe(this.handleBeforeCellRangeSelected.bind(this)))}destroy(){this.dispose()}dispose(){this._eventHandler.unsubscribeAll(),this.disposeSelector()}disposeSelector(){var e,t;this._selector&&(this._selector.onCellRangeSelecting.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._grid.unregisterPlugin(this._selector),(e=this._selector)==null||e.destroy(),(t=this._selector)==null||t.dispose())}getCellRangeSelector(){return this._selector}getSelectedRanges(){return this._ranges}getSelectedRows(){return this.rangesToRows(this._ranges)}refreshSelections(){this.setSelectedRows(this.getSelectedRows())}setSelectedRows(e){this.setSelectedRanges(this.rowsToRanges(e),"SlickRowSelectionModel.setSelectedRows")}setSelectedRanges(e,t="SlickRowSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;this._ranges=e;const i=new le(new CustomEvent("click",{detail:{caller:t}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,i)}getRowsRange(e,t){let i;const s=[];for(i=e;i<=t;i++)s.push(i);for(i=t;i<e;i++)s.push(i);return s}handleBeforeCellRangeSelected(e,t){let i=!1;if(this.gridOptions.enableRowMoveManager&&(i=this.isHandlerColumn(t.cell)??!1),this._grid.getEditorLock().isActive()||i)return e.stopPropagation(),!1;this._grid.setActiveCell(t.row,t.cell)}handleCellRangeSelected(e,t){if(!this.gridOptions.multiSelect||!this.addonOptions.selectActiveRow)return!1;this.setSelectedRanges([new tt(t.range.fromRow,0,t.range.toRow,this._grid.getColumns().length-1)])}handleActiveCellChange(e,t){this._options.selectActiveRow&&t.row!==null&&this.setSelectedRanges([new tt(t.row,0,t.row,this._grid.getColumns().length-1)])}handleClick(e){const t=this._grid.getCellFromEvent(e);if(!t||!this._grid.canCellBeActive(t.row,t.cell)||!this.gridOptions.multiSelect||!e.ctrlKey&&!e.shiftKey&&!e.metaKey)return!1;let i=this.rangesToRows(this._ranges);const s=i.indexOf(t.row);if(s===-1&&(e.ctrlKey||e.metaKey))i.push(t.row),this._grid.setActiveCell(t.row,t.cell);else if(s!==-1&&(e.ctrlKey||e.metaKey))i=i.filter(o=>o!==t.row),this._grid.setActiveCell(t.row,t.cell);else if(i.length&&e.shiftKey){const o=i.pop(),l=Math.min(t.row,o),a=Math.max(t.row,o);i=[];for(let h=l;h<=a;h++)h!==o&&i.push(h);i.push(o),this._grid.setActiveCell(t.row,t.cell)}const n=this.rowsToRanges(i);return this.setSelectedRanges(n),e.stopImmediatePropagation(),!0}handleKeyDown(e){const t=this._grid.getActiveCell();if(this.gridOptions.multiSelect&&t&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.key==="ArrowUp"||e.key==="ArrowDown")){let i=this.getSelectedRows();i.sort((l,a)=>l-a),i.length||(i=[t.row]);let s,n=i[0],o=i[i.length-1];if(e.key==="ArrowDown"?s=t.row<o||n===o?++o:++n:s=t.row<o?--o:--n,s>=0&&s<this._grid.getDataLength()){this._grid.scrollRowIntoView(s);const l=this.rowsToRanges(this.getRowsRange(n,o));this.setSelectedRanges(l)}e.preventDefault(),e.stopPropagation()}}isHandlerColumn(e){const i=this._grid.getColumns()[e].behavior||"";return/move|selectAndMove/.test(i)}rangesToRows(e){const t=[];for(let i=0;i<e.length;i++)for(let s=e[i].fromRow;s<=e[i].toRow;s++)t.push(s);return t}rowsToRanges(e){const t=[],i=this._grid.getColumns().length-1;return e.forEach(s=>t.push(new tt(s,0,s,i))),t}}const Jl="mdi-icon-check",ea="mdi-icon-uncheck";class ta{constructor(e,t){this.pubSubService=e,this.pluginName="CheckboxSelectColumn",this._defaults={columnId:"_checkbox_selector",cssClass:null,field:"_checkbox_selector",hideSelectAllCheckbox:!1,name:"",toolTip:"Select/Deselect All",width:30,reorderable:!1,applySelectOnAllPages:!0,hideInColumnTitleRow:!1,hideInFilterHeaderRow:!0},this._addonOptions=this._defaults,this._checkboxColumnCellIndex=null,this._isSelectAllChecked=!1,this._isUsingDataView=!1,this._selectedRowsLookup={},this._selectAll_UID=this.createUID(),this._bindEventService=new Pe,this._eventHandler=new pe,this._addonOptions={...this._defaults,...t}}get addonOptions(){return this._addonOptions}get headerRowNode(){return this._headerRowNode}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get selectAllUid(){return this._selectAll_UID}set selectedRowsLookup(e){this._selectedRowsLookup=e}init(e){this._grid=e,this._isUsingDataView=!Array.isArray(e.getData()),this._isUsingDataView&&(this._dataView=e.getData()),this.gridOptions.backendServiceApi&&(this._addonOptions.applySelectOnAllPages=!1),this._eventHandler.subscribe(e.onSelectedRowsChanged,this.handleSelectedRowsChanged.bind(this)).subscribe(e.onClick,this.handleClick.bind(this)).subscribe(e.onKeyDown,this.handleKeyDown.bind(this)),this._isUsingDataView&&this._dataView&&(this._eventHandler.subscribe(e.onAfterSetColumns,this.handleDataViewSelectedIdsChanged.bind(this)),this._addonOptions.applySelectOnAllPages&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,this.handleDataViewSelectedIdsChanged.bind(this)).subscribe(this._dataView.onPagingInfoChanged,this.handleDataViewSelectedIdsChanged.bind(this))),this._addonOptions.hideInFilterHeaderRow||this.addCheckboxToFilterHeaderRow(e),this._addonOptions.hideInColumnTitleRow||this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this)),(!this._rowSelectionModel||!this._grid.getSelectionModel())&&(this._rowSelectionModel=new fr(this.gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionModel)),this.gridOptions.preselectedRows&&this._rowSelectionModel&&this._grid.getSelectionModel()&&window.setTimeout(()=>this.selectRows(this.gridOptions.preselectedRows||[])),typeof this._addonOptions.selectableOverride=="function"&&this.selectableOverride(this._addonOptions.selectableOverride)}dispose(){this._bindEventService.unbindAll(),this._eventHandler.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.checkboxSelector},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=((i=t==null?void 0:t.checkboxSelector)==null?void 0:i.columnIndexPosition)??0;n>0?e.splice(n,0,s):e.unshift(s),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getOptions(){return this._addonOptions}setOptions(e){var t;if(this._addonOptions={...this._addonOptions,...e},this._addonOptions.hideSelectAllCheckbox)this.hideSelectAllFromColumnHeaderTitleRow(),this.hideSelectAllFromColumnHeaderFilterRow();else if(this._addonOptions.hideInColumnTitleRow?(this.hideSelectAllFromColumnHeaderTitleRow(),this._addonOptions.name&&this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name,"")):(this.renderSelectAllCheckbox(this._isSelectAllChecked),this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this))),this._addonOptions.hideInFilterHeaderRow)this.hideSelectAllFromColumnHeaderFilterRow();else{const i=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");if(i){i.style.display="flex",i.ariaChecked=String(this._isSelectAllChecked);const s=i.querySelector('input[type="checkbox"]');s&&(s.ariaChecked=String(this._isSelectAllChecked),s.checked=this._isSelectAllChecked)}}}deSelectRows(e){const t=[];for(const i of e)this._selectedRowsLookup[i]&&(t[t.length]=i);this._grid.setSelectedRows(this._grid.getSelectedRows().filter(i=>t.indexOf(i)<0),"SlickCheckboxSelectColumn.deSelectRows")}selectRows(e){var s;const t=[];for(const n of e)this._selectedRowsLookup[n]&&(t[t.length]=n);const i=(s=this._grid.getSelectedRows())==null?void 0:s.concat(t);this._grid.setSelectedRows(i)}createCheckboxElement(e,t=!1){var o;const i=(o=this.gridOptions)!=null&&o.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment,s=v("label",{className:"checkbox-selector-label",htmlFor:e}),n=v("div",{className:"icon-checkbox-container"});return n.appendChild(v("input",{id:e,type:"checkbox",checked:t,ariaChecked:String(t)})),n.appendChild(v("div",{className:`mdi ${t?Jl:ea}`})),s.appendChild(n),i.appendChild(s),i}getColumnDefinition(){var t;const e=String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId);return{id:e,name:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?this._addonOptions.name||"":this.createCheckboxElement(`header-selector${this._selectAll_UID}`),toolTip:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?"":this._addonOptions.toolTip,field:e,cssClass:this._addonOptions.cssClass,excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,hideSelectAllCheckbox:this._addonOptions.hideSelectAllCheckbox,resizable:!1,reorderable:this._addonOptions.reorderable,sortable:!1,width:this._addonOptions.width||30,maxWidth:this._addonOptions.width||30,formatter:this.checkboxSelectionFormatter.bind(this)}}hideSelectAllFromColumnHeaderTitleRow(){this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name||"","")}hideSelectAllFromColumnHeaderFilterRow(){var t;const e=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");e&&(e.style.display="none")}toggleRowSelection(e){this.toggleRowSelectionWithEvent(null,e)}toggleRowSelectionWithEvent(e,t){const i=this._grid.getDataItem(t);if(!this.checkSelectableOverride(t,i,this._grid))return;const s=this._grid.getSelectedRows();typeof this._addonOptions.onRowToggleStart=="function"&&this._addonOptions.onRowToggleStart(e,{row:t,previousSelectedRows:s});const n=this._selectedRowsLookup[t]?this._grid.getSelectedRows().filter(o=>o!==t):this._grid.getSelectedRows().concat(t);this._grid.setSelectedRows(n,"click.toggle"),this._grid.setActiveCell(t,this.getCheckboxColumnCellIndex()),this._addonOptions.onRowToggleEnd&&this._addonOptions.onRowToggleEnd(e,{row:t,previousSelectedRows:s})}selectableOverride(e){this._selectableOverride=e}addCheckboxToFilterHeaderRow(e){this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{if(i.column.field===(this._addonOptions.field||"_checkbox_selector")){ee(i.node);const s=`header-filter-selector${this._selectAll_UID}`,n=v("label",{id:"filter-checkbox-selectall-container",htmlFor:s}),o=v("div",{className:"icon-checkbox-container"});o.appendChild(v("input",{id:s,type:"checkbox",ariaChecked:"false"})),o.appendChild(v("div",{className:"mdi mdi-icon-uncheck"})),n.appendChild(o),i.node.appendChild(n),this._headerRowNode=i.node,this._headerRowNode.classList.add("checkbox-header"),this._bindEventService.bind(n,"click",l=>this.handleHeaderClick(l,i))}})}checkboxSelectionFormatter(e,t,i,s,n,o){if(n&&this.checkSelectableOverride(e,n,o)){const l=this.createUID()+e;return this.createCheckboxElement(`selector${l}`,!!this._selectedRowsLookup[e])}return null}checkSelectableOverride(e,t,i){return typeof this._selectableOverride=="function"?this._selectableOverride(e,t,i):!0}createUID(){return Math.round(1e7*Math.random())}getCheckboxColumnCellIndex(){if(this._checkboxColumnCellIndex===null){this._checkboxColumnCellIndex=0;const e=this._grid.getColumns();for(let t=0;t<e.length;t++)e[t].id===this._addonOptions.columnId&&(this._checkboxColumnCellIndex=t)}return this._checkboxColumnCellIndex}handleDataViewSelectedIdsChanged(){var s,n;const e=this._dataView.getAllSelectedFilteredIds(),t=this._dataView.getFilteredItems();let i=0;if(typeof this._selectableOverride=="function"&&e.length>0)for(let o=0;o<this._dataView.getItemCount();o++){const l=this._dataView.getItemByIdx(o),a=this._dataView.getIdPropertyName(),h=l[a];t.findIndex(c=>c[a]===h)>=0&&!this.checkSelectableOverride(o,l,this._grid)&&i++}if(this._isSelectAllChecked=e.length+i>=t.length,!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow){const o=(s=this.headerRowNode)==null?void 0:s.querySelector(`#header-filter-selector${this._selectAll_UID}`),l=(n=this.headerRowNode)==null?void 0:n.querySelector(".icon-checkbox-container .mdi");o&&(o.ariaChecked=String(this._isSelectAllChecked),o.checked=this._isSelectAllChecked),l&&(l.className=`mdi ${this._isSelectAllChecked?Jl:ea}`)}}handleClick(e,t){if(this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}this.toggleRowSelectionWithEvent(e,t.row),e.stopPropagation(),e.stopImmediatePropagation()}}handleHeaderClick(e,t){if(t.column.id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}let i=e.target.checked;const s=i?"click.selectAll":"click.unselectAll",n=this._grid.getSelectedRows();this._addonOptions.onSelectAllToggleStart&&this._addonOptions.onSelectAllToggleStart(e,{previousSelectedRows:n,caller:s});let o=[];if(i){const l=[];for(let a=0;a<this._grid.getDataLength();a++){const h=this._grid.getDataItem(a);!h.__group&&!h.__groupTotals&&this.checkSelectableOverride(a,h,this._grid)&&l.push(a)}o=l,i=!0}if(this._isUsingDataView&&this._dataView&&this._addonOptions.applySelectOnAllPages){const l=[],a=this._dataView.getFilteredItems();for(let h=0;h<a.length;h++){const d=a[h];this.checkSelectableOverride(h,d,this._grid)&&l.push(d[this._dataView.getIdPropertyName()])}this._dataView.setSelectedIds(l,{isRowBeingAdded:i})}this._grid.setSelectedRows(o,s),this._addonOptions.onSelectAllToggleEnd&&this._addonOptions.onSelectAllToggleEnd(e,{rows:o,previousSelectedRows:n,caller:s}),e.stopPropagation(),e.stopImmediatePropagation()}}handleKeyDown(e,t){e.key===" "&&this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&((!this._grid.getEditorLock().isActive()||this._grid.getEditorLock().commitCurrentEdit())&&this.toggleRowSelectionWithEvent(e,t.row),e.preventDefault(),e.stopImmediatePropagation())}handleSelectedRowsChanged(){var a;const e=this._grid.getSelectedRows(),t={};let i=0,s=0,n=0,o=0;if(typeof this._selectableOverride=="function")for(n=0;n<this._grid.getDataLength();n++){const h=this._grid.getDataItem(n);this.checkSelectableOverride(s,h,this._grid)||o++}const l=[];for(s=0;s<e.length;s++){i=e[s];const h=this._grid.getDataItem(i);this.checkSelectableOverride(s,h,this._grid)?(t[i]=!0,t[i]!==this._selectedRowsLookup[i]&&(this._grid.invalidateRow(i),delete this._selectedRowsLookup[i])):l.push(i)}if(typeof this._selectedRowsLookup=="object"&&Object.keys(this._selectedRowsLookup).forEach(h=>{h!==void 0&&this._grid.invalidateRow(+h)}),this._selectedRowsLookup=t,this._grid.render(),this._isSelectAllChecked=((e==null?void 0:e.length)??0)+o>=this._grid.getDataLength(),(!this._isUsingDataView||!this._addonOptions.applySelectOnAllPages)&&(!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow)){const h=(a=this.headerRowNode)==null?void 0:a.querySelector(`#header-filter-selector${this._selectAll_UID}`);h&&(h.ariaChecked=String(this._isSelectAllChecked),h.checked=this._isSelectAllChecked)}if(l.length>0){for(const h of l){const d=e.indexOf(h);e.splice(d,1)}this._grid.setSelectedRows(e,"click.toggle")}}renderSelectAllCheckbox(e){const t=this._grid.updateColumnHeader(this._addonOptions.columnId||"",this.createCheckboxElement(`header-selector${this._selectAll_UID}`,!!e),this._addonOptions.toolTip);t==null||t.classList.add("header-checkbox-selectall")}}class ia extends zs{constructor(e,t,i,s,n){var o;super(e,i,s),this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this._areVisibleColumnDifferent=!1,this._columns=[],this._columnCheckboxes=[],this._commandMenuElm=null,this._headerElm=null,this._isMenuOpen=!1,this._subMenuParentId="",this._defaults={dropSide:"left",showButton:!0,hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",marginBottom:15,menuWidth:18,minHeight:150,contentMinWidth:0,resizeOnShowHeaderRow:!1,syncResizeTitle:"Synchronous resize",subMenuOpenByEvent:"mouseover",headerColumnValueExtractor:l=>_t(l.columnPickerLabel||l.name||"","innerHTML")},this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-grid-menu",this._camelPluginName="gridMenu",this._columns=this.sharedService.allColumns??[],this._gridUid=((o=this.grid)==null?void 0:o.getUID())??"",this.onAfterMenuShow=new P("onAfterMenuShow"),this.onBeforeMenuShow=new P("onBeforeMenuShow"),this.onMenuClose=new P("onMenuClose"),this.onCommand=new P("onCommand"),this.onColumnsChanged=new P("onColumnsChanged"),this.initEventHandlers(),this.init()}get addonOptions(){return this._addonOptions||{}}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())||{}}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}initEventHandlers(){this._eventHandler.subscribe(this.grid.onColumnsReordered,$s.bind(this)),this._eventHandler.subscribe(this.grid.onClick,e=>this.hideMenu(e)),this._eventHandler.subscribe(this.grid.onBeforeDestroy,this.dispose.bind(this)),this._eventHandler.subscribe(this.grid.onSetOptions,(e,t)=>{if(t&&t.optionsBefore&&t.optionsAfter){const i=t.optionsBefore.frozenColumn>=0&&t.optionsAfter.frozenColumn===-1,s=t.optionsBefore.frozenColumn===-1&&t.optionsAfter.frozenColumn>=0;(i||s)&&this.recreateGridMenu()}})}init(){this._gridUid=this.grid.getUID()??"",T.addSlickEventPubSubWhenDefined(this.pubSubService,this),this._userOriginalGridMenu={...this.sharedService.gridOptions.gridMenu},this._addonOptions={...this._defaults,...this.getDefaultGridMenuOptions(),...this.sharedService.gridOptions.gridMenu},this.sharedService.gridOptions.gridMenu=this._addonOptions;const e=this._userOriginalGridMenu.commandItems,t=this._userOriginalGridMenu&&Array.isArray(e)?e:[];this._addonOptions.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(this._addonOptions.commandItems||[],"commandItems"),this.extensionUtility.sortItems(this._addonOptions.commandItems,"positionOrder"),this.createGridMenu()}dispose(){this.deleteMenu(),super.dispose()}deleteMenu(){var e,t;this._bindEventService.unbindAll(),(e=this._menuElm)==null||e.remove(),this._menuElm=null,(t=this._gridMenuButtonElm)==null||t.remove(),this._headerElm&&(this._headerElm.style.width="100%")}createColumnPickerContainer(){this._menuElm&&(oa.call(this,this._menuElm),this._listElm=v("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(this._menuElm,"click",la.bind(this),void 0,"parent-menu"))}createGridMenu(){var n,o;const e=this._gridUid?`.${this._gridUid}`:"",t=((n=this._addonOptions)==null?void 0:n.menuWidth)||this._defaults.menuWidth,i=this.gridOptions.hasOwnProperty("frozenColumn")&&this.gridOptions.frozenColumn>=0?"right":"left",s=this.grid.getContainerNode();if(this._headerElm=s.querySelector(`.slick-header-${i}`),this._headerElm&&this._addonOptions){if(this._headerElm.style.width=`calc(100% - ${t}px)`,(this._addonOptions.resizeOnShowHeaderRow??this._defaults.resizeOnShowHeaderRow)&&this.gridOptions.showHeaderRow){const h=s.querySelector(`${e} .slick-headerrow`);h&&(h.style.width=`calc(100% - ${t}px)`)}if(this._addonOptions.showButton??this._defaults.showButton){this._gridMenuButtonElm=v("button",{className:"slick-grid-menu-button",ariaLabel:"Grid Menu"}),(o=this._addonOptions)!=null&&o.iconCssClass&&this._gridMenuButtonElm.classList.add(...he(this._addonOptions.iconCssClass));const h=this._addonOptions.iconButtonContainer==="preheader"?"firstChild":"lastChild";this._headerElm.parentElement.insertBefore(this._gridMenuButtonElm,this._headerElm.parentElement[h]),this._bindEventService.bind(this._gridMenuButtonElm,"click",this.showGridMenu.bind(this))}this.sharedService.gridOptions.gridMenu={...this._defaults,...this._addonOptions},this.translateTitleLabels(this._addonOptions),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this)),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this))}}createCommandMenu(e,t=0,i){const s=i==null?void 0:i.command;let n=t===1&&s?s.replace(/\s/g,""):"";n&&(this._subMenuParentId=n),t>1&&(n=this._subMenuParentId);const o=`${this.menuCssClass} slick-menu-level-${t} ${this._gridUid}`,l=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${t}${this.gridUidSelector}`);if(l){if(l.dataset.subMenuParent===n)return l;this.disposeSubMenus()}const a=v("div",{role:"menu",className:o,ariaLabel:t>1?"SubMenu":"Grid Menu"});t>0&&(a.classList.add("slick-submenu"),n&&(a.dataset.subMenuParent=n));const h={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns(),level:t};return this._commandMenuElm=this.recreateCommandList(e,a,h,i),t++,a}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}hideMenu(e){var i,s,n;const t={grid:this.grid,menu:this._menuElm,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};if(this.pubSubService.publish("onGridMenuMenuClose",t),!(typeof((i=this._addonOptions)==null?void 0:i.onMenuClose)=="function"&&this._addonOptions.onMenuClose(e,t)===!1||this.onMenuClose.notify(t,null,this).getReturnValue()===!1)){if(this._isMenuOpen=!1,typeof((s=this.grid)==null?void 0:s.autosizeColumns)=="function"){const o=this.grid.getUID()||"";this._areVisibleColumnDifferent&&o&&document.querySelector(`.${o}`)!==null&&(this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this._areVisibleColumnDifferent=!1)}this.disposeSubMenus(),(n=this._menuElm)==null||n.remove(),this._menuElm=null}}recreateGridMenu(){this.deleteMenu(),this.init()}repositionMenu(e,t,i,s){var a,h;const n=((a=e==null?void 0:e.touches)==null?void 0:a[0])??e,o=t.classList.contains("slick-submenu"),l=o?e.target.closest(".slick-menu-item"):n.target;if(l){const d=i||this._gridMenuButtonElm,c=ge(i),u=ge(l),p=s??this._addonOptions,m=getComputedStyle(d),f=parseInt((m==null?void 0:m.width)??((h=this._defaults)==null?void 0:h.menuWidth),10),g=(t==null?void 0:t.offsetWidth)??0,_=(p==null?void 0:p.contentMinWidth)??this._defaults.contentMinWidth??0,C=(_>g?_:g)||0,b=c.top,S=c.right;let E,y;if(o?(y=u.top,E=u.left):(y=b+d.offsetHeight,E=(p==null?void 0:p.dropSide)==="right"?S-f:S-C),o){const D=(t==null?void 0:t.clientHeight)||0,{bottom:L,top:M}=Vi(l);(L<D&&M>L?"top":"bottom")==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),y-=D-l.clientHeight):(t.classList.remove("dropup"),t.classList.add("dropdown"))}const x=this.grid.getGridPosition();let O=E+Number(g);o&&(O+=l.clientWidth);const I=document.documentElement.clientWidth;(O>=x.width||O>=I?"left":"right")==="left"||!o&&(p==null?void 0:p.dropSide)==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),o&&(E-=Number(g))):(t.classList.remove("dropleft"),t.classList.add("dropright"),o&&(E+=l.offsetWidth)),t.style.top=`${y}px`,t.style.left=`${E}px`,_>0&&(t.style.minWidth=`${_}px`),t.style.opacity="1",t.style.display="block"}}openGridMenu(){const e=new MouseEvent("click",{bubbles:!0,cancelable:!0,composed:!1});Object.defineProperty(e,"target",{writable:!0,configurable:!0,value:v("button",{className:"slick-grid-menu-button"})}),this.showGridMenu(e)}showGridMenu(e,t){var s,n,o;const i=((s=e==null?void 0:e.touches)==null?void 0:s[0])??e;if(e.preventDefault(),ee(this._menuElm),(n=this._menuElm)==null||n.remove(),this._addonOptions){const l={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns()},a={...this._addonOptions,...t};if(a&&!this.extensionUtility.runOverrideFunctionWhenExists(a.menuUsabilityOverride,l)||typeof e.stopPropagation=="function"&&(this.pubSubService.publish("onGridMenuBeforeMenuShow",l),typeof(a==null?void 0:a.onBeforeMenuShow)=="function"&&a.onBeforeMenuShow(e,l)===!1||this.onBeforeMenuShow.notify(l,null,this).getReturnValue()===!1))return;this._menuElm=this.createCommandMenu(((o=this._addonOptions)==null?void 0:o.commandItems)??[]),this.createColumnPickerContainer(),$s.call(this),this._columnCheckboxes=[],ha.call(this,a),document.body.appendChild(this._menuElm),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm.style.opacity="0";const h=((a==null?void 0:a.marginBottom)!==void 0?a.marginBottom:this._defaults.marginBottom)||0;this._menuElm.style.minHeight=Pt(a==null?void 0:a.minHeight,""),(a==null?void 0:a.height)!==void 0?this._menuElm.style.height=Pt(a.height,""):this._menuElm.style.maxHeight=Pt(a==null?void 0:a.maxHeight,`${window.innerHeight-i.clientY-h}px`);let d=e.target.nodeName==="BUTTON"?e.target:e.target.querySelector("button");d||(d=e.target.parentElement),this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm),this.repositionMenu(e,this._menuElm,d,a),this._isMenuOpen=!0,this.pubSubService.publish("onGridMenuAfterMenuShow",l),typeof(a==null?void 0:a.onAfterMenuShow)=="function"&&a.onAfterMenuShow(e,l),this.onAfterMenuShow.notify(l,null,this)}}translateGridMenu(){var e;if(this.sharedService.gridOptions.gridMenu){this.sharedService.gridOptions.gridMenu.commandItems=[],this.sharedService.gridOptions.gridMenu.commandTitle="",this.sharedService.gridOptions.gridMenu.columnTitle="",this.sharedService.gridOptions.gridMenu.forceFitTitle="",this.sharedService.gridOptions.gridMenu.syncResizeTitle="";const t=this._userOriginalGridMenu&&Array.isArray(this._userOriginalGridMenu.commandItems)?this._userOriginalGridMenu.commandItems:[];this.sharedService.gridOptions.gridMenu.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(((e=this._addonOptions)==null?void 0:e.commandItems)||[],"commandItems"),this.extensionUtility.sortItems(this.sharedService.gridOptions.gridMenu.commandItems,"positionOrder"),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this.translateTitleLabels(this._addonOptions),this.extensionUtility.translateItems(this._columns,"nameKey","name")}}translateTitleLabels(e){e&&(e.commandTitle=this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"),e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),e.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),e.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"))}addGridMenuCustomCommands(e){var l,a;const t=this.gridOptions.backendServiceApi||null,i=[],s=this.gridOptions,n=lt(s),o=(l=this._addonOptions)==null?void 0:l.commandLabels;if(this._addonOptions&&this.gridOptions){if(!this._addonOptions.hideClearFrozenColumnsCommand){const d="clear-pinning";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearFrozenColumnsCommand||"mdi mdi-pin-off-outline",titleKey:`${n}${(o==null?void 0:o.clearFrozenColumnsCommandKey)??"CLEAR_PINNING"}`,disabled:!1,command:d,positionOrder:52})}if(this.gridOptions.enableFiltering&&!this.sharedService.hideHeaderRowAfterPageLoad){if(!this._addonOptions.hideClearAllFiltersCommand){const d="clear-filter";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearAllFiltersCommand||"mdi mdi-filter-remove-outline",titleKey:`${n}${(o==null?void 0:o.clearAllFiltersCommandKey)??"CLEAR_ALL_FILTERS"}`,disabled:!1,command:d,positionOrder:50})}if(!this._addonOptions.hideToggleFilterCommand){const d="toggle-filter";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconToggleFilterCommand||"mdi mdi-flip-vertical",titleKey:`${n}${(o==null?void 0:o.toggleFilterCommandKey)??"TOGGLE_FILTER_ROW"}`,disabled:!1,command:d,positionOrder:53})}if(t&&!this._addonOptions.hideRefreshDatasetCommand){const d="refresh-dataset";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconRefreshDatasetCommand||"mdi mdi-sync",titleKey:`${n}${(o==null?void 0:o.refreshDatasetCommandKey)??"REFRESH_DATASET"}`,disabled:!1,command:d,positionOrder:58})}}if(!this._addonOptions.hideToggleDarkModeCommand){const d="toggle-dark-mode";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconToggleDarkModeCommand||"mdi mdi-brightness-4",titleKey:`${n}${(o==null?void 0:o.toggleDarkModeCommandKey)??"TOGGLE_DARK_MODE"}`,disabled:!1,command:d,positionOrder:54})}if(this.gridOptions.showPreHeaderPanel&&!this._addonOptions.hideTogglePreHeaderCommand){const d="toggle-preheader";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconTogglePreHeaderCommand||"mdi mdi-flip-vertical",titleKey:`${n}${(o==null?void 0:o.togglePreHeaderCommandKey)??"TOGGLE_PRE_HEADER_ROW"}`,disabled:!1,command:d,positionOrder:53})}if(this.gridOptions.enableSorting&&!this._addonOptions.hideClearAllSortingCommand){const d="clear-sorting";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearAllSortingCommand||"mdi mdi-sort-variant-off",titleKey:`${n}${(o==null?void 0:o.clearAllSortingCommandKey)??"CLEAR_ALL_SORTING"}`,disabled:!1,command:d,positionOrder:51})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportCsvCommand){const d="export-csv";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportCsvCommand||"mdi mdi-download",titleKey:`${n}${(o==null?void 0:o.exportCsvCommandKey)??"EXPORT_TO_CSV"}`,disabled:!1,command:d,positionOrder:55})}if(this.gridOptions.enableExcelExport&&!this._addonOptions.hideExportExcelCommand){const d="export-excel";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${n}${(o==null?void 0:o.exportExcelCommandKey)??"EXPORT_TO_EXCEL"}`,disabled:!1,command:d,positionOrder:56})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportTextDelimitedCommand){const d="export-text-delimited";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${n}${(o==null?void 0:o.exportTextDelimitedCommandKey)??"EXPORT_TO_TAB_DELIMITED"}`,disabled:!1,command:d,positionOrder:57})}const h=((a=this._addonOptions)==null?void 0:a.commandItems)||[];(Array.isArray(i)&&i.length>0||Array.isArray(h)&&h.length>0)&&(this._addonOptions.commandTitle=this._addonOptions.commandTitle||this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"))}return i}executeGridMenuInternalCustomCommands(e,t){var s,n,o;const i=((s=this.sharedService)==null?void 0:s.externalRegisteredResources)||[];if(t!=null&&t.command)switch(t.command){case"clear-pinning":const l=[...this.sharedService.visibleColumns],a={frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1};this.grid.setOptions(a),this.sharedService.gridOptions.frozenColumn=a.frozenColumn,this.sharedService.gridOptions.frozenRow=a.frozenRow,this.sharedService.gridOptions.frozenBottom=a.frozenBottom,this.sharedService.gridOptions.enableMouseWheelScrollHandler=a.enableMouseWheelScrollHandler,Array.isArray(l)&&this.grid.setColumns(l),this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this.pubSubService.publish("onGridMenuClearAllPinning");break;case"clear-filter":this.filterService.clearFilters(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllFilters");break;case"clear-sorting":this.sortService.clearSorting(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllSorting");break;case"export-csv":const d=i.find(g=>g.className==="TextExportService");d!=null&&d.exportToFile?d.exportToFile({delimiter:Ot.comma,format:ve.csv}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"export-excel":const c=i.find(g=>g.className==="ExcelExportService");c!=null&&c.exportToExcel?c.exportToExcel():console.error("[Slickgrid-Universal] You must register the ExcelExportService to properly use Export to Excel in the Grid Menu. Example:: this.gridOptions = { enableExcelExport: true, externalResources: [new ExcelExportService()] };");break;case"export-text-delimited":const u=i.find(g=>g.className==="TextExportService");u!=null&&u.exportToFile?u.exportToFile({delimiter:Ot.tab,format:ve.txt}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"toggle-dark-mode":const p=this.sharedService.gridOptions.darkMode;this.grid.setOptions({darkMode:!p}),this.sharedService.gridOptions.darkMode=!p;break;case"toggle-filter":let m=((n=this.gridOptions)==null?void 0:n.showHeaderRow)??!1;m=!m,this.grid.setHeaderRowVisibility(m),m===!0&&(this.grid.setColumns(this.sharedService.columnDefinitions),this.grid.scrollColumnIntoView(0));break;case"toggle-preheader":const f=((o=this.gridOptions)==null?void 0:o.showPreHeaderPanel)??!1;this.grid.setPreHeaderPanelVisibility(!f);break;case"refresh-dataset":this.extensionUtility.refreshBackendDataset();break}}getDefaultGridMenuOptions(){return{commandTitle:void 0,columnTitle:this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),forceFitTitle:this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),syncResizeTitle:this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"),iconCssClass:"mdi mdi-menu",menuWidth:18,commandItems:[],hideClearAllFiltersCommand:!1,hideRefreshDatasetCommand:!1,hideToggleFilterCommand:!1}}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this._isMenuOpen&&this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.hideMenu(e)}}handleMenuItemCommandClick(e,t,i,s=0){var n,o;if(i!=="divider"&&!i.disabled&&!i.divider)if((i.command||"")&&!i.commandItems){const a={grid:this.grid,command:i.command,item:i,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};this.executeGridMenuInternalCustomCommands(e,a),this.pubSubService.publish("onGridMenuCommand",a),typeof((n=this._addonOptions)==null?void 0:n.onCommand)=="function"&&this._addonOptions.onCommand(e,a),this.onCommand.notify(a,null,this),typeof i.action=="function"&&i.action.call(this,e,a),!((o=this._addonOptions)!=null&&o.leaveOpen)&&!e.defaultPrevented&&this.hideMenu(e),e.preventDefault(),e.stopPropagation()}else i.commandItems&&this.repositionSubMenu(e,i,s)}handleMenuItemMouseOver(e,t,i,s=0){i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems?this.repositionSubMenu(e,i,s):s===0&&this.disposeSubMenus())}recreateCommandList(e,t,i,s){const n=i.level||0;if(e.length>0){const o=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},t);if(n===0){this.populateCommandOrOptionTitle("command",this.addonOptions,o,n);const l=t.querySelector(".slick-command-header")??v("div",{className:"slick-command-header"});l.classList.add("with-close"),ra.call(this,l),o.appendChild(l)}return s&&n>0&&this.addSubMenuTitleWhenExists(s,o),this.populateCommandOrOptionItems("command",this._addonOptions,o,e,i,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),o}return null}repositionSubMenu(e,t,i){const s=(t==null?void 0:t.commandItems)||[],n=this.createCommandMenu(s,i+1,t);n.style.display="block",document.body.appendChild(n),this.repositionMenu(e,n)}}const sa="mdi-icon-picker-check",na="mdi-icon-picker-uncheck";function ra(r){const t=v("button",{type:"button",className:"close",ariaLabel:"Close",textContent:"×",dataset:{dismiss:this instanceof _r?"slick-column-picker":"slick-grid-menu"}});r.appendChild(t)}function oa(r){var t,i;const e=this;(t=e.addonOptions)!=null&&t.columnTitle&&(e._columnTitleElm=v("div",{className:"slick-menu-title",textContent:((i=e.addonOptions)==null?void 0:i.columnTitle)??e._defaults.columnTitle},r))}function la(r){var o,l;const e=this,t=e instanceof _r?"columnPicker":"gridMenu",i=(o=r.target)==null?void 0:o.closest(".icon-checkbox-container"),s=i==null?void 0:i.querySelector(".mdi"),n=!!r.target.checked;if(r.target.ariaChecked=String(n),aa(s,n),r.target.dataset.option==="autoresize"){const a=e.getVisibleColumns();e.grid.setOptions({forceFitColumns:n}),e.grid.setColumns(a);return}if(r.target.dataset.option==="syncresize"){e.grid.setOptions({syncColumnCellResize:n});return}if(r.target.type==="checkbox"){e._areVisibleColumnDifferent=!0;const a=r.target.dataset.columnid||"",h=[];if(e._columnCheckboxes.forEach((u,p)=>{u.checked&&h.push(e.columns[p])}),!h.length){r.target.checked=!0,aa(s,!0);return}if(e.grid.setColumns(h),(!e.sharedService.visibleColumns||Array.isArray(h)&&h.length!==e.sharedService.visibleColumns.length)&&(e.sharedService.visibleColumns=h),e.gridOptions.enableRowSelection&&n){const u=e.grid.getSelectedRows();e.grid.setSelectedRows(u)}const d=e.gridOptions.frozenColumn??-1;d>=0&&e.extensionUtility.readjustFrozenColumnIndexWhenNeeded(d,e.columns,h);const c={columnId:a,showing:n,allColumns:e.columns,visibleColumns:h,columns:h,grid:e.grid};e.pubSubService.publish(`on${ti(t)}ColumnsChanged`,c),typeof((l=e.addonOptions)==null?void 0:l.onColumnsChanged)=="function"&&e.addonOptions.onColumnsChanged(r,c),e.onColumnsChanged.notify(c,null,e)}}function aa(r,e=!1){r&&(r.className=`mdi ${e?sa:na}`)}function gr(r,e,t,i=!1){const s=v("label",{className:"checkbox-picker-label",htmlFor:e}),n=v("div",{className:"icon-checkbox-container"}),o=v("input",{id:e,type:"checkbox",dataset:t}),l=v("div",{className:`mdi ${i?sa:na}`}),a=v("span",{className:"checkbox-label"});return n.appendChild(o),n.appendChild(l),s.appendChild(n),s.appendChild(a),r.appendChild(s),i&&(o.ariaChecked="true",o.checked=!0),{inputElm:o,labelElm:s,labelSpanElm:a}}function ha(r){const e=this,t=e instanceof ia,i=t?"gridmenu-":"";for(const s of e.columns){const n=s.id,o=document.createElement("li");(s.excludeFromColumnPicker&&!t||s.excludeFromGridMenu&&t)&&(o.className="hidden");const l=`${e._gridUid}-${i}colpicker-${n}`,a=e.grid.getColumnIndex(n)>=0,{inputElm:h,labelElm:d,labelSpanElm:c}=gr(o,l,{columnid:`${n}`},a);e._columnCheckboxes.push(h);const p=(typeof(r==null?void 0:r.headerColumnValueExtractor)=="function"?r.headerColumnValueExtractor:e._defaults.headerColumnValueExtractor)(s,e.gridOptions);this.grid.applyHtmlCode(c,p),o.appendChild(d),e._listElm.appendChild(o)}if((!r.hideForceFitButton||!r.hideSyncResizeButton)&&e._listElm.appendChild(document.createElement("hr")),!(r!=null&&r.hideForceFitButton)){const s=document.createElement("li"),n=`${e._gridUid}-${i}colpicker-forcefit`,{labelSpanElm:o}=gr(s,n,{option:"autoresize"},e.gridOptions.forceFitColumns);o.textContent=(r==null?void 0:r.forceFitTitle)??"",e._listElm.appendChild(s)}if(!(r!=null&&r.hideSyncResizeButton)){const s=document.createElement("li"),n=`${e._gridUid}-${i}colpicker-syncresize`,{labelSpanElm:o}=gr(s,n,{option:"syncresize"},e.gridOptions.forceFitColumns);o.textContent=(r==null?void 0:r.syncResizeTitle)??"",e._listElm.appendChild(s)}}function $s(){const r=this,e=r.grid.getColumns().slice(0),t=new Array(r.columns.length);for(let i=0;i<t.length;i++)r.grid.getColumnIndex(r.columns[i].id)===void 0?t[i]=r.columns[i]:t[i]=e.shift();r._columns=t}class _r{constructor(e,t,i){var s,n;this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._areVisibleColumnDifferent=!1,this._columns=[],this._gridUid="",this._menuElm=null,this._columnCheckboxes=[],this._defaults={hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",minHeight:150,syncResizeTitle:"Synchronous resize",headerColumnValueExtractor:o=>_t(o.columnPickerLabel||o.name||"","innerHTML")},this._bindEventService=new Pe,this.onColumnsChanged=new P("onColumnsChanged"),this._eventHandler=new pe,this._columns=this.sharedService.allColumns??[],this._gridUid=((n=(s=this.grid)==null?void 0:s.getUID)==null?void 0:n.call(s))??"",this.init()}get addonOptions(){return this.gridOptions.columnPicker||{}}get eventHandler(){return this._eventHandler}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){return this.sharedService.gridOptions??{}}get grid(){return this.sharedService.slickGrid}get menuElement(){return this._menuElm}init(){this._gridUid=this.grid.getUID()??"",this.gridOptions.columnPicker={...this._defaults,...this.gridOptions.columnPicker},this.onColumnsChanged.setPubSubService(this.pubSubService),this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker"),this._eventHandler.subscribe(this.grid.onPreHeaderContextMenu,e=>{["slick-column-name","slick-header-column"].some(t=>{var i;return(i=e.target)==null?void 0:i.classList.contains(t)})&&this.handleHeaderContextMenu(e)}),this._eventHandler.subscribe(this.grid.onHeaderContextMenu,this.handleHeaderContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onColumnsReordered,$s.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.disposeMenu.bind(this)),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this),void 0,"body"),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this),void 0,"body")}dispose(){this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),this.disposeMenu()}disposeMenu(){var e,t;this._bindEventService.unbindAll("parent-menu"),(e=this._listElm)==null||e.remove(),(t=this._menuElm)==null||t.remove(),this._menuElm=null}createPickerMenu(){const e=v("div",{ariaExpanded:"true",className:`slick-column-picker ${this._gridUid}`,role:"menu"});return $s.call(this),oa.call(this,e),ra.call(this,e),this._listElm=v("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(e,"click",la.bind(this),void 0,"parent-menu"),document.body.appendChild(e),e}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}translateColumnPicker(){this.addonOptions&&(this.addonOptions.columnTitle="",this.addonOptions.forceFitTitle="",this.addonOptions.syncResizeTitle="",this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker")),this.extensionUtility.translateItems(this._columns,"nameKey","name"),this.translateTitleLabels(this.addonOptions)}handleBodyMouseDown(e){var t;(this._menuElm!==e.target&&!((t=this._menuElm)!=null&&t.contains(e.target))||e.target.className==="close"&&e.target.closest(".slick-column-picker"))&&this.disposeMenu()}handleHeaderContextMenu(e){e.preventDefault(),ee(this._menuElm),this._columnCheckboxes=[],this._menuElm=this.createPickerMenu(),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),ha.call(this,this.addonOptions),document.body.appendChild(this._menuElm),this.repositionMenu(e)}repositionMenu(e){var i;const t=((i=e==null?void 0:e.touches)==null?void 0:i[0])??e;if(this._menuElm){const s=this.grid.getGridPosition(),n=this._menuElm.clientWidth||0;let o=t.pageX||0;s!=null&&s.width&&o+n>=s.width&&(o=o-n),this._menuElm.style.top=`${t.pageY-10}px`,this._menuElm.style.left=`${o}px`,this._menuElm.style.minHeight=Pt(this.addonOptions.minHeight,""),this._menuElm.style.maxHeight=Pt(this.addonOptions.maxHeight,`${window.innerHeight-t.clientY}px`),this._menuElm.style.display="block",this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm)}}translateTitleLabels(e){e&&(e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"))}}const Ws=(r,e,t,i,s,n)=>{const o=i.params||{};if(!o.formatters||!Array.isArray(o.formatters))throw new Error(`[Slickgrid-Universal] The multiple formatter requires the "formatters" to be provided as a column params.
11
+ `}if(window.clipboardData)return window.clipboardData.setData("Text",l),!0;{const a=document.activeElement,h=this.createTextBox(l);if(h.focus(),window.setTimeout(()=>{this._bodyElement.removeChild(h),a?a.focus():console.log("No element to restore focus to after copy?")},((s=this.addonOptions)==null?void 0:s.clipboardPasteDelay)??Ql),typeof this._onCopySuccess=="function"){const d=t.length===1?t[0].toRow+1-t[0].fromRow:t.length;this._onCopySuccess(d)}return!1}}if(!this._addonOptions.readOnlyMode&&(e.key==="v"&&(e.ctrlKey||e.metaKey)&&!e.shiftKey||e.key==="Insert"&&e.shiftKey&&!e.ctrlKey)){const o=this.createTextBox("");return window.setTimeout(()=>this.decodeTabularData(this._grid,o),((n=this.addonOptions)==null?void 0:n.clipboardPasteDelay)??Ql),!1}}}markCopySelection(e){var s;this.clearCopySelection();const t=this._grid.getColumns(),i={};for(const n of e)for(let o=n.fromRow;o<=n.toRow;o++){i[o]={};for(let l=n.fromCell;l<=n.toCell&&l<t.length;l++)i[o][t[l].id]=this._copiedCellStyle}this._grid.setCellCssStyles(this._copiedCellStyleLayerKey,i),window.clearTimeout(this._clearCopyTI),this._clearCopyTI=window.setTimeout(()=>this.clearCopySelection(),((s=this.addonOptions)==null?void 0:s.clearCopySelectionDelay)||$c)}}class zs{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._addonOptions={},this._camelPluginName="",this._gridUid="",this._menuCssPrefix="",this._menuPluginCssPrefix="",this._bindEventService=new Pe,this._eventHandler=new pe}get addonOptions(){return this._addonOptions}set addonOptions(e){this._addonOptions=e}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var e;return this._gridUid||(((e=this.grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get menuCssClass(){return this._menuPluginCssPrefix||this._menuCssPrefix}get menuElement(){return this._menuElm||document.querySelector(`.${this.menuCssClass}${this.gridUidSelector}`)}dispose(){var e,t,i,s,n;(e=this._eventHandler)==null||e.unsubscribeAll(),this._bindEventService.unbindAll(),this.pubSubService.unsubscribeAll(),(t=this._commandTitleElm)==null||t.remove(),(i=this._optionTitleElm)==null||i.remove(),this.disposeAllMenus(),ee(this._menuElm),(s=this.menuElement)==null||s.remove(),(n=this._menuElm)==null||n.remove()}disposeAllMenus(){this.disposeSubMenus(),this._bindEventService.unbindAll("parent-menu"),document.querySelectorAll(`.${this.menuCssClass}${this.gridUidSelector}`).forEach(e=>e.remove())}disposeSubMenus(){this._bindEventService.unbindAll("sub-menu"),document.querySelectorAll(`.${this.menuCssClass}.slick-submenu${this.gridUidSelector}`).forEach(e=>e.remove())}setOptions(e){this._addonOptions={...this._addonOptions,...e}}addSubMenuTitleWhenExists(e,t){if(e!=="divider"&&(e!=null&&e.subMenuTitle)){const i=document.createElement("div");i.className="slick-menu-title",i.textContent=e.subMenuTitle;const s=e.subMenuTitleCssClass;s&&i.classList.add(...he(s)),t.appendChild(i)}}populateCommandOrOptionItems(e,t,i,s,n,o,l){if(n&&s&&t)for(const a of s)this.populateSingleCommandOrOptionItem(e,t,i,a,n,o,l)}populateCommandOrOptionTitle(e,t,i,s){var n;if(t){const o=s>0,l=((n=this._menuElm)==null?void 0:n.querySelector(`.slick-${e}-header`))??v("div",{className:`slick-${e}-header`}),a=`${e}Title`;o||(t!=null&&t[a]?(ee(l),this[`_${e}TitleElm`]=v("span",{className:"slick-menu-title",textContent:t[a]}),l.appendChild(this[`_${e}TitleElm`]),l.classList.add("with-title")):l.classList.add("no-title"),i.appendChild(l))}}populateSingleCommandOrOptionItem(e,t,i,s,n,o,l){var h;let a=null;if(n&&s&&t){const d=(n==null?void 0:n.level)||0,c=this._camelPluginName==="headerButtons"?"":"-item",u=`${this._menuCssPrefix}${c}`;let p=!0,m=!0;if(typeof s=="object"&&(p=this.extensionUtility.runOverrideFunctionWhenExists(s.itemVisibilityOverride,n),m=this.extensionUtility.runOverrideFunctionWhenExists(s.itemUsabilityOverride,n)),!p)return null;if(typeof s=="object"&&s.itemUsabilityOverride&&(s.disabled=!m),a=v("li",{className:u,role:"menuitem"}),typeof s=="object"&&q(s[e])&&(a.dataset[e]=s==null?void 0:s[e]),i&&i.appendChild(a),typeof s=="object"&&s.divider||s==="divider")return a.classList.add(`${u}-divider`),a;if(s.disabled&&a.classList.add(`${u}-disabled`),(s.hidden||s.showOnHover)&&a.classList.add(`${u}-hidden`),s.cssClass&&a.classList.add(...he(s.cssClass)),s.tooltip&&(a.title=s.tooltip),this._camelPluginName!=="headerButtons"){const g=v("div",{className:`${this._menuCssPrefix}-icon`});a.appendChild(g),s.iconCssClass?g.classList.add(...he(s.iconCssClass)):!s.commandItems&&!s.optionItems&&(g.textContent="◦");const _=v("span",{className:`${this._menuCssPrefix}-content`,textContent:typeof s=="object"&&s.title||""},a);s.textCssClass&&_.classList.add(...he(s.textCssClass))}const f=d>0?"sub-menu":"parent-menu";if(this._bindEventService.bind(a,"click",g=>o.call(this,g,e,s,d,n==null?void 0:n.column),void 0,f),((h=this._addonOptions)==null?void 0:h.subMenuOpenByEvent)==="mouseover"&&typeof l=="function"&&this._bindEventService.bind(a,"mouseover",g=>l.call(this,g,e,s,d,n==null?void 0:n.column),void 0,f),s.commandItems||s.optionItems){const g=document.createElement("span");g.className="sub-item-chevron",this._addonOptions.subItemChevronClass?g.classList.add(...he(this._addonOptions.subItemChevronClass)):g.textContent="⮞",a.classList.add("slick-submenu-item"),a.appendChild(g)}}return a}}class Zl extends zs{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._currentCell=-1,this._currentRow=-1,this._lastMenuTypeClicked="",this._subMenuParentId=""}createParentMenu(e){var i,s,n,o,l;(i=this.menuElement)==null||i.remove(),this._menuElm=void 0;const t=this.grid.getCellFromEvent(e);if(t){this._currentCell=t.cell??0,this._currentRow=t.row??0;const a=((s=this._addonOptions)==null?void 0:s.commandItems)||[],h=((n=this._addonOptions)==null?void 0:n.optionItems)||[],d={cell:this._currentCell,row:this._currentRow,grid:this.grid};if(this.closeMenu(e,d),typeof e.stopPropagation=="function"&&(this.pubSubService.publish(`on${ti(this._camelPluginName)}BeforeMenuShow`,d),typeof((o=this.addonOptions)==null?void 0:o.onBeforeMenuShow)=="function"&&this.addonOptions.onBeforeMenuShow(e,d)===!1)||(this._menuElm=this.createMenu(a,h),this._menuElm&&(this._menuElm.style.top=`${(e.pageY||0)+5}px`,this._menuElm.style.left=`${e.pageX}px`,this._menuElm.style.display="block",document.body.appendChild(this._menuElm)),this.pubSubService.publish(`on${ti(this._camelPluginName)}AfterMenuShow`,d),typeof((l=this.addonOptions)==null?void 0:l.onAfterMenuShow)=="function"&&this.addonOptions.onAfterMenuShow(e,d)===!1))return}return this._menuElm}createMenu(e,t,i=0,s){var _,C,b,S,E;const n=this.grid.getColumns()[this._currentCell],o=this.grid.getDataItem(this._currentRow),l=(s==null?void 0:s.command)||(s==null?void 0:s.option);let a=i===1&&l?String(l).replace(/\s/g,""):"";a&&(this._subMenuParentId=a),i>1&&(a=this._subMenuParentId);let h=!0,d=!0;if(this._camelPluginName==="contextMenu"){if(h=this.checkIsColumnAllowed(((_=this._addonOptions)==null?void 0:_.optionShownOverColumnIds)??[],n.id),d=this.checkIsColumnAllowed(((C=this._addonOptions)==null?void 0:C.commandShownOverColumnIds)??[],n.id),!n||(!d||!e.length)&&(!h||!t.length)){this.hideMenu();return}}else if(!n||!n.cellMenu||!e.length&&!t.length)return;const c=`${this.menuCssClass} slick-menu-level-${i} ${this.gridUid}`,u=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${i}${this.gridUidSelector}`);if(u){if(u.dataset.subMenuParent===a)return u;this.disposeSubMenus()}const p=document.createElement("div");p.className=c,i>0&&(p.classList.add("slick-submenu"),(b=this.gridOptions)!=null&&b.darkMode&&p.classList.add("slick-dark-mode"),a&&(p.dataset.subMenuParent=a));const m=isNaN(this.addonOptions.maxHeight)?this.addonOptions.maxHeight:`${this.addonOptions.maxHeight??0}px`,f=isNaN(this.addonOptions.maxWidth)?this.addonOptions.maxWidth:`${this.addonOptions.maxWidth??0}px`;m&&(p.style.maxHeight=m),f&&(p.style.maxWidth=f),(S=this.addonOptions)!=null&&S.width&&(p.style.width=Pt((E=this.addonOptions)==null?void 0:E.width));const g=v("button",{ariaLabel:"Close",className:"close",type:"button",textContent:"×",dataset:{dismiss:this._menuCssPrefix}});if(!this.addonOptions.hideOptionSection&&h&&t.length>0){const y=v("div",{className:`${this._menuCssPrefix}-option-list`,role:"menu"},p);this.populateCommandOrOptionTitle("option",this.addonOptions,y,i),!this.addonOptions.hideCloseButton&&i<1&&this.populateCommandOrOptionCloseBtn("option",g,y),s&&i>0&&this.addSubMenuTitleWhenExists(s,y),this.populateCommandOrOptionItems("option",this.addonOptions,y,t,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:o,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}if(!this.addonOptions.hideCommandSection&&d&&e.length>0){const y=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},p);this.populateCommandOrOptionTitle("command",this.addonOptions,y,i),!this.addonOptions.hideCloseButton&&i<1&&(!h||t.length===0||this.addonOptions.hideOptionSection)&&this.populateCommandOrOptionCloseBtn("command",g,y),s&&i>0&&this.addSubMenuTitleWhenExists(s,y),this.populateCommandOrOptionItems("command",this.addonOptions,y,e,{cell:this._currentCell,row:this._currentRow,column:n,dataContext:o,grid:this.grid,level:i},this.handleMenuItemCommandClick,this.handleMenuItemMouseOver)}return i++,p}closeMenu(e,t){var i;if(this.menuElement){if(typeof((i=this.addonOptions)==null?void 0:i.onBeforeMenuClose)=="function"&&this.addonOptions.onBeforeMenuClose(e,t)===!1)return;this.hideMenu()}}hideMenu(){var e;(e=this.menuElement)==null||e.remove(),this._menuElm=null,this.disposeSubMenus()}checkIsColumnAllowed(e,t){return(e==null?void 0:e.length)>0?e.findIndex(i=>i===t)>=0:!0}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.closeMenu(e,{cell:this._currentCell,row:this._currentRow,grid:this.grid})}}handleCloseButtonClicked(e){e.defaultPrevented||this.closeMenu(e,{cell:0,row:0,grid:this.grid})}handleMenuItemMouseOver(e,t,i,s=0){(i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems||i.optionItems?(this.repositionSubMenu(i,t,s,e),this._lastMenuTypeClicked=t):s===0&&this.disposeSubMenus())}handleMenuItemCommandClick(e,t,i,s=0){var n;if((i==null?void 0:i[t])!==void 0&&i!=="divider"&&!i.disabled&&!i.divider&&this._currentCell!==void 0&&this._currentRow!==void 0){if(t==="option"&&!this.grid.getEditorLock().commitCurrentEdit())return;const o=this._currentCell,l=this._currentRow,a=this.grid.getColumns()[this._currentCell],h=this.grid.getDataItem(this._currentRow),d=i[t]!==void 0?i[t]:"";if(d!==void 0&&!i[`${t}Items`]){const c={cell:this._currentCell,row:this._currentRow,grid:this.grid,[t]:d,item:i,column:a,dataContext:h},u=t==="command"?"onCommand":"onOptionSelected",p=`${this._camelPluginName}:${u}`;this.pubSubService.publish(p,c),typeof((n=this._addonOptions)==null?void 0:n[u])=="function"&&this._addonOptions[u](e,c),typeof i.action=="function"&&i.action.call(this,e,c),e.defaultPrevented||this.closeMenu(e,{cell:o,row:l,grid:this.grid})}else(i.commandItems||i.optionItems)&&this.repositionSubMenu(i,t,s,e);this._lastMenuTypeClicked=t}}populateCommandOrOptionCloseBtn(e,t,i){this._bindEventService.bind(t,"click",n=>this.handleCloseButtonClicked(n),void 0,"parent-menu");const s=i.querySelector(`.slick-${e}-header`)??v("div",{className:`slick-${e}-header`});s==null||s.appendChild(t),i.appendChild(s),s.classList.add("with-close")}repositionSubMenu(e,t,i,s){(s.target.classList.contains("slick-cell")||this._lastMenuTypeClicked!==t)&&this.disposeSubMenus();const n=this.createMenu((e==null?void 0:e.commandItems)||[],(e==null?void 0:e.optionItems)||[],i+1,e);n&&(n.style.display="block",document.body.appendChild(n),this.repositionMenu(s,n))}repositionMenu(e,t){var n;const i=t==null?void 0:t.classList.contains("slick-submenu"),s=i?e.target.closest(`.${this._menuCssPrefix}-item`):e.target.closest(".slick-cell");if(t&&s){t.style.top="0px",t.style.left="0px";const o=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,l=ge(s);let a=s&&this._camelPluginName==="cellMenu"?l.left:o.pageX,h=s&&this._camelPluginName==="cellMenu"?l.top:o.pageY;i&&this._camelPluginName==="contextMenu"&&(a=l.left,h=l.top);const d=s.offsetWidth||0,c=(t==null?void 0:t.offsetHeight)||0,u=(t==null?void 0:t.offsetWidth)||this._addonOptions.width||0,p=this.gridOptions.rowHeight||0,m=Number(this._addonOptions.autoAdjustDropOffset||0),f=Number(this._addonOptions.autoAlignSideOffset||0);if(this._addonOptions.autoAdjustDrop||this._addonOptions.dropDirection){const{bottom:g,top:_}=Vi(s),C=g+m-p,b=_-m+p;(C<c&&b>C?"top":"bottom")==="top"||this._addonOptions.dropDirection==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),i?h-=c-m-s.clientHeight:h-=c-m):(t.classList.remove("dropup"),t.classList.add("dropdown"),h=h+m,this._camelPluginName==="cellMenu"&&(i?h+=m:h+=p+m))}if(this._addonOptions.autoAlignSide||this._addonOptions.dropSide==="left"){const g=this.grid.getGridPosition();let _=a+Number(u);i&&(_+=s.clientWidth);const C=document.documentElement.clientWidth;(_>=g.width||_>=C?"left":"right")==="left"||!i&&this._addonOptions.dropSide==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),this._camelPluginName==="cellMenu"&&!i?a-=Number(u)-d-f:a-=Number(u)-f):(t.classList.remove("dropleft"),t.classList.add("dropright"),i?a+=f+s.offsetWidth:a+=f)}t.style.top=`${h}px`,t.style.left=`${a}px`}}}class Gc extends Zl{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.pluginName="CellMenu",this._defaults={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!0,subMenuOpenByEvent:"mouseover"},this._camelPluginName="cellMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-cell-menu",this.init(i.gridOptions.cellMenu)}init(e){this._addonOptions={...this._defaults,...e},this.sortMenuItems(this.sharedService.allColumns),this._eventHandler.subscribe(this.grid.onClick,this.handleCellClick.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateCellMenu(){var i;const e=(i=this.sharedService)==null?void 0:i.gridOptions,t=this.sharedService.allColumns;e!=null&&e.enableTranslate&&Array.isArray(t)&&t.forEach(s=>{if(s!=null&&s.cellMenu&&(Array.isArray(s.cellMenu.commandItems)||Array.isArray(s.cellMenu.optionItems))){const n=s.cellMenu.commandItems||[],o=s.cellMenu.optionItems||[];s.cellMenu.commandTitleKey&&(s.cellMenu.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.commandTitleKey,"TEXT_COMMANDS")||s.cellMenu.commandTitle),s.cellMenu.optionTitleKey&&(s.cellMenu.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(s.cellMenu.optionTitleKey,"TEXT_COMMANDS")||s.cellMenu.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(n,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(o,"optionItems")}})}handleCellClick(e,t){var s;this.disposeAllMenus();const i=this.grid.getCellFromEvent(e);if(i){const n=this.grid.getDataItem(i.row),o=this.grid.getColumns()[i.cell];o!=null&&o.cellMenu&&!((s=this.gridOptions.cellMenu)!=null&&s.activateCellOnMenuClick)&&e.preventDefault(),this._addonOptions={...this._addonOptions,...o.cellMenu};const l=t||{};if(l.column=o,l.dataContext=n,l.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,l))return;this._menuElm=this.createParentMenu(e),this._menuElm&&(this.repositionMenu(e,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block",this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode")),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}sortMenuItems(e){e.forEach(t=>{var i,s;(i=t==null?void 0:t.cellMenu)!=null&&i.commandItems&&this.extensionUtility.sortItems(t.cellMenu.commandItems||[],"positionOrder"),(s=t==null?void 0:t.cellMenu)!=null&&s.optionItems&&this.extensionUtility.sortItems(t.cellMenu.optionItems||[],"positionOrder")})}}class Uc{constructor(e,t){this.grid=e,this.pluginName="CellRangeDecorator",this._defaults={selectionCssClass:"slick-range-decorator",selectionCss:{border:"2px dashed red",zIndex:"9999"},offset:{top:-1,left:-1,height:-2,width:-2}},this._options=Zt(this._defaults,t)}get addonOptions(){return this._options}get addonElement(){return this._elem}destroy(){this.hide()}init(){}hide(){var e;(e=this._elem)==null||e.remove(),this._elem=null}show(e){var s,n;this._elem||(this._elem=v("div",{className:this._options.selectionCssClass}),Object.keys(this._options.selectionCss).forEach(o=>{this._elem.style[o]=this._options.selectionCss[o]}),this._elem.style.position="absolute",(s=this.grid.getActiveCanvasNode())==null||s.appendChild(this._elem));const t=this.grid.getCellNodeBox(e.fromRow,e.fromCell),i=this.grid.getCellNodeBox(e.toRow,e.toCell);return t&&i&&((n=this._options)!=null&&n.offset)&&(this._elem.style.top=`${t.top+this._options.offset.top}px`,this._elem.style.left=`${t.left+this._options.offset.left}px`,this._elem.style.height=`${i.bottom-t.top+this._options.offset.height}px`,this._elem.style.width=`${i.right-t.left+this._options.offset.width}px`),this._elem}}class mr{constructor(e){this.pluginName="CellRangeSelector",this._currentlySelectedRange=null,this._canvas=null,this._dragging=!1,this._gridUid="",this._columnOffset=0,this._rowOffset=0,this._isRightCanvas=!1,this._isBottomCanvas=!1,this._xDelayForNextCell=0,this._yDelayForNextCell=0,this._viewportHeight=0,this._viewportWidth=0,this._isRowMoveRegistered=!1,this._scrollLeft=0,this._scrollTop=0,this._defaults={autoScroll:!0,minIntervalToShowNextCell:30,maxIntervalToShowNextCell:600,accelerateInterval:5,selectionCss:{border:"2px dashed blue"}},this.onBeforeCellRangeSelected=new P("onBeforeCellRangeSelected"),this.onCellRangeSelecting=new P("onCellRangeSelecting"),this.onCellRangeSelected=new P("onCellRangeSelected"),this._eventHandler=new pe,this._options=Zt(this._defaults,e)}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridUid(){var e;return this._gridUid||(((e=this._grid)==null?void 0:e.getUID())??"")}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}init(e){this._grid=e,this._decorator=this._options.cellDecorator||new Uc(e,this._options),this._canvas=e.getCanvasNode(),this._gridOptions=e.getOptions(),this._gridUid=e.getUID();const t=e.getPubSubService();t&&T.addSlickEventPubSubWhenDefined(t,this),this._eventHandler.subscribe(this._grid.onDrag,this.handleDrag.bind(this)).subscribe(this._grid.onDragInit,this.handleDragInit.bind(this)).subscribe(this._grid.onDragStart,this.handleDragStart.bind(this)).subscribe(this._grid.onDragEnd,this.handleDragEnd.bind(this)).subscribe(this._grid.onScroll,this.handleScroll.bind(this))}destroy(){this.dispose()}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),ee(this._activeCanvas),ee(this._canvas),(t=this._decorator)==null||t.destroy(),this.stopIntervalTimer()}getCellDecorator(){return this._decorator}getCurrentRange(){return this._currentlySelectedRange}getMouseOffsetViewport(e,t){var m;const i=((m=e==null?void 0:e.touches)==null?void 0:m[0])??e,s=this._activeViewport.scrollLeft,n=this._activeViewport.scrollTop,o=s+this._viewportWidth,l=n+this._viewportHeight,a=ge(this._activeViewport),h=a.left,d=a.top,c=h+this._viewportWidth,u=d+this._viewportHeight,p={e,dd:t,viewport:{left:s,top:n,right:o,bottom:l,offset:{left:h,top:d,right:c,bottom:u}},offset:{x:0,y:0},isOutsideViewport:!1};return i.pageX<h?p.offset.x=i.pageX-h:i.pageX>c&&(p.offset.x=i.pageX-c),i.pageY<d?p.offset.y=d-i.pageY:i.pageY>u&&(p.offset.y=u-i.pageY),p.isOutsideViewport=!!p.offset.x||!!p.offset.y,p}stopIntervalTimer(){this._autoScrollTimerId&&(window.clearInterval(this._autoScrollTimerId),this._autoScrollTimerId=void 0)}handleDrag(e,t){if(!this._dragging&&!this._gridOptions.enableRowMoveManager)return;this._gridOptions.enableRowMoveManager||e.stopImmediatePropagation();const i=e.getNativeEvent();if(this.addonOptions.autoScroll&&(this._draggingMouseOffset=this.getMouseOffsetViewport(i,t),this._draggingMouseOffset.isOutsideViewport))return this.handleDragOutsideViewport();this.stopIntervalTimer(),this.handleDragTo(i,t)}handleDragOutsideViewport(){if(this._xDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.x)*this.addonOptions.accelerateInterval,this._yDelayForNextCell=this.addonOptions.maxIntervalToShowNextCell-Math.abs(this._draggingMouseOffset.offset.y)*this.addonOptions.accelerateInterval,!this._autoScrollTimerId){let e=0,t=0;this._autoScrollTimerId=window.setInterval(()=>{let i=!1,s=!1;this._draggingMouseOffset.offset.x?(e+=this.addonOptions.minIntervalToShowNextCell,i=e>=this._xDelayForNextCell):e=0,this._draggingMouseOffset.offset.y?(t+=this.addonOptions.minIntervalToShowNextCell,s=t>=this._yDelayForNextCell):t=0,(i||s)&&(i&&(e=0),s&&(t=0),this.handleDragToNewPosition(i,s))},this.addonOptions.minIntervalToShowNextCell)}}handleDragToNewPosition(e,t){let i=this._draggingMouseOffset.e.pageX,s=this._draggingMouseOffset.e.pageY;const n=this._draggingMouseOffset.offset.x,o=this._draggingMouseOffset.offset.y,l=this._draggingMouseOffset.viewport.offset;e&&n&&(n>0?i=l.right+this._moveDistanceForOneCell.x:i=l.left-this._moveDistanceForOneCell.x),t&&o&&(o>0?s=l.top-this._moveDistanceForOneCell.y:s=l.bottom+this._moveDistanceForOneCell.y),this.handleDragTo({pageX:i,pageY:s},this._draggingMouseOffset.dd)}handleDragTo(e,t){var n;const i=((n=e==null?void 0:e.touches)==null?void 0:n[0])??e,s=this._grid.getCellFromPoint(i.pageX-ge(this._activeCanvas).left+this._columnOffset,i.pageY-ge(this._activeCanvas).top+this._rowOffset);if(s!==void 0){if(this._gridOptions.frozenColumn>=0&&(!this._isRightCanvas&&s.cell>this._gridOptions.frozenColumn||this._isRightCanvas&&s.cell<=this._gridOptions.frozenColumn)||this._gridOptions.frozenRow>=0&&(!this._isBottomCanvas&&s.row>=this._gridOptions.frozenRow||this._isBottomCanvas&&s.row<this._gridOptions.frozenRow))return;if(this.addonOptions.autoScroll&&this._draggingMouseOffset){const o=this._grid.getCellNodeBox(s.row,s.cell);if(o){const l=this._draggingMouseOffset.viewport;(o.left<l.left||o.right>l.right||o.top<l.top||o.bottom>l.bottom)&&this._grid.scrollCellIntoView(s.row,s.cell)}}if(!this._grid.canCellBeSelected(s.row,s.cell))return;if(t!=null&&t.range){t.range.end=s;const o=new tt(t.range.start.row??0,t.range.start.cell??0,s.row,s.cell);this._decorator.show(o),this.onCellRangeSelecting.notify({range:o})}}}handleDragEnd(e,t){this._decorator.hide(),this._dragging&&(this._dragging=!1,e.stopImmediatePropagation(),this.stopIntervalTimer(),this.onCellRangeSelected.notify({range:new tt(t.range.start.row??0,t.range.start.cell??0,t.range.end.row,t.range.end.cell)}))}handleDragInit(e){var n,o;this._activeCanvas=this._grid.getActiveCanvasNode(e),this._activeViewport=this._grid.getActiveViewportNode(e);const t=this._grid.getDisplayedScrollbarDimensions();if(this._viewportWidth=this._activeViewport.offsetWidth-t.width,this._viewportHeight=this._activeViewport.offsetHeight-t.height,this._moveDistanceForOneCell={x:this._grid.getAbsoluteColumnMinWidth()/2,y:this._gridOptions.rowHeight/2},this._rowOffset=0,this._columnOffset=0,this._isBottomCanvas=this._activeCanvas.classList.contains("grid-canvas-bottom"),this._gridOptions.frozenRow>-1&&this._isBottomCanvas){const l=`${this.gridUidSelector} .grid-canvas-${this._gridOptions.frozenBottom?"bottom":"top"}`;this._rowOffset=((n=document.querySelector(l))==null?void 0:n.clientHeight)??0}this._isRightCanvas=this._activeCanvas.classList.contains("grid-canvas-right"),this._gridOptions.frozenColumn>-1&&this._isRightCanvas&&(this._columnOffset=((o=document.querySelector(`${this.gridUidSelector} .grid-canvas-left`))==null?void 0:o.clientWidth)??0);const i=this._grid.getCellFromEvent(e),s=this._grid.getActiveCell();(!this._grid.getEditorLock().isActive()||!(s&&i&&s.row===i.row&&s.cell===i.cell))&&(e.stopImmediatePropagation(),e.preventDefault())}handleDragStart(e,t){const i=this._grid.getCellFromEvent(e);if(i&&this.onBeforeCellRangeSelected.notify(i).getReturnValue()!==!1&&this._grid.canCellBeSelected(i.row,i.cell)&&(this._dragging=!0,e.stopImmediatePropagation()),!this._dragging)return;this._grid.focus();const s=ge(this._canvas);let n=t.startX-s.left;this._gridOptions.frozenColumn>=0&&this._isRightCanvas&&(n+=this._scrollLeft);let o=t.startY-s.top;this._gridOptions.frozenRow>=0&&this._isBottomCanvas&&(o+=this._scrollTop);const l=this._grid.getCellFromPoint(n,o);return t.range={start:l,end:{}},this._currentlySelectedRange=t.range,this._decorator.show(new tt(l.row,l.cell))}handleScroll(e,t){this._scrollTop=t.scrollTop,this._scrollLeft=t.scrollLeft}}class jc{constructor(e){this.pluginName="CellSelectionModel",this._cachedPageRowCount=0,this._prevKeyDown="",this._ranges=[],this._defaults={selectActiveCell:!0},this.onSelectedRangesChanged=new P("onSelectedRangesChanged"),this._eventHandler=new pe,this._selector=e===void 0||e.cellRangeSelector===void 0?new mr({selectionCss:{border:"2px solid black"}}):e.cellRangeSelector,this._addonOptions=e}get addonOptions(){return this._addonOptions}get cellRangeSelector(){return this._selector}get eventHandler(){return this._eventHandler}init(e){this._grid=e,(this._addonOptions===void 0||this._addonOptions.cellRangeSelector===void 0)&&(this._selector=new mr({selectionCss:{border:`2px solid ${this._grid.getOptions().darkMode?"white":"black"}`}})),e.hasDataView()&&(this._dataView=e.getData()),this._addonOptions={...this._defaults,...this._addonOptions};const t=e.getPubSubService();t&&this.onSelectedRangesChanged.setPubSubService(t),this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)).subscribe(this._selector.onBeforeCellRangeSelected,this.handleBeforeCellRangeSelected.bind(this)).subscribe(this._selector.onCellRangeSelected,this.handleCellRangeSelected.bind(this)),e.registerPlugin(this._selector)}destroy(){this.dispose()}dispose(){var e,t;this._selector&&(this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this))),this._eventHandler.unsubscribeAll(),(e=this._grid)==null||e.unregisterPlugin(this._selector),(t=this._selector)==null||t.dispose()}getSelectedRanges(){return this._ranges}rangesAreEqual(e,t){let i=e.length!==t.length;if(!i){for(let s=0;s<e.length;s++)if(e[s].fromCell!==t[s].fromCell||e[s].fromRow!==t[s].fromRow||e[s].toCell!==t[s].toCell||e[s].toRow!==t[s].toRow){i=!0;break}}return!i}refreshSelections(){this.setSelectedRanges(this.getSelectedRanges())}removeInvalidRanges(e){const t=[];for(let i=0;i<e.length;i++){const s=e[i];this._grid.canCellBeSelected(s.fromRow,s.fromCell)&&this._grid.canCellBeSelected(s.toRow,s.toCell)&&t.push(s)}return t}resetPageRowCount(){this._cachedPageRowCount=0}setSelectedRanges(e,t="SlickCellSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;const i=!this.rangesAreEqual(this._ranges,e);if(this._ranges=this.removeInvalidRanges(e),i){const s=new le(new CustomEvent("click",{detail:{caller:t}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,s)}}handleActiveCellChange(e,t){var n,o;this._prevSelectedRow=void 0;const i=q(t.cell),s=q(t.row);(n=this._addonOptions)!=null&&n.selectActiveCell&&s&&i?this.setSelectedRanges([new tt(t.row,t.cell)]):(!((o=this._addonOptions)!=null&&o.selectActiveCell)||!s&&!i)&&this.setSelectedRanges([])}handleBeforeCellRangeSelected(e){const t=this._grid.getCellFromEvent(e),i=this._grid.getActiveCell();if(this._grid.getEditorLock().isActive()&&i&&t&&i.row===t.row&&i.cell===t.cell)return e.stopPropagation(),!1}handleCellRangeSelected(e,t){this._grid.setActiveCell(t.range.fromRow,t.range.fromCell,!1,!1,!0),this.setSelectedRanges([t.range])}isKeyAllowed(e,t){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","PageDown","PageUp","Home","End",...t?[]:["a","A"]].some(i=>i===e)}handleKeyDown(e){var l,a;let t,i;const s=this._grid.getColumns().length,n=this._grid.getActiveCell();let o=0;if(this._dataView&&"getPagingInfo"in this._dataView?o=((l=this._dataView)==null?void 0:l.getPagingInfo().pageSize)||this._dataView.getLength():o=this._grid.getDataLength(),n&&(e.shiftKey||e.ctrlKey)&&!e.altKey&&this.isKeyAllowed(e.key,e.shiftKey)&&(t=this.getSelectedRanges().slice(),t.length||t.push(new tt(n.row,n.cell)),i=t.pop(),typeof(i==null?void 0:i.contains)=="function")){i.contains(n.row,n.cell)||(i=new tt(n.row,n.cell));let h=i.toRow-i.fromRow,d=i.toCell-i.fromCell,c,u=0;e.ctrlKey&&((a=e.key)==null?void 0:a.toLowerCase())==="a"&&(this._grid.setActiveCell(0,0,!1,!1,!0),n.row=0,n.cell=0,c=s-1,u=o-1);const p=n.row===i.fromRow?1:-1,m=n.cell===i.fromCell?1:-1,f=e.key.startsWith("Arrow");f&&!e.ctrlKey?(e.key==="ArrowLeft"?d-=m:e.key==="ArrowRight"?d+=m:e.key==="ArrowUp"?h-=p:e.key==="ArrowDown"&&(h+=p),u=n.row+p*h):(this._cachedPageRowCount<1&&(this._cachedPageRowCount=this._grid.getViewportRowCount()),this._prevSelectedRow===void 0&&(this._prevSelectedRow=n.row),!e.ctrlKey&&e.shiftKey&&e.key==="Home"||e.ctrlKey&&e.shiftKey&&e.key==="ArrowLeft"?(c=0,u=n.row):!e.ctrlKey&&e.shiftKey&&e.key==="End"||e.ctrlKey&&e.shiftKey&&e.key==="ArrowRight"?(c=s-1,u=n.row):e.ctrlKey&&e.shiftKey&&e.key==="ArrowUp"?u=0:e.ctrlKey&&e.shiftKey&&e.key==="ArrowDown"?u=o-1:e.ctrlKey&&e.shiftKey&&e.key==="Home"?(c=0,u=0):e.ctrlKey&&e.shiftKey&&e.key==="End"?(c=s-1,u=o-1):e.key==="PageUp"?(this._prevSelectedRow>=0&&(u=this._prevSelectedRow-this._cachedPageRowCount),u<0&&(u=0)):e.key==="PageDown"&&(this._prevSelectedRow<=o-1&&(u=this._prevSelectedRow+this._cachedPageRowCount),u>o-1&&(u=o-1)),this._prevSelectedRow=u),c??(c=n.cell+m*d);const g=new tt(n.row,n.cell,u,c);if(this.removeInvalidRanges([g]).length){t.push(g);const _=p>0?g.toRow:g.fromRow,C=m>0?g.toCell:g.fromCell;f?(this._grid.scrollRowIntoView(_),this._grid.scrollCellIntoView(_,C,!1)):(this._grid.scrollRowIntoView(u),this._grid.scrollCellIntoView(u,C,!1))}else t.push(i);this.setSelectedRanges(t),e.preventDefault(),e.stopPropagation(),this._prevKeyDown=e.key}}}class fr{constructor(e){this.pluginName="RowSelectionModel",this._inHandler=!1,this._ranges=[],this._defaults={autoScrollWhenDrag:!0,cellRangeSelector:void 0,dragToSelect:!1,selectActiveRow:!0},this.onSelectedRangesChanged=new P("onSelectedRangesChanged"),this._eventHandler=new pe,this._options={...this._defaults,...e}}get addonOptions(){return this._options}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return(e=this._grid)==null?void 0:e.getOptions()}init(e){this._grid=e,this._options={...this._defaults,...this._options},this._selector=this.addonOptions.cellRangeSelector;const t=e.getPubSubService();t&&this.onSelectedRangesChanged.setPubSubService(t),!this._selector&&this._options.dragToSelect&&(this._selector=new mr({selectionCss:{border:"none"},autoScroll:this._options.autoScrollWhenDrag}),this.addonOptions.cellRangeSelector=this._selector),this._eventHandler.subscribe(this._grid.onActiveCellChanged,this.handleActiveCellChange.bind(this)).subscribe(this._grid.onClick,this.handleClick.bind(this)).subscribe(this._grid.onKeyDown,this.handleKeyDown.bind(this)),this._selector&&(this._grid.registerPlugin(this._selector),this._selector.onCellRangeSelecting.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.subscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.subscribe(this.handleBeforeCellRangeSelected.bind(this)))}destroy(){this.dispose()}dispose(){this._eventHandler.unsubscribeAll(),this.disposeSelector()}disposeSelector(){var e,t;this._selector&&(this._selector.onCellRangeSelecting.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onCellRangeSelected.unsubscribe(this.handleCellRangeSelected.bind(this)),this._selector.onBeforeCellRangeSelected.unsubscribe(this.handleBeforeCellRangeSelected.bind(this)),this._grid.unregisterPlugin(this._selector),(e=this._selector)==null||e.destroy(),(t=this._selector)==null||t.dispose())}getCellRangeSelector(){return this._selector}getSelectedRanges(){return this._ranges}getSelectedRows(){return this.rangesToRows(this._ranges)}refreshSelections(){this.setSelectedRows(this.getSelectedRows())}setSelectedRows(e){this.setSelectedRanges(this.rowsToRanges(e),"SlickRowSelectionModel.setSelectedRows")}setSelectedRanges(e,t="SlickRowSelectionModel.setSelectedRanges"){if((!this._ranges||this._ranges.length===0)&&(!e||e.length===0))return;this._ranges=e;const i=new le(new CustomEvent("click",{detail:{caller:t}}),this._ranges);this.onSelectedRangesChanged.notify(this._ranges,i)}getRowsRange(e,t){let i;const s=[];for(i=e;i<=t;i++)s.push(i);for(i=t;i<e;i++)s.push(i);return s}handleBeforeCellRangeSelected(e,t){let i=!1;if(this.gridOptions.enableRowMoveManager&&(i=this.isHandlerColumn(t.cell)??!1),this._grid.getEditorLock().isActive()||i)return e.stopPropagation(),!1;this._grid.setActiveCell(t.row,t.cell)}handleCellRangeSelected(e,t){if(!this.gridOptions.multiSelect||!this.addonOptions.selectActiveRow)return!1;this.setSelectedRanges([new tt(t.range.fromRow,0,t.range.toRow,this._grid.getColumns().length-1)])}handleActiveCellChange(e,t){this._options.selectActiveRow&&t.row!==null&&this.setSelectedRanges([new tt(t.row,0,t.row,this._grid.getColumns().length-1)])}handleClick(e){const t=this._grid.getCellFromEvent(e);if(!t||!this._grid.canCellBeActive(t.row,t.cell)||!this.gridOptions.multiSelect||!e.ctrlKey&&!e.shiftKey&&!e.metaKey)return!1;let i=this.rangesToRows(this._ranges);const s=i.indexOf(t.row);if(s===-1&&(e.ctrlKey||e.metaKey))i.push(t.row),this._grid.setActiveCell(t.row,t.cell);else if(s!==-1&&(e.ctrlKey||e.metaKey))i=i.filter(o=>o!==t.row),this._grid.setActiveCell(t.row,t.cell);else if(i.length&&e.shiftKey){const o=i.pop(),l=Math.min(t.row,o),a=Math.max(t.row,o);i=[];for(let h=l;h<=a;h++)h!==o&&i.push(h);i.push(o),this._grid.setActiveCell(t.row,t.cell)}const n=this.rowsToRanges(i);return this.setSelectedRanges(n),e.stopImmediatePropagation(),!0}handleKeyDown(e){const t=this._grid.getActiveCell();if(this.gridOptions.multiSelect&&t&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.key==="ArrowUp"||e.key==="ArrowDown")){let i=this.getSelectedRows();i.sort((l,a)=>l-a),i.length||(i=[t.row]);let s,n=i[0],o=i[i.length-1];if(e.key==="ArrowDown"?s=t.row<o||n===o?++o:++n:s=t.row<o?--o:--n,s>=0&&s<this._grid.getDataLength()){this._grid.scrollRowIntoView(s);const l=this.rowsToRanges(this.getRowsRange(n,o));this.setSelectedRanges(l)}e.preventDefault(),e.stopPropagation()}}isHandlerColumn(e){const i=this._grid.getColumns()[e].behavior||"";return/move|selectAndMove/.test(i)}rangesToRows(e){const t=[];for(let i=0;i<e.length;i++)for(let s=e[i].fromRow;s<=e[i].toRow;s++)t.push(s);return t}rowsToRanges(e){const t=[],i=this._grid.getColumns().length-1;return e.forEach(s=>t.push(new tt(s,0,s,i))),t}}const Jl="mdi-icon-check",ea="mdi-icon-uncheck";class ta{constructor(e,t){this.pubSubService=e,this.pluginName="CheckboxSelectColumn",this._defaults={columnId:"_checkbox_selector",cssClass:null,field:"_checkbox_selector",hideSelectAllCheckbox:!1,name:"",toolTip:"Select/Deselect All",width:30,reorderable:!1,applySelectOnAllPages:!0,hideInColumnTitleRow:!1,hideInFilterHeaderRow:!0},this._addonOptions=this._defaults,this._checkboxColumnCellIndex=null,this._isSelectAllChecked=!1,this._isUsingDataView=!1,this._selectedRowsLookup={},this._selectAll_UID=this.createUID(),this._bindEventService=new Pe,this._eventHandler=new pe,this._addonOptions={...this._defaults,...t}}get addonOptions(){return this._addonOptions}get headerRowNode(){return this._headerRowNode}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get selectAllUid(){return this._selectAll_UID}set selectedRowsLookup(e){this._selectedRowsLookup=e}init(e){this._grid=e,this._isUsingDataView=!Array.isArray(e.getData()),this._isUsingDataView&&(this._dataView=e.getData()),this.gridOptions.backendServiceApi&&(this._addonOptions.applySelectOnAllPages=!1),this._eventHandler.subscribe(e.onSelectedRowsChanged,this.handleSelectedRowsChanged.bind(this)).subscribe(e.onClick,this.handleClick.bind(this)).subscribe(e.onKeyDown,this.handleKeyDown.bind(this)).subscribe(e.onAfterSetColumns,this.handleDataViewSelectedIdsChanged.bind(this)),this._isUsingDataView&&this._dataView&&this._addonOptions.applySelectOnAllPages&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,this.handleDataViewSelectedIdsChanged.bind(this)).subscribe(this._dataView.onPagingInfoChanged,this.handleDataViewSelectedIdsChanged.bind(this)),this._addonOptions.hideInFilterHeaderRow||this.addCheckboxToFilterHeaderRow(e),this._addonOptions.hideInColumnTitleRow||this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this)),(!this._rowSelectionModel||!this._grid.getSelectionModel())&&(this._rowSelectionModel=new fr(this.gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionModel)),this.gridOptions.preselectedRows&&this._rowSelectionModel&&this._grid.getSelectionModel()&&window.setTimeout(()=>this.selectRows(this.gridOptions.preselectedRows||[])),typeof this._addonOptions.selectableOverride=="function"&&this.selectableOverride(this._addonOptions.selectableOverride)}dispose(){this._bindEventService.unbindAll(),this._eventHandler.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.checkboxSelector},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=((i=t==null?void 0:t.checkboxSelector)==null?void 0:i.columnIndexPosition)??0;n>0?e.splice(n,0,s):e.unshift(s),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getOptions(){return this._addonOptions}setOptions(e){var t;if(this._addonOptions={...this._addonOptions,...e},this._addonOptions.hideSelectAllCheckbox)this.hideSelectAllFromColumnHeaderTitleRow(),this.hideSelectAllFromColumnHeaderFilterRow();else if(this._addonOptions.hideInColumnTitleRow?(this.hideSelectAllFromColumnHeaderTitleRow(),this._addonOptions.name&&this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name,"")):(this.renderSelectAllCheckbox(this._isSelectAllChecked),this._eventHandler.subscribe(this._grid.onHeaderClick,this.handleHeaderClick.bind(this))),this._addonOptions.hideInFilterHeaderRow)this.hideSelectAllFromColumnHeaderFilterRow();else{const i=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");if(i){i.style.display="flex",i.ariaChecked=String(this._isSelectAllChecked);const s=i.querySelector('input[type="checkbox"]');s&&(s.ariaChecked=String(this._isSelectAllChecked),s.checked=this._isSelectAllChecked)}}}deSelectRows(e){const t=[];for(const i of e)this._selectedRowsLookup[i]&&(t[t.length]=i);this._grid.setSelectedRows(this._grid.getSelectedRows().filter(i=>t.indexOf(i)<0),"SlickCheckboxSelectColumn.deSelectRows")}selectRows(e){var s;const t=[];for(const n of e)this._selectedRowsLookup[n]&&(t[t.length]=n);const i=(s=this._grid.getSelectedRows())==null?void 0:s.concat(t);this._grid.setSelectedRows(i)}createCheckboxElement(e,t=!1){var o;const i=(o=this.gridOptions)!=null&&o.preventDocumentFragmentUsage?document.createElement("span"):new DocumentFragment,s=v("label",{className:"checkbox-selector-label",htmlFor:e}),n=v("div",{className:"icon-checkbox-container"});return n.appendChild(v("input",{id:e,type:"checkbox",checked:t,ariaChecked:String(t)})),n.appendChild(v("div",{className:`mdi ${t?Jl:ea}`})),s.appendChild(n),i.appendChild(s),i}getColumnDefinition(){var t;const e=String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId);return{id:e,name:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?this._addonOptions.name||"":this.createCheckboxElement(`header-selector${this._selectAll_UID}`),toolTip:this._addonOptions.hideSelectAllCheckbox||this._addonOptions.hideInColumnTitleRow?"":this._addonOptions.toolTip,field:e,cssClass:this._addonOptions.cssClass,excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,hideSelectAllCheckbox:this._addonOptions.hideSelectAllCheckbox,resizable:!1,reorderable:this._addonOptions.reorderable,sortable:!1,width:this._addonOptions.width||30,maxWidth:this._addonOptions.width||30,formatter:this.checkboxSelectionFormatter.bind(this)}}hideSelectAllFromColumnHeaderTitleRow(){this._grid.updateColumnHeader(this._addonOptions.columnId||"",this._addonOptions.name||"","")}hideSelectAllFromColumnHeaderFilterRow(){var t;const e=(t=this.headerRowNode)==null?void 0:t.querySelector("#filter-checkbox-selectall-container");e&&(e.style.display="none")}toggleRowSelection(e){this.toggleRowSelectionWithEvent(null,e)}toggleRowSelectionWithEvent(e,t){const i=this._grid.getDataItem(t);if(!this.checkSelectableOverride(t,i,this._grid))return;const s=this._grid.getSelectedRows();typeof this._addonOptions.onRowToggleStart=="function"&&this._addonOptions.onRowToggleStart(e,{row:t,previousSelectedRows:s});const n=this._selectedRowsLookup[t]?this._grid.getSelectedRows().filter(o=>o!==t):this._grid.getSelectedRows().concat(t);this._grid.setSelectedRows(n,"click.toggle"),this._grid.setActiveCell(t,this.getCheckboxColumnCellIndex()),this._addonOptions.onRowToggleEnd&&this._addonOptions.onRowToggleEnd(e,{row:t,previousSelectedRows:s})}selectableOverride(e){this._selectableOverride=e}addCheckboxToFilterHeaderRow(e){this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{if(i.column.field===(this._addonOptions.field||"_checkbox_selector")){ee(i.node);const s=`header-filter-selector${this._selectAll_UID}`,n=v("label",{id:"filter-checkbox-selectall-container",htmlFor:s}),o=v("div",{className:"icon-checkbox-container"});o.appendChild(v("input",{id:s,type:"checkbox",ariaChecked:"false"})),o.appendChild(v("div",{className:"mdi mdi-icon-uncheck"})),n.appendChild(o),i.node.appendChild(n),this._headerRowNode=i.node,this._headerRowNode.classList.add("checkbox-header"),this._bindEventService.bind(n,"click",l=>this.handleHeaderClick(l,i))}})}checkboxSelectionFormatter(e,t,i,s,n,o){if(n&&this.checkSelectableOverride(e,n,o)){const l=this.createUID()+e;return this.createCheckboxElement(`selector${l}`,!!this._selectedRowsLookup[e])}return null}checkSelectableOverride(e,t,i){return typeof this._selectableOverride=="function"?this._selectableOverride(e,t,i):!0}createUID(){return Math.round(1e7*Math.random())}getCheckboxColumnCellIndex(){if(this._checkboxColumnCellIndex===null){this._checkboxColumnCellIndex=0;const e=this._grid.getColumns();for(let t=0;t<e.length;t++)e[t].id===this._addonOptions.columnId&&(this._checkboxColumnCellIndex=t)}return this._checkboxColumnCellIndex}handleDataViewSelectedIdsChanged(){var s,n;const e=this._dataView.getAllSelectedFilteredIds(),t=this._dataView.getFilteredItems();let i=0;if(typeof this._selectableOverride=="function"&&e.length>0)for(let o=0;o<this._dataView.getItemCount();o++){const l=this._dataView.getItemByIdx(o),a=this._dataView.getIdPropertyName(),h=l[a];t.findIndex(c=>c[a]===h)>=0&&!this.checkSelectableOverride(o,l,this._grid)&&i++}if(this._isSelectAllChecked=e.length+i>=t.length,!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow){const o=(s=this.headerRowNode)==null?void 0:s.querySelector(`#header-filter-selector${this._selectAll_UID}`),l=(n=this.headerRowNode)==null?void 0:n.querySelector(".icon-checkbox-container .mdi");o&&(o.ariaChecked=String(this._isSelectAllChecked),o.checked=this._isSelectAllChecked),l&&(l.className=`mdi ${this._isSelectAllChecked?Jl:ea}`)}}handleClick(e,t){if(this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}this.toggleRowSelectionWithEvent(e,t.row),e.stopPropagation(),e.stopImmediatePropagation()}}handleHeaderClick(e,t){if(t.column.id===this._addonOptions.columnId&&e.target.type==="checkbox"){if(e.target.ariaChecked=String(e.target.checked),this._grid.getEditorLock().isActive()&&!this._grid.getEditorLock().commitCurrentEdit()){e.preventDefault(),e.stopImmediatePropagation();return}let i=e.target.checked;const s=i?"click.selectAll":"click.unselectAll",n=this._grid.getSelectedRows();this._addonOptions.onSelectAllToggleStart&&this._addonOptions.onSelectAllToggleStart(e,{previousSelectedRows:n,caller:s});let o=[];if(i){const l=[];for(let a=0;a<this._grid.getDataLength();a++){const h=this._grid.getDataItem(a);!h.__group&&!h.__groupTotals&&this.checkSelectableOverride(a,h,this._grid)&&l.push(a)}o=l,i=!0}if(this._isUsingDataView&&this._dataView&&this._addonOptions.applySelectOnAllPages){const l=[],a=this._dataView.getFilteredItems();for(let h=0;h<a.length;h++){const d=a[h];this.checkSelectableOverride(h,d,this._grid)&&l.push(d[this._dataView.getIdPropertyName()])}this._dataView.setSelectedIds(l,{isRowBeingAdded:i})}this._grid.setSelectedRows(o,s),this._addonOptions.onSelectAllToggleEnd&&this._addonOptions.onSelectAllToggleEnd(e,{rows:o,previousSelectedRows:n,caller:s}),e.stopPropagation(),e.stopImmediatePropagation()}}handleKeyDown(e,t){e.key===" "&&this._grid.getColumns()[t.cell].id===this._addonOptions.columnId&&((!this._grid.getEditorLock().isActive()||this._grid.getEditorLock().commitCurrentEdit())&&this.toggleRowSelectionWithEvent(e,t.row),e.preventDefault(),e.stopImmediatePropagation())}handleSelectedRowsChanged(){var a;const e=this._grid.getSelectedRows(),t={};let i=0,s=0,n=0,o=0;if(typeof this._selectableOverride=="function")for(n=0;n<this._grid.getDataLength();n++){const h=this._grid.getDataItem(n);this.checkSelectableOverride(s,h,this._grid)||o++}const l=[];for(s=0;s<e.length;s++){i=e[s];const h=this._grid.getDataItem(i);this.checkSelectableOverride(s,h,this._grid)?(t[i]=!0,t[i]!==this._selectedRowsLookup[i]&&(this._grid.invalidateRow(i),delete this._selectedRowsLookup[i])):l.push(i)}if(typeof this._selectedRowsLookup=="object"&&Object.keys(this._selectedRowsLookup).forEach(h=>{h!==void 0&&this._grid.invalidateRow(+h)}),this._selectedRowsLookup=t,this._grid.render(),this._isSelectAllChecked=((e==null?void 0:e.length)??0)+o>=this._grid.getDataLength(),(!this._isUsingDataView||!this._addonOptions.applySelectOnAllPages)&&(!this._addonOptions.hideInColumnTitleRow&&!this._addonOptions.hideSelectAllCheckbox&&this.renderSelectAllCheckbox(this._isSelectAllChecked),!this._addonOptions.hideInFilterHeaderRow)){const h=(a=this.headerRowNode)==null?void 0:a.querySelector(`#header-filter-selector${this._selectAll_UID}`);h&&(h.ariaChecked=String(this._isSelectAllChecked),h.checked=this._isSelectAllChecked)}if(l.length>0){for(const h of l){const d=e.indexOf(h);e.splice(d,1)}this._grid.setSelectedRows(e,"click.toggle")}}renderSelectAllCheckbox(e){const t=this._grid.updateColumnHeader(this._addonOptions.columnId||"",this.createCheckboxElement(`header-selector${this._selectAll_UID}`,!!e),this._addonOptions.toolTip);t==null||t.classList.add("header-checkbox-selectall")}}class ia extends zs{constructor(e,t,i,s,n){var o;super(e,i,s),this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this._areVisibleColumnDifferent=!1,this._columns=[],this._columnCheckboxes=[],this._commandMenuElm=null,this._headerElm=null,this._isMenuOpen=!1,this._subMenuParentId="",this._defaults={dropSide:"left",showButton:!0,hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",marginBottom:15,menuWidth:18,minHeight:150,contentMinWidth:0,resizeOnShowHeaderRow:!1,syncResizeTitle:"Synchronous resize",subMenuOpenByEvent:"mouseover",headerColumnValueExtractor:l=>_t(l.columnPickerLabel||l.name||"","innerHTML")},this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-grid-menu",this._camelPluginName="gridMenu",this._columns=this.sharedService.allColumns??[],this._gridUid=((o=this.grid)==null?void 0:o.getUID())??"",this.onAfterMenuShow=new P("onAfterMenuShow"),this.onBeforeMenuShow=new P("onBeforeMenuShow"),this.onMenuClose=new P("onMenuClose"),this.onCommand=new P("onCommand"),this.onColumnsChanged=new P("onColumnsChanged"),this.initEventHandlers(),this.init()}get addonOptions(){return this._addonOptions||{}}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){var e;return((e=this.grid)==null?void 0:e.getOptions())||{}}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}initEventHandlers(){this._eventHandler.subscribe(this.grid.onColumnsReordered,$s.bind(this)),this._eventHandler.subscribe(this.grid.onClick,e=>this.hideMenu(e)),this._eventHandler.subscribe(this.grid.onBeforeDestroy,this.dispose.bind(this)),this._eventHandler.subscribe(this.grid.onSetOptions,(e,t)=>{if(t&&t.optionsBefore&&t.optionsAfter){const i=t.optionsBefore.frozenColumn>=0&&t.optionsAfter.frozenColumn===-1,s=t.optionsBefore.frozenColumn===-1&&t.optionsAfter.frozenColumn>=0;(i||s)&&this.recreateGridMenu()}})}init(){this._gridUid=this.grid.getUID()??"",T.addSlickEventPubSubWhenDefined(this.pubSubService,this),this._userOriginalGridMenu={...this.sharedService.gridOptions.gridMenu},this._addonOptions={...this._defaults,...this.getDefaultGridMenuOptions(),...this.sharedService.gridOptions.gridMenu},this.sharedService.gridOptions.gridMenu=this._addonOptions;const e=this._userOriginalGridMenu.commandItems,t=this._userOriginalGridMenu&&Array.isArray(e)?e:[];this._addonOptions.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(this._addonOptions.commandItems||[],"commandItems"),this.extensionUtility.sortItems(this._addonOptions.commandItems,"positionOrder"),this.createGridMenu()}dispose(){this.deleteMenu(),super.dispose()}deleteMenu(){var e,t;this._bindEventService.unbindAll(),(e=this._menuElm)==null||e.remove(),this._menuElm=null,(t=this._gridMenuButtonElm)==null||t.remove(),this._headerElm&&(this._headerElm.style.width="100%")}createColumnPickerContainer(){this._menuElm&&(oa.call(this,this._menuElm),this._listElm=v("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(this._menuElm,"click",la.bind(this),void 0,"parent-menu"))}createGridMenu(){var n,o;const e=this._gridUid?`.${this._gridUid}`:"",t=((n=this._addonOptions)==null?void 0:n.menuWidth)||this._defaults.menuWidth,i=this.gridOptions.hasOwnProperty("frozenColumn")&&this.gridOptions.frozenColumn>=0?"right":"left",s=this.grid.getContainerNode();if(this._headerElm=s.querySelector(`.slick-header-${i}`),this._headerElm&&this._addonOptions){if(this._headerElm.style.width=`calc(100% - ${t}px)`,(this._addonOptions.resizeOnShowHeaderRow??this._defaults.resizeOnShowHeaderRow)&&this.gridOptions.showHeaderRow){const h=s.querySelector(`${e} .slick-headerrow`);h&&(h.style.width=`calc(100% - ${t}px)`)}if(this._addonOptions.showButton??this._defaults.showButton){this._gridMenuButtonElm=v("button",{className:"slick-grid-menu-button",ariaLabel:"Grid Menu"}),(o=this._addonOptions)!=null&&o.iconCssClass&&this._gridMenuButtonElm.classList.add(...he(this._addonOptions.iconCssClass));const h=this._addonOptions.iconButtonContainer==="preheader"?"firstChild":"lastChild";this._headerElm.parentElement.insertBefore(this._gridMenuButtonElm,this._headerElm.parentElement[h]),this._bindEventService.bind(this._gridMenuButtonElm,"click",this.showGridMenu.bind(this))}this.sharedService.gridOptions.gridMenu={...this._defaults,...this._addonOptions},this.translateTitleLabels(this._addonOptions),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this)),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this))}}createCommandMenu(e,t=0,i){const s=i==null?void 0:i.command;let n=t===1&&s?s.replace(/\s/g,""):"";n&&(this._subMenuParentId=n),t>1&&(n=this._subMenuParentId);const o=`${this.menuCssClass} slick-menu-level-${t} ${this._gridUid}`,l=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${t}${this.gridUidSelector}`);if(l){if(l.dataset.subMenuParent===n)return l;this.disposeSubMenus()}const a=v("div",{role:"menu",className:o,ariaLabel:t>1?"SubMenu":"Grid Menu"});t>0&&(a.classList.add("slick-submenu"),n&&(a.dataset.subMenuParent=n));const h={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns(),level:t};return this._commandMenuElm=this.recreateCommandList(e,a,h,i),t++,a}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}hideMenu(e){var i,s,n;const t={grid:this.grid,menu:this._menuElm,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};if(this.pubSubService.publish("onGridMenuMenuClose",t),!(typeof((i=this._addonOptions)==null?void 0:i.onMenuClose)=="function"&&this._addonOptions.onMenuClose(e,t)===!1||this.onMenuClose.notify(t,null,this).getReturnValue()===!1)){if(this._isMenuOpen=!1,typeof((s=this.grid)==null?void 0:s.autosizeColumns)=="function"){const o=this.grid.getUID()||"";this._areVisibleColumnDifferent&&o&&document.querySelector(`.${o}`)!==null&&(this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this._areVisibleColumnDifferent=!1)}this.disposeSubMenus(),(n=this._menuElm)==null||n.remove(),this._menuElm=null}}recreateGridMenu(){this.deleteMenu(),this.init()}repositionMenu(e,t,i,s){var a,h;const n=((a=e==null?void 0:e.touches)==null?void 0:a[0])??e,o=t.classList.contains("slick-submenu"),l=o?e.target.closest(".slick-menu-item"):n.target;if(l){const d=i||this._gridMenuButtonElm,c=ge(i),u=ge(l),p=s??this._addonOptions,m=getComputedStyle(d),f=parseInt((m==null?void 0:m.width)??((h=this._defaults)==null?void 0:h.menuWidth),10),g=(t==null?void 0:t.offsetWidth)??0,_=(p==null?void 0:p.contentMinWidth)??this._defaults.contentMinWidth??0,C=(_>g?_:g)||0,b=c.top,S=c.right;let E,y;if(o?(y=u.top,E=u.left):(y=b+d.offsetHeight,E=(p==null?void 0:p.dropSide)==="right"?S-f:S-C),o){const D=(t==null?void 0:t.clientHeight)||0,{bottom:L,top:M}=Vi(l);(L<D&&M>L?"top":"bottom")==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),y-=D-l.clientHeight):(t.classList.remove("dropup"),t.classList.add("dropdown"))}const x=this.grid.getGridPosition();let O=E+Number(g);o&&(O+=l.clientWidth);const I=document.documentElement.clientWidth;(O>=x.width||O>=I?"left":"right")==="left"||!o&&(p==null?void 0:p.dropSide)==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),o&&(E-=Number(g))):(t.classList.remove("dropleft"),t.classList.add("dropright"),o&&(E+=l.offsetWidth)),t.style.top=`${y}px`,t.style.left=`${E}px`,_>0&&(t.style.minWidth=`${_}px`),t.style.opacity="1",t.style.display="block"}}openGridMenu(){const e=new MouseEvent("click",{bubbles:!0,cancelable:!0,composed:!1});Object.defineProperty(e,"target",{writable:!0,configurable:!0,value:v("button",{className:"slick-grid-menu-button"})}),this.showGridMenu(e)}showGridMenu(e,t){var s,n,o;const i=((s=e==null?void 0:e.touches)==null?void 0:s[0])??e;if(e.preventDefault(),ee(this._menuElm),(n=this._menuElm)==null||n.remove(),this._addonOptions){const l={grid:this.grid,menu:this._menuElm,columns:this.columns,allColumns:this.getAllColumns(),visibleColumns:this.getVisibleColumns()},a={...this._addonOptions,...t};if(a&&!this.extensionUtility.runOverrideFunctionWhenExists(a.menuUsabilityOverride,l)||typeof e.stopPropagation=="function"&&(this.pubSubService.publish("onGridMenuBeforeMenuShow",l),typeof(a==null?void 0:a.onBeforeMenuShow)=="function"&&a.onBeforeMenuShow(e,l)===!1||this.onBeforeMenuShow.notify(l,null,this).getReturnValue()===!1))return;this._menuElm=this.createCommandMenu(((o=this._addonOptions)==null?void 0:o.commandItems)??[]),this.createColumnPickerContainer(),$s.call(this),this._columnCheckboxes=[],ha.call(this,a),document.body.appendChild(this._menuElm),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm.style.opacity="0";const h=((a==null?void 0:a.marginBottom)!==void 0?a.marginBottom:this._defaults.marginBottom)||0;this._menuElm.style.minHeight=Pt(a==null?void 0:a.minHeight,""),(a==null?void 0:a.height)!==void 0?this._menuElm.style.height=Pt(a.height,""):this._menuElm.style.maxHeight=Pt(a==null?void 0:a.maxHeight,`${window.innerHeight-i.clientY-h}px`);let d=e.target.nodeName==="BUTTON"?e.target:e.target.querySelector("button");d||(d=e.target.parentElement),this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm),this.repositionMenu(e,this._menuElm,d,a),this._isMenuOpen=!0,this.pubSubService.publish("onGridMenuAfterMenuShow",l),typeof(a==null?void 0:a.onAfterMenuShow)=="function"&&a.onAfterMenuShow(e,l),this.onAfterMenuShow.notify(l,null,this)}}translateGridMenu(){var e;if(this.sharedService.gridOptions.gridMenu){this.sharedService.gridOptions.gridMenu.commandItems=[],this.sharedService.gridOptions.gridMenu.commandTitle="",this.sharedService.gridOptions.gridMenu.columnTitle="",this.sharedService.gridOptions.gridMenu.forceFitTitle="",this.sharedService.gridOptions.gridMenu.syncResizeTitle="";const t=this._userOriginalGridMenu&&Array.isArray(this._userOriginalGridMenu.commandItems)?this._userOriginalGridMenu.commandItems:[];this.sharedService.gridOptions.gridMenu.commandItems=[...t,...this.addGridMenuCustomCommands(t)],this.extensionUtility.translateMenuItemsFromTitleKey(((e=this._addonOptions)==null?void 0:e.commandItems)||[],"commandItems"),this.extensionUtility.sortItems(this.sharedService.gridOptions.gridMenu.commandItems,"positionOrder"),this.translateTitleLabels(this.sharedService.gridOptions.gridMenu),this.translateTitleLabels(this._addonOptions),this.extensionUtility.translateItems(this._columns,"nameKey","name")}}translateTitleLabels(e){e&&(e.commandTitle=this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"),e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),e.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),e.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"))}addGridMenuCustomCommands(e){var l,a;const t=this.gridOptions.backendServiceApi||null,i=[],s=this.gridOptions,n=lt(s),o=(l=this._addonOptions)==null?void 0:l.commandLabels;if(this._addonOptions&&this.gridOptions){if(!this._addonOptions.hideClearFrozenColumnsCommand){const d="clear-pinning";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearFrozenColumnsCommand||"mdi mdi-pin-off-outline",titleKey:`${n}${(o==null?void 0:o.clearFrozenColumnsCommandKey)??"CLEAR_PINNING"}`,disabled:!1,command:d,positionOrder:52})}if(this.gridOptions.enableFiltering&&!this.sharedService.hideHeaderRowAfterPageLoad){if(!this._addonOptions.hideClearAllFiltersCommand){const d="clear-filter";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearAllFiltersCommand||"mdi mdi-filter-remove-outline",titleKey:`${n}${(o==null?void 0:o.clearAllFiltersCommandKey)??"CLEAR_ALL_FILTERS"}`,disabled:!1,command:d,positionOrder:50})}if(!this._addonOptions.hideToggleFilterCommand){const d="toggle-filter";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconToggleFilterCommand||"mdi mdi-flip-vertical",titleKey:`${n}${(o==null?void 0:o.toggleFilterCommandKey)??"TOGGLE_FILTER_ROW"}`,disabled:!1,command:d,positionOrder:53})}if(t&&!this._addonOptions.hideRefreshDatasetCommand){const d="refresh-dataset";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconRefreshDatasetCommand||"mdi mdi-sync",titleKey:`${n}${(o==null?void 0:o.refreshDatasetCommandKey)??"REFRESH_DATASET"}`,disabled:!1,command:d,positionOrder:58})}}if(!this._addonOptions.hideToggleDarkModeCommand){const d="toggle-dark-mode";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconToggleDarkModeCommand||"mdi mdi-brightness-4",titleKey:`${n}${(o==null?void 0:o.toggleDarkModeCommandKey)??"TOGGLE_DARK_MODE"}`,disabled:!1,command:d,positionOrder:54})}if(this.gridOptions.showPreHeaderPanel&&!this._addonOptions.hideTogglePreHeaderCommand){const d="toggle-preheader";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconTogglePreHeaderCommand||"mdi mdi-flip-vertical",titleKey:`${n}${(o==null?void 0:o.togglePreHeaderCommandKey)??"TOGGLE_PRE_HEADER_ROW"}`,disabled:!1,command:d,positionOrder:53})}if(this.gridOptions.enableSorting&&!this._addonOptions.hideClearAllSortingCommand){const d="clear-sorting";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconClearAllSortingCommand||"mdi mdi-sort-variant-off",titleKey:`${n}${(o==null?void 0:o.clearAllSortingCommandKey)??"CLEAR_ALL_SORTING"}`,disabled:!1,command:d,positionOrder:51})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportCsvCommand){const d="export-csv";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportCsvCommand||"mdi mdi-download",titleKey:`${n}${(o==null?void 0:o.exportCsvCommandKey)??"EXPORT_TO_CSV"}`,disabled:!1,command:d,positionOrder:55})}if(this.gridOptions.enableExcelExport&&!this._addonOptions.hideExportExcelCommand){const d="export-excel";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${n}${(o==null?void 0:o.exportExcelCommandKey)??"EXPORT_TO_EXCEL"}`,disabled:!1,command:d,positionOrder:56})}if(this.gridOptions.enableTextExport&&!this._addonOptions.hideExportTextDelimitedCommand){const d="export-text-delimited";e.some(c=>c!=="divider"&&c.hasOwnProperty("command")&&c.command===d)||i.push({iconCssClass:this._addonOptions.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${n}${(o==null?void 0:o.exportTextDelimitedCommandKey)??"EXPORT_TO_TAB_DELIMITED"}`,disabled:!1,command:d,positionOrder:57})}const h=((a=this._addonOptions)==null?void 0:a.commandItems)||[];(Array.isArray(i)&&i.length>0||Array.isArray(h)&&h.length>0)&&(this._addonOptions.commandTitle=this._addonOptions.commandTitle||this.extensionUtility.getPickerTitleOutputString("commandTitle","gridMenu"))}return i}executeGridMenuInternalCustomCommands(e,t){var s,n,o;const i=((s=this.sharedService)==null?void 0:s.externalRegisteredResources)||[];if(t!=null&&t.command)switch(t.command){case"clear-pinning":const l=[...this.sharedService.visibleColumns],a={frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1};this.grid.setOptions(a),this.sharedService.gridOptions.frozenColumn=a.frozenColumn,this.sharedService.gridOptions.frozenRow=a.frozenRow,this.sharedService.gridOptions.frozenBottom=a.frozenBottom,this.sharedService.gridOptions.enableMouseWheelScrollHandler=a.enableMouseWheelScrollHandler,Array.isArray(l)&&this.grid.setColumns(l),this.gridOptions.enableAutoSizeColumns&&this.grid.autosizeColumns(),this.pubSubService.publish("onGridMenuClearAllPinning");break;case"clear-filter":this.filterService.clearFilters(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllFilters");break;case"clear-sorting":this.sortService.clearSorting(),this.sharedService.dataView.refresh(),this.pubSubService.publish("onGridMenuClearAllSorting");break;case"export-csv":const d=i.find(g=>g.className==="TextExportService");d!=null&&d.exportToFile?d.exportToFile({delimiter:Ot.comma,format:ve.csv}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"export-excel":const c=i.find(g=>g.className==="ExcelExportService");c!=null&&c.exportToExcel?c.exportToExcel():console.error("[Slickgrid-Universal] You must register the ExcelExportService to properly use Export to Excel in the Grid Menu. Example:: this.gridOptions = { enableExcelExport: true, externalResources: [new ExcelExportService()] };");break;case"export-text-delimited":const u=i.find(g=>g.className==="TextExportService");u!=null&&u.exportToFile?u.exportToFile({delimiter:Ot.tab,format:ve.txt}):console.error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Grid Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };");break;case"toggle-dark-mode":const p=this.sharedService.gridOptions.darkMode;this.grid.setOptions({darkMode:!p}),this.sharedService.gridOptions.darkMode=!p;break;case"toggle-filter":let m=((n=this.gridOptions)==null?void 0:n.showHeaderRow)??!1;m=!m,this.grid.setHeaderRowVisibility(m),m===!0&&(this.grid.setColumns(this.sharedService.columnDefinitions),this.grid.scrollColumnIntoView(0));break;case"toggle-preheader":const f=((o=this.gridOptions)==null?void 0:o.showPreHeaderPanel)??!1;this.grid.setPreHeaderPanelVisibility(!f);break;case"refresh-dataset":this.extensionUtility.refreshBackendDataset();break}}getDefaultGridMenuOptions(){return{commandTitle:void 0,columnTitle:this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"),forceFitTitle:this.extensionUtility.getPickerTitleOutputString("forceFitTitle","gridMenu"),syncResizeTitle:this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","gridMenu"),iconCssClass:"mdi mdi-menu",menuWidth:18,commandItems:[],hideClearAllFiltersCommand:!1,hideRefreshDatasetCommand:!1,hideToggleFilterCommand:!1}}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this._isMenuOpen&&this.menuElement!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.hideMenu(e)}}handleMenuItemCommandClick(e,t,i,s=0){var n,o;if(i!=="divider"&&!i.disabled&&!i.divider)if((i.command||"")&&!i.commandItems){const a={grid:this.grid,command:i.command,item:i,allColumns:this.columns,visibleColumns:this.getVisibleColumns()};this.executeGridMenuInternalCustomCommands(e,a),this.pubSubService.publish("onGridMenuCommand",a),typeof((n=this._addonOptions)==null?void 0:n.onCommand)=="function"&&this._addonOptions.onCommand(e,a),this.onCommand.notify(a,null,this),typeof i.action=="function"&&i.action.call(this,e,a),!((o=this._addonOptions)!=null&&o.leaveOpen)&&!e.defaultPrevented&&this.hideMenu(e),e.preventDefault(),e.stopPropagation()}else i.commandItems&&this.repositionSubMenu(e,i,s)}handleMenuItemMouseOver(e,t,i,s=0){i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems?this.repositionSubMenu(e,i,s):s===0&&this.disposeSubMenus())}recreateCommandList(e,t,i,s){const n=i.level||0;if(e.length>0){const o=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},t);if(n===0){this.populateCommandOrOptionTitle("command",this.addonOptions,o,n);const l=t.querySelector(".slick-command-header")??v("div",{className:"slick-command-header"});l.classList.add("with-close"),ra.call(this,l),o.appendChild(l)}return s&&n>0&&this.addSubMenuTitleWhenExists(s,o),this.populateCommandOrOptionItems("command",this._addonOptions,o,e,i,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),o}return null}repositionSubMenu(e,t,i){const s=(t==null?void 0:t.commandItems)||[],n=this.createCommandMenu(s,i+1,t);n.style.display="block",document.body.appendChild(n),this.repositionMenu(e,n)}}const sa="mdi-icon-picker-check",na="mdi-icon-picker-uncheck";function ra(r){const t=v("button",{type:"button",className:"close",ariaLabel:"Close",textContent:"×",dataset:{dismiss:this instanceof _r?"slick-column-picker":"slick-grid-menu"}});r.appendChild(t)}function oa(r){var t,i;const e=this;(t=e.addonOptions)!=null&&t.columnTitle&&(e._columnTitleElm=v("div",{className:"slick-menu-title",textContent:((i=e.addonOptions)==null?void 0:i.columnTitle)??e._defaults.columnTitle},r))}function la(r){var o,l;const e=this,t=e instanceof _r?"columnPicker":"gridMenu",i=(o=r.target)==null?void 0:o.closest(".icon-checkbox-container"),s=i==null?void 0:i.querySelector(".mdi"),n=!!r.target.checked;if(r.target.ariaChecked=String(n),aa(s,n),r.target.dataset.option==="autoresize"){const a=e.getVisibleColumns();e.grid.setOptions({forceFitColumns:n}),e.grid.setColumns(a);return}if(r.target.dataset.option==="syncresize"){e.grid.setOptions({syncColumnCellResize:n});return}if(r.target.type==="checkbox"){e._areVisibleColumnDifferent=!0;const a=r.target.dataset.columnid||"",h=[];if(e._columnCheckboxes.forEach((u,p)=>{u.checked&&h.push(e.columns[p])}),!h.length){r.target.checked=!0,aa(s,!0);return}if(e.grid.setColumns(h),(!e.sharedService.visibleColumns||Array.isArray(h)&&h.length!==e.sharedService.visibleColumns.length)&&(e.sharedService.visibleColumns=h),e.gridOptions.enableRowSelection&&n){const u=e.grid.getSelectedRows();e.grid.setSelectedRows(u)}const d=e.gridOptions.frozenColumn??-1;d>=0&&e.extensionUtility.readjustFrozenColumnIndexWhenNeeded(d,e.columns,h);const c={columnId:a,showing:n,allColumns:e.columns,visibleColumns:h,columns:h,grid:e.grid};e.pubSubService.publish(`on${ti(t)}ColumnsChanged`,c),typeof((l=e.addonOptions)==null?void 0:l.onColumnsChanged)=="function"&&e.addonOptions.onColumnsChanged(r,c),e.onColumnsChanged.notify(c,null,e)}}function aa(r,e=!1){r&&(r.className=`mdi ${e?sa:na}`)}function gr(r,e,t,i=!1){const s=v("label",{className:"checkbox-picker-label",htmlFor:e}),n=v("div",{className:"icon-checkbox-container"}),o=v("input",{id:e,type:"checkbox",dataset:t}),l=v("div",{className:`mdi ${i?sa:na}`}),a=v("span",{className:"checkbox-label"});return n.appendChild(o),n.appendChild(l),s.appendChild(n),s.appendChild(a),r.appendChild(s),i&&(o.ariaChecked="true",o.checked=!0),{inputElm:o,labelElm:s,labelSpanElm:a}}function ha(r){const e=this,t=e instanceof ia,i=t?"gridmenu-":"";for(const s of e.columns){const n=s.id,o=document.createElement("li");(s.excludeFromColumnPicker&&!t||s.excludeFromGridMenu&&t)&&(o.className="hidden");const l=`${e._gridUid}-${i}colpicker-${n}`,a=e.grid.getColumnIndex(n)>=0,{inputElm:h,labelElm:d,labelSpanElm:c}=gr(o,l,{columnid:`${n}`},a);e._columnCheckboxes.push(h);const p=(typeof(r==null?void 0:r.headerColumnValueExtractor)=="function"?r.headerColumnValueExtractor:e._defaults.headerColumnValueExtractor)(s,e.gridOptions);this.grid.applyHtmlCode(c,p),o.appendChild(d),e._listElm.appendChild(o)}if((!r.hideForceFitButton||!r.hideSyncResizeButton)&&e._listElm.appendChild(document.createElement("hr")),!(r!=null&&r.hideForceFitButton)){const s=document.createElement("li"),n=`${e._gridUid}-${i}colpicker-forcefit`,{labelSpanElm:o}=gr(s,n,{option:"autoresize"},e.gridOptions.forceFitColumns);o.textContent=(r==null?void 0:r.forceFitTitle)??"",e._listElm.appendChild(s)}if(!(r!=null&&r.hideSyncResizeButton)){const s=document.createElement("li"),n=`${e._gridUid}-${i}colpicker-syncresize`,{labelSpanElm:o}=gr(s,n,{option:"syncresize"},e.gridOptions.forceFitColumns);o.textContent=(r==null?void 0:r.syncResizeTitle)??"",e._listElm.appendChild(s)}}function $s(){const r=this,e=r.grid.getColumns().slice(0),t=new Array(r.columns.length);for(let i=0;i<t.length;i++)r.grid.getColumnIndex(r.columns[i].id)===void 0?t[i]=r.columns[i]:t[i]=e.shift();r._columns=t}class _r{constructor(e,t,i){var s,n;this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._areVisibleColumnDifferent=!1,this._columns=[],this._gridUid="",this._menuElm=null,this._columnCheckboxes=[],this._defaults={hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",minHeight:150,syncResizeTitle:"Synchronous resize",headerColumnValueExtractor:o=>_t(o.columnPickerLabel||o.name||"","innerHTML")},this._bindEventService=new Pe,this.onColumnsChanged=new P("onColumnsChanged"),this._eventHandler=new pe,this._columns=this.sharedService.allColumns??[],this._gridUid=((n=(s=this.grid)==null?void 0:s.getUID)==null?void 0:n.call(s))??"",this.init()}get addonOptions(){return this.gridOptions.columnPicker||{}}get eventHandler(){return this._eventHandler}get columns(){return this._columns}set columns(e){this._columns=e}get gridOptions(){return this.sharedService.gridOptions??{}}get grid(){return this.sharedService.slickGrid}get menuElement(){return this._menuElm}init(){this._gridUid=this.grid.getUID()??"",this.gridOptions.columnPicker={...this._defaults,...this.gridOptions.columnPicker},this.onColumnsChanged.setPubSubService(this.pubSubService),this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker"),this._eventHandler.subscribe(this.grid.onPreHeaderContextMenu,e=>{["slick-column-name","slick-header-column"].some(t=>{var i;return(i=e.target)==null?void 0:i.classList.contains(t)})&&this.handleHeaderContextMenu(e)}),this._eventHandler.subscribe(this.grid.onHeaderContextMenu,this.handleHeaderContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onColumnsReordered,$s.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.disposeMenu.bind(this)),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this),void 0,"body"),this._bindEventService.bind(document.body,"beforeunload",this.dispose.bind(this),void 0,"body")}dispose(){this._eventHandler.unsubscribeAll(),this._bindEventService.unbindAll(),this.disposeMenu()}disposeMenu(){var e,t;this._bindEventService.unbindAll("parent-menu"),(e=this._listElm)==null||e.remove(),(t=this._menuElm)==null||t.remove(),this._menuElm=null}createPickerMenu(){const e=v("div",{ariaExpanded:"true",className:`slick-column-picker ${this._gridUid}`,role:"menu"});return $s.call(this),oa.call(this,e),ra.call(this,e),this._listElm=v("div",{className:"slick-column-picker-list",role:"menu"}),this._bindEventService.bind(e,"click",la.bind(this),void 0,"parent-menu"),document.body.appendChild(e),e}getAllColumns(){return this._columns}getVisibleColumns(){return this.grid.getColumns()}translateColumnPicker(){this.addonOptions&&(this.addonOptions.columnTitle="",this.addonOptions.forceFitTitle="",this.addonOptions.syncResizeTitle="",this.addonOptions.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","columnPicker"),this.addonOptions.forceFitTitle=this.extensionUtility.getPickerTitleOutputString("forceFitTitle","columnPicker"),this.addonOptions.syncResizeTitle=this.extensionUtility.getPickerTitleOutputString("syncResizeTitle","columnPicker")),this.extensionUtility.translateItems(this._columns,"nameKey","name"),this.translateTitleLabels(this.addonOptions)}handleBodyMouseDown(e){var t;(this._menuElm!==e.target&&!((t=this._menuElm)!=null&&t.contains(e.target))||e.target.className==="close"&&e.target.closest(".slick-column-picker"))&&this.disposeMenu()}handleHeaderContextMenu(e){e.preventDefault(),ee(this._menuElm),this._columnCheckboxes=[],this._menuElm=this.createPickerMenu(),this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),ha.call(this,this.addonOptions),document.body.appendChild(this._menuElm),this.repositionMenu(e)}repositionMenu(e){var i;const t=((i=e==null?void 0:e.touches)==null?void 0:i[0])??e;if(this._menuElm){const s=this.grid.getGridPosition(),n=this._menuElm.clientWidth||0;let o=t.pageX||0;s!=null&&s.width&&o+n>=s.width&&(o=o-n),this._menuElm.style.top=`${t.pageY-10}px`,this._menuElm.style.left=`${o}px`,this._menuElm.style.minHeight=Pt(this.addonOptions.minHeight,""),this._menuElm.style.maxHeight=Pt(this.addonOptions.maxHeight,`${window.innerHeight-t.clientY}px`),this._menuElm.style.display="block",this._menuElm.ariaExpanded="true",this._menuElm.appendChild(this._listElm)}}translateTitleLabels(e){e&&(e.columnTitle=this.extensionUtility.getPickerTitleOutputString("columnTitle","gridMenu"))}}const Ws=(r,e,t,i,s,n)=>{const o=i.params||{};if(!o.formatters||!Array.isArray(o.formatters))throw new Error(`[Slickgrid-Universal] The multiple formatter requires the "formatters" to be provided as a column params.
12
12
  For example: this.columnDefinitions = [{ id: title, field: title, formatter: Formatters.multiple, params: { formatters: [Formatters.lowercase, Formatters.uppercase] }`);const l=o.formatters;let a=t;return l.forEach((h,d)=>{if(typeof h!="function")throw new Error(`[Slickgrid-Universal] the "params.formatters" at index(${d}) to be used by "Formatters.multiple" is invalid, please verify all formatter functions.`);a=h.call(void 0,r,e,a,i,s,n)}),a};function da(r,e){if(Array.isArray(r)){for(const t of r)if(t.editor)if(t.formatter&&t.formatter!==Ws&&t.formatter!==e){const i=t.formatter;t.formatter=Ws,t.params={...t.params,formatters:[i,e]}}else t.formatter&&t.formatter===Ws&&t.params?t.params.formatters.findIndex(i=>i===e)===-1&&(t.params.formatters=[...t.params.formatters,e]):t.formatter=e}}function Se(r,e,t,i){let s,n,o="",l="";switch(t){case"currency":s=R.DEFAULT_FORMATTER_CURRENCY_MIN_DECIMAL,n=R.DEFAULT_FORMATTER_CURRENCY_MAX_DECIMAL;break;case"decimal":s=R.DEFAULT_FORMATTER_NUMBER_MIN_DECIMAL,n=R.DEFAULT_FORMATTER_NUMBER_MAX_DECIMAL;break;case"percent":s=R.DEFAULT_FORMATTER_PERCENT_MIN_DECIMAL,n=R.DEFAULT_FORMATTER_PERCENT_MAX_DECIMAL;break}const a=e&&typeof e.getOptions=="function"?e.getOptions():{},h=wt("minDecimal",r,a,s),d=wt("maxDecimal",r,a,n),c=wt("decimalSeparator",r,a,R.DEFAULT_NUMBER_DECIMAL_SEPARATOR),u=wt("thousandSeparator",r,a,R.DEFAULT_NUMBER_THOUSAND_SEPARATOR),p=wt("displayNegativeNumberWithParentheses",r,a,R.DEFAULT_NEGATIVE_NUMBER_WRAPPED_IN_BRAQUET),m=wt("currencyPrefix",r,a,""),f=wt("currencySuffix",r,a,"");return i==="cell"&&(o=wt("numberPrefix",r,a,""),l=wt("numberSuffix",r,a,"")),{minDecimal:h,maxDecimal:d,decimalSeparator:c,thousandSeparator:u,wrapNegativeNumber:p,currencyPrefix:m,currencySuffix:f,numberPrefix:o,numberSuffix:l}}function wt(r,e,t,i){var n;const s=e&&e.params;return s&&s.hasOwnProperty(r)?s[r]:(n=t==null?void 0:t.formatterOptions)!=null&&n.hasOwnProperty(r)?t.formatterOptions[r]:i}function ye(r,e){const t=Ke(r,{withZeroPadding:!0});return(i,s,n,o,l,a)=>{var g,_;const h=a&&typeof a.getOptions=="function"?a.getOptions():{},d=((g=h==null?void 0:h.formatterOptions)==null?void 0:g.dateSeparator)??e,c=(o==null?void 0:o.type)??w.date,u=Ke(c,{withDefaultIso8601:!0}),p=((_=o==null?void 0:o.params)==null?void 0:_.parseDateAsUtc)??!1,m=bt(n,u);let f=n;if(m){let C=m;p&&(C=Yh(m)),f=et(C,t,"en-US")}if(f&&d!==e){const C=new RegExp(e,"ig");f=f.replace(C,d)}return f}}function Cr(r,e,t,i,s,n){let o=!1;t!=null&&t.hasOwnProperty("exportWithFormatter")?o=!!t.exportWithFormatter:n!=null&&n.hasOwnProperty("exportWithFormatter")&&(o=!!n.exportWithFormatter);let l;i&&t.exportCustomFormatter?l=t.exportCustomFormatter:o&&t.formatter&&(l=t.formatter);const a=Gs(l,r,e,t,i,s);return n!=null&&n.sanitizeDataExport&&typeof a=="string"?we(a):a}function Gs(r,e,t,i,s,n){let o="",a=i.field||i.id||"";if(typeof i.field=="string"&&i.field.indexOf(".")>0){const d=i.field.split(".");a=d.length>0?d[0]:i.field}const h=s!=null&&s.hasOwnProperty(a)?s[a]:null;if(typeof r=="function"){const d=r(e,t,h,i,s,n),c=ei(d)?d:d.html||d.text;o=_t(c)}else o=s!=null&&s.hasOwnProperty(a)?h:"";return o==null&&(o=""),typeof o=="object"&&!(o instanceof Date)&&Object.entries(o).length===0&&(o=""),o}class Yc extends Zl{constructor(e,t,i,s){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.treeDataService=s,this._defaults={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!1,optionShownOverColumnIds:[],commandShownOverColumnIds:[],subMenuOpenByEvent:"mouseover"},this.pluginName="ContextMenu",this._camelPluginName="contextMenu",this._menuCssPrefix="slick-menu",this._menuPluginCssPrefix="slick-context-menu",this.init(i.gridOptions.contextMenu)}init(e){this._addonOptions={...this._defaults,...e};const t=this._addonOptions&&Array.isArray(this._addonOptions.commandItems)?this._addonOptions.commandItems:[];this._addonOptions.commandItems=[...t,...this.addMenuCustomCommands(t)],this._addonOptions={...this._addonOptions},this.sharedService.gridOptions.contextMenu=this._addonOptions,this.sortMenuItems(),this._eventHandler.subscribe(this.grid.onContextMenu,this.handleOnContextMenu.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.hideMenu.bind(this)),this._addonOptions.hideMenuOnScroll&&this._eventHandler.subscribe(this.grid.onScroll,this.closeMenu.bind(this))}translateContextMenu(){var i;const e=((i=this.sharedService)==null?void 0:i.gridOptions)??{},t=this.sharedService.gridOptions.contextMenu;if(t&&(e!=null&&e.enableTranslate)){const s=t.commandItems||[],n=t.optionItems||[];t.commandTitleKey&&(t.commandTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(t.commandTitleKey,"TEXT_COMMANDS")||t.commandTitle),t.optionTitleKey&&(t.optionTitle=this.extensionUtility.translateWhenEnabledAndServiceExist(t.optionTitleKey,"TEXT_COMMANDS")||t.optionTitle),this.extensionUtility.translateMenuItemsFromTitleKey(s,"commandItems"),this.extensionUtility.translateMenuItemsFromTitleKey(n,"optionItems")}}handleOnContextMenu(e,t){this.disposeAllMenus();const i=this.grid.getCellFromEvent(e);if(i){const s=this.grid.getDataItem(i.row),n=this.grid.getColumns()[i.cell],o=t||{};if(o.cell=i.cell,o.row=i.row,o.column=n,o.dataContext=s,o.grid=this.grid,!this.extensionUtility.runOverrideFunctionWhenExists(this._addonOptions.menuUsabilityOverride,o))return;this._menuElm=this.createParentMenu(e),this._menuElm&&e.preventDefault(),this._menuElm&&this.gridOptions.darkMode&&this._menuElm.classList.add("slick-dark-mode"),this._menuElm&&(this.repositionMenu(e,this._menuElm),this._menuElm.ariaExpanded="true",this._menuElm.style.display="block"),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}}addMenuCustomCommands(e){var l;const t=[],i=this.sharedService&&this.sharedService.gridOptions||{},s=i==null?void 0:i.contextMenu,n=(l=this.sharedService)==null?void 0:l.dataView,o=lt(i);if(s&&!s.hideCopyCellValueCommand){const a="copy";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconCopyCellValueCommand||"mdi mdi-content-copy",titleKey:`${o}COPY`,disabled:!1,command:a,positionOrder:50,action:(h,d)=>{this.copyToClipboard(d)},itemUsabilityOverride:h=>{const d=h==null?void 0:h.column,c=h==null?void 0:h.dataContext;if(typeof d.queryFieldNameGetterFn=="function"){const u=Ni(d,c,"");if(u!==""&&u!==void 0)return!0}else if(d&&c.hasOwnProperty(d.field))return c[d.field]!==""&&c[d.field]!==null&&c[d.field]!==void 0;return!1}})}if(i!=null&&i.enableTextExport&&s&&!s.hideExportCsvCommand){const a="export-csv";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExportCsvCommand||"mdi mdi-download",titleKey:`${o}EXPORT_TO_CSV`,disabled:!1,command:a,positionOrder:51,action:()=>{var c;const d=(((c=this.sharedService)==null?void 0:c.externalRegisteredResources)||[]).find(u=>u.className==="TextExportService");if(d!=null&&d.exportToFile)d.exportToFile({delimiter:Ot.comma,format:ve.csv});else throw new Error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Context Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };")}})}if(i&&i.enableExcelExport&&s&&!s.hideExportExcelCommand){const a="export-excel";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExportExcelCommand||"mdi mdi-file-excel-outline text-success",titleKey:`${o}EXPORT_TO_EXCEL`,disabled:!1,command:a,positionOrder:52,action:()=>{var c;const d=(((c=this.sharedService)==null?void 0:c.externalRegisteredResources)||[]).find(u=>u.className==="ExcelExportService");if(d!=null&&d.exportToExcel)d.exportToExcel();else throw new Error("[Slickgrid-Universal] You must register the ExcelExportService to properly use Export to Excel in the Context Menu. Example:: this.gridOptions = { enableExcelExport: true, externalResources: [new ExcelExportService()] };")}})}if(i!=null&&i.enableTextExport&&s&&!s.hideExportTextDelimitedCommand){const a="export-text-delimited";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExportTextDelimitedCommand||"mdi mdi-download",titleKey:`${o}EXPORT_TO_TAB_DELIMITED`,disabled:!1,command:a,positionOrder:53,action:()=>{var c;const d=(((c=this.sharedService)==null?void 0:c.externalRegisteredResources)||[]).find(u=>u.className==="TextExportService");if(d!=null&&d.exportToFile)d.exportToFile({delimiter:Ot.tab,format:ve.txt});else throw new Error("[Slickgrid-Universal] You must register the TextExportService to properly use Export to File in the Context Menu. Example:: this.gridOptions = { enableTextExport: true, externalResources: [new TextExportService()] };")}})}if(i&&(i.enableGrouping||i.enableDraggableGrouping||i.enableTreeData)){if(s&&!s.hideCopyCellValueCommand&&t.push({divider:!0,command:"",positionOrder:54}),i&&!i.enableTreeData&&s&&!s.hideClearAllGrouping){const a="clear-grouping";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconClearGroupingCommand||"mdi mdi-close",titleKey:`${o}CLEAR_ALL_GROUPING`,disabled:!1,command:a,positionOrder:55,action:()=>{n.setGrouping([]),this.pubSubService.publish("onContextMenuClearGrouping")},itemUsabilityOverride:()=>{const h=n&&n.getGrouping&&n.getGrouping();return Array.isArray(h)&&h.length>0}})}if(i&&s&&!s.hideCollapseAllGroups){const a="collapse-all-groups";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconCollapseAllGroupsCommand||"mdi mdi-arrow-collapse",titleKey:`${o}COLLAPSE_ALL_GROUPS`,disabled:!1,command:a,positionOrder:56,action:()=>{i.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!0):n.collapseAllGroups(),this.pubSubService.publish("onContextMenuCollapseAllGroups")},itemUsabilityOverride:()=>{if(i.enableTreeData)return!0;const h=n&&n.getGrouping&&n.getGrouping();return Array.isArray(h)&&h.length>0}})}if(i&&s&&!s.hideExpandAllGroups){const a="expand-all-groups";e.some(h=>h!=="divider"&&h.hasOwnProperty("command")&&h.command===a)||t.push({iconCssClass:s.iconExpandAllGroupsCommand||"mdi mdi-arrow-expand",titleKey:`${o}EXPAND_ALL_GROUPS`,disabled:!1,command:a,positionOrder:57,action:()=>{i.enableTreeData?this.treeDataService.toggleTreeDataCollapse(!1):n.expandAllGroups(),this.pubSubService.publish("onContextMenuExpandAllGroups")},itemUsabilityOverride:()=>{if(i.enableTreeData)return!0;const h=n&&n.getGrouping&&n.getGrouping();return Array.isArray(h)&&h.length>0}})}}return this.extensionUtility.translateMenuItemsFromTitleKey(t),t}copyToClipboard(e){var t,i;try{if(e&&e.grid&&e.command){const s=((t=this.sharedService)==null?void 0:t.gridOptions)??{},n=(e==null?void 0:e.cell)??0,o=(e==null?void 0:e.row)??0,l=e==null?void 0:e.column,a=e==null?void 0:e.dataContext,h=(i=this.sharedService)==null?void 0:i.slickGrid,d=s&&(s.excelExportOptions||s.textExportOptions);let c=Cr(o,n,l,a,h,d);typeof l.queryFieldNameGetterFn=="function"&&(c=Ni(l,a,""));let u=c;typeof c=="string"&&(u=c.replace(/^([·|⮞|⮟]\s*)|([·|⮞|⮟])\s*/gi,"").replace(/[\u00b7|\u034f]/gi,"").trim());const p=document.createElement("textarea");p&&document.body&&(p.style.position="absolute",p.style.opacity="0",p.value=u,document.body.appendChild(p),p.select(),document.execCommand("copy",!1,u)&&p.remove())}}catch{}}sortMenuItems(){var t,i;const e=(i=(t=this.sharedService)==null?void 0:t.gridOptions)==null?void 0:i.contextMenu;e&&(this.extensionUtility.sortItems(e.commandItems||[],"positionOrder"),this.extensionUtility.sortItems(e.optionItems||[],"positionOrder"))}}class qc{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this.columnsGroupBy=[],this.pluginName="DraggableGrouping",this._gridColumns=[],this._gridUid="",this._isInitialized=!1,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._bindingEventService=new Pe,this.onGroupChanged=new P("onGroupChanged"),this._eventHandler=new pe}get addonOptions(){return this._addonOptions}get dataView(){var e;return((e=this.grid)==null?void 0:e.getData())??{}}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(){return this._grid??this.sharedService.slickGrid??{}}get gridOptions(){return this.sharedService.gridOptions??{}}get gridUid(){var e;return this._gridUid||(((e=this.grid)==null?void 0:e.getUID())??"")}get gridContainer(){return this.grid.getContainerNode()}set isInitialized(e){this._isInitialized=e}init(e,t){var i,s;if(this._addonOptions={...this._defaults,...t},this._grid=e,e){if(this._gridUid=e.getUID(),this._gridColumns=e.getColumns(),this._dropzoneElm=e.getTopHeaderPanel()||e.getPreHeaderPanel(),!this._dropzoneElm)throw new Error("[Slickgrid-Universal] Draggable Grouping requires the pre-header to be created and shown for the plugin to work correctly (use `createPreHeaderPanel` and `showPreHeaderPanel`).");if(this._dropzoneElm.classList.add("slick-dropzone"),this.onGroupChanged.setPubSubService(this.pubSubService),!this._addonOptions.hideToggleAllButton){this._groupToggler=v("div",{className:"slick-group-toggle-all",title:this._addonOptions.toggleAllPlaceholderText??"",style:{display:"none"}});const n=v("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=this._addonOptions.toggleAllPlaceholderText??"",this._addonOptions.toggleAllButtonText&&this._groupToggler.appendChild(v("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(n,!0,!1)),this.pubSubService.subscribe("onContextMenuExpandAllGroups",()=>this.toggleGroupToggler(n,!1,!1)))}this._dropzonePlaceholderElm=v("div",{className:"slick-draggable-dropzone-placeholder"},this._dropzoneElm),this.gridOptions.enableTranslate&&((i=this._addonOptions)!=null&&i.dropPlaceHolderTextKey)&&(this._addonOptions.dropPlaceHolderText=this.extensionUtility.translateWhenEnabledAndServiceExist(this._addonOptions.dropPlaceHolderTextKey,"TEXT_TOGGLE_ALL_GROUPS")),this._dropzonePlaceholderElm.textContent=((s=this._addonOptions)==null?void 0:s.dropPlaceHolderText)??this._defaults.dropPlaceHolderText??"",this.setupColumnDropbox(),this._eventHandler.subscribe(e.onHeaderCellRendered,(n,o)=>{var a;const l=o.node;if(!Tn((a=o.column)==null?void 0:a.grouping)&&l&&(l.style.cursor="pointer",this._addonOptions.groupIconCssClass)){const h=v("span",{className:"slick-column-groupable"},l);this._addonOptions.groupIconCssClass&&h.classList.add(...he(this._addonOptions.groupIconCssClass))}}),this._subscriptions.push(this.pubSubService.subscribe("onContextMenuClearGrouping",()=>this.clearDroppedGroups()));for(const n of this._gridColumns){const o=n.field;e.updateColumnHeader(o)}}return this}dispose(){var e,t;this.destroySortableInstances(),(e=this._droppableInstance)!=null&&e.el&&((t=this._droppableInstance)==null||t.destroy()),this.onGroupChanged.unsubscribe(),this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),this._bindingEventService.unbindAll(),ee(this.gridContainer.querySelector(`.${this.gridUid} .slick-preheader-panel,.${this.gridUid} .slick-topheader-panel`))}clearDroppedGroups(){this.columnsGroupBy=[],this.updateGroupBy("clear-all");const e=this._dropzoneElm.querySelectorAll(".slick-dropped-grouping");for(const t of Array.from(e)){const i=this._dropzoneElm.querySelector(".slick-groupby-remove");i==null||i.remove(),t==null||t.remove()}this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")}destroySortableInstances(){var e,t,i,s;(e=this._sortableLeftInstance)!=null&&e.el&&((t=this._sortableLeftInstance)==null||t.destroy()),(i=this._sortableRightInstance)!=null&&i.el&&((s=this._sortableRightInstance)==null||s.destroy())}setAddonOptions(e){this._addonOptions={...this._addonOptions,...e}}setColumns(e){this._gridColumns=e}setDroppedGroups(e){this._dropzonePlaceholderElm.style.display="none";const t=Array.isArray(e)?e:[e];for(const i of t){const s=this.grid.getHeaderColumn(i);this.handleGroupByDrop(this._dropzoneElm,s)}}setupColumnReorder(e,t,i,s,n,o,l,a,h){this.destroySortableInstances();const d=e.getTopHeaderPanel()||e.getPreHeaderPanel(),c=d.querySelector(".slick-draggable-dropzone-placeholder"),u=d.querySelector(".slick-group-toggle-all"),p={animation:50,ghostClass:"slick-sortable-placeholder",draggable:".slick-header-column",dataIdAttr:"data-id",group:{name:"shared",pull:"clone",put:!1},revertClone:!0,onStart:m=>{m.item.classList.add("slick-header-column-active"),c&&(c.style.display="inline-block"),d.querySelectorAll(".slick-dropped-grouping").forEach(g=>g.style.display="none"),u&&(u.style.display="none")},onEnd:m=>{var b,S,E;m.item.classList.remove("slick-header-column-active"),d==null||d.classList.remove("slick-dropzone-hover"),(b=c==null?void 0:c.parentElement)==null||b.classList.remove("slick-dropzone-placeholder-hover");const f=d.querySelectorAll(".slick-dropped-grouping");if(f.forEach(y=>y.style.display="flex"),f.length&&(c&&(c.style.display="none"),u&&(u.style.display="inline-flex")),!e.getEditorLock().commitCurrentEdit())return;const g=((S=this.sortableLeftInstance)==null?void 0:S.toArray())??[];if(t.length>1){const y=((E=this._sortableRightInstance)==null?void 0:E.toArray())??[];for(const x of y)g.push(x)}const _=[],C=e.getColumns();for(const y of g)_.push(C[l.call(e,y)]);s.call(e,_),h.call(e,e.onColumnsReordered,{grid:e,impactedColumns:_}),m.stopPropagation(),n.call(e)}};return this._sortableLeftInstance=B.create(this.gridContainer.querySelector(`.${e.getUID()} .slick-header-columns.slick-header-columns-left`),p),this._sortableRightInstance=B.create(this.gridContainer.querySelector(`.${e.getUID()} .slick-header-columns.slick-header-columns-right`),p),this._addonOptions.initialGroupBy&&!this._isInitialized&&this.setDroppedGroups(this._addonOptions.initialGroupBy),this._isInitialized=!0,{sortableLeftInstance:this._sortableLeftInstance,sortableRightInstance:this._sortableRightInstance}}addColumnGroupBy(e){this.columnsGroupBy.push(e),this.updateGroupBy("add-group")}addGroupByRemoveClickHandler(e,t,i,s){this._bindingEventService.bind(t,"click",()=>{const n=this._bindingEventService.boundedEvents.filter(o=>o.element===t);for(const o of n)this._bindingEventService.unbind(o.element,"click",o.listener);this.removeGroupBy(e,i,s)})}addGroupSortClickHandler(e,t){const{grouping:i,type:s}=e;this._bindingEventService.bind(t,"click",()=>{if(this.toggleGroupAll(e,!1),i){const n=i.sortAsc?ae.desc:ae.asc;i.comparer=(o,l)=>_i(s||"text",o.value,l.value,n,e,this.gridOptions),this.getGroupBySortIcon(t,!i.sortAsc),this.updateGroupBy("sort-group"),i.sortAsc=!i.sortAsc,this.grid.invalidate()}})}getGroupBySortIcon(e,t=!0){t?this._addonOptions.sortAscIconCssClass?(e.classList.remove(...he(this._addonOptions.sortDescIconCssClass)),e.classList.add(...he(this._addonOptions.sortAscIconCssClass))):(e.classList.add("slick-groupby-sort-asc-icon"),e.classList.remove("slick-groupby-sort-desc-icon")):this._addonOptions.sortDescIconCssClass?(e.classList.remove(...he(this._addonOptions.sortAscIconCssClass)),e.classList.add(...he(this._addonOptions.sortDescIconCssClass))):this._addonOptions.sortDescIconCssClass||(e.classList.add("slick-groupby-sort-desc-icon"),e.classList.remove("slick-groupby-sort-asc-icon"))}handleGroupByDrop(e,t){var n,o,l;const i=(n=t.getAttribute("data-id"))==null?void 0:n.replace(this._gridUid,"");let s=!0;for(const a of this.columnsGroupBy)a.id===i&&(s=!1);if(s){for(const a of this._gridColumns)if(a.id===i&&a.grouping&&!Tn(a.grouping)){const h=t.querySelector(".slick-column-name"),d=v("div",{id:`${this._gridUid}_${a.id}_entry`,className:"slick-dropped-grouping",dataset:{id:`${a.id}`}});v("div",{className:"slick-dropped-grouping-title",style:{display:"inline-flex"},textContent:h?h.textContent:t.textContent},d);const c=v("div",{className:"slick-groupby-remove"});this._addonOptions.deleteIconCssClass&&c.classList.add(...he(this._addonOptions.deleteIconCssClass)),this._addonOptions.deleteIconCssClass||c.classList.add("slick-groupby-remove-icon");let u;((o=this._addonOptions)==null?void 0:o.hideGroupSortIcons)!==!0&&a.sortable&&(((l=a.grouping)==null?void 0:l.sortAsc)===void 0&&(a.grouping.sortAsc=!0),u=v("div",{className:"slick-groupby-sort"},d),this.getGroupBySortIcon(u,a.grouping.sortAsc)),d.appendChild(c),d.appendChild(document.createElement("div")),e.appendChild(d),this._groupToggler&&this.columnsGroupBy.length===0&&this.toggleGroupAll(a),this.addColumnGroupBy(a),this.addGroupByRemoveClickHandler(a.id,c,t,d),u&&this.addGroupSortClickHandler(a,u)}this._groupToggler&&this.columnsGroupBy.length>0&&(this._groupToggler.style.display="inline-flex")}}toggleGroupAll({grouping:e},t){var s;const i=(s=this._groupToggler)==null?void 0:s.querySelector(".slick-group-toggle-all-icon");t===!0||e!=null&&e.collapsed?(i==null||i.classList.add("collapsed"),i==null||i.classList.remove("expanded")):(i==null||i.classList.add("expanded"),i==null||i.classList.remove("collapsed"))}removeFromArray(e,t){if(Array.isArray(e)){const i=e.findIndex(s=>s.id===t.id);i>=0&&e.splice(i,1)}return e}removeGroupBy(e,t,i){i.remove();const s=[];this._gridColumns.forEach(n=>s[n.id]=n),this.removeFromArray(this.columnsGroupBy,s[e]),this.columnsGroupBy.length===0&&(this._dropzonePlaceholderElm.style.display="inline-block",this._groupToggler&&(this._groupToggler.style.display="none")),this.updateGroupBy("remove-group")}addDragOverDropzoneListeners(){const e=this._dropzoneElm.querySelector(".slick-draggable-dropzone-placeholder");e&&this._dropzoneElm&&(this._bindingEventService.bind(e,"dragover",t=>t.preventDefault()),this._bindingEventService.bind(e,"dragenter",()=>this._dropzoneElm.classList.add("slick-dropzone-hover")),this._bindingEventService.bind(e,"dragleave",()=>this._dropzoneElm.classList.remove("slick-dropzone-hover")))}setupColumnDropbox(){const e=this._dropzoneElm;this._droppableInstance=B.create(e,{group:"shared",ghostClass:"slick-droppable-sortitem-hover",draggable:".slick-dropped-grouping",dragoverBubble:!0,onAdd:t=>{var s,n;const i=t.item;(s=i.getAttribute("id"))!=null&&s.replace(this._gridUid,"")&&this.handleGroupByDrop(e,B.utils.clone(t.item)),(n=i.parentNode)==null||n.removeChild(i)},onUpdate:()=>{var s;const t=((s=this._droppableInstance)==null?void 0:s.toArray())??[],i=[];for(const n of t)for(const o of this.columnsGroupBy)if(o.id===n){i.push(o);break}this.columnsGroupBy=i,this.updateGroupBy("sort-group")}}),this.addDragOverDropzoneListeners(),this._groupToggler&&this._bindingEventService.bind(this._groupToggler,"click",t=>{const i=t.target.classList.contains("slick-group-toggle-all-icon")?t.target:t.currentTarget.querySelector(".slick-group-toggle-all-icon");this.toggleGroupToggler(i,i==null?void 0:i.classList.contains("expanded"))})}toggleGroupToggler(e,t=!0,i=!0){e&&(t===!0?(e.classList.add("collapsed"),e.classList.remove("expanded"),i&&this.dataView.collapseAllGroups()):(e.classList.remove("collapsed"),e.classList.add("expanded"),i&&this.dataView.expandAllGroups()))}updateGroupBy(e){if(this.columnsGroupBy.length===0){this.dataView.setGrouping([]),this._dropzonePlaceholderElm.style.display="inline-block",this.triggerOnGroupChangedEvent({caller:e,groupColumns:[]});return}const t=[];this.columnsGroupBy.forEach(i=>t.push(i.grouping)),this.dataView.setGrouping(t),this._dropzonePlaceholderElm.style.display="none",this.triggerOnGroupChangedEvent({caller:e,groupColumns:t})}triggerOnGroupChangedEvent(e){this._addonOptions&&typeof this._addonOptions.onGroupChanged=="function"&&this._addonOptions.onGroupChanged(new le,e),this.onGroupChanged.notify(e)}}class Kc extends zs{constructor(e,t,i){super(e,t,i),this.extensionUtility=e,this.pubSubService=t,this.sharedService=i,this._buttonElms=[],this._defaults={buttonCssClass:"slick-header-button"},this.pluginName="HeaderButtons",this._menuCssPrefix="slick-header-button",this._camelPluginName="headerButtons",this._bindEventService=new Pe,this._eventHandler=new pe,this.init(i.gridOptions.headerButton)}get addonOptions(){return this._addonOptions}set addonOptions(e){this._addonOptions=e}get eventHandler(){return this._eventHandler}get grid(){return this.sharedService.slickGrid}init(e){this._addonOptions={...this._defaults,...e},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(e=>e.remove())}handleHeaderCellRendered(e,t){var s;const i=t.column;if((s=i.header)!=null&&s.buttons&&Array.isArray(i.header.buttons)){let n=i.header.buttons.length;for(;n--;){const o=i.header.buttons[n],l=this.populateSingleCommandOrOptionItem("command",this.addonOptions,null,o,t,this.handleButtonClick.bind(this));l&&o.handler&&!o.disabled&&this._bindEventService.bind(l,"click",a=>o.handler.call(this,a)),l&&(this._buttonElms.push(l),t.node.appendChild(l))}}}handleBeforeHeaderCellDestroy(e,t){var s,n,o;if((s=t.column.header)!=null&&s.buttons&&((n=this._addonOptions)!=null&&n.buttonCssClass)){const l=(((o=this._addonOptions)==null?void 0:o.buttonCssClass)||"").replace(/(\s+)/g,".");l&&t.node.querySelectorAll(`.${l}`).forEach(a=>a.remove())}}handleButtonClick(e,t,i,s,n){var o;if(i.command&&!i.disabled){const l=i.command||"",a={grid:this.grid,column:n,button:i};l&&(a.command=l),typeof i.action=="function"&&!i.disabled&&i.action.call(this,e,a),l!==null&&!i.disabled&&((o=this._addonOptions)!=null&&o.onCommand)&&(this.pubSubService.publish("onHeaderButtonCommand",a),this._addonOptions.onCommand(e,a),n!=null&&n.id&&this.grid.updateColumnHeader(n.id))}e.preventDefault(),e.stopPropagation()}}class Xc extends zs{constructor(e,t,i,s,n){super(e,i,s),this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,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(s.gridOptions.headerMenu)}init(e){this._addonOptions={...this._defaults,...e},this._eventHandler.subscribe(this.grid.onBeforeSetColumns,(t,i)=>{this.sharedService.gridOptions.headerMenu=this.addHeaderMenuCustomCommands(i.newColumns)}),this._eventHandler.subscribe(this.grid.onHeaderCellRendered,this.handleHeaderCellRendered.bind(this)),this._eventHandler.subscribe(this.grid.onBeforeHeaderCellDestroy,this.handleBeforeHeaderCellDestroy.bind(this)),this._eventHandler.subscribe(this.grid.onClick,this.hideMenu.bind(this)),this.grid.setColumns(this.grid.getColumns()),this._bindEventService.bind(document.body,"mousedown",this.handleBodyMouseDown.bind(this))}dispose(){var e;super.dispose(),this._menuElm=this._menuElm||document.body.querySelector(`.slick-header-menu${this.gridUidSelector}`),(e=this._menuElm)==null||e.remove(),this._activeHeaderColumnElm=void 0}hideColumn(e){var t,i;if((i=(t=this.sharedService)==null?void 0:t.slickGrid)!=null&&i.getColumnIndex){const s=this.sharedService.slickGrid.getColumnIndex(e.id),n=this.sharedService.slickGrid.getColumns(),o=this.sharedService.gridOptions.frozenColumn??-1;o>=0&&o>=s&&(this.sharedService.gridOptions.frozenColumn=o-1,this.sharedService.slickGrid.setOptions({frozenColumn:this.sharedService.gridOptions.frozenColumn}));const l=En(n,s);this.sharedService.visibleColumns=l,this.sharedService.slickGrid.setColumns(l),this.pubSubService.publish("onHeaderMenuHideColumns",{columns:l,hiddenColumn:e})}}hideMenu(){var e;this.disposeSubMenus(),(e=this._menuElm)==null||e.remove(),this._menuElm=void 0}repositionSubMenu(e,t,i,s){const n=this.createCommandMenu(t.commandItems||[],s,i+1,t);document.body.appendChild(n),this.repositionMenu(e,n)}repositionMenu(e,t){var p,m;const i=e.target,s=t.classList.contains("slick-submenu"),n=s?e.target.closest(".slick-menu-item"):i,o=this.sharedService.gridContainerElement.classList.contains("slickgrid-container")?this.sharedService.gridContainerElement:this.sharedService.gridContainerElement.querySelector(".slickgrid-container")??this.sharedService.gridContainerElement,l=co(o,i),a=this.grid.getGridPosition(),h=t.offsetWidth,d=ge(n);let c=s?d.left:(l==null?void 0:l.left)??0,u=s?d.top:((l==null?void 0:l.top)??0)+(((p=this.addonOptions)==null?void 0:p.menuOffsetTop)??0)+i.clientHeight;if(s){const f=(t==null?void 0:t.clientHeight)||0,{bottom:g,top:_}=Vi(n);(g<f&&_>g?"top":"bottom")==="top"?(t.classList.remove("dropdown"),t.classList.add("dropup"),u-=f-n.clientHeight):(t.classList.remove("dropup"),t.classList.add("dropdown"))}if(s&&n){const f=c+Number(h)+n.clientWidth,g=document.documentElement.clientWidth;(f>=a.width||f>=g?"left":"right")==="left"?(t.classList.remove("dropright"),t.classList.add("dropleft"),c-=h):(t.classList.remove("dropleft"),t.classList.add("dropright"),c+=n.offsetWidth)}else c=(l==null?void 0:l.left)??0,this.addonOptions.autoAlign&&(a!=null&&a.width)&&c+(t.clientWidth??0)>=a.width&&(c=c+i.clientWidth-t.clientWidth+(((m=this.addonOptions)==null?void 0:m.autoAlignOffset)||0));t.style.top=`${u}px`,t.style.left=`${c}px`}translateHeaderMenu(){var e;(e=this.sharedService.gridOptions)!=null&&e.headerMenu&&this.resetHeaderMenuTranslations(this.sharedService.visibleColumns)}handleHeaderCellRendered(e,t){var n;const s=(n=t.column.header)==null?void 0:n.menu;if(s&&t.node){if(!this.extensionUtility.runOverrideFunctionWhenExists(this.addonOptions.menuUsabilityOverride,t))return;const o=v("div",{className:"slick-header-menu-button",ariaLabel:"Header Menu"},t.node);this.addonOptions.buttonCssClass&&o.classList.add(...he(this.addonOptions.buttonCssClass)),this.addonOptions.tooltip&&(o.title=this.addonOptions.tooltip),this._bindEventService.bind(o,"click",l=>{this.disposeAllMenus(),this.createParentMenu(l,t.column,s)})}}handleBeforeHeaderCellDestroy(e,t){var s;(s=t.column.header)!=null&&s.menu&&t.node.querySelectorAll(".slick-header-menu-button").forEach(n=>n.remove())}handleBodyMouseDown(e){if(this.menuElement){let t=!1;const i=e.target.closest(`.${this.menuCssClass}`);(this.menuElement.contains(e.target)||i)&&(t=!0),(this._menuElm!==e.target&&!t&&!e.defaultPrevented||e.target.className==="close"&&i)&&this.hideMenu()}}handleMenuItemCommandClick(e,t,i,s=0,n){var o;if(i!=="divider"&&!i.disabled&&!i.divider)if((i.command||"")&&!i.commandItems){const a={grid:this.grid,command:i.command,column:n,item:i};this.executeHeaderMenuInternalCommands(e,a),this.pubSubService.publish("onHeaderMenuCommand",a),typeof((o=this.addonOptions)==null?void 0:o.onCommand)=="function"&&this.addonOptions.onCommand(e,a),typeof i.action=="function"&&i.action.call(this,e,a),e.defaultPrevented||this.hideMenu(),e.preventDefault(),e.stopPropagation()}else i.commandItems&&this.repositionSubMenu(e,i,s,n)}handleMenuItemMouseOver(e,t,i,s=0,n){i!=="divider"&&!i.disabled&&!i.divider&&(i.commandItems?this.repositionSubMenu(e,i,s,n):s===0&&this.disposeSubMenus())}addHeaderMenuCustomCommands(e){const t=this.sharedService.gridOptions,i=t.headerMenu||{},s=lt(t);return Array.isArray(e)&&t.enableHeaderMenu&&e.forEach(n=>{var o,l,a;if(n&&!n.excludeFromHeaderMenu){n.header?n.header.menu||(n.header.menu={commandItems:[]}):n.header={menu:{commandItems:[]}};const h=((l=(o=n==null?void 0:n.header)==null?void 0:o.menu)==null?void 0:l.commandItems)??[];let d=!1;if(i&&!i.hideFreezeColumnsCommand&&(d=!0,h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="freeze-columns")||h.push({iconCssClass:i.iconFreezeColumns||"mdi mdi-pin-outline",titleKey:`${s}FREEZE_COLUMNS`,command:"freeze-columns",positionOrder:45})),i&&!i.hideColumnResizeByContentCommand&&this.sharedService.gridOptions.enableColumnResizeOnDoubleClick&&(d=!0,h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="column-resize-by-content")||h.push({iconCssClass:i.iconColumnResizeByContentCommand||"mdi mdi-arrow-expand-horizontal",titleKey:`${s}COLUMN_RESIZE_BY_CONTENT`,command:"column-resize-by-content",positionOrder:47})),d&&!h.some(c=>c!=="divider"&&c.positionOrder===48)&&h.push({divider:!0,command:"",positionOrder:48}),t.enableSorting&&n.sortable&&i&&!i.hideSortCommands&&(h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="sort-asc")||h.push({iconCssClass:i.iconSortAscCommand||"mdi mdi-sort-ascending",titleKey:`${s}SORT_ASCENDING`,command:"sort-asc",positionOrder:50}),h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="sort-desc")||h.push({iconCssClass:i.iconSortDescCommand||"mdi mdi-sort-descending",titleKey:`${s}SORT_DESCENDING`,command:"sort-desc",positionOrder:51}),h.some(c=>c!=="divider"&&c.positionOrder===52)||h.push({divider:!0,command:"",positionOrder:52}),!i.hideClearSortCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="clear-sort")&&h.push({iconCssClass:i.iconClearSortCommand||"mdi mdi-sort-variant-off",titleKey:`${s}REMOVE_SORT`,command:"clear-sort",positionOrder:58})),(a=n.filter)!=null&&a.filterShortcuts&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="filter-shortcuts-root-menu")){const c=[];n.filter.filterShortcuts.forEach(p=>{const m=p.title?fi(p.title):(p.titleKey||"").toLowerCase().replaceAll("_","-");c.push({...p,command:m,action:(f,g)=>{const _=this.filterService.getFiltersMetadata().find(C=>C.columnDef.id===g.column.id);_==null||_.setValues(p.searchTerms,p.operator,!0)}})});const u=i.filterShortcutsPositionOrder??55;h.push({iconCssClass:i.iconFilterShortcutSubMenu||"mdi mdi-filter-outline",titleKey:`${s}FILTER_SHORTCUTS`,command:"filter-shortcuts-root-menu",positionOrder:u,commandItems:c}),d&&!h.some(p=>p!=="divider"&&p.positionOrder===u+1)&&h.push({divider:!0,command:"",positionOrder:u+1})}t.enableFiltering&&n.filterable&&i&&!i.hideFilterCommand&&!i.hideClearFilterCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="clear-filter")&&h.push({iconCssClass:i.iconClearFilterCommand||"mdi mdi-filter-remove-outline",titleKey:`${s}REMOVE_FILTER`,command:"clear-filter",positionOrder:57}),i&&!i.hideColumnHideCommand&&!h.some(c=>c!=="divider"&&(c==null?void 0:c.command)==="hide-column")&&h.push({iconCssClass:i.iconColumnHideCommand||"mdi mdi-close",titleKey:`${s}HIDE_COLUMN`,command:"hide-column",positionOrder:59}),this.extensionUtility.translateMenuItemsFromTitleKey(h),this.extensionUtility.sortItems(h,"positionOrder")}}),i}clearColumnFilter(e,t){t!=null&&t.column&&this.filterService.clearFilterByColumnId(e,t.column.id)}clearColumnSort(e,t){t!=null&&t.column&&this.sharedService&&this.sortService.clearSortByColumnId(e,t.column.id)}executeHeaderMenuInternalCommands(e,t){var i;if(t!=null&&t.command)switch(t.command){case"hide-column":this.hideColumn(t.column),(i=this.sharedService.gridOptions)!=null&&i.enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"clear-filter":this.clearColumnFilter(e,t);break;case"clear-sort":this.clearColumnSort(e,t);break;case"column-resize-by-content":this.pubSubService.publish("onHeaderMenuColumnResizeByContent",{columnId:t.column.id});break;case"freeze-columns":const s=[...this.sharedService.visibleColumns],o={frozenColumn:s.findIndex(d=>d.id===t.column.id),enableMouseWheelScrollHandler:!0},l=this.sharedService.slickGrid.getColumns();this.sharedService.slickGrid.setOptions(o,!1,!0),this.sharedService.gridOptions.frozenColumn=o.frozenColumn,this.sharedService.gridOptions.enableMouseWheelScrollHandler=o.enableMouseWheelScrollHandler,this.sharedService.frozenVisibleColumnId=t.column.id,this.sharedService.hasColumnsReordered||Array.isArray(s)&&Array.isArray(this.sharedService.allColumns)&&s.length!==this.sharedService.allColumns.length?this.sharedService.slickGrid.setColumns(s):this.sharedService.slickGrid.setColumns(l),this.sharedService.slickGrid.getOptions().enableAutoSizeColumns&&this.sharedService.slickGrid.autosizeColumns();break;case"sort-asc":case"sort-desc":const h=t.command==="sort-asc";this.sortColumn(e,t,h);break}}createParentMenu(e,t,i){var n,o,l,a,h;const s={grid:this.grid,column:t,menu:i};typeof e.stopPropagation=="function"&&(this.pubSubService.publish("onHeaderMenuBeforeMenuShow",s),typeof((n=this.addonOptions)==null?void 0:n.onBeforeMenuShow)=="function"&&((o=this.addonOptions)==null?void 0:o.onBeforeMenuShow(e,s))===!1)||(this._menuElm=this.createCommandMenu(i.commandItems,t),(l=this.grid.getContainerNode())==null||l.appendChild(this._menuElm),this.repositionMenu(e,this._menuElm),this.pubSubService.publish("onHeaderMenuAfterMenuShow",s),!(typeof((a=this.addonOptions)==null?void 0:a.onAfterMenuShow)=="function"&&((h=this.addonOptions)==null?void 0:h.onAfterMenuShow(e,s))===!1)&&(e.preventDefault(),e.stopPropagation()))}createCommandMenu(e,t,i=0,s){var u;const n=s==null?void 0:s.command;let o=i===1&&n?n.replace(/\s/g,""):"";o&&(this._subMenuParentId=o),i>1&&(o=this._subMenuParentId);const l=`${this.menuCssClass} slick-menu-level-${i} ${this.gridUid}`,a=document.body.querySelector(`.${this.menuCssClass}.slick-menu-level-${i}${this.gridUidSelector}`);if(a){if(a.dataset.subMenuParent===o)return a;this.disposeSubMenus()}const h=v("div",{ariaExpanded:"true",ariaLabel:i>1?"SubMenu":"Header Menu",role:"menu",className:l,style:{minWidth:`${this.addonOptions.minWidth}px`}});i>0&&(h.classList.add("slick-submenu"),o&&(h.dataset.subMenuParent=o),(u=this.gridOptions)!=null&&u.darkMode&&h.classList.add("slick-dark-mode"));const d=v("div",{className:`${this._menuCssPrefix}-command-list`,role:"menu"},h),c={grid:this.grid,column:t,level:i,menu:{commandItems:e}};return s&&i>0&&this.addSubMenuTitleWhenExists(s,d),this.populateCommandOrOptionItems("command",this.addonOptions,d,e,c,this.handleMenuItemCommandClick,this.handleMenuItemMouseOver),i++,h}resetHeaderMenuTranslations(e){e.forEach(t=>{var i,s;if((s=(i=t==null?void 0:t.header)==null?void 0:i.menu)!=null&&s.commandItems&&!t.excludeFromHeaderMenu){const n=t.header.menu.commandItems||[];this.extensionUtility.translateMenuItemsFromTitleKey(n)}})}sortColumn(e,t,i=!0){if(t!=null&&t.column){const s=t.column,n=this.sharedService.gridOptions.multiColumnSort?this.sortService.getCurrentColumnSorts(s.id+""):[];let o=oe.local;n.push({columnId:s.id,sortCol:s,sortAsc:i}),this.sharedService.gridOptions.backendServiceApi?(this.sortService.onBackendSortChanged(e,{multiColumnSort:!0,sortCols:n,grid:this.sharedService.slickGrid}),o=oe.remote):this.sharedService.dataView?(this.sortService.onLocalSortChanged(this.sharedService.slickGrid,n),o=oe.local):t.grid.onSort.notify(n);const l=n.map(a=>{var h;return{columnId:((h=a==null?void 0:a.sortCol)==null?void 0:h.id)??"",sortAsc:(a==null?void 0:a.sortAsc)??!0}});if(this.sharedService.slickGrid.setSortColumns(l),o){const a=[];l.forEach(h=>{a.push({columnId:`${h.columnId}`,direction:h.sortAsc?"ASC":"DESC"})}),this.sortService.emitSortChanged(o,a)}}}}const Us="slick-rbe-editmode",Qc="slick-rbe-unsaved-cell",ca="slick-rbe-unsaved-highlight",vr="action-btns--delete",br="action-btns--edit",Sr="action-btns--update",yr="action-btns--cancel";class ua{constructor(e,t,i){this.extensionUtility=e,this.pubSubService=t,this.pluginName="RowBasedEdit",this._defaults={actionsColumnLabel:"Actions",allowMultipleRows:!1,columnId:"_slick_rowbasededit_action",columnIndexPosition:-1,reorderable:!1},this._editedRows=new Map,this._currentLang="en",this._translations={},this.onBeforeEditCellHandler=(s,n)=>{var o;return this._editedRows.has((o=n.item)==null?void 0:o[this.gridOptions.datasetIdPropertyName??"id"])},this._eventHandler=new pe,this._addonOptions=i}get addonOptions(){return this._addonOptions}get gridOptions(){return this._grid.getOptions()||{}}get eventHandler(){return this._eventHandler}init(e,t){var n,o;this._grid=e,this._gridService=t,this._addonOptions={...this._defaults,...this.addonOptions};const i=this._grid.getData();if(this._eventHandler.subscribe(this._grid.onBeforeEditCell,this.onBeforeEditCellHandler),this.checkOptionsRequirements(this.gridOptions),this.gridOptions.autoEdit||(this._grid.setOptions({autoEdit:!0}),console.warn('[Slickgrid-Universal] The Row Based Edit Plugin works best with the gridOption "autoEdit" enabled, the option has now been set automatically for you.')),this._existingEditCommandHandler=this.gridOptions.editCommandHandler,this._grid.setOptions({editCommandHandler:this.rowBasedEditCommandHandler.bind(this)}),this.gridOptions.enableExcelCopyBuffer===!0){const l=(n=this.gridOptions.excelCopyBufferOptions)==null?void 0:n.onBeforePasteCell;this._grid.setOptions({excelCopyBufferOptions:{...this.gridOptions.excelCopyBufferOptions,onBeforePasteCell:(a,h)=>{let d=!0;if(l&&(d=l(a,h),d===!1))return!1;const c=i.getItem(h.row),u=this.gridOptions.datasetIdPropertyName??"id";return!!(this._editedRows.has(c[u])&&d===!0)}}})}const s=i.getItemMetadata;i.getItemMetadata=this.updateItemMetadata((o=s==null?void 0:s.bind)==null?void 0:o.call(s,i)),this._eventHandler.subscribe(this._grid.onSetOptions,this.optionsUpdatedHandler.bind(this)),this._eventHandler.subscribe(i.onRowsOrCountChanged,this.handleAllRowRerender.bind(this)),this.translate()}destroy(){this.dispose()}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),(t=this.pubSubService)==null||t.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.rowBasedEditOptions},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=((i=t==null?void 0:t.rowBasedEditOptions)==null?void 0:i.columnIndexPosition)??-1;n===-1?e.push(s):n>0&&n<e.length?e.splice(n,0,s):e.unshift(s),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getColumnDefinition(){var t,i,s,n;return{id:String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId),name:(i=this._addonOptions)==null?void 0:i.actionsColumnLabel,field:"action",minWidth:70,width:75,maxWidth:75,excludeFromExport:!0,reorderable:(s=this._addonOptions)==null?void 0:s.reorderable,formatter:this.actionColumnFormatter.bind(this),onCellClick:this.onCellClickHandler.bind(this),...((n=this._addonOptions)==null?void 0:n.actionColumnConfig)??{}}}rowBasedEditCommandHandler(e,t,i){var c;this._existingEditCommandHandler&&this._existingEditCommandHandler(e,t,i);const s=Array.isArray(i.prevSerializedValue)?i.prevSerializedValue:[i.prevSerializedValue],n=Array.isArray(i.serializedValue)?i.serializedValue:[i.serializedValue],o=(c=this._gridService)==null?void 0:c.getAllColumnDefinitions().filter(u=>u.editor!==void 0),l=[],a=this.gridOptions.datasetIdPropertyName??"id";s.forEach((u,p)=>{const m=s[p],f=n[p];if(m!==f||f===""){const g=Array.isArray(i.prevSerializedValue)?o==null?void 0:o[p]:t;if(!g)return;this._grid.invalidate(),i.execute(),this.renderUnsavedCellStyling(e[a],g),l.push(g)}});const h=this._editedRows.get(e[a]),d=[...(h==null?void 0:h.editCommands)||[]];l.length>0&&d.push(i),this._editedRows.set(e[a],{columns:[...(h==null?void 0:h.columns)||[],...l],editCommands:d,cssStyleKeys:(h==null?void 0:h.cssStyleKeys)||[]})}translate(e=!1){var t;return this._currentLang=((t=this.extensionUtility.translaterService)==null?void 0:t.getCurrentLanguage())??"en",(!this._translations[this._currentLang]||e)&&(this._translations[this._currentLang]={btnUpdateTitle:this.getTitleOrDefault("updateButtonTitle","Update the row"),btnEditTitle:this.getTitleOrDefault("editButtonTitle","Edit the Row"),btnDeleteTitle:this.getTitleOrDefault("deleteButtonTitle","Delete the Row"),btnCancelTitle:this.getTitleOrDefault("cancelButtonTitle","Cancel changes of the Row")}),this._translations[this._currentLang]}checkOptionsRequirements(e){if(!(e!=null&&e.enableCellNavigation))throw new Error("[Slickgrid-Universal] Row Based Edit Plugin requires the gridOption cell navigation (enableCellNavigation = true)");if(!(e!=null&&e.editable))throw new Error("[Slickgrid-Universal] Row Based Edit Plugin requires the gridOption editable (editable = true)")}undoRowEdit(e){const t=this.gridOptions.datasetIdPropertyName??"id",i=this._editedRows.get(e[t]),s=this._grid.getData().getRowByItem(e);if(s!==void 0&&(i!=null&&i.editCommands)&&i.editCommands.length||Ui.cancelCurrentEdit()){for(;i.editCommands.length>0;){const n=i.editCommands.pop();n&&n.undo()}i.columns.forEach(n=>{this.removeUnsavedStylingFromCell(n,s)}),i.columns=[],this._grid.invalidate()}}renderUnsavedCellStyling(e,t){var i,s;if(t){const n=(i=this._grid.getData())==null?void 0:i.getRowById(e);if(n!==void 0&&n>=0){const o={[n]:{[t.id]:Qc}},l=`${ca}_${[t.id]}${n}`;this._grid.setCellCssStyles(l,o),(s=this._editedRows.get(e))==null||s.cssStyleKeys.push(l)}}}handleAllRowRerender(e,t){this._editedRows.forEach((i,s)=>{i.cssStyleKeys.forEach(n=>{this._grid.removeCellCssStyles(n)}),i.cssStyleKeys=[],i.columns.forEach(n=>{this.renderUnsavedCellStyling(s,n)})})}removeUnsavedStylingFromCell(e,t){const i=`${ca}_${[e.id]}${t}`;this._grid.removeCellCssStyles(i)}removeUnsavedStylingFromRow(e){this._grid.getColumns().forEach(t=>{this.removeUnsavedStylingFromCell(t,e)})}optionsUpdatedHandler(e,t){this._addonOptions={...this._defaults,...t.optionsAfter.rowBasedEditOptions}}async onCellClickHandler(e,t){var l,a,h,d,c,u,p,m,f,g,_,C,b,S,E;const i=t.dataContext,s=e.target,n=this.gridOptions.datasetIdPropertyName??"id",o=this._editedRows.get(i[n]);if((s.classList.contains(vr)||(l=s.parentElement)!=null&&l.classList.contains(vr))&&this._gridService){if((h=(a=this._addonOptions)==null?void 0:a.actionButtons)!=null&&h.deleteButtonPrompt&&!window.confirm(this._addonOptions.actionButtons.deleteButtonPrompt))return;this.toggleEditmode(i,!1),this._gridService.deleteItem(i)}else if(s.classList.contains(br)||(d=s.parentElement)!=null&&d.classList.contains(br)){if(!((c=this._addonOptions)!=null&&c.allowMultipleRows)&&this._editedRows.size>0)return;typeof((u=this._addonOptions)==null?void 0:u.onBeforeEditMode)=="function"&&this._addonOptions.onBeforeEditMode(t),this.toggleEditmode(i,!0)}else if(s.classList.contains(Sr)||(p=s.parentElement)!=null&&p.classList.contains(Sr)){if((f=(m=this._addonOptions)==null?void 0:m.actionButtons)!=null&&f.updateButtonPrompt&&((o==null?void 0:o.editCommands.length)||0)>0&&!window.confirm(this._addonOptions.actionButtons.updateButtonPrompt)||(this._grid.getCellEditor()&&((g=this._grid.getActiveCell())==null?void 0:g.row)===t.row&&((_=this._grid.getEditController())==null||_.commitCurrentEdit()),(C=this._addonOptions)!=null&&C.onBeforeRowUpdated&&await this._addonOptions.onBeforeRowUpdated(t)!==!0))return;this.removeUnsavedStylingFromRow(t.row),this.toggleEditmode(i,!1)}else if(s.classList.contains(yr)||(b=s.parentElement)!=null&&b.classList.contains(yr)){if((E=(S=this._addonOptions)==null?void 0:S.actionButtons)!=null&&E.cancelButtonPrompt&&((o==null?void 0:o.editCommands.length)||0)>0&&!window.confirm(this._addonOptions.actionButtons.cancelButtonPrompt))return;this.undoRowEdit(i),this.toggleEditmode(i,!1)}}actionColumnFormatter(e,t,i,s,n){var d,c,u,p,m,f,g,_,C,b,S,E,y,x,O,I;const o=this.gridOptions,l=this._editedRows.has(n==null?void 0:n[o.datasetIdPropertyName??"id"]),a=this._translations[this._currentLang]??this.translate(),h=document.createDocumentFragment();return h.appendChild(v("span",{className:`${((c=(d=o.rowBasedEditOptions)==null?void 0:d.actionButtons)==null?void 0:c.editButtonClassName)||"button-style padding-1px mr-2"} action-btns `+br,title:a.btnEditTitle,style:{display:l?"none":""}})).appendChild(v("span",{className:((p=(u=o.rowBasedEditOptions)==null?void 0:u.actionButtons)==null?void 0:p.iconEditButtonClassName)||"mdi mdi-table-edit text-color-primary"})),h.appendChild(v("span",{className:`${((f=(m=o.rowBasedEditOptions)==null?void 0:m.actionButtons)==null?void 0:f.deleteButtonClassName)||"button-style padding-1px"} action-btns `+vr,title:a.btnDeleteTitle,style:{display:l?"none":""}})).appendChild(v("span",{className:((_=(g=o.rowBasedEditOptions)==null?void 0:g.actionButtons)==null?void 0:_.iconDeleteButtonClassName)||"mdi mdi-close text-color-danger"})),h.appendChild(v("span",{className:`${((b=(C=o.rowBasedEditOptions)==null?void 0:C.actionButtons)==null?void 0:b.updateButtonClassName)||"button-style padding-1px mr-2"} action-btns `+Sr,title:a.btnUpdateTitle,style:{display:l?"":"none"}})).appendChild(v("span",{className:((E=(S=o.rowBasedEditOptions)==null?void 0:S.actionButtons)==null?void 0:E.iconUpdateButtonClassName)||"mdi mdi-check-bold text-color-success"})),h.appendChild(v("span",{className:`${((x=(y=o.rowBasedEditOptions)==null?void 0:y.actionButtons)==null?void 0:x.cancelButtonClassName)||"button-style padding-1px"} action-btns `+yr,title:a.btnCancelTitle,style:{display:l?"":"none"}})).appendChild(v("span",{className:((I=(O=o.rowBasedEditOptions)==null?void 0:O.actionButtons)==null?void 0:I.iconCancelButtonClassName)||"mdi mdi-cancel text-color-danger"})),h}toggleEditmode(e,t){const i=this.gridOptions.datasetIdPropertyName??"id";t?this._editedRows.set(e[i],{columns:[],editCommands:[],cssStyleKeys:[]}):this._editedRows.delete(e[i]),this._grid.invalidate()}updateItemMetadata(e){return t=>{const i=this._grid.getData().getItem(t);let s={cssClasses:""};if(typeof e=="function"){const n=e(t);n&&(s=n)}if(s&&i){const n=this.gridOptions.datasetIdPropertyName??"id";this._editedRows.has(i[n])&&!s.cssClasses.includes(Us)?s.cssClasses=(s.cssClasses||"")+" "+Us:!this._editedRows.has(i[n])&&s.cssClasses.includes(Us)&&(s.cssClasses=s.cssClasses.replace(Us,""))}return s}}getTitleOrDefault(e,t){var s,n,o;const i=(s=this.gridOptions.rowBasedEditOptions)==null?void 0:s.actionButtons;return(i==null?void 0:i[e+"Key"])&&((o=(n=this.extensionUtility.translaterService)==null?void 0:n.translate)==null?void 0:o.call(n,(i==null?void 0:i[e+"Key"])||""))||(i==null?void 0:i[e])||t}}class pa{constructor(e){this.pubSubService=e,this.pluginName="RowMoveManager",this._dragging=!1,this._defaults={autoScroll:!0,columnId:"_move",cssClass:"slick-row-move-column",cancelEditOnDrag:!1,disableRowSelection:!1,hideRowMoveShadow:!0,reorderable:!1,rowMoveShadowMarginTop:0,rowMoveShadowMarginLeft:0,rowMoveShadowOpacity:.9,rowMoveShadowScale:.75,singleRowMove:!1,width:40},this.onBeforeMoveRows=new P("onBeforeMoveRows"),this.onMoveRows=new P("onMoveRows"),this._eventHandler=new pe}get addonOptions(){return this._addonOptions}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}init(e,t){var i;this._addonOptions={...this._defaults,...t},this._grid=e,this._canvas=this._grid.getCanvasNode(),T.addSlickEventPubSubWhenDefined(this.pubSubService,this),typeof((i=this._addonOptions)==null?void 0:i.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 e;(e=this._eventHandler)==null||e.unsubscribeAll()}create(e,t){var i;if(this._addonOptions={...this._defaults,...t.rowMoveManager},Array.isArray(e)&&t){const s=this.getColumnDefinition();if(!e.some(n=>n.id===s.id)){const n=Array.isArray(e)&&e.find(a=>(a==null?void 0:a.behavior)==="selectAndMove"),o=n||s,l=((i=t==null?void 0:t.rowMoveManager)==null?void 0:i.columnIndexPosition)??0;l>0?e.splice(l,0,o):e.unshift(o),this.pubSubService.publish("onPluginColumnsChanged",{columns:e,pluginName:this.pluginName})}}return this}getColumnDefinition(){var t;const e=String(((t=this._addonOptions)==null?void 0:t.columnId)??this._defaults.columnId);return{id:e,name:"",behavior:"selectAndMove",excludeFromExport:!0,excludeFromColumnPicker:!0,excludeFromGridMenu:!0,excludeFromQuery:!0,excludeFromHeaderMenu:!0,field:e,reorderable:this._addonOptions.reorderable,resizable:!1,width:this._addonOptions.width||40,formatter:this.moveIconFormatter.bind(this)}}usabilityOverride(e){this._usabilityOverride=e}setOptions(e){this._addonOptions={...this._addonOptions,...e}}handleDragInit(e){e.stopImmediatePropagation()}handleDragEnd(e,t){var i,s,n;if(this._dragging&&(this._dragging=!1,e.stopImmediatePropagation(),(i=t.guide)==null||i.remove(),(s=t.selectionProxy)==null||s.remove(),(n=t.clonedSlickRow)==null||n.remove(),t.canMove)){const o={grid:this._grid,rows:t.selectedRows,insertBefore:t.insertBefore};typeof this._addonOptions.onMoveRows=="function"&&this._addonOptions.onMoveRows(e instanceof le?e.getNativeEvent():e,o),this.onMoveRows.notify(o)}}handleDrag(e,t){var i,s,n;if(this._dragging){e.stopImmediatePropagation();const o=e.getNativeEvent(),a=(((i=o==null?void 0:o.touches)==null?void 0:i[0])??o).pageY-ge(this._canvas).top;t.selectionProxy.style.top=`${a-5}px`,t.selectionProxy.style.display="block",t.clonedSlickRow&&(t.clonedSlickRow.style.top=`${a-6}px`,t.clonedSlickRow.style.display="block");const h=Math.max(0,Math.min(Math.round(a/(this.gridOptions.rowHeight||0)),this._grid.getDataLength()));if(h!==t.insertBefore){const d={grid:this._grid,rows:t.selectedRows,insertBefore:h};if(((n=(s=this._addonOptions)==null?void 0:s.onBeforeMoveRows)==null?void 0:n.call(s,o,d))===!1||this.onBeforeMoveRows.notify(d).getReturnValue()===!1?t.canMove=!1:t.canMove=!0,this._usabilityOverride&&t.canMove){const c=this._grid.getDataItem(h);t.canMove=this.checkUsabilityOverride(h,c,this._grid)}t.canMove?t.guide.style.top=`${h*(this.gridOptions.rowHeight||0)}px`:t.guide.style.top="-1000px",t.insertBefore=h}}}handleDragStart(e,t){var o,l,a,h,d;const i=this._grid.getCellFromEvent(e)||{cell:-1,row:-1},s=i.row,n=this._grid.getDataItem(s);if(this.checkUsabilityOverride(s,n,this._grid)){if(this._addonOptions.cancelEditOnDrag&&this._grid.getEditorLock().isActive()&&this._grid.getEditorLock().cancelCurrentEdit(),this._grid.getEditorLock().isActive()||!/move|selectAndMove/.test(this._grid.getColumns()[i.cell].behavior||""))return!1;if(this._dragging=!0,e.stopImmediatePropagation(),!this.addonOptions.hideRowMoveShadow){const p=(o=this._grid.getCellNode(i.row,i.cell))==null?void 0:o.closest(".slick-row");p&&(t.clonedSlickRow=p.cloneNode(!0),t.clonedSlickRow.classList.add("slick-reorder-shadow-row"),t.clonedSlickRow.style.display="none",t.clonedSlickRow.style.marginLeft=Pt((l=this._addonOptions)==null?void 0:l.rowMoveShadowMarginLeft,"0px"),t.clonedSlickRow.style.marginTop=Pt((a=this._addonOptions)==null?void 0:a.rowMoveShadowMarginTop,"0px"),t.clonedSlickRow.style.opacity=`${((h=this._addonOptions)==null?void 0:h.rowMoveShadowOpacity)??.95}`,t.clonedSlickRow.style.transform=`scale(${((d=this.addonOptions)==null?void 0:d.rowMoveShadowScale)??.75})`,this._canvas.appendChild(t.clonedSlickRow))}let c=this._addonOptions.singleRowMove?[i.row]:this._grid.getSelectedRows();(c.length===0||!c.some(p=>p===i.row))&&(c=[i.row],this._addonOptions.disableRowSelection||this._grid.setSelectedRows(c));const u=this.gridOptions.rowHeight;t.selectedRows=c,t.selectionProxy=v("div",{className:"slick-reorder-proxy",style:{display:"none",position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,height:`${u*c.length}px`}},this._canvas),t.guide=v("div",{className:"slick-reorder-guide",style:{position:"absolute",zIndex:"99999",width:`${this._canvas.clientWidth}px`,top:"-1000px"}},this._canvas),t.insertBefore=-1}}checkUsabilityOverride(e,t,i){return typeof this._usabilityOverride=="function"?this._usabilityOverride(e,t,i):!0}moveIconFormatter(e,t,i,s,n,o){return this.checkUsabilityOverride(e,n,o)?{addClasses:"cell-reorder dnd",html:v("div",{className:this._addonOptions.cssClass||""})}:""}}class Zc{get extensionList(){return this._extensionList}get gridOptions(){return this.sharedService.gridOptions||{}}constructor(e,t,i,s,n,o,l,a){this.extensionUtility=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this.treeDataService=o,this.translaterService=l,this.lazyGridService=a,this._extensionCreatedList={},this._extensionList={},this._requireInitExternalExtensions=[]}dispose(){if(this.sharedService.visibleColumns=[],typeof this._extensionList=="object"){const e=Object.keys(this._extensionList);e.forEach(t=>{var i;if(this._extensionList.hasOwnProperty(t)){const s=this._extensionList[t];typeof((i=s==null?void 0:s.instance)==null?void 0:i.dispose)=="function"&&s.instance.dispose()}}),e.forEach(t=>{delete this._extensionList[t]})}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={}}addExtensionToList(e,t){this._extensionList[e]=t}getAllColumns(){return this.sharedService.allColumns||[]}getVisibleColumns(){return this.sharedService.visibleColumns||[]}getCreatedExtensionByName(e){var t;if((t=this._extensionCreatedList)!=null&&t.hasOwnProperty(e))return this._extensionCreatedList[e]}getExtensionByName(e){var t;return(t=this._extensionList)==null?void 0:t[e]}getExtensionInstanceByName(e){var t;return(t=this.getExtensionByName(e))==null?void 0:t.instance}autoResizeColumns(){this.sharedService.slickGrid.autosizeColumns()}bindDifferentExtensions(){var e,t,i,s,n,o,l,a,h,d,c,u,p;if(this.gridOptions){if(this.gridOptions.enableTranslate&&this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.gridOptions.enableRowBasedEdit){this._rowBasedEdit=this._rowBasedEdit||new ua(this.extensionUtility,this.pubSubService,this.gridOptions.rowBasedEditOptions);const m=(e=this.lazyGridService)==null?void 0:e.call(this);if(!m)throw new Error("[Slickgrid-Universal] the RowBasedEdit Plugin requires a GridService to be configured and available");this._rowBasedEdit.init(this.sharedService.slickGrid,m),(t=this.gridOptions.rowBasedEditOptions)!=null&&t.onExtensionRegistered&&this.gridOptions.rowBasedEditOptions.onExtensionRegistered(this._rowBasedEdit),this._extensionList[G.rowBasedEdit]={name:G.rowBasedEdit,instance:this._rowBasedEdit}}if(this.gridOptions.enableAutoTooltip){const m=new Bc((i=this.gridOptions)==null?void 0:i.autoTooltipOptions);this.sharedService.slickGrid.registerPlugin(m),this._extensionList[G.autoTooltip]={name:G.autoTooltip,instance:m}}if(this.gridOptions.enableExcelCopyBuffer&&(this._cellExcelCopyManagerPlugin=new zc,this._cellExcelCopyManagerPlugin.init(this.sharedService.slickGrid,this.sharedService.gridOptions.excelCopyBufferOptions),(s=this.gridOptions.excelCopyBufferOptions)!=null&&s.onExtensionRegistered&&this.gridOptions.excelCopyBufferOptions.onExtensionRegistered(this._cellExcelCopyManagerPlugin),this._extensionList[G.cellExternalCopyManager]={name:G.cellExternalCopyManager,instance:this._cellExcelCopyManagerPlugin}),this.gridOptions.enableCellMenu&&(this._cellMenuPlugin=new Gc(this.extensionUtility,this.pubSubService,this.sharedService),(n=this.gridOptions.cellMenu)!=null&&n.onExtensionRegistered&&this.gridOptions.cellMenu.onExtensionRegistered(this._cellMenuPlugin),this._extensionList[G.cellMenu]={name:G.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=this.gridOptions.rowSelectionOptions??{};this.gridOptions.enableRowMoveManager&&((o=this.gridOptions.rowMoveManager)==null?void 0:o.dragToSelect)!==!1&&(m.dragToSelect=!0),this._rowSelectionModel=new fr(m),this.sharedService.slickGrid.setSelectionModel(this._rowSelectionModel)}this._extensionList[G.rowSelection]={name:G.rowSelection,instance:this._rowSelectionModel}}if(this.gridOptions.enableCheckboxSelector){this._checkboxSelectColumn=this._checkboxSelectColumn||new ta(this.pubSubService,this.gridOptions.checkboxSelector),this._checkboxSelectColumn.init(this.sharedService.slickGrid);const m=this.getCreatedExtensionByName(G.checkboxSelector),f=m==null?void 0:m.instance;f&&((l=this.gridOptions.checkboxSelector)!=null&&l.onExtensionRegistered&&this.gridOptions.checkboxSelector.onExtensionRegistered(f),this._extensionList[G.checkboxSelector]={name:G.checkboxSelector,instance:this._checkboxSelectColumn})}if(this.gridOptions.enableColumnPicker&&(this._columnPickerControl=new _r(this.extensionUtility,this.pubSubService,this.sharedService),(a=this.gridOptions.columnPicker)!=null&&a.onExtensionRegistered&&this.gridOptions.columnPicker.onExtensionRegistered(this._columnPickerControl),this._extensionList[G.columnPicker]={name:G.columnPicker,instance:this._columnPickerControl}),this.gridOptions.enableContextMenu&&(this._contextMenuPlugin=new Yc(this.extensionUtility,this.pubSubService,this.sharedService,this.treeDataService),(h=this.gridOptions.contextMenu)!=null&&h.onExtensionRegistered&&this.gridOptions.contextMenu.onExtensionRegistered(this._contextMenuPlugin),this._extensionList[G.contextMenu]={name:G.contextMenu,instance:this._contextMenuPlugin}),this.gridOptions.enableDraggableGrouping&&(this._draggleGroupingPlugin&&(this._draggleGroupingPlugin.init(this.sharedService.slickGrid,this.gridOptions.draggableGrouping),(d=this.gridOptions.draggableGrouping)!=null&&d.onExtensionRegistered&&this.gridOptions.draggableGrouping.onExtensionRegistered(this._draggleGroupingPlugin),this._extensionList[G.contextMenu]={name:G.contextMenu,instance:this._draggleGroupingPlugin}),this._extensionList[G.draggableGrouping]={name:G.draggableGrouping,instance:this._draggleGroupingPlugin}),this.gridOptions.enableGridMenu&&(this._gridMenuControl=new ia(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(c=this.gridOptions.gridMenu)!=null&&c.onExtensionRegistered&&this.gridOptions.gridMenu.onExtensionRegistered(this._gridMenuControl),this._extensionList[G.gridMenu]={name:G.gridMenu,instance:this._gridMenuControl}),this.gridOptions.enableHeaderButton){const m=new Kc(this.extensionUtility,this.pubSubService,this.sharedService);(u=this.gridOptions.headerButton)!=null&&u.onExtensionRegistered&&this.gridOptions.headerButton.onExtensionRegistered(m),this._extensionList[G.headerButton]={name:G.headerButton,instance:m}}if(this.gridOptions.enableHeaderMenu&&(this._headerMenuPlugin=new Xc(this.extensionUtility,this.filterService,this.pubSubService,this.sharedService,this.sortService),(p=this.gridOptions.headerMenu)!=null&&p.onExtensionRegistered&&this.gridOptions.headerMenu.onExtensionRegistered(this._headerMenuPlugin),this._extensionList[G.headerMenu]={name:G.headerMenu,instance:this._headerMenuPlugin}),this.gridOptions.enableRowMoveManager){this._rowMoveManagerPlugin=this._rowMoveManagerPlugin||new pa(this.pubSubService),this._rowMoveManagerPlugin.init(this.sharedService.slickGrid,this.gridOptions.rowMoveManager);const m=this.getCreatedExtensionByName(G.rowMoveManager);(m==null?void 0:m.instance)&&(this._extensionList[G.rowMoveManager]={name:G.rowMoveManager,instance:this._rowMoveManagerPlugin})}this._requireInitExternalExtensions.length&&this._requireInitExternalExtensions.forEach(m=>{m.instance.init(this.sharedService.slickGrid,void 0)})}}createExtensionsBeforeGridCreation(e,t){var s,n,o;const i=[];t.enableCheckboxSelector&&(this.getCreatedExtensionByName(G.checkboxSelector)||(this._checkboxSelectColumn=new ta(this.pubSubService,this.sharedService.gridOptions.checkboxSelector),i.push({name:G.checkboxSelector,instance:this._checkboxSelectColumn,columnIndexPosition:((s=t==null?void 0:t.checkboxSelector)==null?void 0:s.columnIndexPosition)??i.length}))),t.enableRowMoveManager&&(this.getCreatedExtensionByName(G.rowMoveManager)||(this._rowMoveManagerPlugin=new pa(this.pubSubService),i.push({name:G.rowMoveManager,instance:this._rowMoveManagerPlugin,columnIndexPosition:((n=t==null?void 0:t.rowMoveManager)==null?void 0:n.columnIndexPosition)??i.length}))),t.enableRowBasedEdit&&(this.getCreatedExtensionByName(G.rowBasedEdit)||(this._rowBasedEdit=new ua(this.extensionUtility,this.pubSubService),i.push({name:G.rowBasedEdit,instance:this._rowBasedEdit,columnIndexPosition:((o=t==null?void 0:t.rowMoveManager)==null?void 0:o.columnIndexPosition)??i.length}))),t.preRegisterExternalExtensions&&t.preRegisterExternalExtensions(this.pubSubService).forEach(a=>{i.push(a),this._requireInitExternalExtensions.push(a),this._extensionList[a.name]||this.addExtensionToList(a.name,a)}),this.createExtensionByTheirColumnIndex(i,e,t),t.enableDraggableGrouping&&(this.getCreatedExtensionByName(G.draggableGrouping)||(this._draggleGroupingPlugin=new qc(this.extensionUtility,this.pubSubService,this.sharedService),this._draggleGroupingPlugin&&(t.enableColumnReorder=this._draggleGroupingPlugin.setupColumnReorder.bind(this._draggleGroupingPlugin),this._extensionCreatedList[G.draggableGrouping]={name:G.draggableGrouping,instance:this._draggleGroupingPlugin})))}hideColumn(e){var t,i;if(typeof((i=(t=this.sharedService)==null?void 0:t.slickGrid)==null?void 0:i.getColumns)=="function"){const s=this.sharedService.slickGrid.getColumnIndex(e.id);this.sharedService.visibleColumns=this.removeColumnByIndex(this.sharedService.slickGrid.getColumns(),s),this.sharedService.slickGrid.setColumns(this.sharedService.visibleColumns)}}refreshBackendDataset(e){this.extensionUtility.refreshBackendDataset(e)}removeColumnByIndex(e,t){return Array.isArray(e)?e.filter((i,s)=>t!==s):e}translateAllExtensions(e){this.translateCellMenu(),this.translateContextMenu(),this.translateHeaderMenu(),this.translateRowEditPlugin(),this.translateColumnHeaders(e)}translateCellMenu(){var e;(e=this._cellMenuPlugin)==null||e.translateCellMenu()}translateColumnPicker(){var e;(e=this._columnPickerControl)==null||e.translateColumnPicker()}translateContextMenu(){var e;(e=this._contextMenuPlugin)==null||e.translateContextMenu()}translateGridMenu(){var e;(e=this._gridMenuControl)==null||e.translateGridMenu()}translateHeaderMenu(){var e;(e=this._headerMenuPlugin)==null||e.translateHeaderMenu()}translateRowEditPlugin(){var e;(e=this._rowBasedEdit)==null||e.translate()}translateColumnHeaders(e,t){var s;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.');e&&((s=this.translaterService)!=null&&s.use)&&this.translaterService.getCurrentLanguage()!==e&&this.translaterService.use(e);let i=t;i||(i=this.sharedService.columnDefinitions),this.translateItems(i,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"nameKey","name"),this.translateItems(this.sharedService.allColumns,"columnGroupKey","columnGroup"),this.renderColumnHeaders(i,Array.isArray(t))}renderColumnHeaders(e,t=!1){var s;let i=e;i||(i=this.sharedService.columnDefinitions),Array.isArray(i)&&((s=this.sharedService.slickGrid)!=null&&s.setColumns)&&((i.length>this.sharedService.allColumns.length||t)&&(this.sharedService.allColumns=i),this.sharedService.slickGrid.setColumns(i)),this.gridOptions.enableColumnPicker&&this._columnPickerControl&&(this._columnPickerControl.columns=this.sharedService.allColumns,this._columnPickerControl.translateColumnPicker()),this.gridOptions.enableGridMenu&&this._gridMenuControl&&(this._gridMenuControl.columns=this.sharedService.allColumns??[],this._gridMenuControl.recreateGridMenu(),this._gridMenuControl.translateGridMenu())}createExtensionByTheirColumnIndex(e,t,i){e.sort((s,n)=>((s==null?void 0:s.columnIndexPosition)??0)-((n==null?void 0:n.columnIndexPosition)??0)),e.forEach(s=>{const n=s.instance.create(t,i);n&&(this._extensionCreatedList[s.name]={name:s.name,instance:n})})}translateItems(e,t,i){var s,n;if((s=this.gridOptions)!=null&&s.enableTranslate&&!((n=this.translaterService)!=null&&n.translate))throw new Error('[Slickgrid-Universal] requires a Translate Service to be installed and configured when the grid option "enableTranslate" is enabled.');this.extensionUtility.translateItems(e,t,i)}}function ma(r,e,t){if(t&&(r!=null&&r.hasOwnProperty(t)||e!=null&&e.hasOwnProperty(t)))return r[t]===e||r===e[t]||r[t]===e[t];if(typeof r=="object"&&typeof e=="object"&&Object.keys(r).length!==Object.keys(e).length)return!1;for(const i in r)if(r.hasOwnProperty(i)&&r[i]!==e[i])return!1;return!0}function Jc(r){switch(r&&r.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 jt=(r,e,t)=>{switch(r.toUpperCase()){case"<":case"LT":return e<t;case"<=":case"LE":return e<=t;case">":case"GT":return e>t;case">=":case"GE":return e>=t;case"!=":case"<>":case"NE":return e!==t;case"=":case"==":case"EQ":return e===t;case"IN":return t&&Array.isArray(t)?t.includes(e):!1;case"NIN":case"NOT_IN":return t&&Array.isArray(t)?!t.includes(e):!1;case"IN_CONTAINS":return t&&Array.isArray(t)&&typeof e=="string"?t.some(i=>e.split(/[,]+/).map(s=>s.trim()).includes(i)):!1;case"NIN_CONTAINS":case"NOT_IN_CONTAINS":return t&&Array.isArray(t)&&typeof e=="string"?!t.some(i=>e.split(/[,]+/).map(s=>s.trim()).includes(i)):!1;case"IN_COLLECTION":return e&&t&&Array.isArray(e)&&Array.isArray(t)?t.some(i=>e.includes(i)):!1;case"NOT_IN_COLLECTION":return e&&t&&Array.isArray(e)&&Array.isArray(t)?!t.some(i=>e.includes(i)):!1}return!0},fa=(r,e)=>{let[t,i]=e;if(t===void 0&&!r.operator)return!0;r.cellValue=r.cellValue===void 0||r.cellValue===null?"":r.cellValue.toString();const s=r!=null&&r.ignoreAccentOnStringFilterAndSort?mi(r.cellValue,!0):r.cellValue.toLowerCase();if(typeof t=="string"&&(t=r!=null&&r.ignoreAccentOnStringFilterAndSort?mi(t,!0):t.toLowerCase()),typeof i=="string"&&(i=r!=null&&r.ignoreAccentOnStringFilterAndSort?mi(i,!0):i.toLowerCase()),r.operator===H.startsWithEndsWith&&t!==void 0&&i!==void 0)return tu(s,[t,i]);if(t!==void 0&&i!==void 0){let o=(r==null?void 0:r.operator)??r.defaultFilterRangeOperator;o!==H.rangeInclusive&&o!==H.rangeExclusive&&(o=r.defaultFilterRangeOperator);const l=o===H.rangeInclusive,a=Er(l?">=":">",s,t,r.searchInputLastChar),h=Er(l?"<=":"<",s,i,r.searchInputLastChar);return a&&h}return Er(r.operator,s,t,r.searchInputLastChar)};function eu(r){let t=Array.isArray(r)&&r||[""];const i=[];let s,n;if(t.length===1&&typeof t[0]=="string"){const o=t[0];o.indexOf("..")>0?t=o.split(".."):o.indexOf("*")>0&&o.indexOf("*")<o.length-1&&(t=o.split("*"))}if(t.length===2)s=`${t[0]}`,n=`${t[1]}`;else{const o=Array.isArray(r)&&r.length>0?r[0]:"";s=o==null?"":`${o}`}return s!==void 0&&n!==void 0?i.push(s,n):s!==void 0&&i.push(s),i}function Er(r,e,t,i){return r==="*"||r===H.endsWith||r==="*z"?e.endsWith(t):r===""&&i==="*"||r===H.startsWith||r==="a*"?e.startsWith(t):r===""||r===H.contains?e.indexOf(t)>-1:r==="<>"||r===H.notContains?e.indexOf(t)===-1:jt(r||"==",e,t)}function tu(r,[e,t]){return r.startsWith(e)&&r.endsWith(t)}const iu=(r,e)=>{if(e===void 0&&!r.operator)return!0;switch((r.operator||"").toUpperCase()){case"!=":case"<>":case"NE":return!ma(r.cellValue,e,r.dataKey);case"=":case"==":case"EQ":default:return ma(r.cellValue,e,r.dataKey)}};function su(r){return(Array.isArray(r)&&r.length>0?r[0]:"")||""}const ga=(r,e)=>{const t=parseFloat(r.cellValue),[i,s]=e;if(i===void 0&&!r.operator)return!0;if(i!==void 0&&s!==void 0){let n=(r==null?void 0:r.operator)??r.defaultFilterRangeOperator;n!==H.rangeInclusive&&n!==H.rangeExclusive&&(n=r.defaultFilterRangeOperator);const o=n===H.rangeInclusive,l=jt(o?">=":">",t,+i),a=jt(o?"<=":"<",t,+s);return l&&a}return jt(r.operator||"==",t,+i)};function nu(r){const t=Array.isArray(r)&&r||[0],i=[];let s,n;if(t.length===2||typeof t[0]=="string"&&t[0].indexOf("..")>0){const o=t.length===2?t:t[0].split("..");s=parseFloat(Array.isArray(o)?o[0]:""),n=parseFloat(Array.isArray(o)?o[1]:"")}else s=parseFloat(t[0]);return U(s,!0)&&U(n,!0)?i.push(s,n):U(s,!0)&&i.push(s),i}const _a=(r,e)=>ms(r.cellValue)===ms(e);function ru(r){const e=Array.isArray(r)&&r[0]||!1;return ms(e)}const Ca=r=>{const e=r.operator;let t;return Array.isArray(r.cellValue)&&(e==="IN_COLLECTION"||e==="NOT_IN_COLLECTION")?t=r.cellValue.length?r.cellValue.map(i=>`${i}`):[]:t=r.cellValue===void 0||r.cellValue===null?"":`${r.cellValue}`,jt(e||"IN",t,r.searchTerms||[])};function ou(r,e){const t=r&&(r.filterSearchType||r.fieldType)||w.dateIso,i=Ke(t),[s,n]=e,o=bt(r.cellValue,i,!0);if(!s&&!n||!o)return!1;const l=i==="ISO8601"||i.toLowerCase().includes("h")?o.valueOf():Ho(new Date(o)).valueOf();if(s&&n){let h=(r==null?void 0:r.operator)??r.defaultFilterRangeOperator;h!==H.rangeInclusive&&h!==H.rangeExclusive&&(h=r.defaultFilterRangeOperator);const d=h===H.rangeInclusive,c=jt(d?">=":">",l,s.valueOf()),u=jt(d?"<=":"<",l,n.valueOf());return c&&u}const a=i==="ISO8601"||i.toLowerCase().includes("h")?s.valueOf():Ho(new Date(s)).valueOf();return jt(r.operator||"==",l,a)}function lu(r,e){const t=Array.isArray(r)&&r||[],i=e||w.dateIso,s=Ke(i),n=[];if(t.length===2||typeof t[0]=="string"&&t[0].indexOf("..")>0){const o=t.length===2?t:t[0].split(".."),l=Array.isArray(o)&&o[0]||"",a=Array.isArray(o)&&o[1]||"",h=bt(l,s,!0),d=bt(a,s,!0);if(!h||!d)return[];n.push(h,d)}else{const o=bt(t[0],s,!0);if(!o)return[];n.push(o)}return n}const au=(r,e)=>{if(Jc(r.operator))return Ca(r);switch(va(r.filterSearchType||r.fieldType)){case"boolean":return _a(r,e);case"date":return ou(r,e||[]);case"number":return ga(r,e||[]);case"object":return iu(r,e);case"string":default:return fa(r,e||[])}};function js(r,e){const t=va(e);let i;switch(t){case"boolean":i=ru(r);break;case"date":i=lu(r,e);break;case"number":i=nu(r);break;case"object":i=su(r);break;case"string":i=eu(r);break}return i}function va(r){if(It(r))return"date";switch(r){case w.boolean:return"boolean";case w.integer:case w.float:case w.number:return"number";case w.object:return"object";case w.string:case w.text:case w.password:case w.readonly:default:return"string"}}const ba={executeFilterConditionTest:au,booleanFilter:_a,collectionSearchFilter:Ca,numberFilter:ga,stringFilter:fa};class hu{constructor(e,t,i,s){var n;this.config=e,this.translaterService=t,this.collectionService=i,this.rxjs=s,this._options=((n=this.config)==null?void 0:n.options)??{}}addRxJsResource(e){this.rxjs=e}createFilter(e){let t;return e!=null&&e.model&&(t=typeof e.model=="function"?new e.model(this.translaterService,this.collectionService,this.rxjs):e.model),!t&&this._options.defaultFilter&&(t=new this._options.defaultFilter(this.translaterService,this.collectionService,this.rxjs)),t}}class du{constructor(e,t,i,s,n){this.filterFactory=e,this.pubSubService=t,this.sharedService=i,this.backendUtilities=s,this.rxjs=n,this._isFilterFirstRender=!0,this._firstColumnIdRendered="",this._filtersMetadata=[],this._columnFilters={},this._isTreePresetExecuted=!1,this._previousFilters=[],this._onSearchChange=new P,this._eventHandler=new pe,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 e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}addRxJsResource(e){this.rxjs=e}init(e){this._grid=e,this._gridOptions&&this._gridOptions.enableTreeData&&this._gridOptions.treeDataOptions&&this._grid.setSortColumns([{columnId:this._gridOptions.treeDataOptions.columnId,sortAsc:!0}])}dispose(){var e;this._eventHandler.unsubscribeAll(),this.httpCancelRequests$&&((e=this.rxjs)!=null&&e.isObservable(this.httpCancelRequests$))&&(this.httpCancelRequests$.next(),this.httpCancelRequests$.complete()),this.disposeColumnFilters(),this._onSearchChange=null}disposeColumnFilters(){if(this.removeAllColumnFiltersProperties(),Array.isArray(this._filtersMetadata)){let e=this._filtersMetadata.pop();for(;e;)typeof(e==null?void 0:e.destroy)=="function"&&e.destroy(),e=this._filtersMetadata.pop()}}bindBackendOnFilter(e){this._filtersMetadata=[],this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{i.column.id===this._firstColumnIdRendered&&(this._isFilterFirstRender=!1),this.addFilterTemplateToHeaderRow(i,this._isFilterFirstRender),this._firstColumnIdRendered===""&&(this._firstColumnIdRendered=i.column.id)}),this.subscribeToOnHeaderRowCellRendered(e),this._onSearchChange&&this._eventHandler.subscribe(this._onSearchChange,this.onBackendFilterChange.bind(this))}bindLocalOnFilter(e){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(t,i)=>{const s=(i==null?void 0:i.clearFilterTriggered)??!1;s||await this.emitFilterChanged(oe.local,!0),this._gridOptions.enableTreeData===!0&&(this._tmpPreFilteredData=this.preFilterTreeData(this._dataView.getItems(),this._columnFilters)),s||await this.emitFilterChanged(oe.local),i.columnId!==null&&this._dataView.refresh(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)}),this._eventHandler.subscribe(e.onHeaderRowCellRendered,(t,i)=>{this.addFilterTemplateToHeaderRow(i)}),this.subscribeToOnHeaderRowCellRendered(e)}async clearFilterByColumnId(e,t){await this.pubSubService.publish("onBeforeFilterClear",{columnId:t},0);const i=this._gridOptions.backendServiceApi??!1,s=i?oe.remote:oe.local,n=Object.keys(this._columnFilters);let o;Array.isArray(n)&&(o=n.find(a=>a===`${t}`));const l=this._filtersMetadata.find(a=>a.columnDef.id===t);return l!=null&&l.clear&&l.clear(!0),i&&o!==void 0&&this.onBackendFilterChange(e,{grid:this._grid,columnFilters:this._columnFilters}),await this.emitFilterChanged(s),!0}async clearFilters(e=!0){var i,s;e&&await this.pubSubService.publish("onBeforeFilterClear",!0,0),this._filtersMetadata.forEach(n=>{n!=null&&n.clear&&n.clear(!1)}),this.removeAllColumnFiltersProperties(),Array.isArray(this._columnDefinitions)&&this._columnDefinitions.forEach(n=>{var o;(o=n.filter)!=null&&o.searchTerms&&delete n.filter.searchTerms}),this._dataView&&this._grid&&(this._dataView.refresh(),this._grid.invalidate());const t=this._gridOptions.backendServiceApi;if(t&&e){const n={clearFilterTriggered:!0,shouldTriggerQuery:e,grid:this._grid,columnFilters:this._columnFilters},l=t.service.processOnFilterChanged(void 0,n),a=((i=this._gridOptions.pagination)==null?void 0:i.totalItems)??0;(s=this.backendUtilities)==null||s.executeBackendCallback(t,l,n,new Date,a,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:h=>this._previousFilters=this.extractBasicFilterDetails(h.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this)})}else this._previousFilters=this.extractBasicFilterDetails(this._columnFilters);e&&this.pubSubService.publish("onFilterCleared",!0)}customLocalFilter(e,t){var l;const i=t==null?void 0:t.grid,s=(t==null?void 0:t.columnFilters)??{},n=this._gridOptions.enableTreeData??!1,o=this._gridOptions.treeDataOptions;if(n&&o){const a=o.collapsedPropName??R.treeDataProperties.COLLAPSED_PROP,h=o.parentPropName??R.treeDataProperties.PARENT_PROP,d=(o==null?void 0:o.childrenPropName)??R.treeDataProperties.CHILDREN_PROP,c=this._gridOptions.datasetIdPropertyName??"id",u=o.autoRecalcTotalsOnFilterChange??!1;let p=!1;if(e[h]!==null){let m=this._dataView.getItemById(e[h]);for(;m;){if(m[a])if(u)p=!0;else return!1;m=this._dataView.getItemById(m[h])}}if(this._tmpPreFilteredData instanceof Set){const m=this._tmpPreFilteredData.has(e[c]);if(u){const f=Li(this.sharedService.hierarchicalDataset,g=>g[c]===e[c],d);if(f&&(f.__filteredOut=!m),p)return!1}return m}}else if(typeof s=="object")for(const a of Object.keys(s)){const h=s[a],d=(l=h.columnDef)==null?void 0:l.filter;if(typeof(d==null?void 0:d.filterPredicate)=="function"){if(!d.filterPredicate(e,h))return!1}else{const c=this.preProcessFilterConditionOnDataContext(e,h,i);if(typeof c=="boolean")return c;let u=h==null?void 0:h.parsedSearchTerms;if(u===void 0&&(u=js(h.searchTerms,h.columnDef.type||w.string),u!==void 0&&(h.parsedSearchTerms=u)),!ba.executeFilterConditionTest(c,u))return!1}}return!0}parseFormInputFilterConditions(e,t){var p;const i=de(!0,[],e)||[];let s=Array.isArray(i)&&i.length===1?i[0]:"";const n=t.columnDef,o=((p=n.filter)==null?void 0:p.type)??n.type??w.string;let l=null;o!==w.object&&(s=s==null?"":`${s}`,l=(n.autoParseInputFilterOperator??this._gridOptions.autoParseInputFilterOperator)!==!1?s.match(/^((.*[^\\*\r\n])[*]{1}(.*[^*\r\n]))|^([<>!=*]{0,2})(.*[^<>!=*])([*]?)$/)||[]:[s,"","","","",s,""]);const a=(l==null?void 0:l[2])||"",h=(l==null?void 0:l[3])||"";let d=(l==null?void 0:l[4])||t.operator,c=(l==null?void 0:l[1])||(l==null?void 0:l[5])||"";const u=(l==null?void 0:l[6])||(d==="*z"?"*":"");return typeof s=="string"&&(s=s.replace("'","''"),a&&h?(c=s,d=H.startsWithEndsWith):d==="*"||d==="*z"?d=H.endsWith:(d==="a*"||u==="*")&&(d=H.startsWith)),Array.isArray(l)&&l.length>=1&&Array.isArray(i)&&i.length===1&&(i[0]=c.length>0&&c.substring(0,1)===" "?c.substring(1):c),{dataKey:n.dataKey,fieldType:o,searchTerms:i||[],operator:d,searchInputLastChar:u,filterSearchType:n.filterSearchType,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preProcessFilterConditionOnDataContext(e,t,i){var u,p,m,f;const s=t.columnDef,n=t.columnId;let o=i.getColumnIndex(n);if(!s&&this.sharedService&&Array.isArray(this.sharedService.allColumns)&&(o=this.sharedService.allColumns.findIndex(g=>g.field===n)),!s)return!0;if(this._gridOptions.enableRowDetailView){const g=((u=this._gridOptions.rowDetailView)==null?void 0:u.keyPrefix)||"__";e[`${g}isPadding`]&&e[`${g}parent`]&&(e=e[`${g}parent`])}let l=((p=s.filter)==null?void 0:p.queryField)||s.queryFieldFilter||s.queryField||s.field||"";typeof s.queryFieldNameGetterFn=="function"&&(l=s.queryFieldNameGetterFn(e));const a=((m=s.filter)==null?void 0:m.type)??s.type??w.string;let h=e[l];(l==null?void 0:l.indexOf("."))>=0&&(h=Ee(e,l));const d=t.operator,c=t.searchTerms||[];if(!c||Array.isArray(c)&&(c.length===0||c.length===1&&d===c[0]))return!0;if(c&&Array.isArray(c)&&a!==w.object)for(let g=0,_=c.length;g<_;g++)c[g]=(c[g]===void 0||c[g]===null?"":c[g])+"";if(((f=s==null?void 0:s.params)==null?void 0:f.useFormatterOuputToFilter)===!0){const g=this._gridOptions.datasetIdPropertyName||"id",_=this._dataView&&typeof this._dataView.getIdxById=="function"?this._dataView.getIdxById(e[g]):0,C=s&&typeof s.formatter=="function"?s.formatter(_||0,o,h,s,e,this._grid):"";h=we(C)}return typeof h=="number"&&(h=h.toString()),{dataKey:s.dataKey,fieldType:a,searchTerms:c,cellValue:h,operator:d,searchInputLastChar:t.searchInputLastChar,filterSearchType:s.filterSearchType,ignoreAccentOnStringFilterAndSort:this._gridOptions.ignoreAccentOnStringFilterAndSort??!1,defaultFilterRangeOperator:this._gridOptions.defaultFilterRangeOperator}}preFilterTreeData(e,t){var g,_,C,b,S,E;const i=this._gridOptions.treeDataOptions,s=(i==null?void 0:i.collapsedPropName)??R.treeDataProperties.COLLAPSED_PROP,n=(i==null?void 0:i.parentPropName)??R.treeDataProperties.PARENT_PROP,o=(i==null?void 0:i.hasChildrenPropName)??R.treeDataProperties.HAS_CHILDREN_PROP,l=this._gridOptions.datasetIdPropertyName??"id",a=(_=(g=this._gridOptions.presets)==null?void 0:g.treeData)==null?void 0:_.toggledItems,h=((C=this._gridOptions.treeDataOptions)==null?void 0:C.initiallyCollapsed)??!1,d=(b=this._gridOptions.treeDataOptions)==null?void 0:b.columnId,c=(S=this._gridOptions.treeDataOptions)==null?void 0:S.excludeChildrenWhenFilteringTree,u=!c&&((E=this._gridOptions.treeDataOptions)==null?void 0:E.autoApproveParentItemWhenTreeColumnIsValid)===!0,p={},m=new Set,f=new Map;return Array.isArray(e)&&(e.forEach(y=>{p[y[l]]=y,delete p[y[l]].__used}),typeof t=="object"&&Object.keys(t).forEach(y=>{var M;const x=t[y],O=x!=null&&x.searchTerms?de(!0,[],x.searchTerms):[],I=this.parseFormInputFilterConditions(O,x),A=x.columnDef,D=((M=A==null?void 0:A.filter)==null?void 0:M.type)??(A==null?void 0:A.type)??w.string,L=js(I.searchTerms,D);L!==void 0&&(x.parsedSearchTerms=L)}),e.forEach(y=>{const x=y[o];let O=!0;for(const I of Object.keys(t)){const A=t[I],D=this.preProcessFilterConditionOnDataContext(y,A,this._grid);if(D){const L=A==null?void 0:A.parsedSearchTerms,M=typeof D=="boolean"?D:ba.executeFilterConditionTest(D,L);if(M&&u&&x&&A.columnId===d){f.set(y[l],!0);break}if(M||!c&&f.get(y[n])===!0){if(x&&A.columnId===d&&f.set(y[l],!0),M||!c&&A.columnId===d)continue}else x&&f.get(y[n])!==!0&&A.columnId!==d&&f.set(y[l],!1)}O=!1}if(O){m.add(y[l]);let I=p[y[n]]??!1;const A=!h;for(!this._isTreePresetExecuted&&Array.isArray(a)&&a.some(D=>D.itemId===I.id&&D.isCollapsed===A)&&(I[s]=A);I;)I.__used??m.add(I[l]),p[I[l]].__used=!0,I=p[I[n]]??!1}})),this._isTreePresetExecuted=!0,m}getColumnFilters(){return this._columnFilters}getPreviousFilters(){return this._previousFilters}getFiltersMetadata(){return this._filtersMetadata}getCurrentLocalFilters(){var t;const e=[];if(this._columnFilters)for(const i of Object.keys(this._columnFilters)){const s=this._columnFilters[i],n={columnId:i||""},o=this.sharedService.allColumns.find(a=>a.id===n.columnId),l=((t=o==null?void 0:o.filter)==null?void 0:t.emptySearchTermReturnAllValues)??!0;s!=null&&s.searchTerms&&(n.searchTerms=s.searchTerms),s.operator&&(n.operator=s.operator),s.targetSelector&&(n.targetSelector=s.targetSelector),Array.isArray(n.searchTerms)&&n.searchTerms.length>0&&(!l||n.searchTerms[0]!=="")&&e.push(n)}return e}emitFilterChanged(e,t=!1){const i=t?"onBeforeFilterChange":"onFilterChanged";if(e===oe.remote&&this._gridOptions.backendServiceApi){let s=[];const n=this._gridOptions.backendServiceApi.service;return n!=null&&n.getCurrentFilters&&(s=n.getCurrentFilters()),this.pubSubService.publish(i,s)}else if(e===oe.local)return this.pubSubService.publish(i,this.getCurrentLocalFilters())}async onBackendFilterChange(e,t){var o,l;const i=t==null?void 0:t.shouldTriggerQuery;if(i&&await this.emitFilterChanged(oe.remote,!0),!t||!t.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 s=this._gridOptions.backendServiceApi;if(!s||!s.process||!s.service)throw new Error('BackendServiceApi requires at least a "process" function and a "service" defined');const n=new Date;if(s.preProcess&&s.preProcess(),i){const a=await s.service.processOnFilterChanged(e,t),h=((o=this._gridOptions.pagination)==null?void 0:o.totalItems)??0;(l=this.backendUtilities)==null||l.executeBackendCallback(s,a,t,n,h,{errorCallback:this.resetToPreviousSearchFilters.bind(this),successCallback:d=>this._previousFilters=this.extractBasicFilterDetails(d.columnFilters),emitActionChangedCallback:this.emitFilterChanged.bind(this),httpCancelRequestSubject:this.httpCancelRequests$})}}populateColumnFilterSearchTermPresets(e){return Array.isArray(e)&&(this._columnDefinitions.forEach(t=>{var s;(s=t.filter)!=null&&s.searchTerms&&delete t.filter.searchTerms;const i=e.find(n=>n.columnId===t.id);i&&Array.isArray(i==null?void 0:i.searchTerms)&&(t.filter=t.filter||{},t.filter.operator=i.operator||t.filter.operator||"",t.filter.searchTerms=i.searchTerms)}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._previousFilters=this.extractBasicFilterDetails(this._columnFilters)),this._columnDefinitions}refreshTreeDataFilters(e){var i;const t=e??((i=this._dataView)==null?void 0:i.getItems())??[];this._dataView&&this._gridOptions.enableTreeData&&t.length>0?(this._tmpPreFilteredData=this.preFilterTreeData(t,this._columnFilters),this._dataView.refresh()):t.length===0&&Array.isArray(this.sharedService.hierarchicalDataset)&&this.sharedService.hierarchicalDataset.length>0&&queueMicrotask(()=>this.refreshTreeDataFilters())}disableFilterFunctionality(e=!0,t=!0){const s=!this._gridOptions.enableFiltering;s!==e&&(t&&e&&this.clearFilters(),this.disableAllFilteringCommands(e),this._grid.setOptions({enableFiltering:s},!1,!0),this._grid.setHeaderRowVisibility(s),this._gridOptions.enableFiltering=!e,this.sharedService.gridOptions=this._gridOptions,this._grid.setColumns(this.sharedService.columnDefinitions))}resetToPreviousSearchFilters(){this.updateFilters(this._previousFilters,!1,!1,!1)}toggleFilterFunctionality(e=!0){const t=this._gridOptions.enableFiltering;this.disableFilterFunctionality(t,e)}toggleHeaderFilterRow(){let e=this._gridOptions.showHeaderRow??!1;e=!e,this._grid.setHeaderRowVisibility(e),e===!0&&this._grid.setColumns(this.sharedService.columnDefinitions)}setSortColumnIcons(e){this._grid&&Array.isArray(e)&&this._grid.setSortColumns(e)}async updateFilters(e,t=!0,i=!0,s=!1){var n;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(e)){this.clearFilters(!1),e.forEach(a=>{const h=this._filtersMetadata.find(d=>a.columnId===d.columnDef.id);if(a&&h){const d=a.operator||h.defaultOperator;this.updateColumnFilters(a.searchTerms,h.columnDef,d),h.setValues(a.searchTerms||[],d),(s||this._gridOptions.enableTreeData)&&this.callbackSearchEvent(void 0,{columnDef:h.columnDef,operator:d,searchTerms:a.searchTerms,shouldTriggerQuery:!0,forceOnSearchChangeEvent:!0})}});const o=this._gridOptions.backendServiceApi,l=o?oe.remote:oe.local;if(t&&await this.emitFilterChanged(l,!0),this._dataView.refresh(),o){const a=o==null?void 0:o.service;a!=null&&a.updateFilters&&(a.updateFilters(e,!0),i&&((n=this.backendUtilities)==null||n.refreshBackendDataset(this._gridOptions)))}t&&await this.emitFilterChanged(l)}return!0}async updateSingleFilter(e,t=!0,i=!0){var n,o;const s=this.sharedService.allColumns.find(l=>l.id===e.columnId);if(s&&e.columnId){this._columnFilters={};const l=((n=s.filter)==null?void 0:n.emptySearchTermReturnAllValues)??!0;Array.isArray(e.searchTerms)&&(e.searchTerms.length>1||e.searchTerms.length===1&&(!l||e.searchTerms[0]!==""))&&(this._columnFilters[e.columnId]={columnId:e.columnId,operator:e.operator,searchTerms:e.searchTerms,columnDef:s,type:s.type??w.string});const a=this._gridOptions.backendServiceApi,h=a?oe.remote:oe.local;if(t&&await this.emitFilterChanged(h,!0),a){const d=a==null?void 0:a.service;d!=null&&d.updateFilters&&(d.updateFilters(this._columnFilters,!0),i&&((o=this.backendUtilities)==null||o.refreshBackendDataset(this._gridOptions)))}else this._dataView.setFilterArgs({columnFilters:this._columnFilters,grid:this._grid}),this._gridOptions.enableTreeData&&this.refreshTreeDataFilters(),this._dataView.refresh();t&&await this.emitFilterChanged(h)}return!0}drawFilterTemplate(e,t){let i;if(typeof t=="string"){if(i=document.querySelector(t),i===null)return null}else i=t;const s=typeof e=="string"?this.sharedService.allColumns.find(o=>o.id===e):e;if(((s==null?void 0:s.id)??"")!=="selector"&&(s!=null&&s.filterable)){let o,l;const a=this.filterFactory.createFilter(s.filter);l=s&&s.filter&&s.filter.operator||a&&a.operator,this._columnFilters[s.id]?(o=this._columnFilters[s.id].searchTerms||void 0,l=this._columnFilters[s.id].operator||void 0):s.filter&&(o=s.filter.searchTerms||void 0,this.updateColumnFilters(o,s,l));const h={grid:this._grid,operator:l,searchTerms:o,columnDef:s,filterContainerElm:i,callback:this.callbackSearchEvent.bind(this)};return a&&(a.init(h),o&&a.setValues&&a.setValues(o,l)),a}return null}addFilterTemplateToHeaderRow(e,t=!0){const i=e.column;if(((i==null?void 0:i.id)??"")!=="selector"&&(i!=null&&i.filterable)&&!(i!=null&&i.hidden)){let n,o;const l=this.filterFactory.createFilter(i.filter);o=i&&i.filter&&i.filter.operator||l&&l.operator,this._columnFilters[i.id]?(n=this._columnFilters[i.id].searchTerms||void 0,o=this._columnFilters[i.id].operator||void 0):i.filter&&(n=i.filter.searchTerms||void 0,this.updateColumnFilters(n,i,o));const a={grid:this._grid,operator:o,searchTerms:n,columnDef:i,filterContainerElm:e.node,callback:this.callbackSearchEvent.bind(this)};if(l&&a.filterContainerElm){l.init(a,t);const h=this._filtersMetadata.findIndex(d=>l.columnDef.id===d.columnDef.id);h===-1?this._filtersMetadata.push(l):this._filtersMetadata[h]=l,n&&l.setValues&&l.setValues(n,o)}}}callbackSearchEvent(e,t){var i,s;if(t){const n=e!=null&&e.target?e.target.value:void 0,o=t.searchTerms&&Array.isArray(t.searchTerms)?t.searchTerms:n?[n]:void 0,l=t.columnDef||null,a=(l==null?void 0:l.id)??"",h=((i=l==null?void 0:l.filter)==null?void 0:i.type)??(l==null?void 0:l.type)??w.string,d=t.operator||void 0,c=o&&Array.isArray(o),u=c&&o&&o.length,p={...this._columnFilters},m=((s=l.filter)==null?void 0:s.emptySearchTermReturnAllValues)??!0;let f;if(l&&a)if(!c||u===0||u===1&&Array.isArray(o)&&m&&o[0]==="")delete this._columnFilters[a];else{const C=`${a}`,b={columnId:C,columnDef:l,parsedSearchTerms:[],type:h,targetSelector:this.getSelectorStringFromElement(e==null?void 0:e.target)},S=this.parseFormInputFilterConditions(o,b);b.operator=d||S.operator||bn(h),f=js(S.searchTerms,h),f!==void 0&&(b.parsedSearchTerms=f),b.searchTerms=S.searchTerms||[],this._columnFilters[C]=b}const g=e&&typeof e.isPropagationStopped!="function"?de({},new le,e):e,_=e==null?void 0:e.key;if(this._onSearchChange&&(t.forceOnSearchChangeEvent||_==="Enter"||!pt(p,this._columnFilters))){const C={clearFilterTriggered:t.clearFilterTriggered,shouldTriggerQuery:t.shouldTriggerQuery,columnId:a,columnDef:l,columnFilters:this._columnFilters,operator:d||bn(h),searchTerms:o,parsedSearchTerms:f,grid:this._grid,target:e==null?void 0:e.target};this.pubSubService.publish("onBeforeSearchChange",C)===!1?this._gridOptions.resetFilterSearchValueAfterOnBeforeCancellation&&this.resetToPreviousSearchFilters():this._onSearchChange.notify(C,g)}}}disableAllFilteringCommands(e=!0){var s;const t=this._grid.getColumns();t.forEach(n=>{var o,l;(o=n==null?void 0:n.header)!=null&&o.menu&&((l=n.header.menu.commandItems)==null||l.forEach(a=>{a&&typeof a!="string"&&a.command==="clear-filter"&&(a.hidden=e)}))});const i=(s=this._gridOptions.gridMenu)==null?void 0:s.commandItems;return i&&i.forEach(n=>{if(n&&typeof n!="string"){const o=n.command;(o==="clear-filter"||o==="toggle-filter")&&(n.hidden=e)}}),t}extractBasicFilterDetails(e){const t=[];if(e&&typeof e=="object")for(const i of Object.keys(e)){const{operator:s,searchTerms:n}=e[`${i}`];t.push({columnId:i,operator:s,searchTerms:n})}return t}getSelectorStringFromElement(e){return e!=null&&e.localName?e!=null&&e.className?`${e.localName}.${Array.from(e.classList).join(".")}`:e.localName:""}removeAllColumnFiltersProperties(){typeof this._columnFilters=="object"&&Object.keys(this._columnFilters).forEach(e=>{e&&this._columnFilters[e]&&delete this._columnFilters[e]})}subscribeToOnHeaderRowCellRendered(e){this._eventHandler.subscribe(e.onBeforeHeaderRowCellDestroy,(t,i)=>{var n;const s=this._filtersMetadata.find(o=>o.columnDef.id===i.column.id);(n=s==null?void 0:s.destroy)==null||n.call(s)})}updateColumnFilters(e,t,i){var o;const s=((o=t.filter)==null?void 0:o.type)??t.type??w.string,n=js(e,s);e&&t&&(this._columnFilters[t.id]={columnId:t.id,columnDef:t,searchTerms:e,operator:i,parsedSearchTerms:n,type:s})}}const Ys={skipError:!1,triggerEvent:!0},rs={highlightRow:!0,resortGrid:!1,selectRow:!1,scrollRowIntoView:!0,skipError:!1,triggerEvent:!0},wr={highlightRow:!1,selectRow:!1,scrollRowIntoView:!1,skipError:!1,triggerEvent:!0},Sa={applySetColumns:!0,autoResizeColumns:!0,triggerEvent:!0,hideFromColumnPicker:!1,hideFromGridMenu:!1},cu={autoResizeColumns:!0,triggerEvent:!0};class uu{constructor(e,t,i,s,n,o,l){this.gridStateService=e,this.filterService=t,this.pubSubService=i,this.paginationService=s,this.sharedService=n,this.sortService=o,this.treeDataService=l}get _dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}dispose(){var e;(e=this._rowSelectionPlugin)==null||e.dispose()}init(e){this._grid=e}clearAllFiltersAndSorts(){this.sortService&&this.sortService.clearSorting&&this.sortService.clearSorting(!1),this.filterService&&this.filterService.clearFilters&&this.filterService.clearFilters()}clearPinning(e=!0){const t=[...this.sharedService.visibleColumns];this.sharedService.slickGrid.setOptions({frozenColumn:-1,frozenRow:-1,frozenBottom:!1,enableMouseWheelScrollHandler:!1}),e&&Array.isArray(t)&&this.sharedService.slickGrid.setColumns(t)}setPinning(e,t=!0,i=!1,s=!0){To(e)?this.clearPinning():(this.sharedService.slickGrid.setOptions(e,i,s),this.sharedService.gridOptions={...this.sharedService.gridOptions,...e}),t&&this.sharedService.slickGrid.autosizeColumns()}getAllColumnDefinitions(){return this.sharedService.allColumns}getVisibleColumnDefinitions(){return this.sharedService.visibleColumns}getColumnFromEventArguments(e){if(!e||!e.grid||!e.grid.getColumns||!e.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:e.row,cell:e.cell,columnDef:e.grid.getColumns()[e.cell],dataContext:e.grid.getDataItem(e.row),dataView:this._dataView,grid:this._grid}}getDataItemByRowNumber(e){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(e)}getDataItemByRowIndex(e){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(e)}getDataItemByRowIndexes(e){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 t=[];return Array.isArray(e)&&e.forEach(i=>{t.push(this._grid.getDataItem(i))}),t}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 e=this._grid.getSelectedRows();return this.getDataItemByRowIndexes(e)}hideColumnById(e,t){if(this._grid){t={...Sa,...t};const i=this._grid.getColumns(),s=i.findIndex(n=>n.id===e);if(s>=0){const n=En(i,s);t!=null&&t.applySetColumns&&(this.sharedService.visibleColumns=n,this._grid.setColumns(n));const o=this.sharedService.allColumns.findIndex(l=>l.id===e);return o&&(t!=null&&t.hideFromColumnPicker&&(this.sharedService.allColumns[o].excludeFromColumnPicker=!0),t!=null&&t.hideFromGridMenu&&(this.sharedService.allColumns[o].excludeFromGridMenu=!0)),this.executeVisibilityCommands(t,["onHeaderMenuHideColumns"],n),s}}return-1}hideColumnByIds(e,t){if(Array.isArray(e)){const i=this._grid.getColumns().filter(s=>!e.includes(s.id));t={...Sa,...t};for(const s of e)this.hideColumnById(s,{...t,triggerEvent:!1,applySetColumns:!1,autoResizeColumns:!1});this.sharedService.visibleColumns=i,this._grid.setColumns(i),this.executeVisibilityCommands(t,["onHeaderMenuHideColumns","onHideColumns"],i)}}showColumnByIds(e,t){if(this._grid){t={...cu,...t};const i=this.sharedService.allColumns.filter(s=>e.includes(s.id));this._grid.setColumns(i),this.sharedService.visibleColumns=i,this.executeVisibilityCommands(t,["onShowColumns"],this.sharedService.visibleColumns)}}executeVisibilityCommands(e,t,i){e!=null&&e.autoResizeColumns&&this._grid.autosizeColumns(),e!=null&&e.triggerEvent&&t.forEach(s=>this.pubSubService.publish(s,{columns:i}))}highlightRow(e,t){this._grid.getSelectionModel()||(this._rowSelectionPlugin=new fr(this._gridOptions.rowSelectionOptions),this._grid.setSelectionModel(this._rowSelectionPlugin)),t||(t=this._gridOptions.rowHighlightDuration),Array.isArray(e)?e.forEach(i=>this._grid.highlightRow(i)):this._grid.highlightRow(e,t)}setSelectedRow(e){var t;(t=this._grid)!=null&&t.setSelectedRows&&this._grid.setSelectedRows([e])}setSelectedRows(e){var t;(t=this._grid)!=null&&t.setSelectedRows&&this._grid.setSelectedRows(e)}renderGrid(){var e;typeof((e=this._grid)==null?void 0:e.invalidate)=="function"&&this._grid.invalidate()}resetGrid(e){var t,i,s;if(this.clearPinning(!1),this._grid){const n=this.sharedService.allColumns||[];Array.isArray(n)&&n.length>0&&(this._grid.setColumns(n),(t=this._gridOptions)!=null&&t.enableAutoSizeColumns&&this._grid.autosizeColumns(),this.gridStateService.resetColumns(e))}typeof((i=this.filterService)==null?void 0:i.clearFilters)=="function"&&this.filterService.clearFilters(),typeof((s=this.sortService)==null?void 0:s.clearSorting)=="function"&&this.sortService.clearSorting()}addItem(e,t){var h,d,c,u;const i={...rs,...t};if(!(i!=null&&i.skipError)&&(!this._grid||!this._gridOptions||!this._dataView))throw new Error("[Slickgrid-Universal] We could not find SlickGrid Grid, DataView objects");const s=this._gridOptions.datasetIdPropertyName||"id";if(!(i!=null&&i.skipError)&&(!e||!e.hasOwnProperty(s)))throw new Error(`[Slickgrid-Universal] Adding an item requires the item to include an "${s}" property`);if((h=this._gridOptions)!=null&&h.enableTreeData&&(t==null?void 0:t.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 n=i==null?void 0:i.position;n==="bottom"||(d=this._gridOptions)!=null&&d.enableTreeData?this._dataView.addItem(e):this._dataView.insertItem(0,e);let o=0;const l=(e==null?void 0:e[s])??"";return(c=this._gridOptions)!=null&&c.enableTreeData?(this.invalidateHierarchicalDataset(),o=this._dataView.getRowById(l),i.scrollRowIntoView&&this._grid.scrollRowIntoView(o??0,!1)):i.resortGrid?(this._dataView.reSort(),o=this._dataView.getRowById(l)):(o=n==="bottom"?this._dataView.getRowById(l):0,i.scrollRowIntoView&&this._grid.scrollRowIntoView(o??0)),i.highlightRow&&o!==void 0&&this.highlightRow(o),o!==void 0&&i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(o),i.triggerEvent&&this.pubSubService.publish("onItemAdded",e),!((u=this._gridOptions)!=null&&u.backendServiceApi)&&this._gridOptions.enablePagination&&(n==="bottom"?this.paginationService.goToLastPage():this.paginationService.goToFirstPage()),o}addItems(e,t){var l,a,h,d;const i={...rs,...t},s=this._gridOptions.datasetIdPropertyName||"id",n=i==null?void 0:i.position,o=[];if(Array.isArray(e))this._dataView.beginUpdate(!0),n==="bottom"||(l=this._gridOptions)!=null&&l.enableTreeData?this._dataView.addItems(e):this._dataView.insertItems(0,e),this._dataView.endUpdate();else return[this.addItem(e,i)||0];if((a=this._gridOptions)!=null&&a.enableTreeData){this.invalidateHierarchicalDataset();const c=((h=e[0])==null?void 0:h[s])??"",u=this._dataView.getRowById(c);i.scrollRowIntoView&&this._grid.scrollRowIntoView(u??0,!1)}else i.resortGrid&&this._dataView.reSort();return n&&i.scrollRowIntoView&&!((d=this._gridOptions)!=null&&d.enableTreeData)&&(n==="bottom"?this._grid.navigateBottom():this._grid.navigateTop()),e.forEach(c=>o.push(this._dataView.getRowById(c[s]))),i.highlightRow&&this.highlightRow(o),i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(o),i.triggerEvent&&this.pubSubService.publish("onItemAdded",e),o}deleteItem(e,t){t={...Ys,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!(t!=null&&t.skipError)&&(!e||!e.hasOwnProperty(i)))throw new Error(`[Slickgrid-Universal] Deleting an item requires the item to include an "${i}" property`);return this.deleteItemById(e[i],t)}deleteItems(e,t){t={...Ys,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(e))return this.deleteItem(e,t),[e[i]];this._dataView.beginUpdate(!0);const s=[];return e.forEach(n=>{(n==null?void 0:n[i])!==void 0&&s.push(n[i])}),this._dataView.deleteItems(s),this._dataView.endUpdate(),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),s}deleteItemById(e,t){if(t={...Ys,...t},!(t!=null&&t.skipError)&&e==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(e),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),e}deleteItemByIds(e,t){if(t={...Ys,...t},Array.isArray(e)){this._dataView.beginUpdate(!0);for(let i=0;i<e.length;i++)e[i]!==null&&this.deleteItemById(e[i],{triggerEvent:!1});return this._dataView.endUpdate(),t.triggerEvent&&this.pubSubService.publish("onItemDeleted",e),e}return[]}updateItem(e,t){t={...wr,...t};const i=this._gridOptions.datasetIdPropertyName||"id",s=!e||!e.hasOwnProperty(i)?void 0:e[i];if(!(t!=null&&t.skipError)&&s===void 0)throw new Error(`[Slickgrid-Universal] Calling Update of an item requires the item to include an "${i}" property`);return this.updateItemById(s,e,t)}updateItems(e,t){var o;t={...wr,...t};const i=this._gridOptions.datasetIdPropertyName||"id";if(!Array.isArray(e))return[this.updateItem(e,t)];this._dataView.beginUpdate(!0);const s=[],n=[];return e.forEach(l=>{const a=!l||!l.hasOwnProperty(i)?void 0:l[i];if(n.push(a),this._dataView.getIdxById(a)!==void 0){const h=this._dataView.getRowById(a);h!==void 0&&(s.push(h),this._grid.updateRow(h))}}),this._dataView.updateItems(n,e),this._dataView.endUpdate(),(o=this._gridOptions)!=null&&o.enableTreeData&&this.invalidateHierarchicalDataset(),t.highlightRow&&this.highlightRow(s),t.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(s),t.triggerEvent&&this.pubSubService.publish("onItemUpdated",e),s}updateItemById(e,t,i){var n;if(i={...wr,...i},!(i!=null&&i.skipError)&&e===void 0)throw new Error('[Slickgrid-Universal] Cannot update a row without a valid "id"');const s=this._dataView.getRowById(e);if(!(i!=null&&i.skipError)&&!t&&!this._gridOptions.enablePagination)throw new Error(`[Slickgrid-Universal] The item to update in the grid was not found with id: ${e}`);return this._dataView.getIdxById(e)!==void 0&&(this._dataView.updateItem(e,t),s!==void 0&&this._grid.updateRow(s),(n=this._gridOptions)!=null&&n.enableTreeData&&this.invalidateHierarchicalDataset(),i.scrollRowIntoView&&s!==void 0&&this._grid.scrollRowIntoView(s),i.highlightRow&&s!==void 0&&this.highlightRow(s),s!==void 0&&i.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRow(s),i.triggerEvent&&this.pubSubService.publish("onItemUpdated",t)),s}upsertItem(e,t){t={...rs,...t};const i=this._gridOptions.datasetIdPropertyName||"id",s=!e||!e.hasOwnProperty(i)?void 0:e[i];if(!(t!=null&&t.skipError)&&s===void 0)throw new Error(`[Slickgrid-Universal] Calling Upsert of an item requires the item to include an "${i}" property`);return this.upsertItemById(s,e,t)}upsertItems(e,t){if(t={...rs,...t},!Array.isArray(e))return[this.upsertItem(e,t)];this._dataView.beginUpdate(!0);const i=[];e.forEach(n=>{i.push(this.upsertItem(n,{...t,highlightRow:!1,resortGrid:!1,selectRow:!1,triggerEvent:!1}))}),this._dataView.endUpdate();const s=i.map(n=>n.added!==void 0?n.added:n.updated);if(t.highlightRow&&this.highlightRow(s),t.selectRow&&this._gridOptions&&(this._gridOptions.enableCheckboxSelector||this._gridOptions.enableRowSelection)&&this.setSelectedRows(s),t.triggerEvent){this.pubSubService.publish("onItemUpserted",e);const n=i.filter(l=>l.added!==void 0);Array.isArray(n)&&n.length>0&&this.pubSubService.publish("onItemAdded",n);const o=i.filter(l=>l.updated!==void 0);Array.isArray(o)&&o.length>0&&this.pubSubService.publish("onItemUpdated",o)}return i}upsertItemById(e,t,i){let s=!1;if(i={...rs,...i},!(i!=null&&i.skipError)&&e===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 n,o;return this._dataView.getRowById(e)===void 0?(n=this.addItem(t,i),s=!0):(o=this.updateItem(t,{highlightRow:i.highlightRow,selectRow:i.selectRow,triggerEvent:i.triggerEvent}),s=!1),i.triggerEvent&&(this.pubSubService.publish("onItemUpserted",t),s?this.pubSubService.publish("onItemAdded",t):this.pubSubService.publish("onItemUpdated",t)),{added:n,updated:o}}invalidateHierarchicalDataset(e){var t;if((t=this._gridOptions)!=null&&t.enableTreeData&&this.treeDataService){const i=e??this._dataView.getItems(),s=this.sortService.getCurrentColumnSorts(),n=this.treeDataService.convertFlatParentChildToTreeDatasetAndSort(i||[],this.sharedService.allColumns,this._gridOptions,s);this.sharedService.hierarchicalDataset=n.hierarchical,this.filterService.refreshTreeDataFilters(e),this._dataView.setItems(n.flat),this._grid.invalidate()}}hasRowSelectionEnabled(){const e=this._grid.getSelectionModel();return!!(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&!!e}}class pu{get eventHandler(){return this._eventHandler}constructor(){this._eventHandler=new pe}dispose(){this._eventHandler.unsubscribeAll()}bindOnBeforeEditCell(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onBeforeEditCell,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onBeforeEditCell=="function"){const o={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onBeforeEditCell(i instanceof le?i.getNativeEvent():i,o)}})}bindOnCellChange(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onCellChange,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onCellChange=="function"){const o={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onCellChange(i instanceof le?i.getNativeEvent():i,o)}})}bindOnClick(e){const t=e==null?void 0:e.getData();this._eventHandler.subscribe(e.onClick,(i,s)=>{if(!i||!s||!e||s.cell===void 0||!e.getColumns||!e.getDataItem)return;const n=e.getColumns()[s.cell];if(typeof n.onCellClick=="function"){const o={row:s.row,cell:s.cell,dataView:t,grid:e,columnDef:n,dataContext:e.getDataItem(s.row)};n.onCellClick(i instanceof le?i.getNativeEvent():i,o)}})}}class mu{constructor(e,t,i,s,n,o){this.extensionService=e,this.filterService=t,this.pubSubService=i,this.sharedService=s,this.sortService=n,this.treeDataService=o,this._columns=[],this._subscriptions=[],this._selectedRowIndexes=[],this._selectedRowDataContextIds=[],this._wasRecheckedAfterPageChange=!0,this._eventHandler=new pe}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get selectedRowDataContextIds(){return this._selectedRowDataContextIds}set selectedRowDataContextIds(e){this._selectedRowDataContextIds=e}init(e){this._grid=e,this.subscribeToAllGridChanges(e)}dispose(){this._columns=[],this._eventHandler.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions)}changeColumnsArrangement(e,t=!0,i=!1){var s,n,o,l,a,h;if(Array.isArray(e)&&e.length>0){const d=this.getAssociatedGridColumns(this._grid,e);if(d&&Array.isArray(d)&&d.length>0){if(Array.isArray(this.sharedService.allColumns)){const c=[];if(this._gridOptions.enableCheckboxSelector){const u=((n=(s=this._gridOptions)==null?void 0:s.checkboxSelector)==null?void 0:n.columnIndexPosition)??0;c.push({columnId:"_checkbox_selector",columnIndexPosition:u})}if(this._gridOptions.enableRowDetailView){const u=((l=(o=this._gridOptions)==null?void 0:o.rowDetailView)==null?void 0:l.columnIndexPosition)??0;c.push({columnId:"_detail_selector",columnIndexPosition:u})}if(this._gridOptions.enableRowMoveManager){const u=((h=(a=this._gridOptions)==null?void 0:a.rowMoveManager)==null?void 0:h.columnIndexPosition)??0;c.push({columnId:"_move",columnIndexPosition:u})}this.addColumnDynamicWhenFeatureEnabled(c,this.sharedService.allColumns,d)}d.forEach(c=>c.originalWidth=c.width||c.originalWidth),this._grid.setColumns(d),this.sharedService.visibleColumns=d,t?this._grid.autosizeColumns():(i||this._gridOptions.enableAutoResizeColumnsByCellContent&&!this._gridOptions.autosizeColumnsByCellContentOnFirstLoad)&&this.pubSubService.publish("onFullResizeByContentRequested",{caller:"GridStateService"})}}}getCurrentGridState(){var o;const{frozenColumn:e,frozenRow:t,frozenBottom:i}=this.sharedService.gridOptions,s={columns:this.getCurrentColumns(),filters:this.getCurrentFilters(),sorters:this.getCurrentSorters(),pinning:{frozenColumn:e,frozenRow:t,frozenBottom:i}},n=this.getCurrentPagination();if(n&&(s.pagination=n),this.hasRowSelectionEnabled()){const l=this.getCurrentRowSelections();l&&(s.rowSelection=l)}if((o=this._gridOptions)!=null&&o.enableTreeData){const l=this.getCurrentTreeDataToggleState();l&&(s.treeData=l)}return s}getColumns(){return this._columns}getAssociatedCurrentColumns(e){const t=[];return e&&Array.isArray(e)&&e.forEach(i=>{i!=null&&i.id&&t.push({columnId:i.id,cssClass:i.cssClass||"",headerCssClass:i.headerCssClass||"",width:i.width||0})}),t}getAssociatedGridColumns(e,t){const i=[],s=this.sharedService.allColumns||e.getColumns();return t&&Array.isArray(t)&&t.forEach(n=>{const o=s.find(l=>l.id===n.columnId);o!=null&&o.id&&i.push({...o,cssClass:n.cssClass||o.cssClass,headerCssClass:n.headerCssClass||o.headerCssClass,width:n.width})}),this._columns=i,i}getCurrentColumns(){return this.getAssociatedCurrentColumns(this._grid.getColumns()||[])}getCurrentFilters(){var e,t;if((e=this._gridOptions)!=null&&e.backendServiceApi){const i=this._gridOptions.backendServiceApi.service;if(i!=null&&i.getCurrentFilters)return i.getCurrentFilters()}else if((t=this.filterService)!=null&&t.getCurrentLocalFilters)return this.filterService.getCurrentLocalFilters();return null}getCurrentPagination(){var e;if((e=this._gridOptions)!=null&&e.enablePagination)if(this._gridOptions.backendServiceApi){const t=this._gridOptions.backendServiceApi.service;if(t!=null&&t.getCurrentPagination)return t.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 e,t;if((e=this._gridOptions)!=null&&e.backendServiceApi){const i=this._gridOptions.backendServiceApi.service;if(i!=null&&i.getCurrentSorters)return i.getCurrentSorters()}else if((t=this.sortService)!=null&&t.getCurrentLocalSorters)return this.sortService.getCurrentLocalSorters();return null}getCurrentTreeDataToggleState(){var e;return(e=this._gridOptions)!=null&&e.enableTreeData&&this.treeDataService?this.treeDataService.getCurrentToggleState():null}needToPreserveRowSelection(){var t;let e=!1;if((t=this._gridOptions)!=null&&t.dataView&&this._gridOptions.dataView.hasOwnProperty("syncGridSelection")){const i=this._gridOptions.dataView.syncGridSelection;typeof i=="boolean"?e=this._gridOptions.dataView.syncGridSelection:typeof i=="object"&&(e=i.preserveHidden||i.preserveHiddenOnSelectionChange),e&&this._gridOptions.backendServiceApi&&this._gridOptions.dataView.hasOwnProperty("syncGridSelectionWithBackendService")&&(e=this._gridOptions.dataView.syncGridSelectionWithBackendService)}return e}resetColumns(e){const t=e||this._columns,i=this.getAssociatedCurrentColumns(t);this.pubSubService.publish("onGridStateChanged",{change:{newValues:i,type:$e.columns},gridState:this.getCurrentGridState()})}resetToOriginalColumns(e=!0){this._grid.setColumns(this.sharedService.allColumns),this.sharedService.visibleColumns=this.sharedService.allColumns,e&&this._grid.autosizeColumns()}resetRowSelectionWhenRequired(){var e,t;if(!this.needToPreserveRowSelection()&&(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)){const i=(t=(e=this.extensionService)==null?void 0:e.getExtensionByName)==null?void 0:t.call(e,G.rowSelection);i!=null&&i.instance&&this._grid.setSelectedRows([])}}subscribeToAllGridChanges(e){this._subscriptions.push(this.pubSubService.subscribe("onFilterChanged",t=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onFilterCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:$e.filter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",t=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.sorter},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onSortCleared",()=>{this.resetRowSelectionWhenRequired(),this.pubSubService.publish("onGridStateChanged",{change:{newValues:[],type:$e.sorter},gridState:this.getCurrentGridState()})})),this.bindExtensionAddonEventToGridStateChange(G.columnPicker,"onColumnsChanged"),this.bindExtensionAddonEventToGridStateChange(G.gridMenu,"onColumnsChanged"),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsReordered",e),this.bindSlickGridColumnChangeEventToGridStateChange("onColumnsResized",e),this.bindSlickGridOnSetOptionsEventToGridStateChange(e),(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&this._eventHandler.subscribe(this._dataView.onSelectedRowIdsChanged,(t,i)=>{const s=(this._selectedRowIndexes||[]).slice(),n=(this.selectedRowDataContextIds||[]).slice();if(this.selectedRowDataContextIds=i.filteredIds,this._selectedRowIndexes=i.rows,!pt(this.selectedRowDataContextIds,n)||!pt(this._selectedRowIndexes,s)){const o={gridRowIndexes:this._selectedRowIndexes||[],dataContextIds:i.selectedRowIds,filteredDataContextIds:i.filteredIds};this.pubSubService.publish("onGridStateChanged",{change:{newValues:o,type:$e.rowSelection},gridState:this.getCurrentGridState()})}}),this._subscriptions.push(this.pubSubService.subscribe(["onHeaderMenuHideColumns","onHideColumns","onShowColumns"],t=>{const i=this.getAssociatedCurrentColumns(t.columns);this.pubSubService.publish("onGridStateChanged",{change:{newValues:i,type:$e.columns},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeItemToggled",t=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.treeData},gridState:this.getCurrentGridState()})})),this._subscriptions.push(this.pubSubService.subscribe("onTreeFullToggleEnd",t=>{this.pubSubService.publish("onGridStateChanged",{change:{newValues:t,type:$e.treeData},gridState:this.getCurrentGridState()})}))}addColumnDynamicWhenFeatureEnabled(e,t,i){e.sort((s,n)=>s.columnIndexPosition-n.columnIndexPosition),e.forEach(s=>{const n=t.findIndex(l=>l.id===s.columnId),o=i.findIndex(l=>l.id===s.columnId);if(n>=0&&o===-1){const l=t[n];n===0?i.unshift(l):i.splice(n,0,l)}})}bindExtensionAddonEventToGridStateChange(e,t){var n,o,l;const i=(o=(n=this.extensionService)==null?void 0:n.getExtensionByName)==null?void 0:o.call(n,e),s=(l=i==null?void 0:i.instance)==null?void 0:l[t];s&&typeof s.subscribe=="function"&&this._eventHandler.subscribe(s,(a,h)=>{const d=h==null?void 0:h.columns,c=this.getAssociatedCurrentColumns(d);this.pubSubService.publish("onGridStateChanged",{change:{newValues:c,type:$e.columns},gridState:this.getCurrentGridState()})})}bindSlickGridColumnChangeEventToGridStateChange(e,t){const i=t==null?void 0:t[e];i&&typeof i.subscribe=="function"&&this._eventHandler.subscribe(i,()=>{const s=t.getColumns(),n=this.getAssociatedCurrentColumns(s);this.pubSubService.publish("onGridStateChanged",{change:{newValues:n,type:$e.columns},gridState:this.getCurrentGridState()})})}bindSlickGridOnSetOptionsEventToGridStateChange(e){const t=e.onSetOptions;this._eventHandler.subscribe(t,(i,s)=>{const{frozenBottom:n,frozenColumn:o,frozenRow:l}=s.optionsBefore,{frozenBottom:a,frozenColumn:h,frozenRow:d}=s.optionsAfter;if(n!==a||o!==h||l!==d){const c={frozenBottom:a,frozenColumn:h,frozenRow:d},u=this.getCurrentGridState();this.pubSubService.publish("onGridStateChanged",{change:{newValues:c,type:$e.pinning},gridState:u})}})}hasRowSelectionEnabled(){const e=this._grid.getSelectionModel();return!!(this._gridOptions.enableRowSelection||this._gridOptions.enableCheckboxSelector)&&!!e}}class fu{constructor(e){this.extensionUtility=e,this._subscriptions=[],this._eventHandler=new pe}get _dataView(){var e;return((e=this._grid)==null?void 0:e.getData())??{}}get eventHandler(){return this._eventHandler}get _gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get _columnDefinitions(){var e;return((e=this._grid)==null?void 0:e.getColumns())??[]}init(e){this._grid=e,e&&this._gridOptions&&this._gridOptions.createPreHeaderPanel&&(this._gridOptions.enableTranslate&&this.translateHeaderGrouping(),this._eventHandler.subscribe(e.onRendered,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(e.onAutosizeColumns,()=>this.renderPreHeaderRowGroupingTitles()),this._eventHandler.subscribe(this._dataView.onRowCountChanged,()=>this.delayRenderPreHeaderRowGroupingTitles(0)),this._eventHandler.subscribe(e.onSetOptions,(t,i)=>{var s,n;((s=i==null?void 0:i.optionsBefore)==null?void 0:s.frozenColumn)!==((n=i==null?void 0:i.optionsAfter)==null?void 0:n.frozenColumn)&&this.delayRenderPreHeaderRowGroupingTitles(0)}),this.delayRenderPreHeaderRowGroupingTitles(75))}dispose(){this._eventHandler.unsubscribeAll()}delayRenderPreHeaderRowGroupingTitles(e=0){window.setTimeout(()=>this.renderPreHeaderRowGroupingTitles(),e)}renderPreHeaderRowGroupingTitles(){var t;const e=this._columnDefinitions.length;if(((t=this._gridOptions)==null?void 0:t.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0){const i=this._gridOptions.frozenColumn;this.renderHeaderGroups(this._grid.getPreHeaderPanelLeft(),0,i+1),this.renderHeaderGroups(this._grid.getPreHeaderPanelRight(),i+1,e)}else this.renderHeaderGroups(this._grid.getPreHeaderPanel(),0,e)}renderHeaderGroups(e,t,i){var c,u,p;ee(e),e.className="slick-header-columns",e.style.left="-1000px",e.style.width=`${this._grid.getHeadersWidth()}px`,(c=e.parentElement)==null||c.classList.add("slick-header");const s=this._grid.getHeaderColumnWidthDiff();let n,o=null,l="",a=0;const h=((u=this._gridOptions)==null?void 0:u.frozenHeaderWidthCalcDifferential)??0,d=((p=this._gridOptions)==null?void 0:p.frozenColumn)!==void 0&&this._gridOptions.frozenColumn>=0;for(let m=t;m<i;m++)n=this._columnDefinitions[m],n&&(l===n.columnGroup&&m>0?(a+=n.width||0,o!=null&&o.style&&(o.style.width=`${a-s-h}px`)):(a=n.width||0,o=v("div",{className:`slick-state-default slick-header-column ${d?"frozen":""}`,dataset:{group:n.columnGroup},style:{width:`${a-s}px`}}),v("span",{className:"slick-column-name",textContent:n.columnGroup||""},o),e.appendChild(o)),l=n.columnGroup||"")}translateHeaderGrouping(){const e=this._grid.getColumns();this.extensionUtility.translateItems(e,"columnGroupKey","columnGroup"),this._grid.setColumns(e),this.renderPreHeaderRowGroupingTitles()}}class gu{constructor(e,t,i,s){this.pubSubService=e,this.sharedService=t,this.backendUtilities=i,this.rxjs=s,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,this._eventHandler=new pe}get dataView(){var e;return((e=this.grid)==null?void 0:e.getData())??{}}set paginationOptions(e){this._paginationOptions=e}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(e){this._totalItems=e,this._initialized&&this.refreshPagination()}get isCursorBased(){return this._isCursorBased}addRxJsResource(e){this.rxjs=e}init(e,t,i){var n,o;if(this._availablePageSizes=t.pageSizes||[],this.grid=e,this._backendServiceApi=i,this._paginationOptions=t,this._isLocalGrid=!i,this._pageNumber=t.pageNumber||1,this._isCursorBased=((n=i==null?void 0:i.options)==null?void 0:n.useCursor)??!1,i&&(!i.service||!i.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,(l,a)=>{this._totalItems!==a.totalRows&&(this.updateTotalItems(a.totalRows),this._previousPagination={pageNumber:a.pageNum,pageSize:a.pageSize,pageSizes:this.availablePageSizes,totalItems:a.totalRows})}),queueMicrotask(()=>{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","onFilterCleared"],()=>this.resetPagination())),(o=i==null?void 0:i.options)!=null&&o.infiniteScroll&&this._subscriptions.push(this.pubSubService.subscribe("onSortChanged",()=>this.resetPagination())),this.dataView&&(this._subscriptions.push(this.pubSubService.subscribe("onItemAdded",l=>this.processOnItemAddedOrRemoved(l,!0))),this._subscriptions.push(this.pubSubService.subscribe("onItemDeleted",l=>this.processOnItemAddedOrRemoved(l,!1)))),this.refreshPagination(!1,!1,!0);const s=this.getFullPagination();this._previousPagination={pageNumber:s.pageNumber,pageSize:s.pageSize,pageSizes:s.pageSizes,totalItems:this.totalItems},this._initialized=!0,hs(t,"totalItems",l=>this._totalItems=l)}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(e,t,i=!0){return this._pageNumber=1,this._pageCount=Math.ceil(this._totalItems/e),this._itemsPerPage=e,i?this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination())}goToFirstPage(e,t=!0){return this._pageNumber=1,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToLastPage(e,t=!0){return this._pageNumber=this._pageCount||1,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())}goToNextPage(e,t=!0){return this._pageNumber<this._pageCount?(this._pageNumber++,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,first:this._itemsPerPage,after:this._cursorPageInfo.endCursor}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}goToPageNumber(e,t,i=!0){if(this.isCursorBased)return console.assert(!0,"Cursor based navigation cannot navigate to arbitrary page"),Promise.resolve(!1);const s=this._pageNumber;return e<1?this._pageNumber=1:e>this._pageCount?this._pageNumber=this._pageCount:this._pageNumber=e,this._pageNumber!==s?i?this.processOnPageChanged(this._pageNumber,t):Promise.resolve(this.getFullPagination()):Promise.resolve(!1)}goToPreviousPage(e,t=!0){return this._pageNumber>1?(this._pageNumber--,t?this.isCursorBased&&this._cursorPageInfo?this.processOnPageChanged(this._pageNumber,e,{newPage:this._pageNumber,pageSize:this._itemsPerPage,last:this._itemsPerPage,before:this._cursorPageInfo.startCursor}):this.processOnPageChanged(this._pageNumber,e):Promise.resolve(this.getFullPagination())):Promise.resolve(!1)}refreshPagination(e=!1,t=!0,i=!1){var o,l,a;const s={...this.getFullPagination()};if(this._paginationOptions){const h=this._paginationOptions;this._itemsPerPage||(this._isLocalGrid?this._itemsPerPage=h.pageSize:this._itemsPerPage=+((a=(l=(o=this._backendServiceApi)==null?void 0:o.options)==null?void 0:l.paginationOptions)!=null&&a.first?this._backendServiceApi.options.paginationOptions.first:h.pageSize)),(e||this._totalItems!==h.totalItems)&&(e?(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()),t&&!pt(s,this.getFullPagination())&&this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),i&&!pt(s,this.getFullPagination())&&this.pubSubService.publish("onPaginationPresetsInitialized",this.getFullPagination());const n=this.getFullPagination();this._previousPagination={pageNumber:n.pageNumber,pageSize:n.pageSize,pageSizes:n.pageSizes,totalItems:this.totalItems}}resetPagination(e=!0,t=!0){var i,s;this._isLocalGrid&&this.dataView&&((s=(i=this.sharedService)==null?void 0:i.gridOptions)!=null&&s.enablePagination)&&this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:0}),this._cursorPageInfo=void 0,this.refreshPagination(!0,e),t&&this.grid.scrollTo(0)}togglePaginationVisibility(e){var t;if(this.grid&&((t=this.sharedService)!=null&&t.gridOptions)){const i=e!==void 0?e:!this.sharedService.gridOptions.enablePagination;if(i&&this.goToFirstPage(),this._isLocalGrid&&this.dataView){const s=e?this._itemsPerPage:0;this.dataView.setPagingOptions({pageSize:s,pageNum:0})}this.sharedService.gridOptions.enablePagination=i,this.pubSubService.publish("onPaginationVisibilityChanged",{visible:i})}}processOnPageChanged(e,t,i){return console.assert(!this.isCursorBased||i,"Configured for cursor based pagination - cursorArgs expected"),this.pubSubService.publish("onBeforePaginationChange",this.getFullPagination())===!1?(this.resetToPreviousPagination(),Promise.resolve(this.getFullPagination())):new Promise((s,n)=>{var o,l,a;if(this.recalculateFromToIndexes(),this._isLocalGrid&&this.dataView)this.dataView.setPagingOptions({pageSize:this._itemsPerPage,pageNum:e-1}),this.pubSubService.publish("onPaginationChanged",this.getFullPagination()),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),s(this.getFullPagination());else{const h=+this._itemsPerPage,d=new Date;if((o=this._backendServiceApi)!=null&&o.preProcess&&this._backendServiceApi.preProcess(),(l=this._backendServiceApi)!=null&&l.process){const c=this.isCursorBased&&i?this._backendServiceApi.service.processOnPaginationChanged(t,i):this._backendServiceApi.service.processOnPaginationChanged(t,{newPage:e,pageSize:h}),u=this._backendServiceApi.process(c);u instanceof Promise?u.then(p=>{var f;(f=this.backendUtilities)==null||f.executeBackendProcessesCallback(d,p,this._backendServiceApi,this._totalItems);const m=this.getFullPagination();this._previousPagination={pageNumber:m.pageNumber,pageSize:m.pageSize,pageSizes:m.pageSizes,totalItems:this.totalItems},s(this.getFullPagination())}).catch(p=>{var m,f,g;this.resetToPreviousPagination(),(m=this.backendUtilities)==null||m.onBackendError(p,this._backendServiceApi),(!((f=this._backendServiceApi)!=null&&f.onError)||!((g=this.backendUtilities)!=null&&g.onBackendError))&&n(u)}):(a=this.rxjs)!=null&&a.isObservable(u)&&this._subscriptions.push(u.subscribe(p=>{var f;const m=this.getFullPagination();this._previousPagination={pageNumber:m.pageNumber,pageSize:m.pageSize,pageSizes:m.pageSizes,totalItems:this.totalItems},s((f=this.backendUtilities)==null?void 0:f.executeBackendProcessesCallback(d,p,this._backendServiceApi,this._totalItems))},p=>{var m,f,g;this.resetToPreviousPagination(),(m=this.backendUtilities)==null||m.onBackendError(p,this._backendServiceApi),(!((f=this._backendServiceApi)!=null&&f.onError)||!((g=this.backendUtilities)!=null&&g.onBackendError))&&n(u)})),this.pubSubService.publish("onPaginationRefreshed",this.getFullPagination()),this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}})}recalculateFromToIndexes(){((this._pageNumber-1)*this._itemsPerPage>this._totalItems||this._totalItems>0&&this._pageNumber===0)&&(this._pageNumber=1),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._dataTo>this._totalItems?this._dataTo=this._totalItems:this._totalItems<this._itemsPerPage&&(this._dataTo=this._totalItems)}resetToPreviousPagination(){var i,s,n,o,l,a,h,d,c;const e=((i=this._previousPagination)==null?void 0:i.pageNumber)!==this.getFullPagination().pageNumber,t=((s=this._previousPagination)==null?void 0:s.pageSize)!==this.getFullPagination().pageSize;t&&this.changeItemPerPage(((n=this._previousPagination)==null?void 0:n.pageSize)??0,null,!1),e&&this.goToPageNumber(((o=this._previousPagination)==null?void 0:o.pageNumber)??0,null,!1),(e||t)&&(this.refreshPagination(),(c=(a=(l=this._backendServiceApi)==null?void 0:l.service)==null?void 0:a.updatePagination)==null||c.call(a,((h=this._previousPagination)==null?void 0:h.pageNumber)??0,((d=this._previousPagination)==null?void 0:d.pageSize)??0))}setCursorBased(e){this._isCursorBased=e,e&&this.setCursorPageInfo({startCursor:"",endCursor:"",hasNextPage:!1,hasPreviousPage:!1}),this.goToFirstPage(),this.pubSubService.publish("onPaginationSetCursorBased",{isCursorBased:e})}setCursorPageInfo(e){this._cursorPageInfo=e}updateTotalItems(e,t=!1){this._totalItems=e,this._paginationOptions&&(this._paginationOptions.totalItems=e,this.refreshPagination(!1,t))}processOnItemAddedOrRemoved(e,t=!0){if(e!==null){const i=this._dataTo,s=Array.isArray(e)?e.length:1,n=t?+s:-s;this._totalItems+=n,this.recalculateFromToIndexes(),this._dataTo=i+n,this.pubSubService.publish("onPaginationChanged",this.getFullPagination())}}}const _u=20,Cu=25,vu=35,bu=180,Su=300,yu=200;class Eu{get autoHeightRecalcRow(){return this._autoHeightRecalcRow||100}get isAutoHeightEnabled(){var e;return!!(this.gridOptions.enableAutoResize&&((e=this.gridOptions.autoResize)!=null&&e.autoHeight))}get eventHandler(){return this._eventHandler}get gridOptions(){var e;return((e=this._grid)==null?void 0:e.getOptions())??{}}get dataView(){var e;return(e=this._grid)==null?void 0:e.getData()}get gridUid(){var e;return((e=this._grid)==null?void 0:e.getUID())??""}get gridUidSelector(){return this.gridUid?`.${this.gridUid}`:""}get intervalRetryDelay(){return this._intervalRetryDelay}set intervalRetryDelay(e){this._intervalRetryDelay=e}get resizeByContentOptions(){var e;return((e=this.gridOptions)==null?void 0:e.resizeByContentOptions)??{}}constructor(e){this.pubSubService=e,this._allHeaderHeight=0,this._autoHeightRecalcRow=0,this._intervalRetryDelay=yu,this._isStopResizeIntervalRequested=!1,this._hasResizedByContentAtLeastOnce=!1,this._totalColumnsWidthByContent=0,this._resizePaused=!1,this._subscriptions=[],this._eventHandler=new pe,this._bindingEventService=new Pe}dispose(){var e,t;(e=this._eventHandler)==null||e.unsubscribeAll(),this.pubSubService.unsubscribeAll(this._subscriptions),window.clearInterval(this._intervalId),window.clearTimeout(this._timer),((t=this.gridOptions.autoResize)==null?void 0:t.resizeDetection)==="container"&&this._resizeObserver&&this._resizeObserver.disconnect(),this._bindingEventService.unbindAll()}init(e,t){var s,n,o,l,a,h;if(!e||!this.gridOptions||!t)throw new Error(`
13
13
  [Slickgrid-Universal] Resizer Service requires a valid Grid object and DOM Element Container to be provided.
14
14
  You can fix this by setting your gridOption to use "enableAutoResize" or create an instance of the ResizerService by calling bindAutoResizeDataGrid() once.`);this._grid=e,this._gridContainerElm=t;const i=(s=this.gridOptions)!=null&&s.gridHeight||(n=this.gridOptions)!=null&&n.gridWidth?{height:(o=this.gridOptions)==null?void 0:o.gridHeight,width:(l=this.gridOptions)==null?void 0:l.gridWidth}:void 0;this._autoResizeOptions=((a=this.gridOptions)==null?void 0:a.autoResize)??{container:"grid1",bottomPadding:0},i!=null&&i.width&&(t!=null&&t.style)&&(t.style.width=typeof i.width=="string"?i.width:`${i.width}px`),this._gridDomElm=e.getContainerNode(),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,i&&(this._fixedHeight=i.height,this._fixedWidth=i.width),this.gridOptions.enableAutoResize&&(this._autoHeightRecalcRow=((h=this.gridOptions.autoResize)==null?void 0:h.autoHeightRecalcRow)??100,this.bindAutoResizeDataGrid()),this.gridOptions.autoResize&&this._subscriptions.push(this.pubSubService.subscribe("onFullResizeByContentRequested",()=>this.resizeColumnsByCellContent(!0))),this._eventHandler.subscribe(this._grid.onAutosizeColumns,()=>{this.cacheHeaderHeightTotal()}),this.gridOptions.enableColumnResizeOnDoubleClick&&(this._subscriptions.push(this.pubSubService.subscribe("onHeaderMenuColumnResizeByContent",d=>{this.handleSingleColumnResizeByContent(d.columnId)})),this._eventHandler.subscribe(this._grid.onColumnsResizeDblClick,(d,c)=>{this.handleSingleColumnResizeByContent(c.triggeredByColumn)}))}bindAutoResizeDataGrid(e){var t;if(((t=this.gridOptions.autoResize)==null?void 0:t.resizeDetection)==="container"){if(!this._pageContainerElm||!this._pageContainerElm)throw new Error(`