@genesislcap/grid-pro 15.50.0 → 15.50.1

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.
@@ -3024,8 +3024,8 @@ declare class GenesisInfiniteDatasource implements IDatasource {
3024
3024
  /**
3025
3025
  * Called when an unsolicited batch changes which rows exist or their order (an INSERT or a
3026
3026
  * DELETE). The cache cannot be patched in place for those - a created row arrives at the end
3027
- * rather than in sort position, and a delete below the delivered watermark is skipped to keep
3028
- * slice offsets stable - so the rows have to be re-read. Receives the pushed change so the
3027
+ * rather than in sort position, and removing a delivered row would shift the slice offsets of
3028
+ * every later block - so the rows have to be re-read. Receives the pushed change so the
3029
3029
  * host can report it before the re-read.
3030
3030
  * @internal
3031
3031
  */
@@ -3133,12 +3133,19 @@ declare class GenesisInfiniteDatasource implements IDatasource {
3133
3133
  private rowData;
3134
3134
  /** Blocks waiting for the cache to reach their range. @internal */
3135
3135
  private pendingBlocks;
3136
- /** Highest absolute row index already handed to AG Grid. @internal */
3137
- private deliveredRowCount;
3138
3136
  /** False until the first message arrives on the subscription. @internal */
3139
3137
  private streamStarted;
3140
3138
  /** MORE_ROWS from the most recent batch. @internal */
3141
3139
  private moreRows;
3140
+ /**
3141
+ * Set when paging stops short of MORE_ROWS false: the view is full at MAX_VIEW, or a MORE_ROWS
3142
+ * came back empty while the view had room (see `DataserverPagingStatus`).
3143
+ * @remarks Treated like the end of the data, so the walk stops instead of answering each empty
3144
+ * page with another request. A moving view is capped at MAX_VIEW too: past the cap its pages
3145
+ * arrive as INSERT+DELETE pairs, and every DELETE re-reads the cache from a fresh logon.
3146
+ * @internal
3147
+ */
3148
+ private pagingStopped;
3142
3149
  /** Whether a MORE_ROWS request is awaiting its batch. @internal */
3143
3150
  private moreRowsInFlight;
3144
3151
  /**
@@ -3152,8 +3159,6 @@ declare class GenesisInfiniteDatasource implements IDatasource {
3152
3159
  private serverRowsCount;
3153
3160
  /** Whether the current subscription was opened with a CRITERIA_MATCH. @internal */
3154
3161
  private hasCriteria;
3155
- /** So the MAX_VIEW truncation warning is logged once per subscription. @internal */
3156
- private viewTruncationWarned;
3157
3162
  constructor(options: {
3158
3163
  createSnapshotFunc: (params?: any) => Promise<RequestServerResult | FilteredDataServerResult>;
3159
3164
  createDataserverStreamFunc?: (params?: any) => SocketObservable<FilteredDataServerResult>;
@@ -3245,6 +3250,15 @@ declare class GenesisInfiniteDatasource implements IDatasource {
3245
3250
  * @internal
3246
3251
  */
3247
3252
  private handleDataserverMessage;
3253
+ /**
3254
+ * Stops the walk when the view is full at MAX_VIEW (checked by row count, which saves asking for
3255
+ * the empty page) or a MORE_ROWS came back empty, and says why.
3256
+ * @param emptyReply - Whether this message answered a MORE_ROWS with no rows.
3257
+ * @internal
3258
+ */
3259
+ private notePagingStatus;
3260
+ /** Whether the stream will deliver no more rows: the data ran out, or paging stopped. @internal */
3261
+ private get streamEnded();
3248
3262
  /**
3249
3263
  * Reports a server-pushed change to the host so the grid can catch up.
3250
3264
  * @internal
@@ -3258,12 +3272,12 @@ declare class GenesisInfiniteDatasource implements IDatasource {
3258
3272
  /** @internal */
3259
3273
  private createBlockTimer;
3260
3274
  /**
3261
- * Merges a batch into the cumulative cache.
3275
+ * Merges a batch's INSERT and MODIFY rows into the cumulative cache.
3276
+ * @remarks A DELETE never reaches here: any batch carrying one drops the cache instead (see
3277
+ * notifyLiveChange), as removing a delivered row would shift the slice of every later block.
3262
3278
  * @internal
3263
3279
  */
3264
3280
  private accumulate;
3265
- /** Position of a key in the cache, or -1. @internal */
3266
- private cacheIndexOf;
3267
3281
  /**
3268
3282
  * Settles every pending block the cache now covers.
3269
3283
  * @internal
@@ -3287,15 +3301,6 @@ declare class GenesisInfiniteDatasource implements IDatasource {
3287
3301
  * @internal
3288
3302
  */
3289
3303
  private deliverRows;
3290
- /**
3291
- * Warns when the view filled up before the data ran out.
3292
- * @remarks The server stops sending at MAX_VIEW rows and reports MORE_ROWS false, which is
3293
- * indistinguishable from the end of the data - the grid would silently show a truncated view
3294
- * and a row count smaller than the resource's. Raising `max-view` past the row count is the
3295
- * fix, so say so rather than leaving it to be discovered.
3296
- * @internal
3297
- */
3298
- private warnIfViewTruncated;
3299
3304
  /** @internal */
3300
3305
  private failAllPendingBlocks;
3301
3306
  /**
@@ -5242,6 +5247,12 @@ export declare class GridProGenesisDatasource extends GridProGenesisDatasource_b
5242
5247
  private requiresFullRowDataAndColDefs;
5243
5248
  private _lastMoreRows;
5244
5249
  private _isMoreRowsResult;
5250
+ /** How many MORE_ROWS sent by loadMore() are awaiting their reply. @internal */
5251
+ private _pendingLoadMore;
5252
+ /** The latest MORE_ROWS the server sent. @internal */
5253
+ private _serverMoreRows;
5254
+ /** Set when Load More stops short of MORE_ROWS false - see notePagingStatus. @internal */
5255
+ private _pagingStopped;
5245
5256
  private _sourceRef;
5246
5257
  private _nextOffset;
5247
5258
  private _loadMoreCount;
@@ -5333,6 +5344,25 @@ export declare class GridProGenesisDatasource extends GridProGenesisDatasource_b
5333
5344
  private loadResourceData;
5334
5345
  private handleSnapshot;
5335
5346
  private handleStreamResult;
5347
+ /**
5348
+ * Counts off one reply to an outstanding loadMore().
5349
+ * @returns Whether a loadMore() was awaiting this reply.
5350
+ * @internal
5351
+ */
5352
+ private takeLoadMoreReply;
5353
+ /**
5354
+ * Works out whether more rows can be loaded after a stream message.
5355
+ * @remarks On DATASERVER, Load More turns off once the view is full at MAX_VIEW, as every
5356
+ * further MORE_ROWS would come back empty (see `dataserverPagingStatus`), or after a MORE_ROWS
5357
+ * came back empty while the view had room. It turns back on when a full view shrinks, since GSF
5358
+ * fills the freed room on the next MORE_ROWS. A moving view never fills, and under VIEW_NUMBER
5359
+ * pagination the view is a single page, so both follow MORE_ROWS alone, as REQUEST_SERVER does.
5360
+ * @returns Whether more rows can be loaded, or `undefined` before the server has said.
5361
+ * @internal
5362
+ */
5363
+ private notePagingStatus;
5364
+ /** Emits `more-rows-changed` when the availability of more rows changes. @internal */
5365
+ private emitMoreRowsChanged;
5336
5366
  /**
5337
5367
  * Updates the status bar based on more rows status
5338
5368
  * @param moreRows - Whether more rows are available
@@ -5517,12 +5547,7 @@ declare const GridProGenesisDatasource_base: (new (...args: any[]) => {
5517
5547
  setAttributeNodeNS(attr: Attr): Attr | null;
5518
5548
  setHTMLUnsafe(html: string): void;
5519
5549
  setPointerCapture(pointerId: number): void;
5520
- toggleAttribute(qualifiedName: string, force? /**
5521
- * Sets the columnDefs and rowData for the grid.
5522
- * @remarks Full replace: the snapshot is authoritative. Stream deltas still use `emitDataChanged`.
5523
- * An empty snapshot emits `datasource-no-data-available`; a snapshot with rows emits `datasource-loading-finished`.
5524
- * @internal
5525
- */: boolean): boolean;
5550
+ toggleAttribute(qualifiedName: string, force?: boolean): boolean;
5526
5551
  webkitMatchesSelector(selectors: string): boolean;
5527
5552
  textContent: string;
5528
5553
  readonly baseURI: string;
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": "15.50.0",
4
+ "version": "15.50.1",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -38,19 +38,19 @@
38
38
  }
39
39
  },
40
40
  "devDependencies": {
41
- "@genesislcap/foundation-testing": "15.50.0",
42
- "@genesislcap/genx": "15.50.0",
43
- "@genesislcap/ts-builder": "15.50.0",
44
- "@genesislcap/uvu-playwright-builder": "15.50.0",
45
- "@genesislcap/vite-builder": "15.50.0",
46
- "@genesislcap/webpack-builder": "15.50.0"
41
+ "@genesislcap/foundation-testing": "15.50.1",
42
+ "@genesislcap/genx": "15.50.1",
43
+ "@genesislcap/ts-builder": "15.50.1",
44
+ "@genesislcap/uvu-playwright-builder": "15.50.1",
45
+ "@genesislcap/vite-builder": "15.50.1",
46
+ "@genesislcap/webpack-builder": "15.50.1"
47
47
  },
48
48
  "dependencies": {
49
- "@genesislcap/foundation-comms": "15.50.0",
50
- "@genesislcap/foundation-criteria": "15.50.0",
51
- "@genesislcap/foundation-logger": "15.50.0",
52
- "@genesislcap/foundation-ui": "15.50.0",
53
- "@genesislcap/foundation-utils": "15.50.0",
49
+ "@genesislcap/foundation-comms": "15.50.1",
50
+ "@genesislcap/foundation-criteria": "15.50.1",
51
+ "@genesislcap/foundation-logger": "15.50.1",
52
+ "@genesislcap/foundation-ui": "15.50.1",
53
+ "@genesislcap/foundation-utils": "15.50.1",
54
54
  "@microsoft/fast-colors": "5.3.1",
55
55
  "@microsoft/fast-components": "2.30.6",
56
56
  "@microsoft/fast-element": "1.14.0",