@genesislcap/grid-pro 14.157.1-alpha-e60ad86.0 → 14.158.1-forms-deepclone.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.
Files changed (49) hide show
  1. package/dist/custom-elements.json +272 -89
  2. package/dist/dts/datasource/base.datasource.d.ts +3 -1
  3. package/dist/dts/datasource/base.datasource.d.ts.map +1 -1
  4. package/dist/dts/datasource/client-side.grid-definitions.d.ts +9 -0
  5. package/dist/dts/datasource/client-side.grid-definitions.d.ts.map +1 -0
  6. package/dist/dts/datasource/server-side.datasource.d.ts +6 -5
  7. package/dist/dts/datasource/server-side.datasource.d.ts.map +1 -1
  8. package/dist/dts/datasource/server-side.grid-definitions.d.ts +1 -17
  9. package/dist/dts/datasource/server-side.grid-definitions.d.ts.map +1 -1
  10. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts +24 -7
  11. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts.map +1 -1
  12. package/dist/dts/grid-pro.d.ts +27 -18
  13. package/dist/dts/grid-pro.d.ts.map +1 -1
  14. package/dist/dts/grid-pro.definitions.d.ts +0 -8
  15. package/dist/dts/grid-pro.definitions.d.ts.map +1 -1
  16. package/dist/dts/state-persistence/kv-state.d.ts +6 -0
  17. package/dist/dts/state-persistence/kv-state.d.ts.map +1 -1
  18. package/dist/dts/state-persistence/local-state.d.ts +6 -0
  19. package/dist/dts/state-persistence/local-state.d.ts.map +1 -1
  20. package/dist/dts/state-persistence/state-persistence.d.ts +14 -0
  21. package/dist/dts/state-persistence/state-persistence.d.ts.map +1 -1
  22. package/dist/esm/datasource/base.datasource.js +59 -4
  23. package/dist/esm/datasource/client-side.grid-definitions.js +37 -0
  24. package/dist/esm/datasource/server-side.datasource.js +7 -40
  25. package/dist/esm/datasource/server-side.grid-definitions.js +1 -45
  26. package/dist/esm/grid-pro-genesis-datasource/grid-pro-genesis-datasource.js +7 -58
  27. package/dist/esm/grid-pro.definitions.js +10 -47
  28. package/dist/esm/grid-pro.js +37 -13
  29. package/dist/esm/state-persistence/kv-state.js +21 -0
  30. package/dist/esm/state-persistence/local-state.js +19 -0
  31. package/dist/grid-pro.api.json +516 -1
  32. package/dist/grid-pro.d.ts +85 -39
  33. package/docs/api/grid-pro.gridpro.getfiltermodel.md +17 -0
  34. package/docs/api/grid-pro.gridpro.md +5 -1
  35. package/docs/api/grid-pro.gridpro.persistcolumnstatekey.md +1 -1
  36. package/docs/api/grid-pro.gridpro.persistfiltermodelkey.md +13 -0
  37. package/docs/api/grid-pro.gridpro.restorecachedfilterconfig.md +15 -0
  38. package/docs/api/grid-pro.gridpro.setfiltermodel.md +24 -0
  39. package/docs/api/grid-pro.kvstoragestatepersistence.getfiltermodel.md +24 -0
  40. package/docs/api/grid-pro.kvstoragestatepersistence.md +2 -0
  41. package/docs/api/grid-pro.kvstoragestatepersistence.savefiltermodel.md +25 -0
  42. package/docs/api/grid-pro.localstoragestatepersistence.getfiltermodel.md +24 -0
  43. package/docs/api/grid-pro.localstoragestatepersistence.md +2 -0
  44. package/docs/api/grid-pro.localstoragestatepersistence.savefiltermodel.md +25 -0
  45. package/docs/api/grid-pro.statepersistence.getfiltermodel.md +26 -0
  46. package/docs/api/grid-pro.statepersistence.md +2 -0
  47. package/docs/api/grid-pro.statepersistence.savefiltermodel.md +27 -0
  48. package/docs/api-report.md +34 -3
  49. package/package.json +13 -13
@@ -45,6 +45,24 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
45
45
  this.classNames = classNames(agThemeTokenMapClassname(newValue), newValue);
