@genesislcap/grid-pro 14.228.2-alpha-e1c5cdb.0 → 14.228.2-alpha-caa3483.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": "cancelledTransactions",
7492
+ "type": {
7493
+ "text": "Set<number>"
7494
+ },
7495
+ "privacy": "private",
7496
+ "default": "new Set()",
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",
@@ -7650,6 +7663,12 @@
7650
7663
  "type": {
7651
7664
  "text": "RequestServerResult"
7652
7665
  }
7666
+ },
7667
+ {
7668
+ "name": "transactionId",
7669
+ "type": {
7670
+ "text": "number"
7671
+ }
7653
7672
  }
7654
7673
  ],
7655
7674
  "inheritedFrom": {
@@ -7667,6 +7686,12 @@
7667
7686
  "type": {
7668
7687
  "text": "FilteredDataServerResult"
7669
7688
  }
7689
+ },
7690
+ {
7691
+ "name": "transactionId",
7692
+ "type": {
7693
+ "text": "number"
7694
+ }
7670
7695
  }
7671
7696
  ],
7672
7697
  "inheritedFrom": {
@@ -11938,6 +11963,15 @@
11938
11963
  "privacy": "private",
11939
11964
  "default": "true"
11940
11965
  },
11966
+ {
11967
+ "kind": "field",
11968
+ "name": "cancelledTransactions",
11969
+ "type": {
11970
+ "text": "Set<number>"
11971
+ },
11972
+ "privacy": "private",
11973
+ "default": "new Set()"
11974
+ },
11941
11975
  {
11942
11976
  "kind": "method",
11943
11977
  "name": "deepClone",
@@ -12075,6 +12109,12 @@
12075
12109
  "type": {
12076
12110
  "text": "RequestServerResult"
12077
12111
  }
12112
+ },
12113
+ {
12114
+ "name": "transactionId",
12115
+ "type": {
12116
+ "text": "number"
12117
+ }
12078
12118
  }
12079
12119
  ]
12080
12120
  },
@@ -12088,6 +12128,12 @@
12088
12128
  "type": {
12089
12129
  "text": "FilteredDataServerResult"
12090
12130
  }
12131
+ },
12132
+ {
12133
+ "name": "transactionId",
12134
+ "type": {
12135
+ "text": "number"
12136
+ }
12091
12137
  }
12092
12138
  ]
12093
12139
  },
