@genesislcap/grid-pro 14.482.2-alpha-397d953.0 → 14.483.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.
@@ -10,19 +10,6 @@ import { BaseServerSideDatasource } from './server-side.resource-base';
10
10
  export class DataserverServerSideDatasource extends BaseServerSideDatasource {
11
11
  constructor(options) {
12
12
  super(options);
13
- /**
14
- * Blocks awaiting stream messages. Settled blocks remove themselves; destroy() cancels
15
- * (fails) the rest so AG Grid's concurrent-request slots are always released.
16
- * @internal
17
- */
18
- this.pendingBlocks = new Set();
19
- /**
20
- * Highest absolute row index already handed to AG Grid this session (non-pagination).
21
- * Live DELETEs below this watermark must not remove cache entries - see
22
- * handleCurrentStreamLoad.
23
- * @internal
24
- */
25
- this.deliveredRowCount = 0;
26
13
  this.createDataserverStreamFunc = options.createDataserverStreamFunc;
27
14
  }
28
15
  refreshDatasource(params) {
@@ -31,32 +18,18 @@ export class DataserverServerSideDatasource extends BaseServerSideDatasource {
31
18
  });
32
19
  return __awaiter(this, void 0, void 0, function* () {
33
20
  var _a;
34
- this.cancelAllPendingBlocks();
35
21
  (_a = this.dataserverStreamSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
36
22
  this.dataserverStreamSubscription = undefined;
37
23
  this.dataserverStream = undefined;
38
- this.deliveredRowCount = 0;
39
24
  yield _super.refreshDatasource.call(this, params);
40
25
  });
41
26
  }
42
27
  getRows(params) {
43
28
  return __awaiter(this, void 0, void 0, function* () {
44
29
  var _a, _b;
45
- // setupFiltering()/setupSorting() return true when they triggered a refresh: the
46
- // datasource was re-initialized and AG Grid's SSRM cache purged, so getRows() is
47
- // re-invoked with fresh params and this invocation is superseded. It must still resolve
48
- // via params.fail() - AG Grid caps concurrent requests and only frees a slot on
49
- // success()/fail(); a silent return leaks the slot until the grid stops issuing
50
- // getRows() entirely. fail() is safe here: the purge already destroyed the cache this
51
- // request belonged to.
52
- if (yield this.setupFiltering(params)) {
53
- params.fail();
54
- return;
55
- }
56
- if (yield this.setupSorting(params)) {
57
- params.fail();
58
- return;
59
- }
30
+ // Use separated filtering and sorting setup
31
+ yield this.setupFiltering(params);
32
+ yield this.setupSorting(params);
60
33
  if (this.pagination && !this.isNewPageSize && this.currentSequenceId > 0) {
61
34
  const requestFilter = JSON.stringify((_a = params.request.filterModel) !== null && _a !== void 0 ? _a : {});
62
35
  const currentFilter = JSON.stringify((_b = this.currentFilterModel) !== null && _b !== void 0 ? _b : {});
@@ -68,20 +41,7 @@ export class DataserverServerSideDatasource extends BaseServerSideDatasource {
68
41
  if (!this.dataserverStream) {
69
42
  this.dataserverStream = yield this.createDataserverStreamFunc(this.resourceParams);
70
43
  }
71
- const blockStartRow = Number.isFinite(Number(params.request.startRow))
72
- ? Number(params.request.startRow)
73
- : 0;
74
- const blockEndRow = Number.isFinite(Number(params.request.endRow))
75
- ? Number(params.request.endRow)
76
- : blockStartRow + Number(this.maxRows);
77
- // Infinite scroll keeps a session-cumulative row cache (see handleCurrentStreamLoad);
78
- // when it already covers this block, or the stream ended, no further stream messages
79
- // will arrive for this request - resolve it synchronously from the cache.
80
- const blockAlreadyCovered = !this.pagination &&
81
- this.currentSequenceId >= 1 &&
82
- (this.rowData.size >= blockEndRow || !this.moreRows);
83
44
  if (this.currentSequenceId >= 1 &&
84
- !blockAlreadyCovered &&
85
45
  (this.moreRows || params.request.startRow >= Number(this.maxRows))) {
86
46
  if (this.pagination) {
87
47
  const startRow = Number.isFinite(Number(params.request.startRow))
@@ -98,96 +58,16 @@ export class DataserverServerSideDatasource extends BaseServerSideDatasource {
98
58
  this.connect.getMoreRows(this.sourceRef, viewNumber);
99
59
  }
100
60
  }
101
- // One shared stream subscription for the session; each getRows() registers a pending
102
- // block instead of subscribing again (.unsubscribe() would send DATA_LOGOFF and kill
103
- // the whole server-side session).
104
61
  let applyResult = true;
105
- const clearSafetyTimer = (timer) => {
106
- if (timer !== undefined) {
107
- clearTimeout(timer);
108
- }
109
- };
110
- const pendingBlock = { handle: () => { }, cancel: () => { } };
111
- const settleBlock = () => {
112
- this.pendingBlocks.delete(pendingBlock);
113
- };
114
- const resolveBlock = (timer) => {
115
- if (!applyResult) {
116
- return;
117
- }
118
- applyResult = false;
119
- clearSafetyTimer(timer);
120
- settleBlock();
121
- if (!this.pagination) {
122
- this.deliveredRowCount = Math.max(this.deliveredRowCount, blockEndRow);
123
- }
124
- const allRows = Array.from(this.rowData.values());
125
- const successRowData = {
126
- // Non-pagination: deliver only this block's slice of the cache - AG Grid SSRM
127
- // expects exactly the rows for its startRow..endRow range.
128
- rowData: this.pagination ? allRows : allRows.slice(blockStartRow, blockEndRow),
129
- };
130
- successRowData.rowCount = this.getCorrectRowCount(params);
131
- this.lastSuccessRowData = successRowData;
132
- params.success(successRowData);
133
- this.notifyNoDataAvailableIfEmpty(params, successRowData);
134
- };
135
- const failBlock = (timer) => {
136
- if (!applyResult) {
137
- return;
138
- }
139
- applyResult = false;
140
- clearSafetyTimer(timer);
141
- settleBlock();
142
- params.fail();
143
- };
144
- if (blockAlreadyCovered) {
145
- resolveBlock();
146
- return;
147
- }
148
- // Safety valve: never leave a block pending forever if the stream goes quiet - resolve
149
- // short with the accumulated rows so AG Grid ends the dataset there.
150
- const safetyTimer = setTimeout(() => {
151
- if (applyResult) {
152
- logger.warn(`SSRM block ${blockStartRow}-${blockEndRow} for ${this.resourceName} timed out waiting for a full batch; resolving with ${this.rowData.size} accumulated row(s).`);
153
- resolveBlock(safetyTimer);
154
- }
155
- }, DataserverServerSideDatasource.BLOCK_RESOLVE_TIMEOUT_MS);
156
- pendingBlock.cancel = () => failBlock(safetyTimer);
157
- pendingBlock.handle = (dataserverResult) => {
62
+ this.dataserverStreamSubscription = this.dataserverStream.subscribe((dataserverResult) => {
158
63
  var _a;
159
- const messageType = dataserverResult === null || dataserverResult === void 0 ? void 0 : dataserverResult.MESSAGE_TYPE;
160
- if (messageType &&
161
- (messageType === MessageType.LOGOFF_ACK || messageType === MessageType.MSG_NACK)) {
162
- if (this.errorHandlerFunc) {
163
- const errorMessage = messageType === MessageType.LOGOFF_ACK
164
- ? `Connection lost to ${this.resourceName}`
165
- : `Authentication failed for ${this.resourceName}`;
166
- this.errorHandlerFunc(errorMessage, 'connection');
167
- }
168
- failBlock(safetyTimer);
169
- return;
170
- }
171
- if (this.pagination) {
172
- const incomingRowCount = (_a = dataserverResult === null || dataserverResult === void 0 ? void 0 : dataserverResult.ROW) === null || _a === void 0 ? void 0 : _a.length;
173
- const shouldApply = applyResult || (incomingRowCount > 0 && this.rowData.size === 0);
174
- if (!shouldApply) {
175
- return;
176
- }
177
- // Paginated mode keeps the original behaviour: each message resolves the request
178
- // (page swap).
64
+ const incomingRowCount = (_a = dataserverResult === null || dataserverResult === void 0 ? void 0 : dataserverResult.ROW) === null || _a === void 0 ? void 0 : _a.length;
65
+ const shouldApply = applyResult || (incomingRowCount > 0 && this.rowData.size === 0);
66
+ if (shouldApply) {
179
67
  DOM.queueUpdate(() => __awaiter(this, void 0, void 0, function* () {
180
68
  var _a, _b;
181
- if (!applyResult && !(incomingRowCount > 0 && this.rowData.size === 0)) {
182
- return;
183
- }
184
- // Claim the block synchronously, before the await below, so a concurrently queued
185
- // update sees applyResult === false and bails - and so applyResult is never
186
- // reassigned based on a value read before an await (require-atomic-updates).
187
- applyResult = false;
188
- clearSafetyTimer(safetyTimer);
189
69
  // TODO: this is a bit of hack, due GSF not returning a different ROWS_COUNT when there is a CRITERIA_MATCH
190
- if (this.resourceParams.CRITERIA_MATCH && !this.criteriaRowCountResolved) {
70
+ if (this.resourceParams.CRITERIA_MATCH && this.pagination) {
191
71
  const updatedInfo = yield this.connect.snapshot(this.resourceName, {
192
72
  MAX_ROWS: this.maxView,
193
73
  MAX_VIEW: this.maxView,
@@ -199,95 +79,18 @@ export class DataserverServerSideDatasource extends BaseServerSideDatasource {
199
79
  this.clientRowsCount = 0;
200
80
  }
201
81
  else {
202
- // ROWS_COUNT ignores CRITERIA_MATCH and ROW.length is capped at page size;
203
- // Math.max may over-report (self-corrects when the stream ends) but never
204
- // under-reports, which would make AG Grid stop requesting blocks.
205
- const rowsCount = (_a = updatedInfo.ROWS_COUNT) !== null && _a !== void 0 ? _a : 0;
206
- const rowLength = (_b = updatedInfo.ROW) === null || _b === void 0 ? void 0 : _b.length;
207
- this.serverRowsCount =
208
- rowLength !== undefined ? Math.max(rowsCount, rowLength) : rowsCount;
209
- this.criteriaRowCountResolved = true;
82
+ this.serverRowsCount = this.resourceParams.CRITERIA_MATCH
83
+ ? ((_b = (_a = updatedInfo.ROW) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : updatedInfo.ROWS_COUNT)
84
+ : updatedInfo.ROWS_COUNT;
210
85
  }
211
86
  }
212
87
  this.applyServerSideData(params, dataserverResult);
213
- settleBlock();
88
+ applyResult = false;
214
89
  }));
215
- return;
216
- }
217
- if (!applyResult) {
218
- return;
219
90
  }
220
- // Infinite scroll accumulation runs once in dispatchStreamMessage(); here we only
221
- // decide whether this block is ready to resolve.
222
- if (this.currentSequenceId === 0 && !(dataserverResult === null || dataserverResult === void 0 ? void 0 : dataserverResult.ROW) && !this.moreRows) {
223
- // First response carries no rows - the criteria matches nothing; resolve as
224
- // empty instead of waiting for the timeout.
225
- applyResult = false;
226
- clearSafetyTimer(safetyTimer);
227
- settleBlock();
228
- this.completeEmptyResult(params);
229
- return;
230
- }
231
- if (this.rowData.size >= blockEndRow || !this.moreRows) {
232
- DOM.queueUpdate(() => resolveBlock(safetyTimer));
233
- }
234
- };
235
- this.pendingBlocks.add(pendingBlock);
236
- this.ensureStreamSubscription();
91
+ });
237
92
  });
238
93
  }
239
- /** @internal */
240
- cancelAllPendingBlocks() {
241
- const blocks = Array.from(this.pendingBlocks);
242
- this.pendingBlocks.clear();
243
- for (const block of blocks) {
244
- block.cancel();
245
- }
246
- }
247
- /**
248
- * Lazily attaches the single stream subscription for this datasource session.
249
- * @internal
250
- */
251
- ensureStreamSubscription() {
252
- if (this.dataserverStreamSubscription) {
253
- return;
254
- }
255
- this.dataserverStreamSubscription = this.dataserverStream.subscribe((dataserverResult) => this.dispatchStreamMessage(dataserverResult));
256
- }
257
- /**
258
- * Fan-out: accumulate shared infinite-scroll state once, then notify each pending block.
259
- * @internal
260
- */
261
- dispatchStreamMessage(dataserverResult) {
262
- var _a;
263
- const messageType = dataserverResult === null || dataserverResult === void 0 ? void 0 : dataserverResult.MESSAGE_TYPE;
264
- if (messageType &&
265
- (messageType === MessageType.LOGOFF_ACK || messageType === MessageType.MSG_NACK)) {
266
- for (const block of this.pendingBlocks) {
267
- block.handle(dataserverResult);
268
- }
269
- return;
270
- }
271
- if (!this.pagination) {
272
- if ((dataserverResult === null || dataserverResult === void 0 ? void 0 : dataserverResult.MORE_ROWS) !== undefined) {
273
- this.moreRows = dataserverResult.MORE_ROWS;
274
- }
275
- if (dataserverResult === null || dataserverResult === void 0 ? void 0 : dataserverResult.ROW) {
276
- const nextMessage = dataServerResultFilter(dataserverResult, this.rowId);
277
- this.handleCurrentStreamLoad(nextMessage);
278
- this.currentSequenceId = dataserverResult.SEQUENCE_ID;
279
- if (this.currentSequenceId === 1) {
280
- this.sourceRef = dataserverResult.SOURCE_REF;
281
- if (this.serverRowsCount === 0) {
282
- this.serverRowsCount = (_a = dataserverResult.ROWS_COUNT) !== null && _a !== void 0 ? _a : this.rowData.size;
283
- }
284
- }
285
- }
286
- }
287
- for (const block of this.pendingBlocks) {
288
- block.handle(dataserverResult);
289
- }
290
- }
291
94
  applyServerSideData(params, result) {
292
95
  var _a;
293
96
  const messageType = result.MESSAGE_TYPE;
@@ -305,7 +108,7 @@ export class DataserverServerSideDatasource extends BaseServerSideDatasource {
305
108
  }
306
109
  this.moreRows = result.MORE_ROWS;
307
110
  if (result.ROW) {
308
- const nextMessage = dataServerResultFilter(result, this.rowId);
111
+ const nextMessage = dataServerResultFilter(result);
309
112
  this.handleCurrentStreamLoad(nextMessage);
310
113
  }
311
114
  else {
@@ -331,9 +134,10 @@ export class DataserverServerSideDatasource extends BaseServerSideDatasource {
331
134
  if (this.serverRowsCount === 0) {
332
135
  this.serverRowsCount = (_a = result.ROWS_COUNT) !== null && _a !== void 0 ? _a : this.rowData.size;
333
136
  }
334
- // Deliberately not overriding serverRowsCount with ROW.length under CRITERIA_MATCH:
335
- // ROW.length is just the first batch's size and clobbered the corrected count from
336
- // the snapshot() workaround in getRows().
137
+ if (this.getResourceParam('CRITERIA_MATCH') && result.ROW) {
138
+ this.serverRowsCount = result.ROW.length;
139
+ this.clientRowsCount = result.ROW.length;
140
+ }
337
141
  }
338
142
  const successRowData = {
339
143
  rowData: Array.from(this.rowData.values()),
@@ -349,7 +153,7 @@ export class DataserverServerSideDatasource extends BaseServerSideDatasource {
349
153
  */
350
154
  setupSorting(params) {
351
155
  return __awaiter(this, void 0, void 0, function* () {
352
- var _a, _b, _c;
156
+ var _a;
353
157
  const toBeAppliedSortModel = params.request.sortModel;
354
158
  if (((_a = this.currentSortModel) === null || _a === void 0 ? void 0 : _a.length) !== toBeAppliedSortModel.length ||
355
159
  toBeAppliedSortModel.length > 0) {
@@ -359,49 +163,31 @@ export class DataserverServerSideDatasource extends BaseServerSideDatasource {
359
163
  this.resourceParams.ORDER_BY = null;
360
164
  this.resourceParams.REVERSE = null;
361
165
  yield this.refreshDatasource(params);
362
- return true;
166
+ return;
363
167
  }
364
168
  else if (toBeAppliedSortModel.length > 0) {
365
169
  const coldIdBeingSorted = toBeAppliedSortModel[0].colId; // Not allowing multiple sorts by user
366
170
  const sortTypeBeingApplied = toBeAppliedSortModel[0].sort;
367
171
  const orderByAndToBeSortedColIds = this.getOrderByAndToBeSortedColIds(this.resourceIndexes, coldIdBeingSorted);
368
172
  if (!orderByAndToBeSortedColIds) {
173
+ this.calculatedRowsCount = 0;
369
174
  const availableIndexes = getAvailableIndexes(this.resourceIndexes);
370
175
  const availableIndexFields = getAvailableIndexFields(this.resourceIndexes);
371
- logger.warn(`The FIELD/column (${coldIdBeingSorted}) being sorted is not part of an INDEX, required for the [orderBy] operation - ignoring this sort and loading unsorted data. See https://learn.genesis.global/docs/database/data-types/index-entities/`);
176
+ logger.warn(`The FIELD/column (${coldIdBeingSorted}) being sorted is not part of an INDEX, required for the [orderBy] operation. See https://learn.genesis.global/docs/database/data-types/index-entities/`);
372
177
  logger.debug('Available indexes:', availableIndexes);
373
178
  logger.debug('Columns that can be sorted with the available indexes:', availableIndexFields);
374
- // Ignore the un-sortable sort instead of failing - failing killed the entire
375
- // first load when a restored workspace carried a sort on a non-indexed column.
376
- const sortModelChanged = JSON.stringify(toBeAppliedSortModel) !== JSON.stringify(this.currentSortModel);
377
- const hadPreviousSort = ((_c = (_b = this.currentSortModel) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 0;
378
- const hasActiveOrderBy = this.resourceParams.ORDER_BY != null || this.resourceParams.REVERSE != null;
379
- // Remember the model so identical requests don't re-warn, and carry on unsorted.
380
- this.currentSortModel = toBeAppliedSortModel;
381
- // A previously applied (indexed) sort left ORDER_BY/REVERSE pointing at the old
382
- // column; clear them and reload once so the grid shows genuinely unsorted data
383
- // instead of the old column's order under the ignored new sort's header. Gated by
384
- // hadPreviousSort so a first-load restored sort still just carries on (no extra
385
- // reload), and by sortModelChanged so the post-refresh getRows() (same model) does
386
- // not loop.
387
- if (hadPreviousSort && sortModelChanged && hasActiveOrderBy) {
388
- this.resourceParams.ORDER_BY = null;
389
- this.resourceParams.REVERSE = null;
390
- yield this.refreshDatasource(params);
391
- return true;
392
- }
393
- return false;
179
+ params.fail();
180
+ return;
394
181
  }
395
182
  else if (JSON.stringify(toBeAppliedSortModel) !== JSON.stringify(this.currentSortModel)) {
396
183
  this.currentSortModel = toBeAppliedSortModel;
397
184
  this.resourceParams.ORDER_BY = orderByAndToBeSortedColIds.orderBy;
398
185
  this.resourceParams.REVERSE = sortTypeBeingApplied === 'desc' ? true : false;
399
186
  yield this.refreshDatasource(params);
400
- return true;
187
+ return;
401
188
  }
402
189
  }
403
190
  }
404
- return false;
405
191
  });
406
192
  }
407
193
  destroy() {
@@ -410,63 +196,21 @@ export class DataserverServerSideDatasource extends BaseServerSideDatasource {
410
196
  });
411
197
  return __awaiter(this, void 0, void 0, function* () {
412
198
  var _a;
413
- this.cancelAllPendingBlocks();
414
199
  this.dataserverStream = undefined;
415
200
  (_a = this.dataserverStreamSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
416
201
  this.dataserverStreamSubscription = undefined;
417
- this.deliveredRowCount = 0;
418
202
  yield _super.destroy.call(this);
419
203
  });
420
204
  }
421
205
  handleCurrentStreamLoad(result) {
422
- var _a, _b, _c, _d, _e;
206
+ var _a, _b;
423
207
  if (!result)
424
208
  return;
425
- // Pagination replaces the buffer per message (page swap); infinite scroll accumulates a
426
- // session-cumulative cache, as GSF splits batches across messages and later batches
427
- // append. Map preserves insertion order, so the cache can be sliced by block range.
428
- const rows = this.pagination ? new Map() : new Map(this.rowData);
209
+ const rows = new Map();
429
210
  (_a = result.inserts) === null || _a === void 0 ? void 0 : _a.forEach((insertData) => {
430
211
  rows.set(insertData[this.rowId], insertData);
431
212
  });
432
- // Live QUERY_UPDATE messages can arrive while a block is pending: MODIFY rows may be
433
- // partial, so merge into the cached row instead of clobbering it; DELETE rows drop out.
434
- (_b = result.updates) === null || _b === void 0 ? void 0 : _b.forEach((updateData) => {
435
- const key = updateData === null || updateData === void 0 ? void 0 : updateData[this.rowId];
436
- if (key === undefined) {
437
- return;
438
- }
439
- const existing = rows.get(key);
440
- rows.set(key, existing ? Object.assign(Object.assign({}, existing), updateData) : updateData);
441
- });
442
- (_c = result.deletes) === null || _c === void 0 ? void 0 : _c.forEach((deleteData) => {
443
- const key = deleteData === null || deleteData === void 0 ? void 0 : deleteData[this.rowId];
444
- if (key === undefined) {
445
- return;
446
- }
447
- // Rows already handed to AG Grid sit at fixed absolute indices; removing them from
448
- // the cumulative cache would shift slice() offsets for later blocks.
449
- if (!this.pagination && this.deliveredRowCount > 0) {
450
- let index = 0;
451
- for (const mapKey of rows.keys()) {
452
- if (mapKey === key) {
453
- if (index < this.deliveredRowCount) {
454
- return;
455
- }
456
- break;
457
- }
458
- index += 1;
459
- }
460
- }
461
- rows.delete(key);
462
- });
463
- this.clientRowsCount += (_e = (_d = result.inserts) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0;
213
+ this.clientRowsCount += (_b = result.inserts.length) !== null && _b !== void 0 ? _b : 0;
464
214
  this.rowData = rows;
465
215
  }
466
216
  }
467
- /**
468
- * Max time a non-paginated SSRM block may stay pending before the safety valve in
469
- * getRows() resolves it with the rows accumulated so far.
470
- * @internal
471
- */
472
- DataserverServerSideDatasource.BLOCK_RESOLVE_TIMEOUT_MS = 10000;
@@ -41,14 +41,9 @@ export class ReqRepServerSideDatasource extends BaseServerSideDatasource {
41
41
  }
42
42
  getRows(params) {
43
43
  return __awaiter(this, void 0, void 0, function* () {
44
- if (yield this.setupFiltering(params)) {
45
- params.fail();
46
- return;
47
- }
48
- if (yield this.setupSorting(params)) {
49
- params.fail();
50
- return;
51
- }
44
+ // Use custom filtering and sorting setup for req-rep
45
+ yield this.setupFiltering(params);
46
+ yield this.setupSorting(params);
52
47
  if (this.pagination && !this.isNewPageSize && this.currentSequenceId > 0) {
53
48
  params.success(this.lastSuccessRowData);
54
49
  return;
@@ -260,7 +255,7 @@ export class ReqRepServerSideDatasource extends BaseServerSideDatasource {
260
255
  this.currentSortModel = null;
261
256
  this.resourceParams.DETAILS.ORDER_BY = undefined;
262
257
  yield this.refreshDatasource(params);
263
- return true;
258
+ return;
264
259
  }
265
260
  else if (toBeAppliedSortModel.length > 0) {
266
261
  const coldIdBeingSorted = toBeAppliedSortModel[0].colId; // Not allowing multiple sorts by user
@@ -271,11 +266,10 @@ export class ReqRepServerSideDatasource extends BaseServerSideDatasource {
271
266
  this.resourceParams.DETAILS.ORDER_BY =
272
267
  coldIdBeingSorted + (sortTypeBeingApplied === 'desc' ? ' DESC' : ' ASC'); // Use the column directly
273
268
  yield this.refreshDatasource(params);
274
- return true;
269
+ return;
275
270
  }
276
271
  }
277
272
  }
278
- return false;
279
273
  });
280
274
  }
281
275
  refreshDatasource(params) {
package/dist/react.cjs CHANGED
@@ -121,11 +121,6 @@ const StringEditor = React.forwardRef(function StringEditor(props, ref) {
121
121
  return React.createElement(customElements.getName(StringEditorWC) ?? '%%prefix%%-string-editor', { ...rest, ref }, children);
122
122
  });
123
123
 
124
- const GridProColumn = React.forwardRef(function GridProColumn(props, ref) {
125
- const { children, ...rest } = props;
126
- return React.createElement(customElements.getName(GridProColumnWC) ?? 'grid-pro-column', { ...rest, ref }, children);
127
- });
128
-
129
124
  const ActionRenderer = React.forwardRef(function ActionRenderer(props, ref) {
130
125
  const { children, ...rest } = props;
131
126
  return React.createElement(customElements.getName(ActionRendererWC) ?? '%%prefix%%-grid-pro-action-renderer', { ...rest, ref }, children);
@@ -166,6 +161,11 @@ const AgTextRenderer = React.forwardRef(function AgTextRenderer(props, ref) {
166
161
  return React.createElement(customElements.getName(AgTextRendererWC) ?? '%%prefix%%-grid-text-renderer', { ...rest, ref }, children);
167
162
  });
168
163
 
164
+ const GridProColumn = React.forwardRef(function GridProColumn(props, ref) {
165
+ const { children, ...rest } = props;
166
+ return React.createElement(customElements.getName(GridProColumnWC) ?? 'grid-pro-column', { ...rest, ref }, children);
167
+ });
168
+
169
169
  const GridProClientSideDatasource = React.forwardRef(function GridProClientSideDatasource(props, ref) {
170
170
  const { onBaseDatasourceError, onDatasourceError, onBaseDatasourceConnected, onDatasourceLoadingFinished, onDatasourceNoDataAvailable, onDatasourceDataChanged, onDatasourceInitialize, onDatasourceDestroy, onDatasourceDataCleared, onDatasourceSchemaUpdated, onDatasourceFiltersRestored, onDatasourceDataLoaded, onDatasourceLoadingStarted, onDatasourceMoreDataAvailable, onDatasourceReady, onDatasourceInit, onMoreRowsChanged, onDatasourceSizeChanged, children, ...rest } = props;
171
171
  const _innerRef = React.useRef(null);
@@ -491,7 +491,6 @@ module.exports = {
491
491
  NumberEditor,
492
492
  SelectEditor,
493
493
  StringEditor,
494
- GridProColumn,
495
494
  ActionRenderer,
496
495
  ActionsMenuRenderer,
497
496
  BooleanRenderer,
@@ -500,6 +499,7 @@ module.exports = {
500
499
  StatusPillRenderer,
501
500
  AgTextFieldRenderer,
502
501
  AgTextRenderer,
502
+ GridProColumn,
503
503
  GridProClientSideDatasource,
504
504
  GridProServerSideDatasource,
505
505
  GridProGenesisDatasource,
package/dist/react.mjs CHANGED
@@ -119,11 +119,6 @@ export const StringEditor = React.forwardRef(function StringEditor(props, ref) {
119
119
  return React.createElement(customElements.getName(StringEditorWC) ?? '%%prefix%%-string-editor', { ...rest, ref }, children);
120
120
  });
121
121
 
122
- export const GridProColumn = React.forwardRef(function GridProColumn(props, ref) {
123
- const { children, ...rest } = props;
124
- return React.createElement(customElements.getName(GridProColumnWC) ?? 'grid-pro-column', { ...rest, ref }, children);
125
- });
126
-
127
122
  export const ActionRenderer = React.forwardRef(function ActionRenderer(props, ref) {
128
123
  const { children, ...rest } = props;
129
124
  return React.createElement(customElements.getName(ActionRendererWC) ?? '%%prefix%%-grid-pro-action-renderer', { ...rest, ref }, children);
@@ -164,6 +159,11 @@ export const AgTextRenderer = React.forwardRef(function AgTextRenderer(props, re
164
159
  return React.createElement(customElements.getName(AgTextRendererWC) ?? '%%prefix%%-grid-text-renderer', { ...rest, ref }, children);
165
160
  });
166
161
 
162
+ export const GridProColumn = React.forwardRef(function GridProColumn(props, ref) {
163
+ const { children, ...rest } = props;
164
+ return React.createElement(customElements.getName(GridProColumnWC) ?? 'grid-pro-column', { ...rest, ref }, children);
165
+ });
166
+
167
167
  export const GridProClientSideDatasource = React.forwardRef(function GridProClientSideDatasource(props, ref) {
168
168
  const { onBaseDatasourceError, onDatasourceError, onBaseDatasourceConnected, onDatasourceLoadingFinished, onDatasourceNoDataAvailable, onDatasourceDataChanged, onDatasourceInitialize, onDatasourceDestroy, onDatasourceDataCleared, onDatasourceSchemaUpdated, onDatasourceFiltersRestored, onDatasourceDataLoaded, onDatasourceLoadingStarted, onDatasourceMoreDataAvailable, onDatasourceReady, onDatasourceInit, onMoreRowsChanged, onDatasourceSizeChanged, children, ...rest } = props;
169
169
  const _innerRef = React.useRef(null);
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.482.2-alpha-397d953.0",
4
+ "version": "14.483.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -40,20 +40,20 @@
40
40
  }
41
41
  },
42
42
  "devDependencies": {
43
- "@genesislcap/foundation-testing": "14.482.2-alpha-397d953.0",
44
- "@genesislcap/genx": "14.482.2-alpha-397d953.0",
45
- "@genesislcap/rollup-builder": "14.482.2-alpha-397d953.0",
46
- "@genesislcap/ts-builder": "14.482.2-alpha-397d953.0",
47
- "@genesislcap/uvu-playwright-builder": "14.482.2-alpha-397d953.0",
48
- "@genesislcap/vite-builder": "14.482.2-alpha-397d953.0",
49
- "@genesislcap/webpack-builder": "14.482.2-alpha-397d953.0"
43
+ "@genesislcap/foundation-testing": "14.483.0",
44
+ "@genesislcap/genx": "14.483.0",
45
+ "@genesislcap/rollup-builder": "14.483.0",
46
+ "@genesislcap/ts-builder": "14.483.0",
47
+ "@genesislcap/uvu-playwright-builder": "14.483.0",
48
+ "@genesislcap/vite-builder": "14.483.0",
49
+ "@genesislcap/webpack-builder": "14.483.0"
50
50
  },
51
51
  "dependencies": {
52
- "@genesislcap/foundation-comms": "14.482.2-alpha-397d953.0",
53
- "@genesislcap/foundation-criteria": "14.482.2-alpha-397d953.0",
54
- "@genesislcap/foundation-logger": "14.482.2-alpha-397d953.0",
55
- "@genesislcap/foundation-ui": "14.482.2-alpha-397d953.0",
56
- "@genesislcap/foundation-utils": "14.482.2-alpha-397d953.0",
52
+ "@genesislcap/foundation-comms": "14.483.0",
53
+ "@genesislcap/foundation-criteria": "14.483.0",
54
+ "@genesislcap/foundation-logger": "14.483.0",
55
+ "@genesislcap/foundation-ui": "14.483.0",
56
+ "@genesislcap/foundation-utils": "14.483.0",
57
57
  "@microsoft/fast-colors": "5.3.1",
58
58
  "@microsoft/fast-components": "2.30.6",
59
59
  "@microsoft/fast-element": "1.14.0",
@@ -91,5 +91,5 @@
91
91
  "require": "./dist/react.cjs"
92
92
  }
93
93
  },
94
- "gitHead": "0fa52f4b117022450df0e0d6dd738a1b3fa7098d"
94
+ "gitHead": "28a6b21ae981f0a10a9a49b503aa0a3c99146da9"
95
95
  }