slickgrid-vue 0.1.0

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.
Files changed (44) hide show
  1. package/dist/components/SlickgridVue.vue.d.ts +44 -0
  2. package/dist/components/slickgridVueProps.interface.d.ts +274 -0
  3. package/dist/constants.d.ts +23 -0
  4. package/dist/extensions/slickRowDetailView.d.ts +81 -0
  5. package/dist/global-grid-options.d.ts +5 -0
  6. package/dist/index.cjs +2 -0
  7. package/dist/index.cjs.map +1 -0
  8. package/dist/index.d.cts +12 -0
  9. package/dist/index.d.ts +12 -0
  10. package/dist/index.mjs +1286 -0
  11. package/dist/index.mjs.map +1 -0
  12. package/dist/models/gridOption.interface.d.ts +12 -0
  13. package/dist/models/index.d.ts +5 -0
  14. package/dist/models/rowDetailView.interface.d.ts +13 -0
  15. package/dist/models/viewModelBindableData.interface.d.ts +9 -0
  16. package/dist/models/viewModelBindableInputData.interface.d.ts +8 -0
  17. package/dist/models/vueGridInstance.interface.d.ts +39 -0
  18. package/dist/services/container.service.d.ts +6 -0
  19. package/dist/services/index.d.ts +3 -0
  20. package/dist/services/translater.service.d.ts +27 -0
  21. package/dist/services/utilities.d.ts +7 -0
  22. package/dist/services/vueUtils.d.ts +16 -0
  23. package/dist/slickgrid-config.d.ts +5 -0
  24. package/package.json +75 -0
  25. package/src/assets/vue.svg +1 -0
  26. package/src/components/SlickgridVue.vue +1638 -0
  27. package/src/components/slickgridVueProps.interface.ts +150 -0
  28. package/src/constants.ts +95 -0
  29. package/src/extensions/slickRowDetailView.ts +416 -0
  30. package/src/global-grid-options.ts +288 -0
  31. package/src/index.ts +34 -0
  32. package/src/models/gridOption.interface.ts +16 -0
  33. package/src/models/index.ts +5 -0
  34. package/src/models/rowDetailView.interface.ts +16 -0
  35. package/src/models/viewModelBindableData.interface.ts +10 -0
  36. package/src/models/viewModelBindableInputData.interface.ts +9 -0
  37. package/src/models/vueGridInstance.interface.ts +77 -0
  38. package/src/services/container.service.ts +13 -0
  39. package/src/services/index.ts +3 -0
  40. package/src/services/translater.service.ts +41 -0
  41. package/src/services/utilities.ts +18 -0
  42. package/src/services/vueUtils.ts +26 -0
  43. package/src/slickgrid-config.ts +10 -0
  44. package/src/vite-env.d.ts +1 -0