46
46
  this.insertFontFace(newValue);
47
47
  }
48
+ getfilterModel() {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ if (!this.persistFilterModelKey) {
51
+ return this._filterConfig;
52
+ }
53
+ const filterModel = yield this.statePersistence.getFilterModel(this.persistFilterModelKey);
54
+ return filterModel;
55
+ });
56
+ }
57
+ setFilterModel(value) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ if (!this.persistFilterModelKey) {
60
+ this._filterConfig = value;
61
+ return;
62
+ }
63
+ yield this.statePersistence.saveFilterModel(this.persistFilterModelKey, value);
64
+ });
65
+ }
48
66
  constructor() {
49
67
  super();
50
68
  // Genesis-specific attrs
@@ -94,7 +112,7 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
94
112
  this.theme = AgGridTheme.alpine;
95
113
  this.rehydrationAttempted = false;
96
114
  this.gridEventsQueue = [];
97
- this.filterConfig = undefined;
115
+ this._filterConfig = undefined;
98
116
  this.agAttributes = {};
99
117
  this.agPropertiesMap = ComponentUtil.ALL_PROPERTIES.reduce((map, property) => {
100
118
  map[property.toLowerCase()] = property;
@@ -145,7 +163,6 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
145
163
  }
146
164
  disconnectedCallback() {
147
165
  super.disconnectedCallback();
148
- this.cacheFilterConfig();
149
166
  this.rehydrationAttempted = false;
150
167
  const shouldRunDisconnect = this.shouldRunDisconnect;
151
168
  DOM.queueUpdate(() => {
@@ -243,14 +260,17 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
243
260
  }
244
261
  cacheFilterConfig() {
245
262
  var _a;
246
- this.filterConfig = ((_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.getFilterModel()) || undefined;
263
+ this.setFilterModel(((_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.getFilterModel()) || undefined);
247
264
  }
248
265
  restoreCachedFilterConfig() {
249
266
  var _a, _b;
250
- if (typeof this.filterConfig !== 'undefined') {
251
- (_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.setFilterModel(this.filterConfig);
252
- (_b = this.gridApi) === null || _b === void 0 ? void 0 : _b.onFilterChanged();
253
- }
267
+ return __awaiter(this, void 0, void 0, function* () {
268
+ const filterModel = yield this.getfilterModel();
269
+ if (typeof filterModel !== 'undefined') {
270
+ (_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.setFilterModel(filterModel);
271
+ (_b = this.gridApi) === null || _b === void 0 ? void 0 : _b.onFilterChanged();
272
+ }
273
+ });
254
274
  }
255
275
  /**
256
276
  * @public
@@ -265,6 +285,7 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
265
285
  }
266
286
  set gridOptions(options) {
267
287
  const debounceSaveColumnState = debounce(this.saveColumnState.bind(this), DEBOUNCE_TIME);
288
+ const debouceSaveFiltermodel = debounce(this.cacheFilterConfig.bind(this), DEBOUNCE_TIME);
268
289
  const globalEventListener = this.globalEventListener.bind(this);
269
290
  const gridOnChangeCallback = () => {
270
291
  debounceSaveColumnState();
@@ -276,7 +297,7 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
276
297
  return;
277
298
  this.agAttributes[attrName] = attribute.value;
278
299
  });
279
- const { columnDefs, components, defaultColDef, onGridReady, onFirstDataRendered } = options, rest = __rest(options, ["columnDefs", "components", "defaultColDef", "onGridReady", "onFirstDataRendered"]);
300
+ const { columnDefs, components, defaultColDef, onGridReady, onFilterChanged } = options, rest = __rest(options, ["columnDefs", "components", "defaultColDef", "onGridReady", "onFilterChanged"]);
280
301
  const derivedOptions = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, this.gridOptionsConfig), { defaultColDef: Object.assign({ enableCellChangeFlash: this.enableCellFlashing, filter: true, resizable: true, sortable: true }, defaultColDef), components: this.combineAllGridComponents(components), suppressDragLeaveHidesColumns: true }), this.eventsAndCallbacks), { onGridReady: (event) => {
281
302
  var _a, _b;
282
303
  this.gridApi = (_a = options.api) !== null && _a !== void 0 ? _a : event.api;
@@ -295,12 +316,12 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
295
316
  });
296
317
  this.restoreColumnState.bind(this)();
297
318
  this.debouncedColumnAutosize.bind(this)();
298
- }, onFirstDataRendered: (event) => {
299
- this.restoreCachedFilterConfig.bind(this)();
300
- if (onFirstDataRendered) {
301
- onFirstDataRendered(event);
319
+ }, onColumnPinned: gridOnChangeCallback, onColumnResized: gridOnChangeCallback, onColumnMoved: gridOnChangeCallback, onDisplayedColumnsChanged: gridOnChangeCallback, onFilterChanged: (filterChangedEvent) => {
320
+ debouceSaveFiltermodel();
321
+ if (onFilterChanged) {
322
+ onFilterChanged(filterChangedEvent);
302
323
  }
303
- }, onColumnPinned: gridOnChangeCallback, onColumnResized: gridOnChangeCallback, onColumnMoved: gridOnChangeCallback, onDisplayedColumnsChanged: gridOnChangeCallback, onFilterChanged: gridOnChangeCallback, onGridSizeChanged: gridOnChangeCallback, onSortChanged: gridOnChangeCallback }), rest);
324
+ }, onGridSizeChanged: gridOnChangeCallback, onSortChanged: gridOnChangeCallback }), rest);
304
325
  if (this.gridProDatasource) {
305
326
  derivedOptions.columnDefs = columnDefs;
306
327
  this.initGridOptions(derivedOptions, globalEventListener);
@@ -513,6 +534,9 @@ __decorate([
513
534
  __decorate([
514
535
  attr({ attribute: 'persist-column-state-key' })
515
536
  ], GridPro.prototype, "persistColumnStateKey", void 0);
537
+ __decorate([
538
+ attr({ attribute: 'persist-filter-model-key' })
539
+ ], GridPro.prototype, "persistFilterModelKey", void 0);
516
540
  __decorate([
517
541
  attr({ attribute: 'header-case-type' })
518
542
  ], GridPro.prototype, "headerCaseType", void 0);
@@ -49,6 +49,27 @@ export class KVStorageStatePersistence {
49
49
  }
50
50
  });
51
51
  }
52
+ getFilterModel(persistFilterModelKey) {
53
+ var _a, _b;
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const kvFilterModel = yield this.kvStorage.get(persistFilterModelKey);
56
+ const storagetFilterModel = kvFilterModel ? (_b = (_a = kvFilterModel[0]) === null || _a === void 0 ? void 0 : _a.kv) === null || _b === void 0 ? void 0 : _b.value : undefined;
57
+ if (storagetFilterModel) {
58
+ return JSON.parse(storagetFilterModel);
59
+ }
60
+ return [];
61
+ });
62
+ }
63
+ saveFilterModel(persistFilterModelKey, filterModel) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ this.kvStorage.put([
66
+ {
67
+ key: persistFilterModelKey,
68
+ value: JSON.stringify(filterModel),
69
+ },
70
+ ]);
71
+ });
72
+ }
52
73
  }
53
74
  __decorate([
54
75
  KVStorage
@@ -24,6 +24,25 @@ export class LocalStorageStatePersistence {
24
24
  this.session.setLocalStorageItem('gridOptions', JSON.stringify(existingOptions));
25
25
  });
26
26
  }
27
+ getFilterModel(persistFilterModelKey) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ const localStorageGridOptions = this.session.getLocalStorageItem('gridOptions');
30
+ if (localStorageGridOptions) {
31
+ const allGridOptions = JSON.parse(localStorageGridOptions);
32
+ if (persistFilterModelKey in allGridOptions) {
33
+ return JSON.parse(allGridOptions[persistFilterModelKey]);
34
+ }
35
+ }
36
+ return {};
37
+ });
38
+ }
39
+ saveFilterModel(persistFilterModelKey, filterModel) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const existingOptions = JSON.parse(this.session.getLocalStorageItem('gridOptions') || '{}');
42
+ existingOptions[persistFilterModelKey] = JSON.stringify(filterModel);
43
+ this.session.setLocalStorageItem('gridOptions', JSON.stringify(existingOptions));
44
+ });
45
+ }
27
46
  }
28
47
  __decorate([
29
48
  Session