slickgrid-vue 0.1.1 โ†’ 0.1.2

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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2024-present, Ghislain B.
2
+ https://github.com/ghiscoding/slickgrid-universal/frameworks/slickgrid-vue
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining
5
+ a copy of this software and associated documentation files (the
6
+ "Software"), to deal in the Software without restriction, including
7
+ without limitation the rights to use, copy, modify, merge, publish,
8
+ distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so, subject to
10
+ the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # Slickgrid-Vue
2
+
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)
5
+ [![Cypress.io](https://img.shields.io/badge/tested%20with-Cypress-04C38E.svg?logo=cypress)](https://www.cypress.io/)
6
+ [![NPM downloads](https://img.shields.io/npm/dy/slickgrid-vue)](https://npmjs.org/package/slickgrid-vue)
7
+ [![npm](https://img.shields.io/npm/v/slickgrid-vue.svg?logo=npm&logoColor=fff&label=npm)](https://www.npmjs.com/package/slickgrid-vue)
8
+ [![npm bundle size](https://img.shields.io/bundlephobia/minzip/slickgrid-vue?color=success&label=gzip)](https://bundlephobia.com/result?p=slickgrid-vue)
9
+ [![Actions Status](https://github.com/ghiscoding/slickgrid-universal/actions/workflows/vue-cypress.yml/badge.svg)](https://github.com/ghiscoding/slickgrid-universal/actions/workflows/vue-cypress.yml)
10
+
11
+ > [!WARNING]
12
+ > Please note that Slickgrid-Vue is still in active development and usage might change depending on the feedback provided by external users like you. However, I don't expect much changes, all examples seem to work as intended. Give it a try!
13
+
14
+ ### Brief introduction
15
+ One of the best JavasSript data grid [SlickGrid](https://github.com/mleibman/SlickGrid), which was originally developed by @mleibman, is now available to the Vue world. SlickGrid beats most other data grids in terms of features, customizability & performance (running smoothly with even a million rows). Slickgrid-Vue is a wrapper on top of [Slickgrid-Universal](https://github.com/ghiscoding/slickgrid-universal/) (which is a dependency).
16
+
17
+ ## Documentation
18
+ ๐Ÿ“˜ [Documentation](https://ghiscoding.gitbook.io/slickgrid-vue/getting-started/quick-start) website powered by GitBook.
19
+
20
+ ## Installation
21
+ Available in Stackblitz (Codeflow) below, this can also be used to provide an issue repro.
22
+
23
+
24
+ ### Stackblitz
25
+
26
+ You can also try out the [Slickgrid-Vite-Demos](https://github.com/ghiscoding/slickgrid-vue-demos) live via Stackblitz. It can also be use to provide a repro when you openening any new bug/feature requests.
27
+
28
+ [![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/ghiscoding/slickgrid-vue-demos)
29
+
30
+ Refer to the **[Docs - Quick Start](https://ghiscoding.gitbook.io/slickgrid-vue/getting-started/quick-start)** and/or clone the [Slickgrid-Vue-Demos](https://github.com/ghiscoding/slickgrid-vue-demos) repository. Please consult all documentation before opening new issues, also consider asking installation and/or general questions on [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=slickgrid) unless you think there's a bug with the library.
31
+
32
+ ### NPM Package
33
+ [slickgrid-vue on NPM](https://www.npmjs.com/package/slickgrid-vue)
34
+
35
+ ### Styling Themes
36
+
37
+ Multiple styling themes are available
38
+ - Bootstrap (see all Slickgrid-Vue [live demos](https://ghiscoding.github.io/slickgrid-vue/))
39
+ - Material (see [Slickgrid-Universal](https://ghiscoding.github.io/slickgrid-universal/#/example07))
40
+ - Salesforce (see [Slickgrid-Universal](https://ghiscoding.github.io/slickgrid-universal/#/example16))
41
+
42
+ Also note that all of these themes also have **Dark Theme** equivalent and even though Bootstrap if often used as the default, it also works well with any other UI framework like Bulma, Material, ...
43
+
44
+ ### Live Demo page
45
+ `Slickgrid-Vue` works with all `Bootstrap` versions, you can see a demo of each one below. It also works well with any other frameworks like Material or Bulma and there are also couple of extra styling themes based on Material & Salesforce which are also available. You can also use different SVG icons, you may want to look at the [Docs - SVG Icons](https://ghiscoding.gitbook.io/slickgrid-vue/styling/svg-icons)
46
+ - [Bootstrap 5 demo](https://ghiscoding.github.io/slickgrid-vue) / [examples repo](https://github.com/ghiscoding/slickgrid-vue-demos/tree/main/bootstrap5-i18n-demo)
47
+
48
+ #### Working Demos
49
+ For a complete set of working demos (40+ examples), we strongly suggest you to clone the [Slickgrid-Vue Demos](https://github.com/ghiscoding/slickgrid-vue-demos) repository (instructions are provided in the demo repo). The repo provides multiple demos and they are updated every time a new version is out, so it is updated frequently and is also used as the GitHub live demo page.
50
+
51
+ ## License
52
+ [MIT License](LICENSE)
53
+
54
+ ## Latest News & Releases
55
+ Check out the [Releases](https://github.com/ghiscoding/slickgrid-vue/releases) section for all latest News & Releases.
56
+
57
+ ### Tested with [Cypress](https://www.cypress.io/) (E2E Tests)
58
+ Slickgrid-Universal has **100%** Unit Test Coverage and all Slickgrid-Vue Examples are tested with [Cypress](https://www.cypress.io/) as E2E tests.
59
+
60
+ ### Like it? โญ it
61
+ You like **Slickgrid-Vue**? Be sure to upvote โญ, and perhaps support me with caffeine [โ˜•](https://ko-fi.com/ghiscoding) and feel free to contribute. ๐Ÿ‘ท๐Ÿ‘ทโ€โ™€๏ธ
62
+
63
+ <a href='https://ko-fi.com/ghiscoding' target='_blank'><img height='32' style='border:0px;height:32px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' />
64
+
65
+ ## Sponsors
66
+
67
+ <div>
68
+ <img class="circle avatar-user" src="https://avatars.githubusercontent.com/u/48218815?s=52&amp;v=4" width="40" height="40" alt="@kevinburkett" />
69
+ <a href="/kevinburkett" class="Link">
70
+ <span class="wb-break-word ml-2">kevinburkett</span>
71
+ </a>
72
+ </div>
@@ -263,7 +263,6 @@ export interface SlickgridVueProps {
263
263
  onOnItemDeleted?: (e: CustomEvent<any>) => void;
264
264
  onOnGridStateChanged?: (e: CustomEvent<any>) => void;
265
265
  onOnPaginationChanged?: (e: CustomEvent<PaginationChangedArgs>) => void;
266
- onOnReactGridCreated?: (e: CustomEvent<any>) => void;
267
266
  onOnSelectedRowIdsChanged?: (e: CustomEvent<any>) => void;
268
267
  onOnSortChanged?: (e: CustomEvent<any>) => void;
269
268
  onOnToggleTreeCollapsed?: (e: CustomEvent<any>) => void;
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var Nt=Object.defineProperty;var Wt=(f,a,o)=>a in f?Nt(f,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):f[a]=o;var K=(f,a,o)=>Wt(f,typeof a!="symbol"?a+"":a,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@slickgrid-universal/common"),Pe=require("@slickgrid-universal/event-pub-sub"),C=require("vue"),jt=require("@slickgrid-universal/custom-footer-component"),st=require("@slickgrid-universal/empty-warning-component"),Kt=require("@slickgrid-universal/pagination-component"),lt=require("@slickgrid-universal/utils"),mt=require("i18next-vue"),qt=require("@slickgrid-universal/row-detail-view-plugin");class Ut{constructor(a){this._value=null,this._boundedEventWithListeners=[],this._elementBindings=[],this._binding=a,this._property=a.property||"",this._elementBindings=[],a.property&&a.variable&&(a.variable.hasOwnProperty(a.property)||a.property in a.variable)?this._value=a.variable[a.property]:this._value=a.variable,typeof a.variable=="object"&&Object.defineProperty(a.variable,a.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(a){if(this._value=a,Array.isArray(this._elementBindings))for(const o of this._elementBindings)o!=null&&o.element&&(o!=null&&o.attribute)&&(o.element[o.attribute]=a)}bind(a,o,l,m){return a&&a.forEach?a.forEach(p=>this.bindSingleElement(p,o,l,m)):a&&this.bindSingleElement(a,o,l,m),this}unbind(a,o,l,m,p){if(a){a.removeEventListener(o,l,m);const w=this._boundedEventWithListeners.findIndex(n=>n.uid===p);w>=0&&this._boundedEventWithListeners.splice(w,1)}}unbindAll(){let a=this._boundedEventWithListeners.pop();for(;a;){const{element:o,eventName:l,listener:m,uid:p}=a;this.unbind(o,l,m,void 0,p),a=this._boundedEventWithListeners.pop()}this._boundedEventWithListeners=[]}bindSingleElement(a,o,l,m){const p={element:a,attribute:o};if(a){if(l){const w=()=>{let n=a[o];if(this.hasData(n)&&(a==null?void 0:a.type)==="number"&&(n=+n),this.valueSetter(n),(this._binding.variable.hasOwnProperty(this._binding.property)||this._binding.property in this._binding.variable)&&(this._binding.variable[this._binding.property]=this.valueGetter()),typeof m=="function")return m(this.valueGetter())};p.event=l,p.listener=w,a.addEventListener(l,w),this._boundedEventWithListeners.push({element:a,eventName:l,listener:w,uid:this.generateUuidV4()})}this._elementBindings.push(p),a[o]=this._value}}generateUuidV4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{const o=Math.random()*16|0;return(a==="x"?o:o&3|8).toString(16)})}hasData(a){return a!=null&&a!==""}}var dt=Object.prototype.hasOwnProperty;function Se(f,a){var o,l;if(f===a)return!0;if(f&&a&&(o=f.constructor)===a.constructor){if(o===Date)return f.getTime()===a.getTime();if(o===RegExp)return f.toString()===a.toString();if(o===Array){if((l=f.length)===a.length)for(;l--&&Se(f[l],a[l]););return l===-1}if(!o||typeof f=="object"){l=0;for(o in f)if(dt.call(f,o)&&++l&&!dt.call(a,o)||!(o in a)||!Se(f[o],a[o]))return!1;return Object.keys(a).length===l}}return f!==f&&a!==a}const Ce="container_",ut="container_loading";class Ie extends qt.SlickRowDetailView{constructor(o){super(o);K(this,"_component");K(this,"_preloadComponent");K(this,"_views",[]);K(this,"_subscriptions",[]);K(this,"_userProcessFn");K(this,"gridContainerElement");this.eventPubSubService=o}get addonOptions(){return this.getOptions()}get datasetIdPropName(){return this.gridOptions.datasetIdPropertyName||"id"}get eventHandler(){return this._eventHandler}set eventHandler(o){this._eventHandler=o}get gridOptions(){var o;return((o=this._grid)==null?void 0:o.getOptions())||{}}get rowDetailViewOptions(){return this.gridOptions.rowDetailView}dispose(){this.disposeAllViewComponents(),c.unsubscribeAll(this._subscriptions),super.dispose()}disposeAllViewComponents(){Array.isArray(this._views)&&this._views.forEach(o=>this.disposeViewComponent(o)),this._views=[]}getAddonInstance(){return this}init(o){this._grid=o,super.init(this._grid),this.gridContainerElement=o.getContainerNode(),this.register(o==null?void 0:o.getSelectionModel())}register(o){var l,m,p,w,n,T,L,V;if(typeof((l=this.gridOptions.rowDetailView)==null?void 0:l.process)=="function")this._userProcessFn=this.gridOptions.rowDetailView.process,this.addonOptions.process=S=>this.onProcessing(S);else throw new Error('[Slickgrid-React] You need to provide a "process" function for the Row Detail Extension to work properly');return this._grid&&((m=this.gridOptions)!=null&&m.rowDetailView)&&(this.gridOptions.rowDetailView.preTemplate||(this._preloadComponent=(w=(p=this.gridOptions)==null?void 0:p.rowDetailView)==null?void 0:w.preloadComponent,this.addonOptions.preTemplate=()=>this._grid.sanitizeHtmlString(`<div class="${ut}"></div>`)),this.gridOptions.rowDetailView.postTemplate||(this._component=(T=(n=this.gridOptions)==null?void 0:n.rowDetailView)==null?void 0:T.viewComponent,this.addonOptions.postTemplate=S=>this._grid.sanitizeHtmlString(`<div class="${Ce}${S[this.datasetIdPropName]}"></div>`)),this._grid&&this.gridOptions&&((!o||!this._grid.getSelectionModel())&&(o=new c.SlickRowSelectionModel(this.gridOptions.rowSelectionOptions||{selectActiveRow:!0}),this._grid.setSelectionModel(o)),this._grid&&this.rowDetailViewOptions&&(this.rowDetailViewOptions.onExtensionRegistered&&this.rowDetailViewOptions.onExtensionRegistered(this),this.onAsyncResponse&&this._eventHandler.subscribe(this.onAsyncResponse,(S,u)=>{var s;typeof((s=this.rowDetailViewOptions)==null?void 0:s.onAsyncResponse)=="function"&&this.rowDetailViewOptions.onAsyncResponse(S,u)}),this.onAsyncEndUpdate&&this._eventHandler.subscribe(this.onAsyncEndUpdate,async(S,u)=>{var s;await this.renderViewModel(u==null?void 0:u.item),typeof((s=this.rowDetailViewOptions)==null?void 0:s.onAsyncEndUpdate)=="function"&&this.rowDetailViewOptions.onAsyncEndUpdate(S,u)}),this.onAfterRowDetailToggle&&this._eventHandler.subscribe(this.onAfterRowDetailToggle,async(S,u)=>{var s;await this.renderPreloadView(u.item),this.renderAllViewModels(),typeof((s=this.rowDetailViewOptions)==null?void 0:s.onAfterRowDetailToggle)=="function"&&this.rowDetailViewOptions.onAfterRowDetailToggle(S,u)}),this.onBeforeRowDetailToggle&&this._eventHandler.subscribe(this.onBeforeRowDetailToggle,(S,u)=>{var s;return this.handleOnBeforeRowDetailToggle(S,u),typeof((s=this.rowDetailViewOptions)==null?void 0:s.onBeforeRowDetailToggle)=="function"?this.rowDetailViewOptions.onBeforeRowDetailToggle(S,u):!0}),this.onRowBackToViewportRange&&this._eventHandler.subscribe(this.onRowBackToViewportRange,async(S,u)=>{var s;await this.handleOnRowBackToViewportRange(S,u),typeof((s=this.rowDetailViewOptions)==null?void 0:s.onRowBackToViewportRange)=="function"&&this.rowDetailViewOptions.onRowBackToViewportRange(S,u)}),this.onRowOutOfViewportRange&&this._eventHandler.subscribe(this.onRowOutOfViewportRange,(S,u)=>{var s;typeof((s=this.rowDetailViewOptions)==null?void 0:s.onRowOutOfViewportRange)=="function"&&this.rowDetailViewOptions.onRowOutOfViewportRange(S,u)}),this.eventHandler.subscribe(this._grid.onColumnsReordered,this.redrawAllViewComponents.bind(this)),(this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector)&&this._eventHandler.subscribe(this._grid.onSelectedRowsChanged,this.redrawAllViewComponents.bind(this)),this._eventHandler.subscribe(this._grid.onSort,this.disposeAllViewComponents.bind(this)),this._subscriptions.push((L=this.eventPubSubService)==null?void 0:L.subscribe(["onFilterChanged","onGridMenuColumnsChanged","onColumnPickerColumnsChanged"],this.redrawAllViewComponents.bind(this)),(V=this.eventPubSubService)==null?void 0:V.subscribe(["onGridMenuClearAllFilters","onGridMenuClearAllSorting"],()=>window.setTimeout(()=>this.redrawAllViewComponents())))))),this}async redrawAllViewComponents(){await Promise.all(this._views.map(async o=>this.redrawViewComponent(o)))}async renderAllViewModels(){await Promise.all(this._views.filter(o=>o==null?void 0:o.dataContext).map(async o=>this.renderViewModel(o.dataContext)))}async redrawViewComponent(o){const l=this.gridContainerElement.getElementsByClassName(`${Ce}${o.id}`);(l==null?void 0:l.length)>=0&&await this.renderViewModel(o.dataContext)}async renderPreloadView(o){var m,p;const l=this.gridContainerElement.getElementsByClassName(`${ut}`);if(this._preloadComponent&&(l!=null&&l.length)){const w=this._views.find(S=>S.id===o[this.datasetIdPropName]),n={model:o,addon:this,grid:this._grid,dataView:this.dataView,parent:(m=this.rowDetailViewOptions)==null?void 0:m.parent,parentRef:(p=this.rowDetailViewOptions)==null?void 0:p.parent},T=document.createElement("div"),L=C.createApp(this._preloadComponent,n),V=L.mount(T);n.parent=V,l[l.length-1].appendChild(V.$el),w&&(w.app=L,w.instance=V)}}async renderViewModel(o){var m,p;const l=this.gridContainerElement.getElementsByClassName(`${Ce}${o[this.datasetIdPropName]}`);if(this._component&&(l!=null&&l.length)){const w=this._views.find(S=>S.id===o[this.datasetIdPropName]),n={model:o,addon:this,grid:this._grid,dataView:this.dataView,parent:(m=this.rowDetailViewOptions)==null?void 0:m.parent,parentRef:(p=this.rowDetailViewOptions)==null?void 0:p.parent};w!=null&&w.app&&w.app.unmount();const T=document.createElement("div"),L=C.createApp(this._component,n),V=L.mount(T);n.parent=L.component,l[l.length-1].appendChild(V.$el),w||this.addViewInfoToViewsRef(o,L,V)}}addViewInfoToViewsRef(o,l,m){const p={id:o[this.datasetIdPropName],dataContext:o,app:l,instance:m},w=this.gridOptions.datasetIdPropertyName||"id";c.addToArrayWhenNotExists(this._views,p,w)}disposeViewComponent(o){var l;if(o&&o!=null&&o.instance){const m=this.gridContainerElement.getElementsByClassName(`${Ce}${this._views[0].id}`);if(m!=null&&m.length)return(l=o.app)==null||l.unmount(),m[0].textContent="",o}}handleOnBeforeRowDetailToggle(o,l){var m;if((m=l==null?void 0:l.item)!=null&&m.__collapsed)this.addViewInfoToViewsRef(l.item,null,null);else{const p=this._views.findIndex(w=>w.id===l.item[this.datasetIdPropName]);p>=0&&this.disposeViewComponent(this._views[p])&&this._views.splice(p,1)}}async handleOnRowBackToViewportRange(o,l){l!=null&&l.item&&await this.redrawAllViewComponents()}notifyTemplate(o){this.onAsyncResponse&&this.onAsyncResponse.notify({item:o,itemDetail:o},new c.SlickEventData,this)}async onProcessing(o){if(o&&typeof this._userProcessFn=="function"){let l;const p=await this._userProcessFn(o);if(this.datasetIdPropName in p?l=p:p instanceof Response&&typeof p.json=="function"?l=await p.json():p&&p.content&&(l=p.content),!l||!(this.datasetIdPropName in l))throw new Error('[Slickgrid-React] could not process the Row Detail, please make sure that your "process" callback (a Promise or an HttpClient call returning an Observable) returns an item object that has an "${this.datasetIdPropName}" property');this.notifyTemplate(l||{})}}}const ct={alwaysShowVerticalScroll:!0,autoEdit:!1,asyncEditorLoading:!1,autoFitColumnsOnFirstLoad:!0,autoResize:{applyResizeToContainer:!0,calculateAvailableSizeBy:"window",bottomPadding:20,minHeight:180,minWidth:300,rightPadding:0},cellHighlightCssClass:"slick-cell-modified",checkboxSelector:{cssClass:"slick-cell-checkboxsel",width:40},cellMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideCommandSection:!1,hideOptionSection:!1},columnGroupSeparator:" - ",columnPicker:{hideForceFitButton:!1,hideSyncResizeButton:!0,headerColumnValueExtractor:ft},compositeEditorOptions:{labels:{cancelButtonKey:"CANCEL",cloneButtonKey:"CLONE",resetEditorButtonTooltipKey:"RESET_INPUT_VALUE",resetFormButtonKey:"RESET_FORM",massSelectionButtonKey:"APPLY_TO_SELECTION",massSelectionStatusKey:"X_OF_Y_MASS_SELECTED",massUpdateButtonKey:"APPLY_MASS_UPDATE",massUpdateStatusKey:"ALL_X_RECORDS_SELECTED",saveButtonKey:"SAVE"},resetEditorButtonCssClass:"mdi mdi-refresh mdi-15px",resetFormButtonIconCssClass:"mdi mdi-refresh mdi-16px mdi-flip-h"},contextMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideClearAllGrouping:!1,hideCollapseAllGroups:!1,hideCommandSection:!1,hideCopyCellValueCommand:!1,hideExpandAllGroups:!1,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideMenuOnScroll:!0,hideOptionSection:!1,iconCollapseAllGroupsCommand:"mdi mdi-arrow-collapse",iconExpandAllGroupsCommand:"mdi mdi-arrow-expand",iconClearGroupingCommand:"mdi mdi-close",iconCopyCellValueCommand:"mdi mdi-content-copy",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline text-success",iconExportTextDelimitedCommand:"mdi mdi-download"},customFooterOptions:{dateFormat:"YYYY-MM-DD, hh:mm a",hideRowSelectionCount:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,footerHeight:25,leftContainerClass:"col-xs-12 col-sm-5",rightContainerClass:"col-xs-6 col-sm-7",metricSeparator:"|",metricTexts:{items:"items",itemsKey:"ITEMS",of:"of",ofKey:"OF",itemsSelected:"items selected",itemsSelectedKey:"ITEMS_SELECTED"}},dataView:{syncGridSelection:{preserveHidden:!1,preserveHiddenOnSelectionChange:!0},syncGridSelectionWithBackendService:!1},datasetIdPropertyName:"id",defaultFilter:c.Filters.input,defaultBackendServiceFilterTypingDebounce:500,defaultColumnSortFieldId:"id",defaultFilterPlaceholder:"๐Ÿ”Ž๏ธŽ",defaultFilterRangeOperator:c.OperatorType.rangeInclusive,editable:!1,editorTypingDebounce:450,filterTypingDebounce:0,enableEmptyDataWarningMessage:!0,enableFilterTrimWhiteSpace:!1,emptyDataWarning:{className:"slick-empty-data-warning",message:"No data to display.",messageKey:"EMPTY_DATA_WARNING_MESSAGE",hideFrozenLeftWarning:!1,hideFrozenRightWarning:!1,leftViewportMarginLeft:"40%",rightViewportMarginLeft:"40%",frozenLeftViewportMarginLeft:"0px",frozenRightViewportMarginLeft:"40%"},enableAutoResize:!0,enableAutoSizeColumns:!0,enableCellNavigation:!1,enableColumnPicker:!0,enableColumnReorder:!0,enableColumnResizeOnDoubleClick:!0,enableContextMenu:!0,enableExcelExport:!1,enableTextExport:!1,enableGridMenu:!0,enableHeaderMenu:!0,enableMouseHoverHighlightRow:!0,enableSorting:!0,enableTextSelectionOnCells:!0,eventNamingStyle:c.EventNamingStyle.camelCaseWithExtraOnPrefix,explicitInitialization:!0,excelExportOptions:{addGroupIndentation:!0,exportWithFormatter:!1,filename:"export",format:c.FileType.xlsx,groupingColumnHeaderTitle:"Group By",groupCollapsedSymbol:"โฎž",groupExpandedSymbol:"โฎŸ",groupingAggregatorRowText:"",sanitizeDataExport:!1},textExportOptions:{delimiter:c.DelimiterType.comma,exportWithFormatter:!1,filename:"export",format:c.FileType.csv,groupingColumnHeaderTitle:"Group By",groupingAggregatorRowText:"",sanitizeDataExport:!1,useUtf8WithBom:!0},forceFitColumns:!1,frozenHeaderWidthCalcDifferential:1,gridMenu:{dropSide:"left",commandLabels:{clearAllFiltersCommandKey:"CLEAR_ALL_FILTERS",clearAllSortingCommandKey:"CLEAR_ALL_SORTING",clearFrozenColumnsCommandKey:"CLEAR_PINNING",exportCsvCommandKey:"EXPORT_TO_CSV",exportExcelCommandKey:"EXPORT_TO_EXCEL",exportTextDelimitedCommandKey:"EXPORT_TO_TAB_DELIMITED",refreshDatasetCommandKey:"REFRESH_DATASET",toggleDarkModeCommandKey:"TOGGLE_DARK_MODE",toggleFilterCommandKey:"TOGGLE_FILTER_ROW",togglePreHeaderCommandKey:"TOGGLE_PRE_HEADER_ROW"},hideClearAllFiltersCommand:!1,hideClearAllSortingCommand:!1,hideClearFrozenColumnsCommand:!0,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideForceFitButton:!1,hideRefreshDatasetCommand:!1,hideSyncResizeButton:!0,hideToggleDarkModeCommand:!0,hideToggleFilterCommand:!1,hideTogglePreHeaderCommand:!1,iconCssClass:"mdi mdi-menu",iconClearAllFiltersCommand:"mdi mdi-filter-remove-outline",iconClearAllSortingCommand:"mdi mdi-sort-variant-off",iconClearFrozenColumnsCommand:"mdi mdi-close",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",iconRefreshDatasetCommand:"mdi mdi-sync",iconToggleDarkModeCommand:"mdi mdi-brightness-4 mdi mdi-brightness-4",iconToggleFilterCommand:"mdi mdi-flip-vertical",iconTogglePreHeaderCommand:"mdi mdi-flip-vertical",menuWidth:16,resizeOnShowHeaderRow:!0,headerColumnValueExtractor:ft},headerMenu:{autoAlign:!0,autoAlignOffset:12,minWidth:140,iconClearFilterCommand:"mdi mdi-filter-remove-outline",iconClearSortCommand:"mdi mdi-sort-variant-off",iconFreezeColumns:"mdi mdi-pin-outline",iconSortAscCommand:"mdi mdi-sort-ascending",iconSortDescCommand:"mdi mdi-sort-descending",iconColumnHideCommand:"mdi mdi-close",iconColumnResizeByContentCommand:"mdi mdi-arrow-expand-horizontal",hideColumnResizeByContentCommand:!1,hideColumnHideCommand:!1,hideClearFilterCommand:!1,hideClearSortCommand:!1,hideFreezeColumnsCommand:!0,hideSortCommands:!1},multiColumnSort:!0,numberedMultiColumnSort:!0,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!0,suppressActiveCellChangeOnEdit:!1,pagination:{pageSizes:[10,15,20,25,30,40,50,75,100],pageSize:25,totalItems:0},rowDetailView:{collapseAllOnSort:!0,cssClass:"detail-view-toggle",panelRows:1,keyPrefix:"__",useRowClick:!1,useSimpleViewportCalc:!0,saveDetailViewOnScroll:!1},headerRowHeight:35,rowHeight:35,topPanelHeight:30,preHeaderPanelWidth:"100%",translationNamespaceSeparator:":",resetFilterSearchValueAfterOnBeforeCancellation:!0,resizeByContentOnlyOnFirstLoad:!0,resizeByContentOptions:{alwaysRecalculateColumnWidth:!1,cellCharWidthInPx:7.8,cellPaddingWidthInPx:14,defaultRatioForStringType:.88,formatterPaddingWidthInPx:0,maxItemToInspectCellContentWidth:1e3,maxItemToInspectSingleColumnWidthByContent:5e3,widthToRemoveFromExceededWidthReadjustment:50},treeDataOptions:{exportIndentMarginLeft:5,exportIndentationLeadingChar:"อออออออออยท"}};function ft(f,a){let o=(f==null?void 0:f.columnPickerLabel)??(f==null?void 0:f.name)??"";(o instanceof HTMLElement||o instanceof DocumentFragment)&&(o=o.textContent||"");const l=(f==null?void 0:f.columnGroup)||"",m=(a==null?void 0:a.columnGroupSeparator)??" - ";return l?l+m+o:o}class $t{constructor(){K(this,"container",{})}get(a){return this.container[a]}registerInstance(a,o){this.container[a]=o}}class ht{constructor(){K(this,"i18n");this.i18n=mt.useTranslation().i18next}getCurrentLanguage(){return this.i18n.language}async use(a){return this.i18n.changeLanguage(a)}translate(a){return this.i18n.t(a)}}function pt(f){if(Array.isArray(f))for(;f.length>0;){const a=f.pop();a!=null&&a.unsubscribe&&a.unsubscribe()}return f}const Yt=["id"],Jt=["id"],Xt=1e4,Qt=C.defineComponent({__name:"SlickgridVue",props:C.mergeModels({header:{},footer:{},extensions:{},gridId:{default:"myGrid"},instances:{},onOnActiveCellChanged:{},onOnActiveCellPositionChanged:{},onOnAddNewRow:{},onOnAutosizeColumns:{},onOnBeforeAppendCell:{},onOnBeforeSearchChange:{},onOnBeforeCellEditorDestroy:{},onOnBeforeColumnsResize:{},onOnBeforeDestroy:{},onOnBeforeEditCell:{},onOnBeforeHeaderCellDestroy:{},onOnBeforeHeaderRowCellDestroy:{},onOnBeforeFooterRowCellDestroy:{},onOnBeforeSetColumns:{},onOnBeforeSort:{},onOnCellChange:{},onOnCellCssStylesChanged:{},onOnClick:{},onOnColumnsDrag:{},onOnColumnsReordered:{},onOnColumnsResized:{},onOnColumnsResizeDblClick:{},onOnCompositeEditorChange:{},onOnContextMenu:{},onOnDrag:{},onOnDragEnd:{},onOnDragInit:{},onOnDragStart:{},onOnDblClick:{},onOnFooterContextMenu:{},onOnFooterRowCellRendered:{},onOnHeaderCellRendered:{},onOnFooterClick:{},onOnHeaderClick:{},onOnHeaderContextMenu:{},onOnHeaderMouseEnter:{},onOnHeaderMouseLeave:{},onOnHeaderRowCellRendered:{},onOnHeaderRowMouseEnter:{},onOnHeaderRowMouseLeave:{},onOnKeyDown:{},onOnMouseEnter:{},onOnMouseLeave:{},onOnValidationError:{},onOnViewportChanged:{},onOnRendered:{},onOnSelectedRowsChanged:{},onOnSetOptions:{},onOnScroll:{},onOnSort:{},onOnBeforePagingInfoChanged:{},onOnGroupExpanded:{},onOnGroupCollapsed:{},onOnPagingInfoChanged:{},onOnRowCountChanged:{},onOnRowsChanged:{},onOnRowsOrCountChanged:{},onOnSetItemsCalled:{},onOnAfterExportToExcel:{},onOnBeforePaginationChange:{},onOnBeforeExportToExcel:{},onOnBeforeFilterChange:{},onOnBeforeFilterClear:{},onOnBeforeSortChange:{},onOnBeforeToggleTreeCollapse:{},onOnFilterChanged:{},onOnFilterCleared:{},onOnItemDeleted:{},onOnGridStateChanged:{},onOnPaginationChanged:{},onOnReactGridCreated:{},onOnSelectedRowIdsChanged:{},onOnSortChanged:{},onOnToggleTreeCollapsed:{},onOnTreeItemToggled:{},onOnTreeFullToggleEnd:{},onOnTreeFullToggleStart:{},onVueGridCreated:{}},{options:{required:!0},optionsModifiers:{},pagination:{},paginationModifiers:{},columns:{required:!0,default:[]},columnsModifiers:{},data:{required:!1},dataModifiers:{},hierarchical:{required:!1},hierarchicalModifiers:{}}),emits:["update:options","update:pagination","update:columns","update:data","update:hierarchical"],setup(f){var Ke;const{i18next:a}=mt.useTranslation(),o=C.useAttrs(),l=f,m=C.ref(),p=C.ref(),w=C.ref(null),n=C.ref({}),T=C.ref(0),L=C.computed(()=>`slickGridContainer-${l.gridId}`),V=C.computed(()=>{var e,t;return(t=(e=ke.value)==null?void 0:e.backendServiceApi)==null?void 0:t.service});let S=0,u=null,s,ae,re=!1,se=!1,be=!1,ve=!1,we=!1,Q=!1,Z=!0,Oe,E=[],ye=!1,le=!1,ee=[],q,Y,M,de,J,F;const vt=new c.SlickgridConfig,W=new c.SlickEventHandler,g=new Pe.EventPubSubService;g.eventNamingStyle=c.EventNamingStyle.camelCaseWithExtraOnPrefix;const R=new $t,U=new ht,_=new c.BackendUtilityService,te=new c.GridEventService,h=new c.SharedService,Ee=new c.CollectionService(U),Ae=new c.ExtensionUtility(h,_,U),Te=new c.FilterFactory(vt,U,Ee),x=new c.FilterService(Te,g,h,_),G=new c.ResizerService(g),I=new c.SortService(Ee,h,g,_),j=new c.TreeDataService(g,h,I),k=new c.PaginationService(g,h,_),O=new c.ExtensionService(Ae,x,g,h,I,j,U,()=>ue),z=new c.GridStateService(O,x,g,h,I,j),ue=new c.GridService(z,x,g,k,h,I,j),ne=new c.HeaderGroupingService(Ae);let _e=[O,x,te,ue,z,ne,k,G,I,j];R.registerInstance("PubSubService",g),R.registerInstance("EventPubSubService",g),R.registerInstance("ExtensionUtility",Ae),R.registerInstance("FilterService",x),R.registerInstance("CollectionService",Ee),R.registerInstance("ExtensionService",O),R.registerInstance("GridEventService",te),R.registerInstance("GridService",ue),R.registerInstance("GridStateService",z),R.registerInstance("HeaderGroupingService",ne),R.registerInstance("PaginationService",k),R.registerInstance("ResizerService",G),R.registerInstance("SharedService",h),R.registerInstance("SortService",I),R.registerInstance("TranslaterService",U),R.registerInstance("TreeDataService",j);const ke=C.useModel(f,"options");n.value={...ct,...ke.value};const B=C.ref(),gt=C.useModel(f,"pagination");C.watch(gt,e=>Ot(e));const A=C.ref(),X=C.useModel(f,"columns");C.watch(X,e=>Ct(e),{immediate:!0});const $=C.useModel(f,"data");C.watch($,e=>{var v,b,y;const t=S,i=Se(e,$.value||[]);let d=!!((v=n.value)!=null&&v.enableDeepCopyDatasetOnPageLoad)?lt.extend(!0,[],e):e;s&&((b=n.value)!=null&&b.enableTreeData)&&Array.isArray(e)&&(e.length>0||e.length!==t||!i)&&(we=!1,d=We(e,!i)),Be(d||[]),S=(e||[]).length,s&&((y=n.value)!=null&&y.autoFitColumnsOnFirstLoad)&&t===0&&!se&&(s.autosizeColumns(),se=!0)},{immediate:!0});const ie=C.useModel(f,"hierarchical");C.watch(ie,e=>{var r;const t=Se(e,(h==null?void 0:h.hierarchicalDataset)??[]),i=S;h&&(h.hierarchicalDataset=e),e&&A.value&&(x!=null&&x.clearFilters)&&x.clearFilters(),u&&e&&s&&(I!=null&&I.processTreeDataInitialSort)&&(u.setItems([],((r=n.value)==null?void 0:r.datasetIdPropertyName)??"id"),I.processTreeDataInitialSort(),queueMicrotask(()=>{const d=(u==null?void 0:u.getItemCount())||0;d>0&&(d!==i||!t)&&x.refreshTreeDataFilters()}),we=!0)},{immediate:!0}),re=((Ke=n.value)==null?void 0:Ke.showHeaderRow)===!1,C.onBeforeUnmount(()=>{Fe()}),C.onMounted(()=>{var e,t;if(!n.value||!X.value)throw new Error("Using `<Slickgrid-Vue>` requires `v-model:options` and `v-model:columns` props, it seems that you might have forgot to provide them since at least of them is undefined.");if(m.value&&g instanceof Pe.EventPubSubService){g.elementSource=m.value;for(const i in{...o,...l})if(i.startsWith("onOn")){const r=o[i]||l[i];if(typeof r=="function"){const d=i.replace(/^onOn/,"on");ee.push(g.subscribe(d,v=>{const b=g.getEventNameByNamingConvention(d,"");typeof r=="function"&&r.call(null,new CustomEvent(b,{detail:v}))}))}}}if(St(),be=!0,ce()||(n.value.enablePagination=!!(n.value.backendServiceApi&&n.value.enablePagination===void 0||n.value.enablePagination)),!Q&&!ie.value&&((e=n.value)!=null&&e.enablePagination)&&Z&&(le=!0,ze($.value)),(t=n.value)!=null&&t.enableEmptyDataWarningMessage){const i=$.value||[];if(Array.isArray(i)){const r=i.length;Re(r<1)}}n.value.darkMode&&Me(!0),ie.value&&(h.hierarchicalDataset=ie.value||[]),Ht()});function Ct(e){e&&(A.value=e),be&&_t(A.value),A.value.length>0&&kt(A.value)}function St(){var v,b,y,D,P,H,fe,me,he,pe,N,qe,Ue,$e,Ye,Je,Xe,Qe,Ze,et,tt,nt,it;if(!n.value||!X.value)throw new Error('Using `<Slickgrid-Vue>` requires `v-model:columns="columnDefinitions"` and `v-model:options="gridOptions.value"`, it seems that you might have forgot to provide them since at least of them is undefined.');n.value.translater=U,se=!1,n.value&&(n.value.frozenRow!==void 0&&n.value.frozenRow>=0||n.value.frozenColumn!==void 0&&n.value.frozenColumn>=0)&&n.value.enableMouseWheelScrollHandler===void 0&&(n.value.enableMouseWheelScrollHandler=!0),g.eventNamingStyle=((v=n.value)==null?void 0:v.eventNamingStyle)??c.EventNamingStyle.camelCaseWithExtraOnPrefix,g.publish("onBeforeGridCreate",!0),S=((b=$.value)==null?void 0:b.length)||0,n.value=Vt(n.value),B.value=(y=n.value)==null?void 0:y.pagination,J=(D=n.value)==null?void 0:D.backendServiceApi,Z=!J,(P=n.value)!=null&&P.backendServiceApi&&!((H=n.value.backendServiceApi)!=null&&H.disableInternalPostProcess)&&Et(n.value);let t={inlineFilters:((fe=n.value)==null?void 0:fe.dataView)&&n.value.dataView.inlineFilters||!1};((me=n.value)!=null&&me.draggableGrouping||(he=n.value)!=null&&he.enableGrouping)&&(ae=new c.SlickGroupItemMetadataProvider,h.groupItemMetadataProvider=ae,t={...t,groupItemMetadataProvider:ae}),u=new c.SlickDataView(t,g),g.publish("onDataviewCreated",u),Gt(),A.value=je(X.value||[]),(pe=n.value)!=null&&pe.autoAddCustomEditorFormatter&&c.autoAddEditorFormatterToColumnsWithEditor(A.value,(N=n.value)==null?void 0:N.autoAddCustomEditorFormatter),h.allColumns=A.value,h.visibleColumns=A.value,O.createExtensionsBeforeGridCreation(A.value,n.value),(Ue=(qe=n.value)==null?void 0:qe.presets)!=null&&Ue.pinning&&(n.value={...n.value,...n.value.presets.pinning}),s=new c.SlickGrid(`#${l.gridId}`,u,A.value,n.value,g),h.dataView=u,h.slickGrid=s,h.gridContainerElement=m.value,ae&&s.registerPlugin(ae),O.bindDifferentExtensions(),At(s,n.value,u);const i=(($e=n.value)==null?void 0:$e.frozenColumn)??-1;i>=0&&i<=A.value.length&&A.value.length>0&&(h.frozenVisibleColumnId=((Ye=A.value[i])==null?void 0:Ye.id)??""),Lt(),s.init();const r=m.value;if(r&&G.init(s,r),!((Je=n.value)!=null&&Je.enablePagination)&&((Xe=n.value)!=null&&Xe.showCustomFooter)&&((Qe=n.value)!=null&&Qe.customFooterOptions)&&r&&(Y=new jt.SlickFooterComponent(s,(Ze=n.value)==null?void 0:Ze.customFooterOptions,g,U),Y.renderFooter(r)),u){const ot=(et=n.value)!=null&&et.enableTreeData?We($.value||[]):$.value;if(Array.isArray(ot)&&u.setItems(ot,n.value.datasetIdPropertyName??"id"),s!=null&&s.getSelectionModel()&&((tt=n.value)!=null&&tt.dataView)&&"syncGridSelection"in n.value.dataView){let at=!1;n.value.backendServiceApi&&"syncGridSelectionWithBackendService"in n.value.dataView&&(at=n.value.dataView.syncGridSelectionWithBackendService);const oe=n.value.dataView.syncGridSelection;if(typeof oe=="boolean"){let rt=oe;Z||(rt=oe&&at),u.syncGridSelection(s,rt)}else typeof oe=="object"&&u.syncGridSelection(s,oe.preserveHidden,oe.preserveHiddenOnSelectionChange)}(nt=$.value)!=null&&nt.length&&(!ve&&(n.value.enableCheckboxSelector||n.value.enableRowSelection)&&He(),De(),ve=!0)}re&&(Tt(!1),h.hideHeaderRowAfterPageLoad=re),g.publish("onGridCreated",s),Pt(s,n.value),Dt(s,n.value),(it=n.value)!=null&&it.backendServiceApi&&Rt(n.value);const d={element:m.value,dataView:u,slickGrid:s,dispose:bt,backendService:V.value,eventPubSubService:g,filterService:x,gridEventService:te,gridStateService:z,gridService:ue,groupingService:ne,headerGroupingService:ne,extensionService:O,paginationComponent:M,paginationService:k,resizerService:G,sortService:I,treeDataService:j};p.value=O==null?void 0:O.extensionList,w.value=d,g.publish("onVueGridCreated",d)}function Fe(e=!1){var t,i;if(g.publish("onBeforeGridDestroy",s),W==null||W.unsubscribeAll(),a.off("languageChanged"),e&&yt(),g.publish("onAfterGridDestroyed",!0),_e.forEach(r=>{r!=null&&r.dispose&&r.dispose()}),_e=[],(i=(t=V.value)==null?void 0:t.dispose)==null||i.call(t),wt(),q==null||q.dispose(),Y==null||Y.dispose(),M==null||M.dispose(),u&&(u.setItems&&u.setItems([]),u.destroy&&u.destroy()),s!=null&&s.destroy&&s.destroy(e),ee=pt(ee),J){for(const r of Object.keys(J))J[r]=null;J=void 0}for(const r of Object.keys(X.value))X.value[r]=null;for(const r of Object.keys(h))h[r]=null}function bt(e=!1){Fe(e)}function wt(){if(Array.isArray(E))for(;E.length>0;){const e=E.pop();e!=null&&e.dispose&&e.dispose()}E=[]}function yt(){var i;const e=((i=n.value)==null?void 0:i.gridContainerId)??"grid1",t=document.querySelector(`#${e}`);c.emptyElement(t)}function Et(e){const t=e==null?void 0:e.backendServiceApi;if(t!=null&&t.service){const i=t.service;typeof i.getDatasetName=="function"&&(t.internalPostProcess=r=>{const d=t&&i&&typeof i.getDatasetName=="function"?i.getDatasetName():"";if(r!=null&&r.data[d]){const v="nodes"in r.data[d]?r.data[d].nodes:r.data[d],b="totalCount"in r.data[d]?r.data[d].totalCount:r.data[d].length;Be(v,b||0)}})}}function At(e,t,i){var r;if(t.enableTranslate&&O.translateAllExtensions(),a.on("languageChanged",d=>{g.publish("onLanguageChange"),t.enableTranslate&&(O.translateAllExtensions(d),(t.createPreHeaderPanel&&t.createTopHeaderPanel||t.createPreHeaderPanel&&!t.enableDraggableGrouping)&&ne.translateHeaderGrouping())}),t.backendServiceApi){const d=t.backendServiceApi;(r=d==null?void 0:d.service)!=null&&r.init&&d.service.init(d.options,t.pagination,e,h)}i&&e&&(te.bindOnBeforeEditCell(e),te.bindOnCellChange(e),te.bindOnClick(e),i&&e&&(t.enableSorting&&(t.backendServiceApi&&!t.backendServiceApi.useLocalSorting?I.bindBackendOnSort(e):I.bindLocalOnSort(e)),t.enableFiltering&&(x.init(e),t.backendServiceApi&&!t.backendServiceApi.useLocalFiltering?x.bindBackendOnFilter(e):x.bindLocalOnFilter(e)),W.subscribe(e.onColumnsReordered,(d,v)=>{h.hasColumnsReordered=!0,h.visibleColumns=v.impactedColumns}),W.subscribe(e.onSetOptions,(d,v)=>{v.optionsBefore.darkMode!==v.optionsAfter.darkMode&&h.gridContainerElement&&Me(v.optionsAfter.darkMode)}),Bt(),De(),W.subscribe(i.onRowCountChanged,()=>{e.invalidate(),Ge(i.getFilteredItemCount()||0,i.getItemCount()||0)}),W.subscribe(i.onSetItemsCalled,(d,v)=>{h.isItemsDateParsed=!1,Ge(i.getFilteredItemCount()||0,v.itemCount),v.itemCount>0&&(t.autosizeColumnsByCellContentOnFirstLoad||t.enableAutoResizeColumnsByCellContent)&&G.resizeColumnsByCellContent(!(t!=null&&t.resizeByContentOnlyOnFirstLoad))}),t!=null&&t.enableFiltering&&!t.enableRowDetailView&&W.subscribe(i.onRowsChanged,(d,{calledOnRowCountChanged:v,rows:b})=>{if(!v&&Array.isArray(b)){const y=e.getRenderedRange();b.filter(D=>D>=y.top&&D<=y.bottom).forEach(D=>e.updateRow(D)),e.render()}}))),t!=null&&t.colspanCallback&&(i!=null&&i.getItem)&&(i!=null&&i.getItemMetadata)&&(i.getItemMetadata=d=>{let v=null;return t.colspanCallback&&(v=t.colspanCallback(i.getItem(d))),v})}function Rt(e){var v,b,y,D;const t=e.backendServiceApi,i=t==null?void 0:t.service,r=(i==null?void 0:i.options)||{},d=r?r&&"executeProcessCommandOnInit"in r?r.executeProcessCommandOnInit:!0:!1;if(i){if(e!=null&&e.presets){if(i.updateFilters&&Array.isArray(e.presets.filters)&&e.presets.filters.length>0&&i.updateFilters(e.presets.filters,!0),i.updateSorters&&Array.isArray(e.presets.sorters)&&e.presets.sorters.length>0){const P=(v=n.value)!=null&&v.multiColumnSort?e.presets.sorters:e.presets.sorters.slice(0,1);i.updateSorters(void 0,P)}if(i.updatePagination&&e.presets.pagination&&!ce()){const{pageNumber:P,pageSize:H}=e.presets.pagination;i.updatePagination(P,H)}}else{const P=x.getColumnFilters();P&&i.updateFilters&&i.updateFilters(P,!1)}if(t&&i&&(t.onInit||d)){const P=typeof i.buildQuery=="function"?i.buildQuery():"",H=d?((b=t.process)==null?void 0:b.call(t,P))??null:((y=t.onInit)==null?void 0:y.call(t,P))??null;queueMicrotask(()=>{var he,pe;const fe=new Date;t.preProcess&&t.preProcess();const me=((pe=(he=n.value)==null?void 0:he.pagination)==null?void 0:pe.totalItems)??0;H instanceof Promise?H.then(N=>_.executeBackendProcessesCallback(fe,N,t,me)).catch(N=>_.onBackendError(N,t)):H&&(F!=null&&F.isObservable(H))&&ee.push(H.subscribe(N=>_.executeBackendProcessesCallback(fe,N,t,me),N=>_.onBackendError(N,t)))})}(D=t.service.options)!=null&&D.infiniteScroll&&xt()}}function xt(){var e;if(s&&n.value.backendServiceApi&&ce()&&!((e=n.value.backendServiceApi)!=null&&e.onScrollEnd)){const t=()=>{_.setInfiniteScrollBottomHit(!0),k.goToNextPage().then(r=>{r||_.setInfiniteScrollBottomHit(!1)})};n.value.backendServiceApi.onScrollEnd=t,W.subscribe(s.onScroll,(r,d)=>{const v=d.grid.getViewportNode();["mousewheel","scroll"].includes(d.triggeredBy||"")&&(k!=null&&k.totalItems)&&d.scrollTop>0&&Math.ceil(v.offsetHeight+d.scrollTop)>=d.scrollHeight&&(ye||(t(),ye=!0))});const i=n.value.backendServiceApi.postProcess;n.value.backendServiceApi.postProcess=r=>{ye=!1,i&&i(r)}}}function Dt(e,t){if(t.autoFitColumnsOnFirstLoad&&t.autosizeColumnsByCellContentOnFirstLoad||t.enableAutoSizeColumns&&t.enableAutoResizeColumnsByCellContent)throw new Error('[Slickgrid-Vue] You cannot enable both autosize/fit viewport & resize by content, you must choose which resize technique to use. You can enable these 2 options ("autoFitColumnsOnFirstLoad" and "enableAutoSizeColumns") OR these other 2 options ("autosizeColumnsByCellContentOnFirstLoad" and "enableAutoResizeColumnsByCellContent").');t.gridHeight||t.gridWidth?G.resizeGrid(0,{height:t.gridHeight,width:t.gridWidth}):G.resizeGrid(),e&&(t!=null&&t.enableAutoResize)&&t.autoFitColumnsOnFirstLoad&&t.enableAutoSizeColumns&&!se&&(e.autosizeColumns(),se=!0)}function Pt(e,t){if(t.enableSorting&&t.presets&&Array.isArray(t.presets.sorters)){const i=n.value.multiColumnSort?t.presets.sorters:t.presets.sorters.slice(0,1);I.loadGridSorters(i)}}function It(e){var d;const t=(z==null?void 0:z.needToPreserveRowSelection())??!1;s&&!t&&((d=n.value)!=null&&d.backendServiceApi)&&(n.value.enableRowSelection||n.value.enableCheckboxSelector)&&s.setSelectedRows([]);const{pageNumber:i,pageSize:r}=e;h&&r!==void 0&&i!==void 0&&(h.currentPagination={pageNumber:i,pageSize:r}),g.publish("onGridStateChanged",{change:{newValues:{pageNumber:i,pageSize:r},type:c.GridStateType.pagination},gridState:z.getCurrentGridState()})}function Ot(e){e&&B.value?B.value={...B.value,...e}:B.value=e,n.value&&(n.value.pagination=B.value,k.updateTotalItems((e==null?void 0:e.totalItems)??0,!0))}function Be(e,t){var i,r,d,v,b,y;if((i=n.value)!=null&&i.enablePagination&&Z&&(le=!0,ze(e)),(r=n.value)!=null&&r.enableEmptyDataWarningMessage&&Array.isArray(e)){const D=t||e.length;Re(D<1)}if(Array.isArray(e)&&s&&(u!=null&&u.setItems)){if(u.setItems(e,n.value.datasetIdPropertyName??"id"),!n.value.backendServiceApi&&!n.value.enableTreeData&&u.reSort(),e.length>0&&(ve||(De(),n.value.enableCheckboxSelector&&He()),ve=!0),e&&s.invalidate(),le=!!(n.value&&(n.value.enablePagination||n.value.backendServiceApi&&n.value.enablePagination===void 0)),B.value&&((d=n.value)!=null&&d.pagination)&&((v=n.value)!=null&&v.backendServiceApi)){const D=Ve(n.value,B.value),P=t!==void 0?t:(y=(b=n.value)==null?void 0:b.pagination)==null?void 0:y.totalItems;P!==void 0&&P!==T.value&&(T.value=+P),Q?k.updateTotalItems(T.value):Le(D)}if(s&&n.value.enableAutoResize){const D=n.value.autoResize&&n.value.autoResize.delay;G.resizeGrid(D||10)}}}function Tt(e=!0){return s==null||s.setHeaderRowVisibility(e),e===!0&&be&&(s==null||s.setColumns(X.value)),e}function Ve(e,t){var i;return(i=e.presets)!=null&&i.pagination&&e.pagination&&(ce()?console.warn("[Slickgrid-Vue] `presets.pagination` is not supported with Infinite Scroll, reverting to first page."):(t.pageSize=e.presets.pagination.pageSize,t.pageNumber=e.presets.pagination.pageNumber)),t}function Me(e=!1){var t,i;e?(t=h.gridContainerElement)==null||t.classList.add("slick-dark-mode"):(i=h.gridContainerElement)==null||i.classList.remove("slick-dark-mode")}function _t(e){var t,i;e&&(e=je(e),n.value.autoAddCustomEditorFormatter&&c.autoAddEditorFormatterToColumnsWithEditor(e,n.value.autoAddCustomEditorFormatter),n.value.enableTranslate?O.translateColumnHeaders(void 0,e):O.renderColumnHeaders(e,!0),(t=n.value)!=null&&t.enableAutoSizeColumns?s==null||s.autosizeColumns():(i=n.value)!=null&&i.enableAutoResizeColumnsByCellContent&&(G!=null&&G.resizeColumnsByCellContent)&&G.resizeColumnsByCellContent())}function kt(e){e.forEach(t=>t.originalWidth=t.width)}function Re(e=!0){q==null||q.showEmptyDataMessage(e)}function Ge(e,t){var i;S=t,Oe={startTime:new Date,endTime:new Date,itemCount:e,totalItemCount:t},Y&&(Y.metrics=Oe),Z&&((i=n.value)!=null&&i.enableEmptyDataWarningMessage)&&Re(e===0)}function Le(e){n.value&&(k.totalItems=T.value,k.init(s,e,J),ee.push(g.subscribe("onPaginationChanged",t=>It(t)),g.subscribe("onPaginationVisibilityChanged",t=>{var i;le=(t==null?void 0:t.visible)??!1,(i=n.value)!=null&&i.backendServiceApi&&(_==null||_.refreshBackendDataset(n.value)),Ne(le)})),Ne(),Q=!0)}function Ft(e){if(e!=null&&e.editor){const t=e.editor.collectionAsync;e.editor.disabled=!0,t instanceof Promise?t.then(i=>{Array.isArray(i)?ge(e,i):i instanceof Response&&typeof i.json=="function"?i.bodyUsed?console.warn("[SlickGrid-Vue] The response body passed to collectionAsync was already read. Either pass the dataset from the Response or clone the response first using response.clone()"):i.json().then(r=>ge(e,r)):i!=null&&i.content&&ge(e,i.content)}):F!=null&&F.isObservable(t)&&queueMicrotask(()=>{ee.push(t.subscribe(i=>ge(e,i)))})}}function xe(e,t){if(A.value){const i=A.value.findIndex(r=>r.id===e);if(i>=0){const r=A.value[i];(r==null?void 0:r.id)===e&&!t.some(d=>d.id===e)&&(i>0?t.splice(i,0,r):t.unshift(r))}}}function Bt(){var e,t,i,r,d,v;if(n.value.presets&&Array.isArray(n.value.presets.columns)&&n.value.presets.columns.length>0){const b=z.getAssociatedGridColumns(s,n.value.presets.columns);if(b&&Array.isArray(b)&&b.length>0&&Array.isArray(A.value)){if(n.value.enableRowMoveManager){const y=((t=(e=n.value)==null?void 0:e.rowMoveManager)==null?void 0:t.columnId)??"_move";xe(y,b)}if(n.value.enableCheckboxSelector){const y=((r=(i=n.value)==null?void 0:i.checkboxSelector)==null?void 0:r.columnId)??"_checkbox_selector";xe(y,b)}if(n.value.enableRowDetailView){const y=((v=(d=n.value)==null?void 0:d.rowDetailView)==null?void 0:v.columnId)??"_detail_selector";xe(y,b)}b.forEach(y=>y.originalWidth=y.width),s==null||s.setColumns(b),h.visibleColumns=b}}}function De(){var e,t,i;n.value&&n.value.presets&&(Array.isArray(n.value.presets.filters)||Array.isArray((t=(e=n.value.presets)==null?void 0:e.treeData)==null?void 0:t.toggledItems))&&x.populateColumnFilterSearchTermPresets(((i=n.value.presets)==null?void 0:i.filters)||[])}function ze(e){if(n.value&&B.value){if(T.value=Array.isArray(e)?e.length:0,B.value&&(u!=null&&u.getPagingInfo)){const i=u.getPagingInfo();"totalRows"in i&&B.value.totalItems!==i.totalRows&&(T.value=i.totalRows||0)}B.value.totalItems=T.value;const t=Ve(n.value,B.value);Le(t)}}function He(){var i;const e=(i=n.value)==null?void 0:i.presets;if(n.value&&(n.value.enableCheckboxSelector||n.value.enableRowSelection)&&(s!=null&&s.getSelectionModel())&&(e!=null&&e.rowSelection)&&(Array.isArray(e.rowSelection.gridRowIndexes)||Array.isArray(e.rowSelection.dataContextIds))){let r=e.rowSelection.dataContextIds,d=e.rowSelection.gridRowIndexes;Array.isArray(r)&&r.length>0?d=(u==null?void 0:u.mapIdsToRows(r))||[]:Array.isArray(d)&&d.length>0&&(r=(u==null?void 0:u.mapRowsToIds(d))||[]),s&&Array.isArray(d)&&(s.setSelectedRows(d),u.setSelectedIds(r||[],{isRowBeingAdded:!0,shouldTriggerEvent:!1,applyRowSelectionToGrid:!0}))}}function ce(e){var t,i;return!!((i=(t=(e||n.value).backendServiceApi)==null?void 0:t.service.options)!=null&&i.infiniteScroll)}function Vt(e){e.gridId=l.gridId,e.gridContainerId=`slickGridContainer-${l.gridId}`;const t=lt.extend(!0,{},ct,e);return ce(e)||(e.enablePagination=!!(e.backendServiceApi&&e.enablePagination===void 0||e.enablePagination)),t!=null&&t.pagination&&(e.enablePagination||e.backendServiceApi)&&e.pagination&&Array.isArray(e.pagination.pageSizes)&&(t.pagination.pageSizes=e.pagination.pageSizes),re=t.showHeaderRow===!1,t.enableFiltering&&!t.showHeaderRow&&(t.showHeaderRow=t.enableFiltering),t&&!t.enableFiltering&&t.enablePagination&&Z&&(t.enableFiltering=!0,t.showHeaderRow=!1,re=!0,h&&(h.hideHeaderRowAfterPageLoad=!0)),t}function Mt(e){if(Array.isArray(e))for(const t of e)s&&typeof t.init=="function"&&t.init(s,R)}function Gt(){var e;if(E=((e=n.value)==null?void 0:e.externalResources)||[],Array.isArray(E))for(const t of E)(t==null?void 0:t.className)==="RxJsResource"&&zt(t);n.value.enableRowDetailView&&!E.some(t=>t instanceof Ie)&&(de=new Ie(g),de.create(A.value,n.value),O.addExtensionToList(c.ExtensionName.rowDetailView,{name:c.ExtensionName.rowDetailView,instance:de}))}function Lt(){Array.isArray(E)&&(h.externalRegisteredResources=E),E.some(e=>e instanceof c.GridService)||E.push(ue),E.some(e=>e instanceof c.GridStateService)||E.push(z),(n.value.createPreHeaderPanel&&n.value.createTopHeaderPanel||n.value.createPreHeaderPanel&&!n.value.enableDraggableGrouping)&&!E.some(e=>e instanceof c.HeaderGroupingService)&&E.push(ne),n.value.enableTreeData&&!E.some(e=>e instanceof c.TreeDataService)&&E.push(j),n.value.enableTranslate&&O.translateColumnHeaders(),E.some(e=>e instanceof st.SlickEmptyWarningComponent)||(q=new st.SlickEmptyWarningComponent,E.push(q)),Mt(E),n.value.enableRowDetailView&&de&&de.init(s)}function zt(e){F=e,_.addRxJsResource(F),Te.addRxJsResource(F),x.addRxJsResource(F),I.addRxJsResource(F),k.addRxJsResource(F),R.registerInstance("RxJsResource",F)}async function Ne(e=!0){var t;if(s&&((t=n.value)!=null&&t.enablePagination)&&!Q&&e){if(n.value.customPaginationComponent){const i=document.createElement("section"),r=C.createApp(n.value.customPaginationComponent).mount(i);m.value.appendChild(r.$el),M=r}else M=new Kt.SlickPaginationComponent;C.nextTick(()=>{M&&(M.init(s,k,g,U),M.renderPagination(m.value),Q=!0)})}else e||(M==null||M.dispose(),Q=!1)}function We(e,t=!1){const i=S;let r,d=[];return we&&ie.value?(r=j.sortHierarchicalDataset(ie.value),d=r.flat):Array.isArray(e)&&e.length>0&&(r=j.convertFlatParentChildToTreeDatasetAndSort(e,A.value||[],n.value),h.hierarchicalDataset=r.hierarchical,d=r.flat),e.length>0&&(t||e.length!==i)&&x.refreshTreeDataFilters(d),d}function je(e){return e.some(t=>`${t.id}`.includes("."))&&console.error('[Slickgrid-Vue] Make sure that none of your Column Definition "id" property includes a dot in its name because that will cause some problems with the Editors. For example if your column definition "field" property is "user.firstName" then use "firstName" as the column "id".'),e.map(t=>{var i,r;return(i=t.editor)!=null&&i.collectionAsync&&Ft(t),{...t,editorClass:(r=t.editor)==null?void 0:r.model}})}function Ht(){u.getItemCount()>Xt&&!n.value.silenceWarnings&&!n.value.preParseDateColumns&&(s!=null&&s.getColumns().some(e=>c.isColumnDateType(e.type)))&&console.warn("[Slickgrid-Universal] For getting better perf, we suggest you enable the `preParseDateColumns` grid option, for more info visit => https://ghiscoding.gitbook.io/slickgrid-vue/column-functionalities/sorting#pre-parse-date-columns-for-better-perf")}function ge(e,t){if(s&&e.editor){e.editor.collection=t,e.editor.disabled=!1;const i=s.getCellEditor();i!=null&&i.disable&&(i!=null&&i.renderDomElement)&&(i.destroy(),i.disable(!1),i.renderDomElement(t))}}return(e,t)=>(C.openBlock(),C.createElementBlock("div",{id:L.value,ref_key:"elm",ref:m,class:"grid-pane"},[C.renderSlot(e.$slots,"header"),C.createElementVNode("div",{id:e.gridId,class:"slickgrid-container"},null,8,Jt),C.renderSlot(e.$slots,"footer")],8,Yt))}});Object.defineProperty(exports,"Aggregators",{enumerable:!0,get:()=>c.Aggregators});Object.defineProperty(exports,"Enums",{enumerable:!0,get:()=>c.Enums});Object.defineProperty(exports,"Formatters",{enumerable:!0,get:()=>c.Formatters});Object.defineProperty(exports,"GroupTotalFormatters",{enumerable:!0,get:()=>c.GroupTotalFormatters});Object.defineProperty(exports,"SortComparers",{enumerable:!0,get:()=>c.SortComparers});Object.defineProperty(exports,"Utilities",{enumerable:!0,get:()=>c.Utilities});Object.defineProperty(exports,"EventPubSubService",{enumerable:!0,get:()=>Pe.EventPubSubService});exports.BindingService=Ut;exports.SlickRowDetailView=Ie;exports.SlickgridVue=Qt;exports.TranslaterService=ht;exports.disposeAllSubscriptions=pt;Object.keys(c).forEach(f=>{f!=="default"&&!Object.prototype.hasOwnProperty.call(exports,f)&&Object.defineProperty(exports,f,{enumerable:!0,get:()=>c[f]})});
1
+ "use strict";var Nt=Object.defineProperty;var Wt=(u,m,a)=>m in u?Nt(u,m,{enumerable:!0,configurable:!0,writable:!0,value:a}):u[m]=a;var q=(u,m,a)=>Wt(u,typeof m!="symbol"?m+"":m,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ie=require("@slickgrid-universal/event-pub-sub"),c=require("@slickgrid-universal/common"),C=require("vue"),Kt=require("@slickgrid-universal/custom-footer-component"),lt=require("@slickgrid-universal/empty-warning-component"),qt=require("@slickgrid-universal/pagination-component"),st=require("@slickgrid-universal/utils"),ft=require("i18next-vue"),jt=require("@slickgrid-universal/row-detail-view-plugin");var dt=Object.prototype.hasOwnProperty;function Se(u,m){var a,s;if(u===m)return!0;if(u&&m&&(a=u.constructor)===m.constructor){if(a===Date)return u.getTime()===m.getTime();if(a===RegExp)return u.toString()===m.toString();if(a===Array){if((s=u.length)===m.length)for(;s--&&Se(u[s],m[s]););return s===-1}if(!a||typeof u=="object"){s=0;for(a in u)if(dt.call(u,a)&&++s&&!dt.call(m,a)||!(a in m)||!Se(u[a],m[a]))return!1;return Object.keys(m).length===s}}return u!==u&&m!==m}const ve="container_",ct="container_loading";class Oe extends jt.SlickRowDetailView{constructor(a){super(a);q(this,"_component");q(this,"_preloadComponent");q(this,"_views",[]);q(this,"_subscriptions",[]);q(this,"_userProcessFn");q(this,"gridContainerElement");this.eventPubSubService=a}get addonOptions(){return this.getOptions()}get datasetIdPropName(){return this.gridOptions.datasetIdPropertyName||"id"}get eventHandler(){return this._eventHandler}set eventHandler(a){this._eventHandler=a}get gridOptions(){var a;return((a=this._grid)==null?void 0:a.getOptions())||{}}get rowDetailViewOptions(){return this.gridOptions.rowDetailView}dispose(){this.disposeAllViewComponents(),c.unsubscribeAll(this._subscriptions),super.dispose()}disposeAllViewComponents(){Array.isArray(this._views)&&this._views.forEach(a=>this.disposeViewComponent(a)),this._views=[]}getAddonInstance(){return this}init(a){this._grid=a,super.init(this._grid),this.gridContainerElement=a.getContainerNode(),this.register(a==null?void 0:a.getSelectionModel())}register(a){var s,g,w,A,n,x,z,B;if(typeof((s=this.gridOptions.rowDetailView)==null?void 0:s.process)=="function")this._userProcessFn=this.gridOptions.rowDetailView.process,this.addonOptions.process=v=>this.onProcessing(v);else throw new Error('[Slickgrid-Vue] You need to provide a "process" function for the Row Detail Extension to work properly');return this._grid&&((g=this.gridOptions)!=null&&g.rowDetailView)&&(this.gridOptions.rowDetailView.preTemplate||(this._preloadComponent=(A=(w=this.gridOptions)==null?void 0:w.rowDetailView)==null?void 0:A.preloadComponent,this.addonOptions.preTemplate=()=>this._grid.sanitizeHtmlString(`<div class="${ct}"></div>`)),this.gridOptions.rowDetailView.postTemplate||(this._component=(x=(n=this.gridOptions)==null?void 0:n.rowDetailView)==null?void 0:x.viewComponent,this.addonOptions.postTemplate=v=>this._grid.sanitizeHtmlString(`<div class="${ve}${v[this.datasetIdPropName]}"></div>`)),this._grid&&this.gridOptions&&((!a||!this._grid.getSelectionModel())&&(a=new c.SlickRowSelectionModel(this.gridOptions.rowSelectionOptions||{selectActiveRow:!0}),this._grid.setSelectionModel(a)),this._grid&&this.rowDetailViewOptions&&(this.rowDetailViewOptions.onExtensionRegistered&&this.rowDetailViewOptions.onExtensionRegistered(this),this.onAsyncResponse&&this._eventHandler.subscribe(this.onAsyncResponse,(v,d)=>{var r;typeof((r=this.rowDetailViewOptions)==null?void 0:r.onAsyncResponse)=="function"&&this.rowDetailViewOptions.onAsyncResponse(v,d)}),this.onAsyncEndUpdate&&this._eventHandler.subscribe(this.onAsyncEndUpdate,async(v,d)=>{var r;await this.renderViewModel(d==null?void 0:d.item),typeof((r=this.rowDetailViewOptions)==null?void 0:r.onAsyncEndUpdate)=="function"&&this.rowDetailViewOptions.onAsyncEndUpdate(v,d)}),this.onAfterRowDetailToggle&&this._eventHandler.subscribe(this.onAfterRowDetailToggle,async(v,d)=>{var r;await this.renderPreloadView(d.item),this.renderAllViewModels(),typeof((r=this.rowDetailViewOptions)==null?void 0:r.onAfterRowDetailToggle)=="function"&&this.rowDetailViewOptions.onAfterRowDetailToggle(v,d)}),this.onBeforeRowDetailToggle&&this._eventHandler.subscribe(this.onBeforeRowDetailToggle,(v,d)=>{var r;return this.handleOnBeforeRowDetailToggle(v,d),typeof((r=this.rowDetailViewOptions)==null?void 0:r.onBeforeRowDetailToggle)=="function"?this.rowDetailViewOptions.onBeforeRowDetailToggle(v,d):!0}),this.onRowBackToViewportRange&&this._eventHandler.subscribe(this.onRowBackToViewportRange,async(v,d)=>{var r;await this.handleOnRowBackToViewportRange(v,d),typeof((r=this.rowDetailViewOptions)==null?void 0:r.onRowBackToViewportRange)=="function"&&this.rowDetailViewOptions.onRowBackToViewportRange(v,d)}),this.onRowOutOfViewportRange&&this._eventHandler.subscribe(this.onRowOutOfViewportRange,(v,d)=>{var r;typeof((r=this.rowDetailViewOptions)==null?void 0:r.onRowOutOfViewportRange)=="function"&&this.rowDetailViewOptions.onRowOutOfViewportRange(v,d)}),this.eventHandler.subscribe(this._grid.onColumnsReordered,this.redrawAllViewComponents.bind(this)),(this.gridOptions.enableRowSelection||this.gridOptions.enableCheckboxSelector)&&this._eventHandler.subscribe(this._grid.onSelectedRowsChanged,this.redrawAllViewComponents.bind(this)),this._eventHandler.subscribe(this._grid.onSort,this.disposeAllViewComponents.bind(this)),this._subscriptions.push((z=this.eventPubSubService)==null?void 0:z.subscribe(["onFilterChanged","onGridMenuColumnsChanged","onColumnPickerColumnsChanged"],this.redrawAllViewComponents.bind(this)),(B=this.eventPubSubService)==null?void 0:B.subscribe(["onGridMenuClearAllFilters","onGridMenuClearAllSorting"],()=>window.setTimeout(()=>this.redrawAllViewComponents())))))),this}async redrawAllViewComponents(){await Promise.all(this._views.map(async a=>this.redrawViewComponent(a)))}async renderAllViewModels(){await Promise.all(this._views.filter(a=>a==null?void 0:a.dataContext).map(async a=>this.renderViewModel(a.dataContext)))}async redrawViewComponent(a){const s=this.gridContainerElement.getElementsByClassName(`${ve}${a.id}`);(s==null?void 0:s.length)>=0&&await this.renderViewModel(a.dataContext)}async renderPreloadView(a){var g,w;const s=this.gridContainerElement.getElementsByClassName(`${ct}`);if(this._preloadComponent&&(s!=null&&s.length)){const A=this._views.find(v=>v.id===a[this.datasetIdPropName]),n={model:a,addon:this,grid:this._grid,dataView:this.dataView,parent:(g=this.rowDetailViewOptions)==null?void 0:g.parent,parentRef:(w=this.rowDetailViewOptions)==null?void 0:w.parent},x=document.createElement("div"),z=C.createApp(this._preloadComponent,n),B=z.mount(x);n.parent=B,s[s.length-1].appendChild(B.$el),A&&(A.app=z,A.instance=B)}}async renderViewModel(a){var g,w;const s=this.gridContainerElement.getElementsByClassName(`${ve}${a[this.datasetIdPropName]}`);if(this._component&&(s!=null&&s.length)){const A=this._views.find(v=>v.id===a[this.datasetIdPropName]),n={model:a,addon:this,grid:this._grid,dataView:this.dataView,parent:(g=this.rowDetailViewOptions)==null?void 0:g.parent,parentRef:(w=this.rowDetailViewOptions)==null?void 0:w.parent};A!=null&&A.app&&A.app.unmount();const x=document.createElement("div"),z=C.createApp(this._component,n),B=z.mount(x);n.parent=z.component,s[s.length-1].appendChild(B.$el),A||this.addViewInfoToViewsRef(a,z,B)}}addViewInfoToViewsRef(a,s,g){const w={id:a[this.datasetIdPropName],dataContext:a,app:s,instance:g},A=this.gridOptions.datasetIdPropertyName||"id";c.addToArrayWhenNotExists(this._views,w,A)}disposeViewComponent(a){var s;if(a&&a!=null&&a.instance){const g=this.gridContainerElement.getElementsByClassName(`${ve}${this._views[0].id}`);if(g!=null&&g.length)return(s=a.app)==null||s.unmount(),g[0].textContent="",a}}handleOnBeforeRowDetailToggle(a,s){var g;if((g=s==null?void 0:s.item)!=null&&g.__collapsed)this.addViewInfoToViewsRef(s.item,null,null);else{const w=this._views.findIndex(A=>A.id===s.item[this.datasetIdPropName]);w>=0&&this.disposeViewComponent(this._views[w])&&this._views.splice(w,1)}}async handleOnRowBackToViewportRange(a,s){s!=null&&s.item&&await this.redrawAllViewComponents()}notifyTemplate(a){this.onAsyncResponse&&this.onAsyncResponse.notify({item:a,itemDetail:a},new c.SlickEventData,this)}async onProcessing(a){if(a&&typeof this._userProcessFn=="function"){let s;const w=await this._userProcessFn(a);if(this.datasetIdPropName in w?s=w:w instanceof Response&&typeof w.json=="function"?s=await w.json():w&&w.content&&(s=w.content),!s||!(this.datasetIdPropName in s))throw new Error('[Slickgrid-Vue] could not process the Row Detail, please make sure that your "process" callback (a Promise or an HttpClient call returning an Observable) returns an item object that has an "${this.datasetIdPropName}" property');this.notifyTemplate(s||{})}}}const ut={alwaysShowVerticalScroll:!0,autoEdit:!1,asyncEditorLoading:!1,autoFitColumnsOnFirstLoad:!0,autoResize:{applyResizeToContainer:!0,calculateAvailableSizeBy:"window",bottomPadding:20,minHeight:180,minWidth:300,rightPadding:0},cellHighlightCssClass:"slick-cell-modified",checkboxSelector:{cssClass:"slick-cell-checkboxsel",width:40},cellMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideCommandSection:!1,hideOptionSection:!1},columnGroupSeparator:" - ",columnPicker:{hideForceFitButton:!1,hideSyncResizeButton:!0,headerColumnValueExtractor:mt},compositeEditorOptions:{labels:{cancelButtonKey:"CANCEL",cloneButtonKey:"CLONE",resetEditorButtonTooltipKey:"RESET_INPUT_VALUE",resetFormButtonKey:"RESET_FORM",massSelectionButtonKey:"APPLY_TO_SELECTION",massSelectionStatusKey:"X_OF_Y_MASS_SELECTED",massUpdateButtonKey:"APPLY_MASS_UPDATE",massUpdateStatusKey:"ALL_X_RECORDS_SELECTED",saveButtonKey:"SAVE"},resetEditorButtonCssClass:"mdi mdi-refresh mdi-15px",resetFormButtonIconCssClass:"mdi mdi-refresh mdi-16px mdi-flip-h"},contextMenu:{autoAdjustDrop:!0,autoAlignSide:!0,hideCloseButton:!0,hideClearAllGrouping:!1,hideCollapseAllGroups:!1,hideCommandSection:!1,hideCopyCellValueCommand:!1,hideExpandAllGroups:!1,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideMenuOnScroll:!0,hideOptionSection:!1,iconCollapseAllGroupsCommand:"mdi mdi-arrow-collapse",iconExpandAllGroupsCommand:"mdi mdi-arrow-expand",iconClearGroupingCommand:"mdi mdi-close",iconCopyCellValueCommand:"mdi mdi-content-copy",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline text-success",iconExportTextDelimitedCommand:"mdi mdi-download"},customFooterOptions:{dateFormat:"YYYY-MM-DD, hh:mm a",hideRowSelectionCount:!1,hideTotalItemCount:!1,hideLastUpdateTimestamp:!0,footerHeight:25,leftContainerClass:"col-xs-12 col-sm-5",rightContainerClass:"col-xs-6 col-sm-7",metricSeparator:"|",metricTexts:{items:"items",itemsKey:"ITEMS",of:"of",ofKey:"OF",itemsSelected:"items selected",itemsSelectedKey:"ITEMS_SELECTED"}},dataView:{syncGridSelection:{preserveHidden:!1,preserveHiddenOnSelectionChange:!0},syncGridSelectionWithBackendService:!1},datasetIdPropertyName:"id",defaultFilter:c.Filters.input,defaultBackendServiceFilterTypingDebounce:500,defaultColumnSortFieldId:"id",defaultFilterPlaceholder:"๐Ÿ”Ž๏ธŽ",defaultFilterRangeOperator:c.OperatorType.rangeInclusive,editable:!1,editorTypingDebounce:450,filterTypingDebounce:0,enableEmptyDataWarningMessage:!0,enableFilterTrimWhiteSpace:!1,emptyDataWarning:{className:"slick-empty-data-warning",message:"No data to display.",messageKey:"EMPTY_DATA_WARNING_MESSAGE",hideFrozenLeftWarning:!1,hideFrozenRightWarning:!1,leftViewportMarginLeft:"40%",rightViewportMarginLeft:"40%",frozenLeftViewportMarginLeft:"0px",frozenRightViewportMarginLeft:"40%"},enableAutoResize:!0,enableAutoSizeColumns:!0,enableCellNavigation:!1,enableColumnPicker:!0,enableColumnReorder:!0,enableColumnResizeOnDoubleClick:!0,enableContextMenu:!0,enableExcelExport:!1,enableTextExport:!1,enableGridMenu:!0,enableHeaderMenu:!0,enableMouseHoverHighlightRow:!0,enableSorting:!0,enableTextSelectionOnCells:!0,eventNamingStyle:c.EventNamingStyle.camelCaseWithExtraOnPrefix,explicitInitialization:!0,excelExportOptions:{addGroupIndentation:!0,exportWithFormatter:!1,filename:"export",format:c.FileType.xlsx,groupingColumnHeaderTitle:"Group By",groupCollapsedSymbol:"โฎž",groupExpandedSymbol:"โฎŸ",groupingAggregatorRowText:"",sanitizeDataExport:!1},textExportOptions:{delimiter:c.DelimiterType.comma,exportWithFormatter:!1,filename:"export",format:c.FileType.csv,groupingColumnHeaderTitle:"Group By",groupingAggregatorRowText:"",sanitizeDataExport:!1,useUtf8WithBom:!0},forceFitColumns:!1,frozenHeaderWidthCalcDifferential:1,gridMenu:{dropSide:"left",commandLabels:{clearAllFiltersCommandKey:"CLEAR_ALL_FILTERS",clearAllSortingCommandKey:"CLEAR_ALL_SORTING",clearFrozenColumnsCommandKey:"CLEAR_PINNING",exportCsvCommandKey:"EXPORT_TO_CSV",exportExcelCommandKey:"EXPORT_TO_EXCEL",exportTextDelimitedCommandKey:"EXPORT_TO_TAB_DELIMITED",refreshDatasetCommandKey:"REFRESH_DATASET",toggleDarkModeCommandKey:"TOGGLE_DARK_MODE",toggleFilterCommandKey:"TOGGLE_FILTER_ROW",togglePreHeaderCommandKey:"TOGGLE_PRE_HEADER_ROW"},hideClearAllFiltersCommand:!1,hideClearAllSortingCommand:!1,hideClearFrozenColumnsCommand:!0,hideExportCsvCommand:!1,hideExportExcelCommand:!1,hideExportTextDelimitedCommand:!0,hideForceFitButton:!1,hideRefreshDatasetCommand:!1,hideSyncResizeButton:!0,hideToggleDarkModeCommand:!0,hideToggleFilterCommand:!1,hideTogglePreHeaderCommand:!1,iconCssClass:"mdi mdi-menu",iconClearAllFiltersCommand:"mdi mdi-filter-remove-outline",iconClearAllSortingCommand:"mdi mdi-sort-variant-off",iconClearFrozenColumnsCommand:"mdi mdi-close",iconExportCsvCommand:"mdi mdi-download",iconExportExcelCommand:"mdi mdi-file-excel-outline",iconExportTextDelimitedCommand:"mdi mdi-download",iconRefreshDatasetCommand:"mdi mdi-sync",iconToggleDarkModeCommand:"mdi mdi-brightness-4 mdi mdi-brightness-4",iconToggleFilterCommand:"mdi mdi-flip-vertical",iconTogglePreHeaderCommand:"mdi mdi-flip-vertical",menuWidth:16,resizeOnShowHeaderRow:!0,headerColumnValueExtractor:mt},headerMenu:{autoAlign:!0,autoAlignOffset:12,minWidth:140,iconClearFilterCommand:"mdi mdi-filter-remove-outline",iconClearSortCommand:"mdi mdi-sort-variant-off",iconFreezeColumns:"mdi mdi-pin-outline",iconSortAscCommand:"mdi mdi-sort-ascending",iconSortDescCommand:"mdi mdi-sort-descending",iconColumnHideCommand:"mdi mdi-close",iconColumnResizeByContentCommand:"mdi mdi-arrow-expand-horizontal",hideColumnResizeByContentCommand:!1,hideColumnHideCommand:!1,hideClearFilterCommand:!1,hideClearSortCommand:!1,hideFreezeColumnsCommand:!0,hideSortCommands:!1},multiColumnSort:!0,numberedMultiColumnSort:!0,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!0,suppressActiveCellChangeOnEdit:!1,pagination:{pageSizes:[10,15,20,25,30,40,50,75,100],pageSize:25,totalItems:0},rowDetailView:{collapseAllOnSort:!0,cssClass:"detail-view-toggle",panelRows:1,keyPrefix:"__",useRowClick:!1,useSimpleViewportCalc:!0,saveDetailViewOnScroll:!1},headerRowHeight:35,rowHeight:35,topPanelHeight:30,preHeaderPanelWidth:"100%",translationNamespaceSeparator:":",resetFilterSearchValueAfterOnBeforeCancellation:!0,resizeByContentOnlyOnFirstLoad:!0,resizeByContentOptions:{alwaysRecalculateColumnWidth:!1,cellCharWidthInPx:7.8,cellPaddingWidthInPx:14,defaultRatioForStringType:.88,formatterPaddingWidthInPx:0,maxItemToInspectCellContentWidth:1e3,maxItemToInspectSingleColumnWidthByContent:5e3,widthToRemoveFromExceededWidthReadjustment:50},treeDataOptions:{exportIndentMarginLeft:5,exportIndentationLeadingChar:"อออออออออยท"}};function mt(u,m){let a=(u==null?void 0:u.columnPickerLabel)??(u==null?void 0:u.name)??"";(a instanceof HTMLElement||a instanceof DocumentFragment)&&(a=a.textContent||"");const s=(u==null?void 0:u.columnGroup)||"",g=(m==null?void 0:m.columnGroupSeparator)??" - ";return s?s+g+a:a}class Ut{constructor(){q(this,"container",{})}get(m){return this.container[m]}registerInstance(m,a){this.container[m]=a}}class pt{constructor(){q(this,"i18n");this.i18n=ft.useTranslation().i18next}getCurrentLanguage(){return this.i18n.language}async use(m){return this.i18n.changeLanguage(m)}translate(m){return this.i18n.t(m)}}function ht(u){if(Array.isArray(u))for(;u.length>0;){const m=u.pop();m!=null&&m.unsubscribe&&m.unsubscribe()}return u}const $t=["id"],Yt=["id"],Jt=1e4,Xt=C.defineComponent({__name:"SlickgridVue",props:C.mergeModels({header:{},footer:{},extensions:{},gridId:{default:"myGrid"},instances:{},onOnActiveCellChanged:{},onOnActiveCellPositionChanged:{},onOnAddNewRow:{},onOnAutosizeColumns:{},onOnBeforeAppendCell:{},onOnBeforeSearchChange:{},onOnBeforeCellEditorDestroy:{},onOnBeforeColumnsResize:{},onOnBeforeDestroy:{},onOnBeforeEditCell:{},onOnBeforeHeaderCellDestroy:{},onOnBeforeHeaderRowCellDestroy:{},onOnBeforeFooterRowCellDestroy:{},onOnBeforeSetColumns:{},onOnBeforeSort:{},onOnCellChange:{},onOnCellCssStylesChanged:{},onOnClick:{},onOnColumnsDrag:{},onOnColumnsReordered:{},onOnColumnsResized:{},onOnColumnsResizeDblClick:{},onOnCompositeEditorChange:{},onOnContextMenu:{},onOnDrag:{},onOnDragEnd:{},onOnDragInit:{},onOnDragStart:{},onOnDblClick:{},onOnFooterContextMenu:{},onOnFooterRowCellRendered:{},onOnHeaderCellRendered:{},onOnFooterClick:{},onOnHeaderClick:{},onOnHeaderContextMenu:{},onOnHeaderMouseEnter:{},onOnHeaderMouseLeave:{},onOnHeaderRowCellRendered:{},onOnHeaderRowMouseEnter:{},onOnHeaderRowMouseLeave:{},onOnKeyDown:{},onOnMouseEnter:{},onOnMouseLeave:{},onOnValidationError:{},onOnViewportChanged:{},onOnRendered:{},onOnSelectedRowsChanged:{},onOnSetOptions:{},onOnScroll:{},onOnSort:{},onOnBeforePagingInfoChanged:{},onOnGroupExpanded:{},onOnGroupCollapsed:{},onOnPagingInfoChanged:{},onOnRowCountChanged:{},onOnRowsChanged:{},onOnRowsOrCountChanged:{},onOnSetItemsCalled:{},onOnAfterExportToExcel:{},onOnBeforePaginationChange:{},onOnBeforeExportToExcel:{},onOnBeforeFilterChange:{},onOnBeforeFilterClear:{},onOnBeforeSortChange:{},onOnBeforeToggleTreeCollapse:{},onOnFilterChanged:{},onOnFilterCleared:{},onOnItemDeleted:{},onOnGridStateChanged:{},onOnPaginationChanged:{},onOnSelectedRowIdsChanged:{},onOnSortChanged:{},onOnToggleTreeCollapsed:{},onOnTreeItemToggled:{},onOnTreeFullToggleEnd:{},onOnTreeFullToggleStart:{},onVueGridCreated:{}},{options:{required:!0},optionsModifiers:{},pagination:{},paginationModifiers:{},columns:{required:!0,default:[]},columnsModifiers:{},data:{required:!1},dataModifiers:{},hierarchical:{required:!1},hierarchicalModifiers:{}}),emits:["update:options","update:pagination","update:columns","update:data","update:hierarchical"],setup(u){var qe;const{i18next:m}=ft.useTranslation(),a=C.useAttrs(),s=u,g=C.ref(),w=C.ref(),A=C.ref(null),n=C.ref({}),x=C.ref(0),z=C.computed(()=>`slickGridContainer-${s.gridId}`),B=C.computed(()=>{var e,t;return(t=(e=Fe.value)==null?void 0:e.backendServiceApi)==null?void 0:t.service});let v=0,d=null,r,ae,re=!1,le=!1,we=!1,Ce=!1,be=!1,Q=!1,Z=!0,Te,y=[],ye=!1,se=!1,ee=[],j,Y,M,de,J,_;const Ct=new c.SlickgridConfig,W=new c.SlickEventHandler,h=new Ie.EventPubSubService;h.eventNamingStyle=c.EventNamingStyle.camelCaseWithExtraOnPrefix;const R=new Ut,U=new pt,k=new c.BackendUtilityService,te=new c.GridEventService,f=new c.SharedService,Ee=new c.CollectionService(U),Ae=new c.ExtensionUtility(f,k,U),xe=new c.FilterFactory(Ct,U,Ee),D=new c.FilterService(xe,h,f,k),G=new c.ResizerService(h),O=new c.SortService(Ee,f,h,k),K=new c.TreeDataService(h,f,O),F=new c.PaginationService(h,f,k),T=new c.ExtensionService(Ae,D,h,f,O,K,U,()=>ce),H=new c.GridStateService(T,D,h,f,O,K),ce=new c.GridService(H,D,h,F,f,O,K),ne=new c.HeaderGroupingService(Ae);let ke=[T,D,te,ce,H,ne,F,G,O,K];R.registerInstance("PubSubService",h),R.registerInstance("EventPubSubService",h),R.registerInstance("ExtensionUtility",Ae),R.registerInstance("FilterService",D),R.registerInstance("CollectionService",Ee),R.registerInstance("ExtensionService",T),R.registerInstance("GridEventService",te),R.registerInstance("GridService",ce),R.registerInstance("GridStateService",H),R.registerInstance("HeaderGroupingService",ne),R.registerInstance("PaginationService",F),R.registerInstance("ResizerService",G),R.registerInstance("SharedService",f),R.registerInstance("SortService",O),R.registerInstance("TranslaterService",U),R.registerInstance("TreeDataService",K);const Fe=C.useModel(u,"options");n.value={...ut,...Fe.value};const V=C.ref(),gt=C.useModel(u,"pagination");C.watch(gt,e=>Tt(e));const E=C.ref(),X=C.useModel(u,"columns");C.watch(X,e=>vt(e),{immediate:!0});const $=C.useModel(u,"data");C.watch($,e=>{var p,S,b;const t=v,i=Se(e,$.value||[]);let l=!!((p=n.value)!=null&&p.enableDeepCopyDatasetOnPageLoad)?st.extend(!0,[],e):e;r&&((S=n.value)!=null&&S.enableTreeData)&&Array.isArray(e)&&(e.length>0||e.length!==t||!i)&&(be=!1,l=We(e,!i)),Ve(l||[]),v=(e||[]).length,r&&((b=n.value)!=null&&b.autoFitColumnsOnFirstLoad)&&t===0&&!le&&(r.autosizeColumns(),le=!0)},{immediate:!0});const ie=C.useModel(u,"hierarchical");C.watch(ie,e=>{var o;const t=Se(e,(f==null?void 0:f.hierarchicalDataset)??[]),i=v;f&&(f.hierarchicalDataset=e),e&&E.value&&(D!=null&&D.clearFilters)&&D.clearFilters(),d&&e&&r&&(O!=null&&O.processTreeDataInitialSort)&&(d.setItems([],((o=n.value)==null?void 0:o.datasetIdPropertyName)??"id"),O.processTreeDataInitialSort(),queueMicrotask(()=>{const l=(d==null?void 0:d.getItemCount())||0;l>0&&(l!==i||!t)&&D.refreshTreeDataFilters()}),be=!0)},{immediate:!0}),re=((qe=n.value)==null?void 0:qe.showHeaderRow)===!1,C.onBeforeUnmount(()=>{_e()}),C.onMounted(()=>{var e,t;if(!n.value||!X.value)throw new Error("Using `<Slickgrid-Vue>` requires `v-model:options` and `v-model:columns` props, it seems that you might have forgot to provide them since at least of them is undefined.");if(g.value&&h instanceof Ie.EventPubSubService){h.elementSource=g.value;for(const i in{...a,...s})if(i.startsWith("onOn")){const o=a[i]||s[i];if(typeof o=="function"){const l=i.replace(/^onOn/,"on");ee.push(h.subscribe(l,p=>{const S=h.getEventNameByNamingConvention(l,"");typeof o=="function"&&o.call(null,new CustomEvent(S,{detail:p}))}))}}}if(St(),we=!0,ue()||(n.value.enablePagination=!!(n.value.backendServiceApi&&n.value.enablePagination===void 0||n.value.enablePagination)),!Q&&!ie.value&&((e=n.value)!=null&&e.enablePagination)&&Z&&(se=!0,He($.value)),(t=n.value)!=null&&t.enableEmptyDataWarningMessage){const i=$.value||[];if(Array.isArray(i)){const o=i.length;Re(o<1)}}n.value.darkMode&&Me(!0),ie.value&&(f.hierarchicalDataset=ie.value||[]),Lt()});function vt(e){e&&(E.value=e),we&&kt(E.value),E.value.length>0&&Ft(E.value)}function St(){var p,S,b,P,I,L,me,fe,pe,he,N,je,Ue,$e,Ye,Je,Xe,Qe,Ze,et,tt,nt,it;if(!n.value||!X.value)throw new Error('Using `<Slickgrid-Vue>` requires `v-model:columns="columnDefinitions"` and `v-model:options="gridOptions.value"`, it seems that you might have forgot to provide them since at least of them is undefined.');n.value.translater=U,le=!1,n.value&&(n.value.frozenRow!==void 0&&n.value.frozenRow>=0||n.value.frozenColumn!==void 0&&n.value.frozenColumn>=0)&&n.value.enableMouseWheelScrollHandler===void 0&&(n.value.enableMouseWheelScrollHandler=!0),h.eventNamingStyle=((p=n.value)==null?void 0:p.eventNamingStyle)??c.EventNamingStyle.camelCaseWithExtraOnPrefix,h.publish("onBeforeGridCreate",!0),v=((S=$.value)==null?void 0:S.length)||0,n.value=Bt(n.value),V.value=(b=n.value)==null?void 0:b.pagination,J=(P=n.value)==null?void 0:P.backendServiceApi,Z=!J,(I=n.value)!=null&&I.backendServiceApi&&!((L=n.value.backendServiceApi)!=null&&L.disableInternalPostProcess)&&Et(n.value);let t={inlineFilters:((me=n.value)==null?void 0:me.dataView)&&n.value.dataView.inlineFilters||!1};((fe=n.value)!=null&&fe.draggableGrouping||(pe=n.value)!=null&&pe.enableGrouping)&&(ae=new c.SlickGroupItemMetadataProvider,f.groupItemMetadataProvider=ae,t={...t,groupItemMetadataProvider:ae}),d=new c.SlickDataView(t,h),h.publish("onDataviewCreated",d),Gt(),E.value=Ke(X.value||[]),(he=n.value)!=null&&he.autoAddCustomEditorFormatter&&c.autoAddEditorFormatterToColumnsWithEditor(E.value,(N=n.value)==null?void 0:N.autoAddCustomEditorFormatter),f.allColumns=E.value,f.visibleColumns=E.value,T.createExtensionsBeforeGridCreation(E.value,n.value),(Ue=(je=n.value)==null?void 0:je.presets)!=null&&Ue.pinning&&(n.value={...n.value,...n.value.presets.pinning}),r=new c.SlickGrid(`#${s.gridId}`,d,E.value,n.value,h),f.dataView=d,f.slickGrid=r,f.gridContainerElement=g.value,ae&&r.registerPlugin(ae),T.bindDifferentExtensions(),At(r,n.value,d);const i=(($e=n.value)==null?void 0:$e.frozenColumn)??-1;i>=0&&i<=E.value.length&&E.value.length>0&&(f.frozenVisibleColumnId=((Ye=E.value[i])==null?void 0:Ye.id)??""),zt(),r.init();const o=g.value;if(o&&G.init(r,o),!((Je=n.value)!=null&&Je.enablePagination)&&((Xe=n.value)!=null&&Xe.showCustomFooter)&&((Qe=n.value)!=null&&Qe.customFooterOptions)&&o&&(Y=new Kt.SlickFooterComponent(r,(Ze=n.value)==null?void 0:Ze.customFooterOptions,h,U),Y.renderFooter(o)),d){const ot=(et=n.value)!=null&&et.enableTreeData?We($.value||[]):$.value;if(Array.isArray(ot)&&d.setItems(ot,n.value.datasetIdPropertyName??"id"),r!=null&&r.getSelectionModel()&&((tt=n.value)!=null&&tt.dataView)&&"syncGridSelection"in n.value.dataView){let at=!1;n.value.backendServiceApi&&"syncGridSelectionWithBackendService"in n.value.dataView&&(at=n.value.dataView.syncGridSelectionWithBackendService);const oe=n.value.dataView.syncGridSelection;if(typeof oe=="boolean"){let rt=oe;Z||(rt=oe&&at),d.syncGridSelection(r,rt)}else typeof oe=="object"&&d.syncGridSelection(r,oe.preserveHidden,oe.preserveHiddenOnSelectionChange)}(nt=$.value)!=null&&nt.length&&(!Ce&&(n.value.enableCheckboxSelector||n.value.enableRowSelection)&&Le(),Pe(),Ce=!0)}re&&(xt(!1),f.hideHeaderRowAfterPageLoad=re),h.publish("onGridCreated",r),It(r,n.value),Pt(r,n.value),(it=n.value)!=null&&it.backendServiceApi&&Rt(n.value);const l={element:g.value,dataView:d,slickGrid:r,dispose:wt,backendService:B.value,eventPubSubService:h,filterService:D,gridEventService:te,gridStateService:H,gridService:ce,groupingService:ne,headerGroupingService:ne,extensionService:T,paginationComponent:M,paginationService:F,resizerService:G,sortService:O,treeDataService:K};w.value=T==null?void 0:T.extensionList,A.value=l,h.publish("onVueGridCreated",l)}function _e(e=!1){var t,i;if(h.publish("onBeforeGridDestroy",r),W==null||W.unsubscribeAll(),m.off("languageChanged"),e&&yt(),h.publish("onAfterGridDestroyed",!0),ke.forEach(o=>{o!=null&&o.dispose&&o.dispose()}),ke=[],(i=(t=B.value)==null?void 0:t.dispose)==null||i.call(t),bt(),j==null||j.dispose(),Y==null||Y.dispose(),M==null||M.dispose(),d&&(d.setItems&&d.setItems([]),d.destroy&&d.destroy()),r!=null&&r.destroy&&r.destroy(e),ee=ht(ee),J){for(const o of Object.keys(J))J[o]=null;J=void 0}for(const o of Object.keys(X.value))X.value[o]=null;for(const o of Object.keys(f))f[o]=null}function wt(e=!1){_e(e)}function bt(){if(Array.isArray(y))for(;y.length>0;){const e=y.pop();e!=null&&e.dispose&&e.dispose()}y=[]}function yt(){var i;const e=((i=n.value)==null?void 0:i.gridContainerId)??"grid1",t=document.querySelector(`#${e}`);c.emptyElement(t)}function Et(e){const t=e==null?void 0:e.backendServiceApi;if(t!=null&&t.service){const i=t.service;typeof i.getDatasetName=="function"&&(t.internalPostProcess=o=>{const l=t&&i&&typeof i.getDatasetName=="function"?i.getDatasetName():"";if(o!=null&&o.data[l]){const p="nodes"in o.data[l]?o.data[l].nodes:o.data[l],S="totalCount"in o.data[l]?o.data[l].totalCount:o.data[l].length;Ve(p,S||0)}})}}function At(e,t,i){var o;if(t.enableTranslate&&T.translateAllExtensions(),m.on("languageChanged",l=>{h.publish("onLanguageChange"),t.enableTranslate&&(T.translateAllExtensions(l),(t.createPreHeaderPanel&&t.createTopHeaderPanel||t.createPreHeaderPanel&&!t.enableDraggableGrouping)&&ne.translateHeaderGrouping())}),t.backendServiceApi){const l=t.backendServiceApi;(o=l==null?void 0:l.service)!=null&&o.init&&l.service.init(l.options,t.pagination,e,f)}i&&e&&(te.bindOnBeforeEditCell(e),te.bindOnCellChange(e),te.bindOnClick(e),i&&e&&(t.enableSorting&&(t.backendServiceApi&&!t.backendServiceApi.useLocalSorting?O.bindBackendOnSort(e):O.bindLocalOnSort(e)),t.enableFiltering&&(D.init(e),t.backendServiceApi&&!t.backendServiceApi.useLocalFiltering?D.bindBackendOnFilter(e):D.bindLocalOnFilter(e)),W.subscribe(e.onColumnsReordered,(l,p)=>{f.hasColumnsReordered=!0,f.visibleColumns=p.impactedColumns}),W.subscribe(e.onSetOptions,(l,p)=>{p.optionsBefore.darkMode!==p.optionsAfter.darkMode&&f.gridContainerElement&&Me(p.optionsAfter.darkMode)}),Vt(),Pe(),W.subscribe(i.onRowCountChanged,()=>{e.invalidate(),Ge(i.getFilteredItemCount()||0,i.getItemCount()||0)}),W.subscribe(i.onSetItemsCalled,(l,p)=>{f.isItemsDateParsed=!1,Ge(i.getFilteredItemCount()||0,p.itemCount),p.itemCount>0&&(t.autosizeColumnsByCellContentOnFirstLoad||t.enableAutoResizeColumnsByCellContent)&&G.resizeColumnsByCellContent(!(t!=null&&t.resizeByContentOnlyOnFirstLoad))}),t!=null&&t.enableFiltering&&!t.enableRowDetailView&&W.subscribe(i.onRowsChanged,(l,{calledOnRowCountChanged:p,rows:S})=>{if(!p&&Array.isArray(S)){const b=e.getRenderedRange();S.filter(P=>P>=b.top&&P<=b.bottom).forEach(P=>e.updateRow(P)),e.render()}}))),t!=null&&t.colspanCallback&&(i!=null&&i.getItem)&&(i!=null&&i.getItemMetadata)&&(i.getItemMetadata=l=>{let p=null;return t.colspanCallback&&(p=t.colspanCallback(i.getItem(l))),p})}function Rt(e){var p,S,b,P;const t=e.backendServiceApi,i=t==null?void 0:t.service,o=(i==null?void 0:i.options)||{},l=o?o&&"executeProcessCommandOnInit"in o?o.executeProcessCommandOnInit:!0:!1;if(i){if(e!=null&&e.presets){if(i.updateFilters&&Array.isArray(e.presets.filters)&&e.presets.filters.length>0&&i.updateFilters(e.presets.filters,!0),i.updateSorters&&Array.isArray(e.presets.sorters)&&e.presets.sorters.length>0){const I=(p=n.value)!=null&&p.multiColumnSort?e.presets.sorters:e.presets.sorters.slice(0,1);i.updateSorters(void 0,I)}if(i.updatePagination&&e.presets.pagination&&!ue()){const{pageNumber:I,pageSize:L}=e.presets.pagination;i.updatePagination(I,L)}}else{const I=D.getColumnFilters();I&&i.updateFilters&&i.updateFilters(I,!1)}if(t&&i&&(t.onInit||l)){const I=typeof i.buildQuery=="function"?i.buildQuery():"",L=l?((S=t.process)==null?void 0:S.call(t,I))??null:((b=t.onInit)==null?void 0:b.call(t,I))??null;queueMicrotask(()=>{var pe,he;const me=new Date;t.preProcess&&t.preProcess();const fe=((he=(pe=n.value)==null?void 0:pe.pagination)==null?void 0:he.totalItems)??0;L instanceof Promise?L.then(N=>k.executeBackendProcessesCallback(me,N,t,fe)).catch(N=>k.onBackendError(N,t)):L&&(_!=null&&_.isObservable(L))&&ee.push(L.subscribe(N=>k.executeBackendProcessesCallback(me,N,t,fe),N=>k.onBackendError(N,t)))})}(P=t.service.options)!=null&&P.infiniteScroll&&Dt()}}function Dt(){var e;if(r&&n.value.backendServiceApi&&ue()&&!((e=n.value.backendServiceApi)!=null&&e.onScrollEnd)){const t=()=>{k.setInfiniteScrollBottomHit(!0),F.goToNextPage().then(o=>{o||k.setInfiniteScrollBottomHit(!1)})};n.value.backendServiceApi.onScrollEnd=t,W.subscribe(r.onScroll,(o,l)=>{const p=l.grid.getViewportNode();["mousewheel","scroll"].includes(l.triggeredBy||"")&&(F!=null&&F.totalItems)&&l.scrollTop>0&&Math.ceil(p.offsetHeight+l.scrollTop)>=l.scrollHeight&&(ye||(t(),ye=!0))});const i=n.value.backendServiceApi.postProcess;n.value.backendServiceApi.postProcess=o=>{ye=!1,i&&i(o)}}}function Pt(e,t){if(t.autoFitColumnsOnFirstLoad&&t.autosizeColumnsByCellContentOnFirstLoad||t.enableAutoSizeColumns&&t.enableAutoResizeColumnsByCellContent)throw new Error('[Slickgrid-Vue] You cannot enable both autosize/fit viewport & resize by content, you must choose which resize technique to use. You can enable these 2 options ("autoFitColumnsOnFirstLoad" and "enableAutoSizeColumns") OR these other 2 options ("autosizeColumnsByCellContentOnFirstLoad" and "enableAutoResizeColumnsByCellContent").');t.gridHeight||t.gridWidth?G.resizeGrid(0,{height:t.gridHeight,width:t.gridWidth}):G.resizeGrid(),e&&(t!=null&&t.enableAutoResize)&&t.autoFitColumnsOnFirstLoad&&t.enableAutoSizeColumns&&!le&&(e.autosizeColumns(),le=!0)}function It(e,t){if(t.enableSorting&&t.presets&&Array.isArray(t.presets.sorters)){const i=n.value.multiColumnSort?t.presets.sorters:t.presets.sorters.slice(0,1);O.loadGridSorters(i)}}function Ot(e){var l;const t=(H==null?void 0:H.needToPreserveRowSelection())??!1;r&&!t&&((l=n.value)!=null&&l.backendServiceApi)&&(n.value.enableRowSelection||n.value.enableCheckboxSelector)&&r.setSelectedRows([]);const{pageNumber:i,pageSize:o}=e;f&&o!==void 0&&i!==void 0&&(f.currentPagination={pageNumber:i,pageSize:o}),h.publish("onGridStateChanged",{change:{newValues:{pageNumber:i,pageSize:o},type:c.GridStateType.pagination},gridState:H.getCurrentGridState()})}function Tt(e){e&&V.value?V.value={...V.value,...e}:V.value=e,n.value&&(n.value.pagination=V.value,F.updateTotalItems((e==null?void 0:e.totalItems)??0,!0))}function Ve(e,t){var i,o,l,p,S,b;if((i=n.value)!=null&&i.enablePagination&&Z&&(se=!0,He(e)),(o=n.value)!=null&&o.enableEmptyDataWarningMessage&&Array.isArray(e)){const P=t||e.length;Re(P<1)}if(Array.isArray(e)&&r&&(d!=null&&d.setItems)){if(d.setItems(e,n.value.datasetIdPropertyName??"id"),!n.value.backendServiceApi&&!n.value.enableTreeData&&d.reSort(),e.length>0&&(Ce||(Pe(),n.value.enableCheckboxSelector&&Le()),Ce=!0),e&&r.invalidate(),se=!!(n.value&&(n.value.enablePagination||n.value.backendServiceApi&&n.value.enablePagination===void 0)),V.value&&((l=n.value)!=null&&l.pagination)&&((p=n.value)!=null&&p.backendServiceApi)){const P=Be(n.value,V.value),I=t!==void 0?t:(b=(S=n.value)==null?void 0:S.pagination)==null?void 0:b.totalItems;I!==void 0&&I!==x.value&&(x.value=+I),Q?F.updateTotalItems(x.value):ze(P)}if(r&&n.value.enableAutoResize){const P=n.value.autoResize&&n.value.autoResize.delay;G.resizeGrid(P||10)}}}function xt(e=!0){return r==null||r.setHeaderRowVisibility(e),e===!0&&we&&(r==null||r.setColumns(X.value)),e}function Be(e,t){var i;return(i=e.presets)!=null&&i.pagination&&e.pagination&&(ue()?console.warn("[Slickgrid-Vue] `presets.pagination` is not supported with Infinite Scroll, reverting to first page."):(t.pageSize=e.presets.pagination.pageSize,t.pageNumber=e.presets.pagination.pageNumber)),t}function Me(e=!1){var t,i;e?(t=f.gridContainerElement)==null||t.classList.add("slick-dark-mode"):(i=f.gridContainerElement)==null||i.classList.remove("slick-dark-mode")}function kt(e){var t,i;e&&(e=Ke(e),n.value.autoAddCustomEditorFormatter&&c.autoAddEditorFormatterToColumnsWithEditor(e,n.value.autoAddCustomEditorFormatter),n.value.enableTranslate?T.translateColumnHeaders(void 0,e):T.renderColumnHeaders(e,!0),(t=n.value)!=null&&t.enableAutoSizeColumns?r==null||r.autosizeColumns():(i=n.value)!=null&&i.enableAutoResizeColumnsByCellContent&&(G!=null&&G.resizeColumnsByCellContent)&&G.resizeColumnsByCellContent())}function Ft(e){e.forEach(t=>t.originalWidth=t.width)}function Re(e=!0){j==null||j.showEmptyDataMessage(e)}function Ge(e,t){var i;v=t,Te={startTime:new Date,endTime:new Date,itemCount:e,totalItemCount:t},Y&&(Y.metrics=Te),Z&&((i=n.value)!=null&&i.enableEmptyDataWarningMessage)&&Re(e===0)}function ze(e){n.value&&(F.totalItems=x.value,F.init(r,e,J),ee.push(h.subscribe("onPaginationChanged",t=>Ot(t)),h.subscribe("onPaginationVisibilityChanged",t=>{var i;se=(t==null?void 0:t.visible)??!1,(i=n.value)!=null&&i.backendServiceApi&&(k==null||k.refreshBackendDataset(n.value)),Ne(se)})),Ne(),Q=!0)}function _t(e){if(e!=null&&e.editor){const t=e.editor.collectionAsync;e.editor.disabled=!0,t instanceof Promise?t.then(i=>{Array.isArray(i)?ge(e,i):i instanceof Response&&typeof i.json=="function"?i.bodyUsed?console.warn("[SlickGrid-Vue] The response body passed to collectionAsync was already read. Either pass the dataset from the Response or clone the response first using response.clone()"):i.json().then(o=>ge(e,o)):i!=null&&i.content&&ge(e,i.content)}):_!=null&&_.isObservable(t)&&queueMicrotask(()=>{ee.push(t.subscribe(i=>ge(e,i)))})}}function De(e,t){if(E.value){const i=E.value.findIndex(o=>o.id===e);if(i>=0){const o=E.value[i];(o==null?void 0:o.id)===e&&!t.some(l=>l.id===e)&&(i>0?t.splice(i,0,o):t.unshift(o))}}}function Vt(){var e,t,i,o,l,p;if(n.value.presets&&Array.isArray(n.value.presets.columns)&&n.value.presets.columns.length>0){const S=H.getAssociatedGridColumns(r,n.value.presets.columns);if(S&&Array.isArray(S)&&S.length>0&&Array.isArray(E.value)){if(n.value.enableRowMoveManager){const b=((t=(e=n.value)==null?void 0:e.rowMoveManager)==null?void 0:t.columnId)??"_move";De(b,S)}if(n.value.enableCheckboxSelector){const b=((o=(i=n.value)==null?void 0:i.checkboxSelector)==null?void 0:o.columnId)??"_checkbox_selector";De(b,S)}if(n.value.enableRowDetailView){const b=((p=(l=n.value)==null?void 0:l.rowDetailView)==null?void 0:p.columnId)??"_detail_selector";De(b,S)}S.forEach(b=>b.originalWidth=b.width),r==null||r.setColumns(S),f.visibleColumns=S}}}function Pe(){var e,t,i;n.value&&n.value.presets&&(Array.isArray(n.value.presets.filters)||Array.isArray((t=(e=n.value.presets)==null?void 0:e.treeData)==null?void 0:t.toggledItems))&&D.populateColumnFilterSearchTermPresets(((i=n.value.presets)==null?void 0:i.filters)||[])}function He(e){if(n.value&&V.value){if(x.value=Array.isArray(e)?e.length:0,V.value&&(d!=null&&d.getPagingInfo)){const i=d.getPagingInfo();"totalRows"in i&&V.value.totalItems!==i.totalRows&&(x.value=i.totalRows||0)}V.value.totalItems=x.value;const t=Be(n.value,V.value);ze(t)}}function Le(){var i;const e=(i=n.value)==null?void 0:i.presets;if(n.value&&(n.value.enableCheckboxSelector||n.value.enableRowSelection)&&(r!=null&&r.getSelectionModel())&&(e!=null&&e.rowSelection)&&(Array.isArray(e.rowSelection.gridRowIndexes)||Array.isArray(e.rowSelection.dataContextIds))){let o=e.rowSelection.dataContextIds,l=e.rowSelection.gridRowIndexes;Array.isArray(o)&&o.length>0?l=(d==null?void 0:d.mapIdsToRows(o))||[]:Array.isArray(l)&&l.length>0&&(o=(d==null?void 0:d.mapRowsToIds(l))||[]),r&&Array.isArray(l)&&(r.setSelectedRows(l),d.setSelectedIds(o||[],{isRowBeingAdded:!0,shouldTriggerEvent:!1,applyRowSelectionToGrid:!0}))}}function ue(e){var t,i;return!!((i=(t=(e||n.value).backendServiceApi)==null?void 0:t.service.options)!=null&&i.infiniteScroll)}function Bt(e){e.gridId=s.gridId,e.gridContainerId=`slickGridContainer-${s.gridId}`;const t=st.extend(!0,{},ut,e);return ue(e)||(e.enablePagination=!!(e.backendServiceApi&&e.enablePagination===void 0||e.enablePagination)),t!=null&&t.pagination&&(e.enablePagination||e.backendServiceApi)&&e.pagination&&Array.isArray(e.pagination.pageSizes)&&(t.pagination.pageSizes=e.pagination.pageSizes),re=t.showHeaderRow===!1,t.enableFiltering&&!t.showHeaderRow&&(t.showHeaderRow=t.enableFiltering),t&&!t.enableFiltering&&t.enablePagination&&Z&&(t.enableFiltering=!0,t.showHeaderRow=!1,re=!0,f&&(f.hideHeaderRowAfterPageLoad=!0)),t}function Mt(e){if(Array.isArray(e))for(const t of e)r&&typeof t.init=="function"&&t.init(r,R)}function Gt(){var e;if(y=((e=n.value)==null?void 0:e.externalResources)||[],Array.isArray(y))for(const t of y)(t==null?void 0:t.className)==="RxJsResource"&&Ht(t);n.value.enableRowDetailView&&!y.some(t=>t instanceof Oe)&&(de=new Oe(h),de.create(E.value,n.value),T.addExtensionToList(c.ExtensionName.rowDetailView,{name:c.ExtensionName.rowDetailView,instance:de}))}function zt(){Array.isArray(y)&&(f.externalRegisteredResources=y),y.some(e=>e instanceof c.GridService)||y.push(ce),y.some(e=>e instanceof c.GridStateService)||y.push(H),(n.value.createPreHeaderPanel&&n.value.createTopHeaderPanel||n.value.createPreHeaderPanel&&!n.value.enableDraggableGrouping)&&!y.some(e=>e instanceof c.HeaderGroupingService)&&y.push(ne),n.value.enableTreeData&&!y.some(e=>e instanceof c.TreeDataService)&&y.push(K),n.value.enableTranslate&&T.translateColumnHeaders(),y.some(e=>e instanceof lt.SlickEmptyWarningComponent)||(j=new lt.SlickEmptyWarningComponent,y.push(j)),Mt(y),n.value.enableRowDetailView&&de&&de.init(r)}function Ht(e){_=e,k.addRxJsResource(_),xe.addRxJsResource(_),D.addRxJsResource(_),O.addRxJsResource(_),F.addRxJsResource(_),R.registerInstance("RxJsResource",_)}async function Ne(e=!0){var t;if(r&&((t=n.value)!=null&&t.enablePagination)&&!Q&&e){if(n.value.customPaginationComponent){const i=document.createElement("section"),o=C.createApp(n.value.customPaginationComponent).mount(i);g.value.appendChild(o.$el),M=o}else M=new qt.SlickPaginationComponent;C.nextTick(()=>{M&&(M.init(r,F,h,U),M.renderPagination(g.value),Q=!0)})}else e||(M==null||M.dispose(),Q=!1)}function We(e,t=!1){const i=v;let o,l=[];return be&&ie.value?(o=K.sortHierarchicalDataset(ie.value),l=o.flat):Array.isArray(e)&&e.length>0&&(o=K.convertFlatParentChildToTreeDatasetAndSort(e,E.value||[],n.value),f.hierarchicalDataset=o.hierarchical,l=o.flat),e.length>0&&(t||e.length!==i)&&D.refreshTreeDataFilters(l),l}function Ke(e){return e.some(t=>`${t.id}`.includes("."))&&console.error('[Slickgrid-Vue] Make sure that none of your Column Definition "id" property includes a dot in its name because that will cause some problems with the Editors. For example if your column definition "field" property is "user.firstName" then use "firstName" as the column "id".'),e.map(t=>{var i,o;return(i=t.editor)!=null&&i.collectionAsync&&_t(t),{...t,editorClass:(o=t.editor)==null?void 0:o.model}})}function Lt(){d.getItemCount()>Jt&&!n.value.silenceWarnings&&!n.value.preParseDateColumns&&(r!=null&&r.getColumns().some(e=>c.isColumnDateType(e.type)))&&console.warn("[Slickgrid-Universal] For getting better perf, we suggest you enable the `preParseDateColumns` grid option, for more info visit => https://ghiscoding.gitbook.io/slickgrid-vue/column-functionalities/sorting#pre-parse-date-columns-for-better-perf")}function ge(e,t){if(r&&e.editor){e.editor.collection=t,e.editor.disabled=!1;const i=r.getCellEditor();i!=null&&i.disable&&(i!=null&&i.renderDomElement)&&(i.destroy(),i.disable(!1),i.renderDomElement(t))}}return(e,t)=>(C.openBlock(),C.createElementBlock("div",{id:z.value,ref_key:"elm",ref:g,class:"grid-pane"},[C.renderSlot(e.$slots,"header"),C.createElementVNode("div",{id:e.gridId,class:"slickgrid-container"},null,8,Yt),C.renderSlot(e.$slots,"footer")],8,$t))}});Object.defineProperty(exports,"EventPubSubService",{enumerable:!0,get:()=>Ie.EventPubSubService});Object.defineProperty(exports,"Aggregators",{enumerable:!0,get:()=>c.Aggregators});Object.defineProperty(exports,"Enums",{enumerable:!0,get:()=>c.Enums});Object.defineProperty(exports,"Formatters",{enumerable:!0,get:()=>c.Formatters});Object.defineProperty(exports,"GroupTotalFormatters",{enumerable:!0,get:()=>c.GroupTotalFormatters});Object.defineProperty(exports,"SortComparers",{enumerable:!0,get:()=>c.SortComparers});Object.defineProperty(exports,"Utilities",{enumerable:!0,get:()=>c.Utilities});exports.SlickRowDetailView=Oe;exports.SlickgridVue=Xt;exports.TranslaterService=pt;exports.disposeAllSubscriptions=ht;Object.keys(c).forEach(u=>{u!=="default"&&!Object.prototype.hasOwnProperty.call(exports,u)&&Object.defineProperty(exports,u,{enumerable:!0,get:()=>c[u]})});
2
2
  //# sourceMappingURL=index.cjs.map