@slickgrid-universal/vanilla-bundle 5.10.1 → 5.11.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.
@@ -9,8 +9,11 @@ export declare class SlickVanillaGridBundle<TData = any> {
9
9
  protected _currentDatasetLength: number;
10
10
  protected _eventPubSubService: EventPubSubService;
11
11
  protected _darkMode: boolean;
12
+ protected _collectionObservers: Array<null | ({
13
+ disconnect: () => void;
14
+ })>;
12
15
  protected _columnDefinitions?: Column<TData>[];
13
- protected _gridOptions?: GridOption;
16
+ protected _gridOptions: GridOption;
14
17
  protected _gridContainerElm: HTMLElement;
15
18
  protected _gridParentContainerElm: HTMLElement;
16
19
  protected _hideHeaderRowAfterPageLoad: boolean;
@@ -168,6 +171,13 @@ export declare class SlickVanillaGridBundle<TData = any> {
168
171
  protected handleOnItemCountChanged(currentPageRowItemCount: number, totalItemCount: number): void;
169
172
  /** Initialize the Pagination Service once */
170
173
  protected initializePaginationService(paginationOptions: Pagination): void;
174
+ /** handler for when column definitions changes */
175
+ protected columnDefinitionsChanged(columnDefinitions?: Column[]): void;
176
+ /**
177
+ * assignment changes are not triggering on the column definitions, for that
178
+ * we can use our internal array observer for any changes done via (push, pop, shift, ...)
179
+ */
180
+ protected observeColumnDefinitions(): void;
171
181
  /**
172
182
  * Render (or dispose) the Pagination Component, user can optionally provide False (to not show it) which will in term dispose of the Pagination,
173
183
  * also while disposing we can choose to omit the disposable of the Pagination Service (if we are simply toggling the Pagination, we want to keep the Service alive)
@@ -1 +1 @@
1
- {"version":3,"file":"slick-vanilla-grid-bundle.d.ts","sourceRoot":"","sources":["../../../src/components/slick-vanilla-grid-bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slick-vanilla-grid-bundle.d.ts","sourceRoot":"","sources":["../../../src/components/slick-vanilla-grid-bundle.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slickgrid-universal/vanilla-bundle",
3
- "version": "5.10.1",
3
+ "version": "5.11.0",
4
4
  "description": "Vanilla Slick Grid Bundle - Framework agnostic the output is to be used in vanilla JS/TS - Written in TypeScript and we also use Vite to bundle everything into a single JS file.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -26,7 +26,7 @@
26
26
  "homepage": "https://github.com/ghiscoding/slickgrid-universal",
27
27
  "repository": {
28
28
  "type": "git",
29
- "url": "https://github.com/ghiscoding/slickgrid-universal.git",
29
+ "url": "git+https://github.com/ghiscoding/slickgrid-universal.git",
30
30
  "directory": "packages/vanilla-bundle"
31
31
  },
32
32
  "bugs": {
@@ -38,20 +38,20 @@
38
38
  "not dead"
39
39
  ],
40
40
  "dependencies": {
41
- "@slickgrid-universal/binding": "~5.9.0",
42
- "@slickgrid-universal/common": "~5.10.1",
43
- "@slickgrid-universal/custom-footer-component": "~5.10.1",
44
- "@slickgrid-universal/empty-warning-component": "~5.10.1",
45
- "@slickgrid-universal/event-pub-sub": "~5.9.0",
46
- "@slickgrid-universal/pagination-component": "~5.10.1",
47
- "@slickgrid-universal/utils": "~5.9.0",
41
+ "@slickgrid-universal/binding": "~5.10.2",
42
+ "@slickgrid-universal/common": "~5.11.0",
43
+ "@slickgrid-universal/custom-footer-component": "~5.11.0",
44
+ "@slickgrid-universal/empty-warning-component": "~5.11.0",
45
+ "@slickgrid-universal/event-pub-sub": "~5.10.2",
46
+ "@slickgrid-universal/pagination-component": "~5.11.0",
47
+ "@slickgrid-universal/utils": "~5.10.2",
48
48
  "dequal": "^2.0.3",
49
- "sortablejs": "^1.15.3",
49
+ "sortablejs": "^1.15.6",
50
50
  "whatwg-fetch": "^3.6.20"
51
51
  },
52
52
  "funding": {
53
53
  "type": "ko_fi",
54
54
  "url": "https://ko-fi.com/ghiscoding"
55
55
  },
56
- "gitHead": "299c725b3a9b69d3f2fd9fe3613a1d227229d057"
56
+ "gitHead": "894ab0a2783d6f7c4cb9d28d4b81421eb9e05a89"
57
57
  }
@@ -27,6 +27,7 @@ import {
27
27
  // services
28
28
  BackendUtilityService,
29
29
  CollectionService,
30
+ collectionObserver,
30
31
  ExtensionService,
31
32
  ExtensionUtility,
32
33
  FilterFactory,
@@ -67,8 +68,9 @@ export class SlickVanillaGridBundle<TData = any> {
67
68
  protected _currentDatasetLength = 0;
68
69
  protected _eventPubSubService!: EventPubSubService;
69
70
  protected _darkMode = false;
71
+ protected _collectionObservers: Array<null | ({ disconnect: () => void; })> = [];
70
72
  protected _columnDefinitions?: Column<TData>[];
71
- protected _gridOptions?: GridOption;
73
+ protected _gridOptions: GridOption = {};
72
74
  protected _gridContainerElm!: HTMLElement;
73
75
  protected _gridParentContainerElm!: HTMLElement;
74
76
  protected _hideHeaderRowAfterPageLoad = false;
@@ -140,13 +142,7 @@ export class SlickVanillaGridBundle<TData = any> {
140
142
  return this._columnDefinitions || [];
141
143
  }
142
144
  set columnDefinitions(columnDefinitions: Column<TData>[]) {
143
- this._columnDefinitions = columnDefinitions;
144
- if (this._slickgridInitialized) {
145
- this.updateColumnDefinitionsList(this._columnDefinitions);
146
- }
147
- if (columnDefinitions.length > 0) {
148
- this.copyColumnWidthsReference(columnDefinitions);
149
- }
145
+ this.columnDefinitionsChanged(columnDefinitions);
150
146
  }
151
147
 
152
148
  get dataset(): TData[] {
@@ -220,6 +216,7 @@ export class SlickVanillaGridBundle<TData = any> {
220
216
  }
221
217
 
222
218
  set gridOptions(options: GridOption) {
219
+ options ??= {} as GridOption;
223
220
  let mergedOptions: GridOption;
224
221
 
225
222
  // if we already have grid options, when grid was already initialized, we'll merge with those options
@@ -478,6 +475,7 @@ export class SlickVanillaGridBundle<TData = any> {
478
475
  if (shouldEmptyDomElementContainer) {
479
476
  this.emptyGridContainerElm();
480
477
  }
478
+ this._collectionObservers.forEach(obs => obs?.disconnect());
481
479
  this._eventPubSubService?.dispose();
482
480
  this._slickerGridInstances = null as any;
483
481
  }
@@ -712,6 +710,9 @@ export class SlickVanillaGridBundle<TData = any> {
712
710
  this._eventPubSubService.publish('onSlickerGridCreated', this.instances);
713
711
  this._isGridInitialized = true;
714
712
  this.suggestDateParsingWhenHelpful();
713
+
714
+ // subscribe to column definitions assignment changes
715
+ this.observeColumnDefinitions();
715
716
  }
716
717
 
717
718
  hasBackendInfiniteScroll(): boolean {
@@ -1254,6 +1255,29 @@ export class SlickVanillaGridBundle<TData = any> {
1254
1255
  }
1255
1256
  }
1256
1257
 
1258
+ /** handler for when column definitions changes */
1259
+ protected columnDefinitionsChanged(columnDefinitions?: Column[]): void {
1260
+ if (columnDefinitions) {
1261
+ this._columnDefinitions = columnDefinitions;
1262
+ }
1263
+ if (this._isGridInitialized) {
1264
+ this.updateColumnDefinitionsList(this.columnDefinitions);
1265
+ }
1266
+ if (this.columnDefinitions.length > 0) {
1267
+ this.copyColumnWidthsReference(this.columnDefinitions);
1268
+ }
1269
+ }
1270
+
1271
+ /**
1272
+ * assignment changes are not triggering on the column definitions, for that
1273
+ * we can use our internal array observer for any changes done via (push, pop, shift, ...)
1274
+ */
1275
+ protected observeColumnDefinitions(): void {
1276
+ this._collectionObservers.push(
1277
+ collectionObserver(this.columnDefinitions, this.columnDefinitionsChanged.bind(this))
1278
+ );
1279
+ }
1280
+
1257
1281
  /**
1258
1282
  * Render (or dispose) the Pagination Component, user can optionally provide False (to not show it) which will in term dispose of the Pagination,
1259
1283
  * also while disposing we can choose to omit the disposable of the Pagination Service (if we are simply toggling the Pagination, we want to keep the Service alive)
@@ -1262,7 +1286,7 @@ export class SlickVanillaGridBundle<TData = any> {
1262
1286
  */
1263
1287
  protected renderPagination(showPagination = true): void {
1264
1288
  if (this.slickGrid && this._gridOptions?.enablePagination && !this._isPaginationInitialized && showPagination) {
1265
- const PaginationClass = this.gridOptions.customPaginationComponent ?? SlickPaginationComponent;
1289
+ const PaginationClass = (this.gridOptions.customPaginationComponent ?? SlickPaginationComponent) as typeof BasePaginationComponent;
1266
1290
  this.paginationComponent = new PaginationClass();
1267
1291
  this.paginationComponent.init(this.slickGrid, this.paginationService, this._eventPubSubService, this.translaterService);
1268
1292
  this.paginationComponent.renderPagination(this._gridParentContainerElm);