@genesislcap/grid-pro 14.228.2-alpha-1303eab.0 → 14.228.2-alpha-880fa6b.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.
@@ -7486,6 +7486,19 @@
7486
7486
  "module": "src/grid-pro-genesis-datasource/grid-pro-genesis-datasource.ts"
7487
7487
  }
7488
7488
  },
7489
+ {
7490
+ "kind": "field",
7491
+ "name": "reloadPromise",
7492
+ "type": {
7493
+ "text": "Promise<void> | null"
7494
+ },
7495
+ "privacy": "private",
7496
+ "default": "null",
7497
+ "inheritedFrom": {
7498
+ "name": "GridProGenesisDatasource",
7499
+ "module": "src/grid-pro-genesis-datasource/grid-pro-genesis-datasource.ts"
7500
+ }
7501
+ },
7489
7502
  {
7490
7503
  "kind": "method",
7491
7504
  "name": "colDefsDeepClone",
@@ -11938,6 +11951,15 @@
11938
11951
  "privacy": "private",
11939
11952
  "default": "true"
11940
11953
  },
11954
+ {
11955
+ "kind": "field",
11956
+ "name": "reloadPromise",
11957
+ "type": {
11958
+ "text": "Promise<void> | null"
11959
+ },
11960
+ "privacy": "private",
11961
+ "default": "null"
11962
+ },
11941
11963
  {
11942
11964
  "kind": "method",
11943
11965
  "name": "deepClone",
@@ -45,10 +45,6 @@ declare const GridProGenesisDatasource_base: (new (...args: any[]) => {
45
45
  readonly classList: DOMTokenList;
46
46
  className: string;
47
47
  readonly clientHeight: number;
48
- /**
49
- * Destroys the datasource, resetting it to its initial state.
50
- * @public
51
- */
52
48
  readonly clientLeft: number;
53
49
  readonly clientTop: number;
54
50
  readonly clientWidth: number;
@@ -346,6 +342,7 @@ export declare class GridProGenesisDatasource extends GridProGenesisDatasource_b
346
342
  private updateSub;
347
343
  private connectionSub;
348
344
  private requiresFullRowDataAndColDefs;
345
+ private reloadPromise;
349
346
  connectedCallback(): void;
350
347
  disconnectedCallback(): void;
351
348
  deepClone(): Node;
@@ -1 +1 @@
1
- {"version":3,"file":"grid-pro-genesis-datasource.d.ts","sourceRoot":"","sources":["../../../src/grid-pro-genesis-datasource/grid-pro-genesis-datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EAGX,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAejC,OAAO,EAAqB,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgLvF;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAzKL;;;;GAIG;AACH,qBAGa,wBAAyB,SAAQ,6BAAqC;IACjF,aAAa,SAAsB;IACnC,kBAAkB,SAA2B;IAG7C,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASxD,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAQrD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAKW,qBAAqB,UAAS;IAG/F,yBAAyB,UAAS;IAElC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,6BAA6B,CAAQ;IAE7C,iBAAiB;IAuBjB,oBAAoB;IAWX,SAAS,IAAI,IAAI;IAqB1B,OAAO,CAAC,gBAAgB;IAgBxB;;;;;;OAMG;IACG,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE;IA0CrE;;;OAGG;IACH,OAAO;IAIP;;;;OAIG;IACH,MAAM;IAIN;;;;OAIG;IACH,KAAK;IAiCL;;;OAGG;IACH,OAAO;IAYP;;OAEG;IACH,WAAW;IAIX;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;YACW,UAAU;IAmCxB;;;;;OAKG;YACW,kBAAkB;IAiBhC;;;;;;OAMG;YACW,gBAAgB;IAiE9B,OAAO,CAAC,cAAc;IActB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE;IAyBnC,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,sBAAsB;IAgE9B,OAAO,CAAC,mBAAmB;YAyBb,eAAe;IActB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAK9C,YAAY,CAAC,SAAS,EAAE,MAAM;IAK5B,gBAAgB,CACvB,aAAa,EAAE,kBAAkB,GAChC,kBAAkB,GAAG,IAAI,GAAG,SAAS;IAI/B,qBAAqB,CAC5B,aAAa,EAAE,kBAAkB,EACjC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,GAC3C,IAAI;IAIP,OAAO,CAAC,iBAAiB;CAO1B"}
1
+ {"version":3,"file":"grid-pro-genesis-datasource.d.ts","sourceRoot":"","sources":["../../../src/grid-pro-genesis-datasource/grid-pro-genesis-datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EAGX,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAejC,OAAO,EAAqB,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUzF;;;;GAIG;AACH,qBAGa,wBAAyB,SAAQ,6BAAqC;IACjF,aAAa,SAAsB;IACnC,kBAAkB,SAA2B;IAG7C,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASxD,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAQrD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAKW,qBAAqB,UAAS;IAG/F,yBAAyB,UAAS;IAElC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,6BAA6B,CAAQ;IAE7C,OAAO,CAAC,aAAa,CAA8B;IAEnD,iBAAiB;IAuBjB,oBAAoB;IAWX,SAAS,IAAI,IAAI;IAqB1B,OAAO,CAAC,gBAAgB;IAgBxB;;;;;;OAMG;IACG,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE;IA2DrE;;;OAGG;IACH,OAAO;IAIP;;;;OAIG;IACH,MAAM;IAIN;;;;OAIG;IACH,KAAK;IAiCL;;;OAGG;IACH,OAAO;IAYP;;OAEG;IACH,WAAW;IAIX;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;YACW,UAAU;IAmCxB;;;;;OAKG;YACW,kBAAkB;IAgChC;;;;;;OAMG;YACW,gBAAgB;IAmF9B,OAAO,CAAC,cAAc;IActB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE;IAyBnC,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,sBAAsB;IAgE9B,OAAO,CAAC,mBAAmB;YAyBb,eAAe;IActB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM9C,YAAY,CAAC,SAAS,EAAE,MAAM;IAK5B,gBAAgB,CACvB,aAAa,EAAE,kBAAkB,GAChC,kBAAkB,GAAG,IAAI,GAAG,SAAS;IAI/B,qBAAqB,CAC5B,aAAa,EAAE,kBAAkB,EACjC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,GAC3C,IAAI;IAIP,OAAO,CAAC,iBAAiB;CAO1B"}
@@ -3,8 +3,8 @@ import { Events, } from '@ag-grid-community/core';
3
3
  import { MessageType, dataServerResultFilter, normaliseCriteria, } from '@genesislcap/foundation-comms';
4
4
  import { LifecycleMixin } from '@genesislcap/foundation-utils';
5
5
  import { DOM, attr, customElement } from '@microsoft/fast-element';
6
- import { BehaviorSubject, EMPTY } from 'rxjs';
7
- import { catchError, debounceTime, skip, tap } from 'rxjs/operators';
6
+ import { BehaviorSubject, EMPTY, from } from 'rxjs';
7
+ import { catchError, debounceTime, skip, switchMap, tap } from 'rxjs/operators';
8
8
  import { criteriaDelimiter, GridProBaseDatasource } from '../datasource/base.datasource';
9
9
  import { getClientSideFilterParamsByFieldType } from '../datasource/client-side.grid-definitions';
10
10
  import { logger } from '../utils/logger';
@@ -24,6 +24,7 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
24
24
  this.restartOnReconnection = false;
25
25
  this.keepColDefsOnClearRowData = false;
26
26
  this.requiresFullRowDataAndColDefs = true;
27
+ this.reloadPromise = null;
27
28
  }
28
29
  // DatasourceOptions
29
30
  criteriaChanged(oldCriteria, newCriteria) {
@@ -129,9 +130,15 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
129
130
  }), { once: true });
130
131
  const filterDebounceTime = 600;
131
132
  this.updateSub = this.update
132
- .pipe(skip(1), debounceTime(filterDebounceTime), tap((f) => logger.debug('filters (debounced): ', f)))
133
- .subscribe((_) => {
134
- this.reloadResourceData();
133
+ .pipe(skip(1), tap((filters) => logger.debug('[Filter Pipeline] Before debounce:', Object.fromEntries(filters))), debounceTime(filterDebounceTime), tap((filters) => logger.debug('[Filter Pipeline] After debounce:', Object.fromEntries(filters))), switchMap((filters) => {
134
+ logger.debug('[Filter Pipeline] Starting reload for filters:', Object.fromEntries(filters));
135
+ return from(this.reloadResourceData()).pipe(catchError((error) => {
136
+ logger.error('[Filter Pipeline] Error during reload:', error);
137
+ return EMPTY;
138
+ }));
139
+ }))
140
+ .subscribe(() => {
141
+ logger.debug('[Filter Pipeline] Reload completed');
135
142
  });
136
143
  return;
137
144
  }
@@ -258,20 +265,34 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
258
265
  * @internal
259
266
  */
260
267
  reloadResourceData() {
261
- var _a, _b;
262
268
  return __awaiter(this, void 0, void 0, function* () {
263
- logger.debug('GridProGenesisDatasource.reloadResourceData()', this.resourceName);
269
+ const reloadId = Date.now(); // Generate unique ID for this reload
270
+ logger.debug(`[Reload ${reloadId}] Starting reload`, {
271
+ resourceName: this.resourceName,
272
+ currentFilters: Object.fromEntries(this.criteriaFromFilters),
273
+ });
264
274
  if (this.dataSub) {
275
+ logger.debug(`[Reload ${reloadId}] Cancelling existing subscription`);
265
276
  this.dataSub.unsubscribe();
266
277
  this.dataSub = undefined;
267
278
  }
268
- yield new Promise((resolve) => {
269
- setTimeout(() => resolve(), 0);
270
- });
271
- this.clearRowData(withoutColumnDefs);
272
- (_b = (_a = this.agGrid) === null || _a === void 0 ? void 0 : _a.gridApi) === null || _b === void 0 ? void 0 : _b.showLoadingOverlay();
273
- this.agGrid.removeAttribute('ds-disconnected');
274
- this.loadResourceData(withoutFullInit);
279
+ this.reloadPromise = (() => __awaiter(this, void 0, void 0, function* () {
280
+ var _a, _b;
281
+ logger.debug(`[Reload ${reloadId}] Clearing row data`);
282
+ this.clearRowData(withoutColumnDefs);
283
+ (_b = (_a = this.agGrid) === null || _a === void 0 ? void 0 : _a.gridApi) === null || _b === void 0 ? void 0 : _b.showLoadingOverlay();
284
+ this.agGrid.removeAttribute('ds-disconnected');
285
+ logger.debug(`[Reload ${reloadId}] Loading resource data`);
286
+ yield this.loadResourceData(withoutFullInit);
287
+ logger.debug(`[Reload ${reloadId}] Resource data loaded`);
288
+ }))();
289
+ try {
290
+ yield this.reloadPromise;
291
+ logger.debug(`[Reload ${reloadId}] Completed successfully`);
292
+ }
293
+ catch (error) {
294
+ logger.error(`[Reload ${reloadId}] Failed:`, error);
295
+ }
275
296
  });
276
297
  }
277
298
  /**
@@ -283,8 +304,13 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
283
304
  */
284
305
  loadResourceData(withFullInit = true) {
285
306
  return __awaiter(this, void 0, void 0, function* () {
286
- const requiresMetadataFetch = withFullInit || !this.datasource.initialized;
307
+ const loadId = Date.now();
308
+ logger.debug(`[Load ${loadId}] Starting loadResourceData`, {
309
+ withFullInit,
310
+ requiresMetadataFetch: withFullInit || !this.datasource.initialized,
311
+ });
287
312
  try {
313
+ const requiresMetadataFetch = withFullInit || !this.datasource.initialized;
288
314
  const initOK = yield this.datasource.init(this.datasourceOptions(), requiresMetadataFetch);
289
315
  if (!initOK) {
290
316
  logger.debug(`Genesis Datasource init failed for ${this.resourceName}`);
@@ -293,16 +319,24 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
293
319
  }
294
320
  this.$emit(gridProGenesisDatasourceEventNames.dataInit);
295
321
  if (this.isSnapshot) {
322
+ logger.debug(`[Load ${loadId}] Processing snapshot data`);
296
323
  const result = yield this.datasource.snapshot();
297
324
  if (result) {
298
325
  const rowData = this.handleSnapshot(result);
326
+ logger.debug(`[Load ${loadId}] Setting row data from snapshot`, {
327
+ rowCount: rowData.length,
328
+ });
299
329
  this.setRowData(rowData);
300
330
  }
301
331
  return;
302
332
  }
303
- logger.debug(`requesting stream for ${this.resourceName}`);
333
+ logger.debug(`[Load ${loadId}] Requesting stream for ${this.resourceName}`);
304
334
  this.dataSub = this.datasource.stream
305
- .pipe(catchError((err) => {
335
+ .pipe(tap((result) => logger.debug(`[Stream ${loadId}] Received data:`, {
336
+ hasError: 'ERROR' in result && !!result.ERROR,
337
+ messageType: 'MESSAGE_TYPE' in result ? result.MESSAGE_TYPE : undefined,
338
+ hasRow: 'ROW' in result && !!result.ROW,
339
+ })), catchError((err) => {
306
340
  var _a;
307
341
  this.handleErrors((_a = err === null || err === void 0 ? void 0 : err.receivedMessage) === null || _a === void 0 ? void 0 : _a.ERROR);
308
342
  return EMPTY;
@@ -328,6 +362,7 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
328
362
  });
329
363
  }
330
364
  catch (error) {
365
+ logger.error(`[Load ${loadId}] Failed:`, error);
331
366
  let { message } = error;
332
367
  if (error.receivedMessage) {
333
368
  message = error.receivedMessage.ERROR;
@@ -459,6 +494,7 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
459
494
  });
460
495
  }
461
496
  setFilter(fieldName, newFilter) {
497
+ logger.debug(`[Filter] Setting filter for ${fieldName}:`, newFilter);
462
498
  this.criteriaFromFilters.set(fieldName, newFilter);
463
499
  this.update.next(this.criteriaFromFilters);
464
500
  }
@@ -2550,6 +2550,7 @@ export declare class GridProGenesisDatasource extends GridProGenesisDatasource_b
2550
2550
  private updateSub;
2551
2551
  private connectionSub;
2552
2552
  private requiresFullRowDataAndColDefs;
2553
+ private reloadPromise;
2553
2554
  connectedCallback(): void;
2554
2555
  disconnectedCallback(): void;
2555
2556
  deepClone(): Node;
@@ -2674,10 +2675,6 @@ declare const GridProGenesisDatasource_base: (new (...args: any[]) => {
2674
2675
  readonly classList: DOMTokenList;
2675
2676
  className: string;
2676
2677
  readonly clientHeight: number;
2677
- /**
2678
- * Destroys the datasource, resetting it to its initial state.
2679
- * @public
2680
- */
2681
2678
  readonly clientLeft: number;
2682
2679
  readonly clientTop: number;
2683
2680
  readonly clientWidth: number;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/grid-pro",
3
3
  "description": "Genesis Foundation AG Grid",
4
- "version": "14.228.2-alpha-1303eab.0",
4
+ "version": "14.228.2-alpha-880fa6b.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -38,20 +38,20 @@
38
38
  }
39
39
  },
40
40
  "devDependencies": {
41
- "@genesislcap/foundation-testing": "14.228.2-alpha-1303eab.0",
42
- "@genesislcap/genx": "14.228.2-alpha-1303eab.0",
43
- "@genesislcap/rollup-builder": "14.228.2-alpha-1303eab.0",
44
- "@genesislcap/ts-builder": "14.228.2-alpha-1303eab.0",
45
- "@genesislcap/uvu-playwright-builder": "14.228.2-alpha-1303eab.0",
46
- "@genesislcap/vite-builder": "14.228.2-alpha-1303eab.0",
47
- "@genesislcap/webpack-builder": "14.228.2-alpha-1303eab.0",
41
+ "@genesislcap/foundation-testing": "14.228.2-alpha-880fa6b.0",
42
+ "@genesislcap/genx": "14.228.2-alpha-880fa6b.0",
43
+ "@genesislcap/rollup-builder": "14.228.2-alpha-880fa6b.0",
44
+ "@genesislcap/ts-builder": "14.228.2-alpha-880fa6b.0",
45
+ "@genesislcap/uvu-playwright-builder": "14.228.2-alpha-880fa6b.0",
46
+ "@genesislcap/vite-builder": "14.228.2-alpha-880fa6b.0",
47
+ "@genesislcap/webpack-builder": "14.228.2-alpha-880fa6b.0",
48
48
  "rimraf": "^5.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@genesislcap/foundation-comms": "14.228.2-alpha-1303eab.0",
52
- "@genesislcap/foundation-logger": "14.228.2-alpha-1303eab.0",
53
- "@genesislcap/foundation-ui": "14.228.2-alpha-1303eab.0",
54
- "@genesislcap/foundation-utils": "14.228.2-alpha-1303eab.0",
51
+ "@genesislcap/foundation-comms": "14.228.2-alpha-880fa6b.0",
52
+ "@genesislcap/foundation-logger": "14.228.2-alpha-880fa6b.0",
53
+ "@genesislcap/foundation-ui": "14.228.2-alpha-880fa6b.0",
54
+ "@genesislcap/foundation-utils": "14.228.2-alpha-880fa6b.0",
55
55
  "@microsoft/fast-colors": "5.3.1",
56
56
  "@microsoft/fast-components": "2.30.6",
57
57
  "@microsoft/fast-element": "1.14.0",
@@ -77,5 +77,5 @@
77
77
  "access": "public"
78
78
  },
79
79
  "customElements": "dist/custom-elements.json",
80
- "gitHead": "da21371228bdc15828f6b4cbdffd7744e83ba3b6"
80
+ "gitHead": "10593201db987394eb82c97419ad2ff9def62fbe"
81
81
  }