@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.
- package/dist/cjs/components/slick-vanilla-grid-bundle.js +27 -8
- package/dist/cjs/components/slick-vanilla-grid-bundle.js.map +1 -1
- package/dist/esm/components/slick-vanilla-grid-bundle.js +29 -9
- package/dist/esm/components/slick-vanilla-grid-bundle.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/components/slick-vanilla-grid-bundle.d.ts +11 -1
- package/dist/types/components/slick-vanilla-grid-bundle.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/components/slick-vanilla-grid-bundle.ts +33 -9
|
@@ -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
|
|
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":"AACA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAEjB,uBAAuB,EACvB,MAAM,EAEN,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,UAAU,EACV,UAAU,EAEV,kBAAkB,EAClB,YAAY,EACb,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAKL,8BAA8B,EAG9B,qBAAqB,EACrB,iBAAiB,
|
|
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.
|
|
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.
|
|
42
|
-
"@slickgrid-universal/common": "~5.
|
|
43
|
-
"@slickgrid-universal/custom-footer-component": "~5.
|
|
44
|
-
"@slickgrid-universal/empty-warning-component": "~5.
|
|
45
|
-
"@slickgrid-universal/event-pub-sub": "~5.
|
|
46
|
-
"@slickgrid-universal/pagination-component": "~5.
|
|
47
|
-
"@slickgrid-universal/utils": "~5.
|
|
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.
|
|
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": "
|
|
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
|
|
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.
|
|
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);
|