@@ -0,0 +1,44 @@
1
+ import { Column, Pagination } from '@slickgrid-universal/common';
2
+ import { GridOption } from '../models/index.js';
3
+ import { SlickgridVueProps } from './slickgridVueProps.interface.js';
4
+ declare let __VLS_typeProps: SlickgridVueProps;
5
+ type __VLS_PublicProps = {
6
+ 'options': GridOption;
7
+ 'pagination'?: Pagination;
8
+ 'columns': Column[];
9
+ 'data'?: any[];
10
+ 'hierarchical'?: any[];
11
+ } & typeof __VLS_typeProps;
12
+ declare function __VLS_template(): {
13
+ slots: {
14
+ header?(_: {}): any;
15
+ footer?(_: {}): any;
16
+ };
17
+ refs: {
18
+ elm: HTMLDivElement;
19
+ };
20
+ attrs: Partial<{}>;
21
+ };
22
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
23
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
24
+ "update:options": (options: GridOption<Column<any>>) => any;
25
+ "update:pagination": (pagination: Pagination) => any;
26
+ "update:columns": (columns: Column<any>[]) => any;
27
+ "update:data": (data: any[]) => any;
28
+ "update:hierarchical": (hierarchical: any[]) => any;
29
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
30
+ "onUpdate:options"?: ((options: GridOption<Column<any>>) => any) | undefined;
31
+ "onUpdate:pagination"?: ((pagination: Pagination) => any) | undefined;
32
+ "onUpdate:columns"?: ((columns: Column<any>[]) => any) | undefined;
33
+ "onUpdate:data"?: ((data: any[]) => any) | undefined;
34
+ "onUpdate:hierarchical"?: ((hierarchical: any[]) => any) | undefined;
35
+ }>, {
36
+ gridId: string;
37
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
38
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
39
+ export default _default;
40
+ type __VLS_WithTemplateSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
@@ -0,0 +1,274 @@
1
+ import { DragRowMove, ExtensionList, OnActiveCellChangedEventArgs, OnAddNewRowEventArgs, OnAutosizeColumnsEventArgs, OnBeforeAppendCellEventArgs, OnBeforeCellEditorDestroyEventArgs, OnBeforeColumnsResizeEventArgs, OnBeforeEditCellEventArgs, OnBeforeFooterRowCellDestroyEventArgs, OnBeforeHeaderCellDestroyEventArgs, OnBeforeHeaderRowCellDestroyEventArgs, OnBeforeSetColumnsEventArgs, OnCellChangeEventArgs, OnCellCssStylesChangedEventArgs, OnClickEventArgs, OnColumnsDragEventArgs, OnColumnsReorderedEventArgs, OnColumnsResizeDblClickEventArgs, OnColumnsResizedEventArgs, OnCompositeEditorChangeEventArgs, OnDblClickEventArgs, OnFooterClickEventArgs, OnFooterContextMenuEventArgs, OnFooterRowCellRenderedEventArgs, OnGroupCollapsedEventArgs, OnGroupExpandedEventArgs, OnHeaderCellRenderedEventArgs, OnHeaderClickEventArgs, OnHeaderContextMenuEventArgs, OnHeaderMouseEventArgs, OnHeaderRowCellRenderedEventArgs, OnKeyDownEventArgs, OnRenderedEventArgs, OnRowCountChangedEventArgs, OnRowsChangedEventArgs, OnRowsOrCountChangedEventArgs, OnScrollEventArgs, OnSelectedRowsChangedEventArgs, OnSetItemsCalledEventArgs, OnSetOptionsEventArgs, OnValidationErrorEventArgs, PaginationChangedArgs, PagingInfo, SingleColumnSort, SlickControlList, SlickGrid, SlickPluginList } from '@slickgrid-universal/common';
2
+ import { Slot } from 'vue';
3
+ import { SlickgridVueInstance } from '../models/index.js';
4
+ export interface SlickgridVueProps {
5
+ header?: Slot;
6
+ footer?: Slot;
7
+ extensions?: ExtensionList<SlickControlList | SlickPluginList>;
8
+ gridId: string;
9
+ instances?: SlickgridVueInstance;
10
+ onOnActiveCellChanged?: (e: CustomEvent<{
11
+ eventData: any;
12
+ args: OnActiveCellChangedEventArgs;
13
+ }>) => void;
14
+ onOnActiveCellPositionChanged?: (e: CustomEvent<{
15
+ eventData: any;
16
+ args: {
17
+ grid: SlickGrid;
18
+ };
19
+ }>) => void;
20
+ onOnAddNewRow?: (e: CustomEvent<{
21
+ eventData: any;
22
+ args: OnAddNewRowEventArgs;
23
+ }>) => void;
24
+ onOnAutosizeColumns?: (e: CustomEvent<{
25
+ eventData: any;
26
+ args: OnAutosizeColumnsEventArgs;
27
+ }>) => void;
28
+ onOnBeforeAppendCell?: (e: CustomEvent<{
29
+ eventData: any;
30
+ args: OnBeforeAppendCellEventArgs;
31
+ }>) => void;
32
+ onOnBeforeSearchChange?: (e: CustomEvent<{
33
+ eventData: any;
34
+ args: OnCellChangeEventArgs;
35
+ }>) => void;
36
+ onOnBeforeCellEditorDestroy?: (e: CustomEvent<{
37
+ eventData: any;
38
+ args: OnBeforeCellEditorDestroyEventArgs;
39
+ }>) => void;
40
+ onOnBeforeColumnsResize?: (e: CustomEvent<{
41
+ eventData: any;
42
+ args: OnBeforeColumnsResizeEventArgs;
43
+ }>) => void;
44
+ onOnBeforeDestroy?: (e: CustomEvent<{
45
+ eventData: any;
46
+ args: {
47
+ grid: SlickGrid;
48
+ };
49
+ }>) => void;
50
+ onOnBeforeEditCell?: (e: CustomEvent<{
51
+ eventData: any;
52
+ args: OnBeforeEditCellEventArgs;
53
+ }>) => void;
54
+ onOnBeforeHeaderCellDestroy?: (e: CustomEvent<{
55
+ eventData: any;
56
+ args: OnBeforeHeaderCellDestroyEventArgs;
57
+ }>) => void;
58
+ onOnBeforeHeaderRowCellDestroy?: (e: CustomEvent<{
59
+ eventData: any;
60
+ args: OnBeforeHeaderRowCellDestroyEventArgs;
61
+ }>) => void;
62
+ onOnBeforeFooterRowCellDestroy?: (e: CustomEvent<{
63
+ eventData: any;
64
+ args: OnBeforeFooterRowCellDestroyEventArgs;
65
+ }>) => void;
66
+ onOnBeforeSetColumns?: (e: CustomEvent<{
67
+ eventData: any;
68
+ args: OnBeforeSetColumnsEventArgs;
69
+ }>) => void;
70
+ onOnBeforeSort?: (e: CustomEvent<{
71
+ eventData: any;
72
+ args: SingleColumnSort;
73
+ }>) => void;
74
+ onOnCellChange?: (e: CustomEvent<{
75
+ eventData: any;
76
+ args: OnCellChangeEventArgs;
77
+ }>) => void;
78
+ onOnCellCssStylesChanged?: (e: CustomEvent<{
79
+ eventData: any;
80
+ args: OnCellCssStylesChangedEventArgs;
81
+ }>) => void;
82
+ onOnClick?: (e: CustomEvent<{
83
+ eventData: any;
84
+ args: OnClickEventArgs;
85
+ }>) => void;
86
+ onOnColumnsDrag?: (e: CustomEvent<{
87
+ eventData: any;
88
+ args: OnColumnsDragEventArgs;
89
+ }>) => void;
90
+ onOnColumnsReordered?: (e: CustomEvent<{
91
+ eventData: any;
92
+ args: OnColumnsReorderedEventArgs;
93
+ }>) => void;
94
+ onOnColumnsResized?: (e: CustomEvent<{
95
+ eventData: any;
96
+ args: OnColumnsResizedEventArgs;
97
+ }>) => void;
98
+ onOnColumnsResizeDblClick?: (e: CustomEvent<{
99
+ eventData: any;
100
+ args: OnColumnsResizeDblClickEventArgs;
101
+ }>) => void;
102
+ onOnCompositeEditorChange?: (e: CustomEvent<{
103
+ eventData: any;
104
+ args: OnCompositeEditorChangeEventArgs;
105
+ }>) => void;
106
+ onOnContextMenu?: (e: CustomEvent<{
107
+ eventData: any;
108
+ args: {
109
+ grid: SlickGrid;
110
+ };
111
+ }>) => void;
112
+ onOnDrag?: (e: CustomEvent<{
113
+ eventData: any;
114
+ args: DragRowMove;
115
+ }>) => void;
116
+ onOnDragEnd?: (e: CustomEvent<{
117
+ eventData: any;
118
+ args: DragRowMove;
119
+ }>) => void;
120
+ onOnDragInit?: (e: CustomEvent<{
121
+ eventData: any;
122
+ args: DragRowMove;
123
+ }>) => void;
124
+ onOnDragStart?: (e: CustomEvent<{
125
+ eventData: any;
126
+ args: DragRowMove;
127
+ }>) => void;
128
+ onOnDblClick?: (e: CustomEvent<{
129
+ eventData: any;
130
+ args: OnDblClickEventArgs;
131
+ }>) => void;
132
+ onOnFooterContextMenu?: (e: CustomEvent<{
133
+ eventData: any;
134
+ args: OnFooterContextMenuEventArgs;
135
+ }>) => void;
136
+ onOnFooterRowCellRendered?: (e: CustomEvent<{
137
+ eventData: any;
138
+ args: OnFooterRowCellRenderedEventArgs;
139
+ }>) => void;
140
+ onOnHeaderCellRendered?: (e: CustomEvent<{
141
+ eventData: any;
142
+ args: OnHeaderCellRenderedEventArgs;
143
+ }>) => void;
144
+ onOnFooterClick?: (e: CustomEvent<{
145
+ eventData: any;
146
+ args: OnFooterClickEventArgs;
147
+ }>) => void;
148
+ onOnHeaderClick?: (e: CustomEvent<{
149
+ eventData: any;
150
+ args: OnHeaderClickEventArgs;
151
+ }>) => void;
152
+ onOnHeaderContextMenu?: (e: CustomEvent<{
153
+ eventData: any;
154
+ args: OnHeaderContextMenuEventArgs;
155
+ }>) => void;
156
+ onOnHeaderMouseEnter?: (e: CustomEvent<{
157
+ eventData: any;
158
+ args: OnHeaderMouseEventArgs;
159
+ }>) => void;
160
+ onOnHeaderMouseLeave?: (e: CustomEvent<{
161
+ eventData: any;
162
+ args: OnHeaderMouseEventArgs;
163
+ }>) => void;
164
+ onOnHeaderRowCellRendered?: (e: CustomEvent<{
165
+ eventData: any;
166
+ args: OnHeaderRowCellRenderedEventArgs;
167
+ }>) => void;
168
+ onOnHeaderRowMouseEnter?: (e: CustomEvent<{
169
+ eventData: any;
170
+ args: OnHeaderMouseEventArgs;
171
+ }>) => void;
172
+ onOnHeaderRowMouseLeave?: (e: CustomEvent<{
173
+ eventData: any;
174
+ args: OnHeaderMouseEventArgs;
175
+ }>) => void;
176
+ onOnKeyDown?: (e: CustomEvent<{
177
+ eventData: any;
178
+ args: OnKeyDownEventArgs;
179
+ }>) => void;
180
+ onOnMouseEnter?: (e: CustomEvent<{
181
+ eventData: any;
182
+ args: {
183
+ grid: SlickGrid;
184
+ };
185
+ }>) => void;
186
+ onOnMouseLeave?: (e: CustomEvent<{
187
+ eventData: any;
188
+ args: {
189
+ grid: SlickGrid;
190
+ };
191
+ }>) => void;
192
+ onOnValidationError?: (e: CustomEvent<{
193
+ eventData: any;
194
+ args: OnValidationErrorEventArgs;
195
+ }>) => void;
196
+ onOnViewportChanged?: (e: CustomEvent<{
197
+ eventData: any;
198
+ args: {
199
+ grid: SlickGrid;
200
+ };
201
+ }>) => void;
202
+ onOnRendered?: (e: CustomEvent<{
203
+ eventData: any;
204
+ args: OnRenderedEventArgs;
205
+ }>) => void;
206
+ onOnSelectedRowsChanged?: (e: CustomEvent<{
207
+ eventData: any;
208
+ args: OnSelectedRowsChangedEventArgs;
209
+ }>) => void;
210
+ onOnSetOptions?: (e: CustomEvent<{
211
+ eventData: any;
212
+ args: OnSetOptionsEventArgs;
213
+ }>) => void;
214
+ onOnScroll?: (e: CustomEvent<{
215
+ eventData: any;
216
+ args: OnScrollEventArgs;
217
+ }>) => void;
218
+ onOnSort?: (e: CustomEvent<{
219
+ eventData: any;
220
+ args: SingleColumnSort;
221
+ }>) => void;
222
+ onOnBeforePagingInfoChanged?: (e: CustomEvent<{
223
+ eventData: any;
224
+ args: PagingInfo;
225
+ }>) => void;
226
+ onOnGroupExpanded?: (e: CustomEvent<{
227
+ eventData: any;
228
+ args: OnGroupExpandedEventArgs;
229
+ }>) => void;
230
+ onOnGroupCollapsed?: (e: CustomEvent<{
231
+ eventData: any;
232
+ args: OnGroupCollapsedEventArgs;
233
+ }>) => void;
234
+ onOnPagingInfoChanged?: (e: CustomEvent<{
235
+ eventData: any;
236
+ args: PagingInfo;
237
+ }>) => void;
238
+ onOnRowCountChanged?: (e: CustomEvent<{
239
+ eventData: any;
240
+ args: OnRowCountChangedEventArgs;
241
+ }>) => void;
242
+ onOnRowsChanged?: (e: CustomEvent<{
243
+ eventData: any;
244
+ args: OnRowsChangedEventArgs;
245
+ }>) => void;
246
+ onOnRowsOrCountChanged?: (e: CustomEvent<{
247
+ eventData: any;
248
+ args: OnRowsOrCountChangedEventArgs;
249
+ }>) => void;
250
+ onOnSetItemsCalled?: (e: CustomEvent<{
251
+ eventData: any;
252
+ args: OnSetItemsCalledEventArgs;
253
+ }>) => void;
254
+ onOnAfterExportToExcel?: (e: CustomEvent<any>) => void;
255
+ onOnBeforePaginationChange?: (e: CustomEvent<any>) => void;
256
+ onOnBeforeExportToExcel?: (e: CustomEvent<any>) => void;
257
+ onOnBeforeFilterChange?: (e: CustomEvent<any>) => void;
258
+ onOnBeforeFilterClear?: (e: CustomEvent<any>) => void;
259
+ onOnBeforeSortChange?: (e: CustomEvent<any>) => void;
260
+ onOnBeforeToggleTreeCollapse?: (e: CustomEvent<any>) => void;
261
+ onOnFilterChanged?: (e: CustomEvent<any>) => void;
262
+ onOnFilterCleared?: (e: CustomEvent<any>) => void;
263
+ onOnItemDeleted?: (e: CustomEvent<any>) => void;
264
+ onOnGridStateChanged?: (e: CustomEvent<any>) => void;
265
+ onOnPaginationChanged?: (e: CustomEvent<PaginationChangedArgs>) => void;
266
+ onOnReactGridCreated?: (e: CustomEvent<any>) => void;
267
+ onOnSelectedRowIdsChanged?: (e: CustomEvent<any>) => void;
268
+ onOnSortChanged?: (e: CustomEvent<any>) => void;
269
+ onOnToggleTreeCollapsed?: (e: CustomEvent<any>) => void;
270
+ onOnTreeItemToggled?: (e: CustomEvent<any>) => void;
271
+ onOnTreeFullToggleEnd?: (e: CustomEvent<any>) => void;
272
+ onOnTreeFullToggleStart?: (e: CustomEvent<any>) => void;
273
+ onVueGridCreated?: (e: CustomEvent<SlickgridVueInstance>) => void;
274
+ }
@@ -0,0 +1,23 @@
1
+ import { Locale } from '@slickgrid-universal/common';
2
+ export declare class Constants {
3
+ static readonly locales: Locale;
4
+ static readonly VALIDATION_REQUIRED_FIELD = "Field is required";
5
+ static readonly VALIDATION_EDITOR_VALID_NUMBER = "Please enter a valid number";
6
+ static readonly VALIDATION_EDITOR_VALID_INTEGER = "Please enter a valid integer number";
7
+ static readonly VALIDATION_EDITOR_INTEGER_BETWEEN = "Please enter a valid integer number between {{minValue}} and {{maxValue}}";
8
+ static readonly VALIDATION_EDITOR_INTEGER_MAX = "Please enter a valid integer number that is lower than {{maxValue}}";
9
+ static readonly VALIDATION_EDITOR_INTEGER_MAX_INCLUSIVE = "Please enter a valid integer number that is lower than or equal to {{maxValue}}";
10
+ static readonly VALIDATION_EDITOR_INTEGER_MIN = "Please enter a valid integer number that is greater than {{minValue}}";
11
+ static readonly VALIDATION_EDITOR_INTEGER_MIN_INCLUSIVE = "Please enter a valid integer number that is greater than or equal to {{minValue}}";
12
+ static readonly VALIDATION_EDITOR_NUMBER_BETWEEN = "Please enter a valid number between {{minValue}} and {{maxValue}}";
13
+ static readonly VALIDATION_EDITOR_NUMBER_MAX = "Please enter a valid number that is lower than {{maxValue}}";
14
+ static readonly VALIDATION_EDITOR_NUMBER_MAX_INCLUSIVE = "Please enter a valid number that is lower than or equal to {{maxValue}}";
15
+ static readonly VALIDATION_EDITOR_NUMBER_MIN = "Please enter a valid number that is greater than {{minValue}}";
16
+ static readonly VALIDATION_EDITOR_NUMBER_MIN_INCLUSIVE = "Please enter a valid number that is greater than or equal to {{minValue}}";
17
+ static readonly VALIDATION_EDITOR_DECIMAL_BETWEEN = "Please enter a valid number with a maximum of {{maxDecimal}} decimals";
18
+ static readonly VALIDATION_EDITOR_TEXT_LENGTH_BETWEEN = "Please make sure your text length is between {{minLength}} and {{maxLength}} characters";
19
+ static readonly VALIDATION_EDITOR_TEXT_MAX_LENGTH = "Please make sure your text is less than {{maxLength}} characters";
20
+ static readonly VALIDATION_EDITOR_TEXT_MAX_LENGTH_INCLUSIVE = "Please make sure your text is less than or equal to {{maxLength}} characters";
21
+ static readonly VALIDATION_EDITOR_TEXT_MIN_LENGTH = "Please make sure your text is more than {{minLength}} character(s)";
22
+ static readonly VALIDATION_EDITOR_TEXT_MIN_LENGTH_INCLUSIVE = "Please make sure your text is at least {{minLength}} character(s)";
23
+ }
@@ -0,0 +1,81 @@
1
+ import { EventSubscription, OnBeforeRowDetailToggleArgs, OnRowBackToViewportRangeArgs, SlickEventData, SlickEventHandler, SlickGrid, SlickRowSelectionModel } from '@slickgrid-universal/common';
2
+ import { EventPubSubService } from '@slickgrid-universal/event-pub-sub';
3
+ import { SlickRowDetailView as UniversalSlickRowDetailView } from '@slickgrid-universal/row-detail-view-plugin';
4
+ import { App, ComponentPublicInstance } from 'vue';
5
+ import { GridOption, RowDetailView } from '../models/index.js';
6
+ export interface CreatedView {
7
+ id: string | number;
8
+ dataContext: any;
9
+ app: App | null;
10
+ instance: ComponentPublicInstance | null;
11
+ }
12
+ export declare class SlickRowDetailView extends UniversalSlickRowDetailView {
13
+ private readonly eventPubSubService;
14
+ protected _component?: any;
15
+ protected _preloadComponent?: any;
16
+ protected _views: CreatedView[];
17
+ protected _subscriptions: EventSubscription[];
18
+ protected _userProcessFn?: (item: any) => Promise<any>;
19
+ protected gridContainerElement: HTMLElement;
20
+ constructor(eventPubSubService: EventPubSubService);
21
+ get addonOptions(): import('@slickgrid-universal/common').RowDetailViewOption;
22
+ protected get datasetIdPropName(): string;
23
+ get eventHandler(): SlickEventHandler;
24
+ set eventHandler(eventHandler: SlickEventHandler);
25
+ get gridOptions(): GridOption;
26
+ get rowDetailViewOptions(): RowDetailView | undefined;
27
+ /** Dispose of the RowDetailView Extension */
28
+ dispose(): void;
29
+ /** Dispose of all the opened Row Detail Panels Components */
30
+ disposeAllViewComponents(): void;
31
+ /** Get the instance of the SlickGrid addon (control or plugin). */
32
+ getAddonInstance(): SlickRowDetailView | null;
33
+ init(grid: SlickGrid): void;
34
+ /**
35
+ * Create the plugin before the Grid creation, else it will behave oddly.
36
+ * Mostly because the column definitions might change after the grid creation
37
+ */
38
+ register(rowSelectionPlugin?: SlickRowSelectionModel): this;
39
+ /** Redraw (re-render) all the expanded row detail View Components */
40
+ redrawAllViewComponents(): Promise<void>;
41
+ /** Render all the expanded row detail View Components */
42
+ renderAllViewModels(): Promise<void>;
43
+ /** Redraw the necessary View Component */
44
+ redrawViewComponent(view: CreatedView): Promise<void>;
45
+ /** Render (or re-render) the View Component (Row Detail) */
46
+ renderPreloadView(item: any): Promise<void>;
47
+ /** Render (or re-render) the View Component (Row Detail) */
48
+ renderViewModel(item: any): Promise<void>;
49
+ protected addViewInfoToViewsRef(item: any, app: App | null, instance: ComponentPublicInstance | null): void;
50
+ protected disposeViewComponent(expandedView: CreatedView): CreatedView | void;
51
+ /**
52
+ * Just before the row get expanded or collapsed we will do the following
53
+ * First determine if the row is expanding or collapsing,
54
+ * if it's expanding we will add it to our View Components reference array if we don't already have it
55
+ * or if it's collapsing we will remove it from our View Components reference array
56
+ */
57
+ protected handleOnBeforeRowDetailToggle(_e: SlickEventData<OnBeforeRowDetailToggleArgs>, args: {
58
+ grid: SlickGrid;
59
+ item: any;
60
+ }): void;
61
+ /** When Row comes back to Viewport Range, we need to redraw the View */
62
+ protected handleOnRowBackToViewportRange(_e: SlickEventData<OnRowBackToViewportRangeArgs>, args: {
63
+ item: any;
64
+ rowId: string | number;
65
+ rowIndex: number;
66
+ expandedRows: (string | number)[];
67
+ rowIdsOutOfViewport: (string | number)[];
68
+ grid: SlickGrid;
69
+ }): Promise<void>;
70
+ /**
71
+ * notify the onAsyncResponse with the "args.item" (required property)
72
+ * the plugin will then use item to populate the row detail panel with the "postTemplate"
73
+ * @param item
74
+ */
75
+ protected notifyTemplate(item: any): void;
76
+ /**
77
+ * On Processing, we will notify the plugin with the new item detail once backend server call completes
78
+ * @param item
79
+ */
80
+ protected onProcessing(item: any): Promise<void>;
81
+ }
@@ -0,0 +1,5 @@
1
+ import { GridOption } from './models/index.js';
2
+ /**
3
+ * Default Options that can be passed to the Aurelia-Slickgrid
4
+ */
5
+ export declare const GlobalGridOptions: Partial<GridOption>;
package/dist/index.cjs ADDED
@@ -0,0 +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]})});
2
+ //# sourceMappingURL=index.cjs.map