@@ -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;
@@ -136,6 +132,12 @@ declare const GridProGenesisDatasource_base: (new (...args: any[]) => {
136
132
  isDefaultNamespace(namespace: string): boolean;
137
133
  isEqualNode(otherNode: Node): boolean;
138
134
  isSameNode(otherNode: Node): boolean;
135
+ /**
136
+ * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
137
+ * Proxies to {@link @genesislcap/grid-pro#GridProGenesisDatasource.loadResourceData} but without the full init (no metadata fetch).
138
+ * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
139
+ * @internal
140
+ */
139
141
  lookupNamespaceURI(prefix: string): string;
140
142
  lookupPrefix(namespace: string): string;
141
143
  normalize(): void;
@@ -346,6 +348,7 @@ export declare class GridProGenesisDatasource extends GridProGenesisDatasource_b
346
348
  private updateSub;
347
349
  private connectionSub;
348
350
  private requiresFullRowDataAndColDefs;
351
+ private cancelledTransactions;
349
352
  connectedCallback(): void;
350
353
  disconnectedCallback(): void;
351
354
  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;IAoDxB;;;;;OAKG;YACW,kBAAkB;IA8BhC;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+UvF;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA1UL;;;;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;IAG7C,OAAO,CAAC,qBAAqB,CAA0B;IAEvD,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;IAepB;;;;OAIG;YACW,UAAU;IAoDxB;;;;;OAKG;YACW,kBAAkB;IAyBhC;;;;;;OAMG;YACW,gBAAgB;IAiE9B,OAAO,CAAC,cAAc;IActB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE;IAyBnC,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,sBAAsB;IAuE9B,OAAO,CAAC,mBAAmB;YAgCb,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"}
@@ -24,6 +24,8 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
24
24
  this.restartOnReconnection = false;
25
25
  this.keepColDefsOnClearRowData = false;
26
26
  this.requiresFullRowDataAndColDefs = true;
27
+ // Track cancelled transaction IDs
28
+ this.cancelledTransactions = new Set();
27
29
  }
28
30
  // DatasourceOptions
29
31
  criteriaChanged(oldCriteria, newCriteria) {
@@ -211,6 +213,9 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
211
213
  */
212
214
  clearRowData(withColumnDefs = true) {
213
215
  var _a, _b, _c, _d;
216
+ // Cancel any in-flight transactions for this clear operation
217
+ const clearTransactionId = Date.now();
218
+ this.cancelledTransactions.add(clearTransactionId);
214
219
  this.rowData = new Map();
215
220
  this.agTransaction = undefined;
216
221
  if (withColumnDefs && !this.keepColDefsOnClearRowData) {
@@ -285,14 +290,9 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
285
290
  logger.debug(`[Reload ${reloadId}] Cancelling existing subscription`);
286
291
  this.dataSub.unsubscribe();
287
292
  this.dataSub = undefined;
293
+ // Cancel any in-flight transactions for this reload
294
+ this.cancelledTransactions.add(reloadId);
288
295
  }
289
- // Ensure synchronous cleanup before starting new load
290
- yield new Promise((resolve) => {
291
- setTimeout(() => {
292
- logger.debug(`[Reload ${reloadId}] Executing cleanup`);
293
- resolve();
294
- }, 0);
295
- });
296
296
  logger.debug(`[Reload ${reloadId}] Clearing row data`);
297
297
  this.clearRowData(withoutColumnDefs);
298
298
  (_b = (_a = this.agGrid) === null || _a === void 0 ? void 0 : _a.gridApi) === null || _b === void 0 ? void 0 : _b.showLoadingOverlay();
@@ -402,15 +402,26 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
402
402
  handleStreamResult(result) {
403
403
  if (!result)
404
404
  return;
405
+ const transactionId = Date.now();
406
+ logger.debug(`[Stream ${transactionId}] Processing result:`, {
407
+ type: this.isRequestServer ? 'RequestServer' : 'DataServer',
408
+ hasData: !!result,
409
+ });
405
410
  if (this.isRequestServer) {
406
- this.applyRequestServerData(result);
411
+ this.applyRequestServerData(result, transactionId);
407
412
  }
408
413
  else {
409
- this.applyDataserverData(result);
414
+ this.applyDataserverData(result, transactionId);
410
415
  }
411
416
  }
412
- applyRequestServerData(requestServerResult) {
417
+ applyRequestServerData(requestServerResult, transactionId) {
413
418
  var _a;
419
+ // Skip if this transaction was cancelled
420
+ if (this.cancelledTransactions.has(transactionId)) {
421
+ logger.debug(`[Stream ${transactionId}] Skipped - transaction was cancelled`);
422
+ this.cancelledTransactions.delete(transactionId); // Cleanup
423
+ return;
424
+ }
414
425
  const previousSize = this.rowData.size;
415
426
  const requestServerData = requestServerResult.REPLY;
416
427
  if (!Array.isArray(requestServerData) ||
@@ -458,8 +469,14 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
458
469
  this.applyAllAgTransactions();
459
470
  this.handleSizeChanged(previousSize, this.rowData.size);
460
471
  }
461
- applyDataserverData(dataServerResult) {
472
+ applyDataserverData(dataServerResult, transactionId) {
462
473
  var _a;
474
+ // Skip if this transaction was cancelled
475
+ if (this.cancelledTransactions.has(transactionId)) {
476
+ logger.debug(`[Stream ${transactionId}] Skipped - transaction was cancelled`);
477
+ this.cancelledTransactions.delete(transactionId); // Cleanup
478
+ return;
479
+ }
463
480
  const previousSize = this.rowData.size;
464
481
  if (this.requiresFullRowDataAndColDefs) {
465
482
  (_a = dataServerResult.inserts) === null || _a === void 0 ? void 0 : _a.forEach((insertData) => {
@@ -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 cancelledTransactions;
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;
@@ -2765,6 +2762,12 @@ declare const GridProGenesisDatasource_base: (new (...args: any[]) => {
2765
2762
  isDefaultNamespace(namespace: string): boolean;
2766
2763
  isEqualNode(otherNode: Node): boolean;
2767
2764
  isSameNode(otherNode: Node): boolean;
2765
+ /**
2766
+ * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
2767
+ * Proxies to {@link @genesislcap/grid-pro#GridProGenesisDatasource.loadResourceData} but without the full init (no metadata fetch).
2768
+ * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
2769
+ * @internal
2770
+ */
2768
2771
  lookupNamespaceURI(prefix: string): string;
2769
2772
  lookupPrefix(namespace: string): string;
2770
2773
  normalize(): void;
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-e1c5cdb.0",
4
+ "version": "14.228.2-alpha-caa3483.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-e1c5cdb.0",
42
- "@genesislcap/genx": "14.228.2-alpha-e1c5cdb.0",
43
- "@genesislcap/rollup-builder": "14.228.2-alpha-e1c5cdb.0",
44
- "@genesislcap/ts-builder": "14.228.2-alpha-e1c5cdb.0",
45
- "@genesislcap/uvu-playwright-builder": "14.228.2-alpha-e1c5cdb.0",
46
- "@genesislcap/vite-builder": "14.228.2-alpha-e1c5cdb.0",
47
- "@genesislcap/webpack-builder": "14.228.2-alpha-e1c5cdb.0",
41
+ "@genesislcap/foundation-testing": "14.228.2-alpha-caa3483.0",
42
+ "@genesislcap/genx": "14.228.2-alpha-caa3483.0",
43
+ "@genesislcap/rollup-builder": "14.228.2-alpha-caa3483.0",
44
+ "@genesislcap/ts-builder": "14.228.2-alpha-caa3483.0",
45
+ "@genesislcap/uvu-playwright-builder": "14.228.2-alpha-caa3483.0",
46
+ "@genesislcap/vite-builder": "14.228.2-alpha-caa3483.0",
47
+ "@genesislcap/webpack-builder": "14.228.2-alpha-caa3483.0",
48
48
  "rimraf": "^5.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@genesislcap/foundation-comms": "14.228.2-alpha-e1c5cdb.0",
52
- "@genesislcap/foundation-logger": "14.228.2-alpha-e1c5cdb.0",
53
- "@genesislcap/foundation-ui": "14.228.2-alpha-e1c5cdb.0",
54
- "@genesislcap/foundation-utils": "14.228.2-alpha-e1c5cdb.0",
51
+ "@genesislcap/foundation-comms": "14.228.2-alpha-caa3483.0",
52
+ "@genesislcap/foundation-logger": "14.228.2-alpha-caa3483.0",
53
+ "@genesislcap/foundation-ui": "14.228.2-alpha-caa3483.0",
54
+ "@genesislcap/foundation-utils": "14.228.2-alpha-caa3483.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": "dadb4cc5a8eba712629793874b2b5a0e2256ea60"
80
+ "gitHead": "6769dadb4b6162f0e5b44056786e7bc06efc8010"
81
81
  }