@genesislcap/grid-pro 15.8.1 → 15.8.2-FUI-0.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.
- package/dist/custom-elements.json +5885 -6170
- package/dist/dts/datasource/base.types.d.ts +0 -4
- package/dist/dts/datasource/base.types.d.ts.map +1 -1
- package/dist/dts/datasource/datasource.types.d.ts +0 -8
- package/dist/dts/datasource/datasource.types.d.ts.map +1 -1
- package/dist/dts/datasource/server-side.datasource.d.ts +19 -14
- package/dist/dts/datasource/server-side.datasource.d.ts.map +1 -1
- package/dist/dts/datasource/server-side.resource-base.d.ts +0 -9
- package/dist/dts/datasource/server-side.resource-base.d.ts.map +1 -1
- package/dist/dts/datasource/server-side.resource-reqrep.d.ts +9 -9
- package/dist/dts/datasource/server-side.resource-reqrep.d.ts.map +1 -1
- package/dist/dts/react.d.ts +64 -64
- package/dist/esm/datasource/server-side.datasource.js +31 -15
- package/dist/esm/datasource/server-side.resource-base.js +1 -24
- package/dist/esm/datasource/server-side.resource-reqrep.js +25 -102
- package/dist/grid-pro.api.json +3 -103
- package/dist/grid-pro.d.ts +19 -25
- package/dist/react.cjs +43 -43
- package/dist/react.mjs +40 -40
- package/package.json +14 -14
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { SocketObservable, FilteredDataServerResult, MetadataDetail, RequestServerResult, DataserverParams, RequestParams, Datasource } from '@genesislcap/foundation-comms';
|
|
2
|
-
import { PagingMode } from './datasource.types';
|
|
3
2
|
/**
|
|
4
3
|
* Type definition for configuration options used for streams.
|
|
5
4
|
* @remarks
|
|
@@ -40,9 +39,6 @@ export type ServerSideDatasourceOptions = {
|
|
|
40
39
|
maxRows?: number;
|
|
41
40
|
maxView?: number;
|
|
42
41
|
rowId?: string;
|
|
43
|
-
zeroBasedViewNumber?: boolean;
|
|
44
|
-
pagingMode?: PagingMode | undefined;
|
|
45
|
-
criteriaOnlyRequest?: boolean;
|
|
46
42
|
usePolling?: boolean;
|
|
47
43
|
};
|
|
48
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.types.d.ts","sourceRoot":"","sources":["../../../src/datasource/base.types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACX,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"base.types.d.ts","sourceRoot":"","sources":["../../../src/datasource/base.types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACX,MAAM,+BAA+B,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,0BAA0B,CAAC,EAAE,CAC3B,cAAc,CAAC,EAAE,GAAG,KACjB,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACzD,uBAAuB,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjF;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC;QACjD,MAAM,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAC9C,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC,CAAC;IACH;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,IAAI,CAAC;IACzC,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC;IAClD,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAEnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;CAG3B,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EACA,YAAY,GACZ,qBAAqB,GACrB,eAAe,GACf,UAAU,GACV,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,8BAA8B,CAAC,CAAC"}
|
|
@@ -5,12 +5,4 @@
|
|
|
5
5
|
* @public
|
|
6
6
|
*/
|
|
7
7
|
export type DatasourceType = 'client' | 'server';
|
|
8
|
-
/**
|
|
9
|
-
* Available paging modes for server-side datasources
|
|
10
|
-
* @remarks - This type defines the paging approach used for server-side data fetching
|
|
11
|
-
* - 'viewBased': Uses VIEW_NUMBER and NEXT_VIEW (1 by 1 increment)
|
|
12
|
-
* - 'offsetBased': Uses OFFSET and NEXT_OFFSET (based on maxRows increment)
|
|
13
|
-
* @public
|
|
14
|
-
*/
|
|
15
|
-
export type PagingMode = 'viewBased' | 'offsetBased';
|
|
16
8
|
//# sourceMappingURL=datasource.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datasource.types.d.ts","sourceRoot":"","sources":["../../../src/datasource/datasource.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"datasource.types.d.ts","sourceRoot":"","sources":["../../../src/datasource/datasource.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Datasource, DatasourceOptions } from '@genesislcap/foundation-comms';
|
|
2
2
|
import { JSONSerializer } from '@genesislcap/foundation-utils';
|
|
3
3
|
import { GridProBaseDatasource } from './base.datasource';
|
|
4
|
-
import { PagingMode } from './datasource.types';
|
|
5
4
|
declare const GridProServerSideDatasource_base: (new (...args: any[]) => {
|
|
6
5
|
#_container: import("@genesislcap/foundation-utils").FoundationLayoutContainer | import("@genesislcap/foundation-utils").LayoutCacheContainer | import("@genesislcap/foundation-utils").DOMContainer;
|
|
7
6
|
#_latestTokenCode: string;
|
|
@@ -373,6 +372,10 @@ declare const GridProServerSideDatasource_base: (new (...args: any[]) => {
|
|
|
373
372
|
* A Genesis Datasource element, for server-side | SSRM-compatible data fetching and used exclusively by the GridPro element.
|
|
374
373
|
* @remarks Only supports Server-Side Row Model. Requires `@ag-grid-enterprise/server-side-row-model` setup and valid AG Grid Enterprise license.
|
|
375
374
|
*
|
|
375
|
+
* **Supported resources**: DATASERVER resources, and REQUEST_SERVER (req/rep) resources that declare
|
|
376
|
+
* `criteriaOnlyRequest`. A req/rep resource without it reports a `resource-type` error and no
|
|
377
|
+
* datasource is attached to the grid.
|
|
378
|
+
*
|
|
376
379
|
* **Custom Sort Indicators**: This datasource automatically applies custom sort indicators that are always visible (instead of only on hover).
|
|
377
380
|
* Sortable columns will show a subtle sort icon even when not sorted, and active sort indicators will be more prominent.
|
|
378
381
|
* The custom styling uses AG Grid's native icon font for consistency with the grid theme.
|
|
@@ -402,24 +405,11 @@ declare const GridProServerSideDatasource_base: (new (...args: any[]) => {
|
|
|
402
405
|
export declare class GridProServerSideDatasource extends GridProServerSideDatasource_base {
|
|
403
406
|
serializer: JSONSerializer;
|
|
404
407
|
pollingDatasource: Datasource;
|
|
405
|
-
/**
|
|
406
|
-
* The starting VIEW_NUMBER of the data to be fetched.
|
|
407
|
-
* @remarks The VIEW_NUMBER isincremented by the grid as the user scrolls or changes pages.
|
|
408
|
-
*/
|
|
409
|
-
zeroBasedViewNumber: boolean;
|
|
410
408
|
/**
|
|
411
409
|
* Enable live updates for the grid.
|
|
412
410
|
* @remarks Only works with DATASERVER resources (StreamDatasource) right now.
|
|
413
411
|
*/
|
|
414
412
|
liveUpdates: boolean;
|
|
415
|
-
/**
|
|
416
|
-
* The paging mode to use for data fetching.
|
|
417
|
-
* @remarks
|
|
418
|
-
* - "viewBased": Uses VIEW_NUMBER and NEXT_VIEW (1 by 1 increment)
|
|
419
|
-
* - "offsetBased": Uses OFFSET and NEXT_OFFSET (based on maxRows increment)
|
|
420
|
-
* - undefined: Auto-determines based on criteriaOnlyRequest availability
|
|
421
|
-
*/
|
|
422
|
-
pagingMode: PagingMode | undefined;
|
|
423
413
|
request: any;
|
|
424
414
|
private indexes;
|
|
425
415
|
private ssrmDatasource;
|
|
@@ -450,6 +440,21 @@ export declare class GridProServerSideDatasource extends GridProServerSideDataso
|
|
|
450
440
|
destroy(): Promise<void>;
|
|
451
441
|
restart(): Promise<void>;
|
|
452
442
|
private clearRowData;
|
|
443
|
+
/**
|
|
444
|
+
* Checks whether the resolved resource can be served through the Server-Side Row Model.
|
|
445
|
+
* @remarks
|
|
446
|
+
* REQUEST_SERVER (req/rep) resources are only supported when the request reply declares
|
|
447
|
+
* `criteriaOnlyRequest` (`CRITERIA_ONLY_REQUEST` in its metadata). SSRM drives a req/rep
|
|
448
|
+
* resource purely through `DETAILS` - `CRITERIA_MATCH` for the grid filter model, `ORDER_BY`
|
|
449
|
+
* for the sort model and `OFFSET`/`VIEW_NUMBER` for paging - and sends an empty `REQUEST`
|
|
450
|
+
* payload. A request reply without `criteriaOnlyRequest` expects its inputs in `REQUEST`
|
|
451
|
+
* instead, so filtering, sorting and paging would silently do nothing.
|
|
452
|
+
*
|
|
453
|
+
* DATASERVER resources are always supported.
|
|
454
|
+
* @returns `true` when SSRM can be used, `false` after reporting a `resource-type` error.
|
|
455
|
+
* @internal
|
|
456
|
+
*/
|
|
457
|
+
private isSsrmSupportedForResource;
|
|
453
458
|
private getResourceIndexes;
|
|
454
459
|
private createReqRepRequest;
|
|
455
460
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-side.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.datasource.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EACV,iBAAiB,EAYlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,cAAc,EAEf,MAAM,+BAA+B,CAAC;AAYvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC
|
|
1
|
+
{"version":3,"file":"server-side.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.datasource.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EACV,iBAAiB,EAYlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,cAAc,EAEf,MAAM,+BAA+B,CAAC;AAYvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;;;;;;;;kBA8DhC,CAAA;;;;;;;;8BAmBgD,CAAC,cAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAgB3E,CAAC;4IAGwC,CAAA;wFAKlB,CAAC;+IAIT,CAAC;2FAGV,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAwCqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;mBA+CvB,CAAC;;;;;;;;;;;;;6BA2BT,CAAC;8BACgB,CAAC;kBAGjB,CAAC;;oBAEK,CAAC;;sBAMW,CAAC;oBAGE,CAAC;;;;;;;;gDAgB3B,CAAC;;;;;;;;;;;;;;;;;;uBA2BsC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA4Ed,CAAC;yBAKb,CAAA;UACA,GAAG;WACf,GAAD;;gBAGqB,GAAG;;;;;;;WAWe,GAAG;YACxC,GAAG;;;;;;;;;;;oBA2CsD,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6K7D,CAAC;cAGD,CAAC;eAC4B,CAAC;gBAMb,CAAC;;;;;;;;;;;;;;SAiCN,CAAC;;;iBAI8B,CAAC;;AA7kBtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAGa,2BAA4B,SAAQ,gCAAqC;IACpE,UAAU,EAAG,cAAc,CAAC;IAChC,iBAAiB,EAAG,UAAU,CAAC;IAC3C;;;OAGG;IACmD,WAAW,UAAS;IAE9D,OAAO,EAAE,GAAG,CAAM;IAE9B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,cAAc,CAA8D;IACpF,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,uBAAuB,CAA6B;IAE5D,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAOtD,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAaxD,iBAAiB;IAUjB,oBAAoB;IAUX,SAAS,IAAI,IAAI;IAO1B;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDnE;;;OAGG;IACH,OAAO,CAAC,mCAAmC;IAgB3C;;;OAGG;IACH,OAAO,CAAC,oCAAoC;IAatC,IAAI;IAqIK,OAAO;IAqBP,OAAO;IAKtB,OAAO,CAAC,YAAY;IAmBpB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,kBAAkB;YAgDZ,mBAAmB;IAKjC;;;;;;;;;;;;OAYG;YACW,kBAAkB;IA+BhC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAA+B;IAEzD;;;;;;;;;OASG;IACH,OAAO,CAAC,0BAA0B,CAAS;IAE3C;;;;;;OAMG;IACI,uBAAuB;IAM9B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,wBAAwB;IAsEhC,OAAO,CAAC,yBAAyB;YAyCnB,sBAAsB;YA2DtB,eAAe;IAmBpB,gBAAgB,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG;IAIvC,QAAQ;CAGlB"}
|
|
@@ -2,7 +2,6 @@ import { IServerSideDatasource, LoadSuccessParams, SetFilterModel, SortModelItem
|
|
|
2
2
|
import { Auth, Connect, MetadataDetail, DatasourceOptions } from '@genesislcap/foundation-comms';
|
|
3
3
|
import { UUID } from '@genesislcap/foundation-utils';
|
|
4
4
|
import { ServerSideDatasourceOptions } from './base.types';
|
|
5
|
-
import { PagingMode } from './datasource.types';
|
|
6
5
|
/**
|
|
7
6
|
* Base class for server-side resource datasources used in Grid Pro SSRM implementations.
|
|
8
7
|
* Provides common logic for filtering, sorting, and infinite-scroll row counting.
|
|
@@ -25,9 +24,6 @@ export declare abstract class BaseServerSideDatasource implements IServerSideDat
|
|
|
25
24
|
protected resourceColDefs: MetadataDetail[];
|
|
26
25
|
protected maxRows: number;
|
|
27
26
|
protected maxView: number;
|
|
28
|
-
protected zeroBasedViewNumber: boolean;
|
|
29
|
-
protected pagingMode?: PagingMode | undefined;
|
|
30
|
-
protected criteriaOnlyRequest?: boolean;
|
|
31
27
|
sourceRef: string;
|
|
32
28
|
lastSuccessRowData: LoadSuccessParams;
|
|
33
29
|
/**
|
|
@@ -106,16 +102,11 @@ export declare abstract class BaseServerSideDatasource implements IServerSideDat
|
|
|
106
102
|
protected criteriaForDateModel(k: string, model: any): string | null;
|
|
107
103
|
protected getFiltersByType(filterType: string): string[];
|
|
108
104
|
protected getCorrectRowCount(params: IServerSideGetRowsParams<any, any>): any;
|
|
109
|
-
protected get isNotFirstViewNumber(): boolean;
|
|
110
105
|
/** Completes an SSRM request with zero rows and invokes `onNoDataAvailableFunc` on the first block only. @internal */
|
|
111
106
|
protected completeEmptyResult(params: IServerSideGetRowsParams): void;
|
|
112
107
|
/** Invokes `onNoDataAvailableFunc` when the first SSRM block has no rows. @internal */
|
|
113
108
|
protected notifyNoDataAvailableIfEmpty(params: IServerSideGetRowsParams, successRowData: LoadSuccessParams): void;
|
|
114
109
|
protected notifyNoDataAvailable(): void;
|
|
115
110
|
protected notifyDataAvailable(): void;
|
|
116
|
-
/**
|
|
117
|
-
* Determines the effective paging mode based on criteriaOnlyRequest availability and user settings
|
|
118
|
-
*/
|
|
119
|
-
protected getEffectivePagingMode(): PagingMode;
|
|
120
111
|
}
|
|
121
112
|
//# sourceMappingURL=server-side.resource-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-side.resource-base.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.resource-base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"server-side.resource-base.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.resource-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,15 @@ import { ServerSideDatasourceOptions } from './base.types';
|
|
|
4
4
|
import { BaseServerSideDatasource } from './server-side.resource-base';
|
|
5
5
|
/**
|
|
6
6
|
* The REQUEST_SERVER IServerSideDatasource implementation, used for SSRM (Server-Side Row Model) in the grid.
|
|
7
|
+
* @remarks
|
|
8
|
+
* Only request replies supporting criteria-only requests (`criteriaOnlyRequest`) can be served this
|
|
9
|
+
* way: every SSRM concern is expressed through `DETAILS` (`CRITERIA_MATCH` for the filter model,
|
|
10
|
+
* `ORDER_BY` for the sort model, `OFFSET` for paging) with an empty `REQUEST` payload.
|
|
11
|
+
* {@link @genesislcap/grid-pro#GridProServerSideDatasource} enforces this before constructing the
|
|
12
|
+
* datasource.
|
|
13
|
+
*
|
|
14
|
+
* Paging is therefore always offset-based - `criteriaOnlyRequest` guarantees `OFFSET` support, so
|
|
15
|
+
* there is no `VIEW_NUMBER` fallback to choose between.
|
|
7
16
|
* @beta
|
|
8
17
|
*/
|
|
9
18
|
export declare class ReqRepServerSideDatasource extends BaseServerSideDatasource implements IServerSideDatasource {
|
|
@@ -49,17 +58,8 @@ export declare class ReqRepServerSideDatasource extends BaseServerSideDatasource
|
|
|
49
58
|
*/
|
|
50
59
|
private debouncedCreateStream;
|
|
51
60
|
private discoveredTotalRowCount;
|
|
52
|
-
private currentNextOffset;
|
|
53
61
|
constructor(options: ServerSideDatasourceOptions);
|
|
54
62
|
getRows(params: IServerSideGetRowsParams): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* Advance the view/offset position based on paging mode
|
|
57
|
-
*/
|
|
58
|
-
private advancePagingPosition;
|
|
59
|
-
/**
|
|
60
|
-
* Determine if this is the last view/page
|
|
61
|
-
*/
|
|
62
|
-
private determineIsLastView;
|
|
63
63
|
/**
|
|
64
64
|
* Schedules polling stream creation if enabled.
|
|
65
65
|
* @remarks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-side.resource-reqrep.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.resource-reqrep.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EAEzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EAInB,iBAAiB,EAGlB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"server-side.resource-reqrep.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.resource-reqrep.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EAEzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EAInB,iBAAiB,EAGlB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAOvE;;;;;;;;;;;;GAYG;AACH,qBAAa,0BACX,SAAQ,wBACR,YAAW,qBAAqB;IAEhC,uBAAuB,EAAE,CAAC,cAAc,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhF;;;OAGG;IACH,OAAO,CAAC,sBAAsB,CAAC,CAG5B;IAEH;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAC,CAAwC;IAEpE;;OAEG;IACH,OAAO,CAAC,yBAAyB,CAAC,CAAqB;IAEvD;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAAC,CAAM;IAEtC;;OAEG;IACH,OAAO,CAAC,UAAU,CAAU;IAE5B;;OAEG;IACH,OAAO,CAAC,eAAe,CAAC,CAAwC;IAEhE;;OAEG;IACH,OAAO,CAAC,uBAAuB,CAAC,CAAa;IAE7C;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAAC,CAAgB;IAE5C;;;OAGG;IACH,OAAO,CAAC,qBAAqB,CAA8B;IAG3D,OAAO,CAAC,uBAAuB,CAAuB;gBAE1C,OAAO,EAAE,2BAA2B;IAmB1C,OAAO,CAAC,MAAM,EAAE,wBAAwB;IA2B9C;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,mBAAmB;IAyD3B,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM;IActE,OAAO,CAAC,uBAAuB;IAoB/B;;;OAGG;cACa,YAAY,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgC1E,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3D,OAAO;IAUb;;;;;;;;;;OAUG;YACW,mBAAmB;IAkCjC;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,mBAAmB;CAQ5B"}
|
package/dist/dts/react.d.ts
CHANGED
|
@@ -134,6 +134,70 @@ export declare const StringEditor: React.ForwardRefExoticComponent<
|
|
|
134
134
|
>;
|
|
135
135
|
export type StringEditorRef = StringEditorWC;
|
|
136
136
|
|
|
137
|
+
export declare const GridProColumn: React.ForwardRefExoticComponent<
|
|
138
|
+
React.PropsWithChildren<
|
|
139
|
+
Omit<PublicOf<GridProColumnWC>, 'children' | 'style'> &
|
|
140
|
+
HTMLWCProps & {
|
|
141
|
+
}
|
|
142
|
+
> & React.RefAttributes<GridProColumnWC>
|
|
143
|
+
>;
|
|
144
|
+
export type GridProColumnRef = GridProColumnWC;
|
|
145
|
+
|
|
146
|
+
export declare const GridProClientSideDatasource: React.ForwardRefExoticComponent<
|
|
147
|
+
React.PropsWithChildren<
|
|
148
|
+
Omit<PublicOf<GridProClientSideDatasourceWC>, 'children' | 'style'> &
|
|
149
|
+
HTMLWCProps & {
|
|
150
|
+
onBaseDatasourceError?: (event: CustomEvent<BaseDatasourceErrorEventDetail>) => void;
|
|
151
|
+
onDatasourceError?: (event: CustomEvent<DatasourceErrorEventDetail>) => void;
|
|
152
|
+
onBaseDatasourceConnected?: (event: CustomEvent<unknown>) => void;
|
|
153
|
+
onDatasourceLoadingFinished?: (event: CustomEvent<unknown>) => void;
|
|
154
|
+
onDatasourceNoDataAvailable?: (event: CustomEvent<unknown>) => void;
|
|
155
|
+
onDatasourceDataChanged?: (event: CustomEvent<DataChangedEventDetail>) => void;
|
|
156
|
+
onDatasourceInitialize?: (event: CustomEvent<InitializeEventDetail>) => void;
|
|
157
|
+
onDatasourceDestroy?: (event: CustomEvent<unknown>) => void;
|
|
158
|
+
onDatasourceDataCleared?: (event: CustomEvent<DataClearedEventDetail>) => void;
|
|
159
|
+
onDatasourceSchemaUpdated?: (event: CustomEvent<SchemaUpdatedEventDetail>) => void;
|
|
160
|
+
onDatasourceFiltersRestored?: (event: CustomEvent<unknown>) => void;
|
|
161
|
+
onDatasourceDataLoaded?: (event: CustomEvent<DataLoadedEventDetail>) => void;
|
|
162
|
+
onDatasourceLoadingStarted?: (event: CustomEvent<unknown>) => void;
|
|
163
|
+
onDatasourceMoreDataAvailable?: (event: CustomEvent<MoreDataAvailableEventDetail>) => void;
|
|
164
|
+
onDatasourceReady?: (event: CustomEvent<unknown>) => void;
|
|
165
|
+
onDatasourceInit?: (event: CustomEvent<unknown>) => void;
|
|
166
|
+
onMoreRowsChanged?: (event: CustomEvent<MoreRowsDetail>) => void;
|
|
167
|
+
onDatasourceSizeChanged?: (event: CustomEvent<GrigProGenesisDatasourceSizeChangedEventDetail>) => void;
|
|
168
|
+
}
|
|
169
|
+
> & React.RefAttributes<GridProClientSideDatasourceWC>
|
|
170
|
+
>;
|
|
171
|
+
export type GridProClientSideDatasourceRef = GridProClientSideDatasourceWC;
|
|
172
|
+
|
|
173
|
+
export declare const GridProServerSideDatasource: React.ForwardRefExoticComponent<
|
|
174
|
+
React.PropsWithChildren<
|
|
175
|
+
Omit<PublicOf<GridProServerSideDatasourceWC>, 'children' | 'style'> &
|
|
176
|
+
HTMLWCProps & {
|
|
177
|
+
onBaseDatasourceError?: (event: CustomEvent<BaseDatasourceErrorEventDetail>) => void;
|
|
178
|
+
onDatasourceError?: (event: CustomEvent<DatasourceErrorEventDetail>) => void;
|
|
179
|
+
onBaseDatasourceConnected?: (event: CustomEvent<unknown>) => void;
|
|
180
|
+
onDatasourceLoadingFinished?: (event: CustomEvent<unknown>) => void;
|
|
181
|
+
onDatasourceNoDataAvailable?: (event: CustomEvent<unknown>) => void;
|
|
182
|
+
onDatasourceDataChanged?: (event: CustomEvent<DataChangedEventDetail>) => void;
|
|
183
|
+
onCacheFilterConfig?: (event: CustomEvent<unknown>) => void;
|
|
184
|
+
onRefreshServerSide?: (event: CustomEvent<RefreshServerSideEventDetail>) => void;
|
|
185
|
+
onSetServerSideDatasource?: (event: CustomEvent<unknown>) => void;
|
|
186
|
+
onDatasourceLoadingStarted?: (event: CustomEvent<unknown>) => void;
|
|
187
|
+
onAddGridCssClass?: (event: CustomEvent<GridCssClassEventDetail>) => void;
|
|
188
|
+
onRemoveGridCssClass?: (event: CustomEvent<GridCssClassEventDetail>) => void;
|
|
189
|
+
onDatasourceInitialize?: (event: CustomEvent<InitializeEventDetail>) => void;
|
|
190
|
+
onDatasourceInit?: (event: CustomEvent<unknown>) => void;
|
|
191
|
+
onDatasourceSchemaUpdated?: (event: CustomEvent<SchemaUpdatedEventDetail>) => void;
|
|
192
|
+
onDatasourceFiltersRestored?: (event: CustomEvent<unknown>) => void;
|
|
193
|
+
onDatasourceDataCleared?: (event: CustomEvent<DataClearedEventDetail>) => void;
|
|
194
|
+
onApplyServerSideTransaction?: (event: CustomEvent<unknown>) => void;
|
|
195
|
+
onDatasourceReady?: (event: CustomEvent<unknown>) => void;
|
|
196
|
+
}
|
|
197
|
+
> & React.RefAttributes<GridProServerSideDatasourceWC>
|
|
198
|
+
>;
|
|
199
|
+
export type GridProServerSideDatasourceRef = GridProServerSideDatasourceWC;
|
|
200
|
+
|
|
137
201
|
export declare const ActionRenderer: React.ForwardRefExoticComponent<
|
|
138
202
|
React.PropsWithChildren<
|
|
139
203
|
Omit<PublicOf<ActionRendererWC>, 'children' | 'style'> &
|
|
@@ -206,70 +270,6 @@ export declare const AgTextRenderer: React.ForwardRefExoticComponent<
|
|
|
206
270
|
>;
|
|
207
271
|
export type AgTextRendererRef = AgTextRendererWC;
|
|
208
272
|
|
|
209
|
-
export declare const GridProColumn: React.ForwardRefExoticComponent<
|
|
210
|
-
React.PropsWithChildren<
|
|
211
|
-
Omit<PublicOf<GridProColumnWC>, 'children' | 'style'> &
|
|
212
|
-
HTMLWCProps & {
|
|
213
|
-
}
|
|
214
|
-
> & React.RefAttributes<GridProColumnWC>
|
|
215
|
-
>;
|
|
216
|
-
export type GridProColumnRef = GridProColumnWC;
|
|
217
|
-
|
|
218
|
-
export declare const GridProClientSideDatasource: React.ForwardRefExoticComponent<
|
|
219
|
-
React.PropsWithChildren<
|
|
220
|
-
Omit<PublicOf<GridProClientSideDatasourceWC>, 'children' | 'style'> &
|
|
221
|
-
HTMLWCProps & {
|
|
222
|
-
onBaseDatasourceError?: (event: CustomEvent<BaseDatasourceErrorEventDetail>) => void;
|
|
223
|
-
onDatasourceError?: (event: CustomEvent<DatasourceErrorEventDetail>) => void;
|
|
224
|
-
onBaseDatasourceConnected?: (event: CustomEvent<unknown>) => void;
|
|
225
|
-
onDatasourceLoadingFinished?: (event: CustomEvent<unknown>) => void;
|
|
226
|
-
onDatasourceNoDataAvailable?: (event: CustomEvent<unknown>) => void;
|
|
227
|
-
onDatasourceDataChanged?: (event: CustomEvent<DataChangedEventDetail>) => void;
|
|
228
|
-
onDatasourceInitialize?: (event: CustomEvent<InitializeEventDetail>) => void;
|
|
229
|
-
onDatasourceDestroy?: (event: CustomEvent<unknown>) => void;
|
|
230
|
-
onDatasourceDataCleared?: (event: CustomEvent<DataClearedEventDetail>) => void;
|
|
231
|
-
onDatasourceSchemaUpdated?: (event: CustomEvent<SchemaUpdatedEventDetail>) => void;
|
|
232
|
-
onDatasourceFiltersRestored?: (event: CustomEvent<unknown>) => void;
|
|
233
|
-
onDatasourceDataLoaded?: (event: CustomEvent<DataLoadedEventDetail>) => void;
|
|
234
|
-
onDatasourceLoadingStarted?: (event: CustomEvent<unknown>) => void;
|
|
235
|
-
onDatasourceMoreDataAvailable?: (event: CustomEvent<MoreDataAvailableEventDetail>) => void;
|
|
236
|
-
onDatasourceReady?: (event: CustomEvent<unknown>) => void;
|
|
237
|
-
onDatasourceInit?: (event: CustomEvent<unknown>) => void;
|
|
238
|
-
onMoreRowsChanged?: (event: CustomEvent<MoreRowsDetail>) => void;
|
|
239
|
-
onDatasourceSizeChanged?: (event: CustomEvent<GrigProGenesisDatasourceSizeChangedEventDetail>) => void;
|
|
240
|
-
}
|
|
241
|
-
> & React.RefAttributes<GridProClientSideDatasourceWC>
|
|
242
|
-
>;
|
|
243
|
-
export type GridProClientSideDatasourceRef = GridProClientSideDatasourceWC;
|
|
244
|
-
|
|
245
|
-
export declare const GridProServerSideDatasource: React.ForwardRefExoticComponent<
|
|
246
|
-
React.PropsWithChildren<
|
|
247
|
-
Omit<PublicOf<GridProServerSideDatasourceWC>, 'children' | 'style'> &
|
|
248
|
-
HTMLWCProps & {
|
|
249
|
-
onBaseDatasourceError?: (event: CustomEvent<BaseDatasourceErrorEventDetail>) => void;
|
|
250
|
-
onDatasourceError?: (event: CustomEvent<DatasourceErrorEventDetail>) => void;
|
|
251
|
-
onBaseDatasourceConnected?: (event: CustomEvent<unknown>) => void;
|
|
252
|
-
onDatasourceLoadingFinished?: (event: CustomEvent<unknown>) => void;
|
|
253
|
-
onDatasourceNoDataAvailable?: (event: CustomEvent<unknown>) => void;
|
|
254
|
-
onDatasourceDataChanged?: (event: CustomEvent<DataChangedEventDetail>) => void;
|
|
255
|
-
onCacheFilterConfig?: (event: CustomEvent<unknown>) => void;
|
|
256
|
-
onRefreshServerSide?: (event: CustomEvent<RefreshServerSideEventDetail>) => void;
|
|
257
|
-
onSetServerSideDatasource?: (event: CustomEvent<unknown>) => void;
|
|
258
|
-
onDatasourceLoadingStarted?: (event: CustomEvent<unknown>) => void;
|
|
259
|
-
onAddGridCssClass?: (event: CustomEvent<GridCssClassEventDetail>) => void;
|
|
260
|
-
onRemoveGridCssClass?: (event: CustomEvent<GridCssClassEventDetail>) => void;
|
|
261
|
-
onDatasourceInitialize?: (event: CustomEvent<InitializeEventDetail>) => void;
|
|
262
|
-
onDatasourceInit?: (event: CustomEvent<unknown>) => void;
|
|
263
|
-
onDatasourceSchemaUpdated?: (event: CustomEvent<SchemaUpdatedEventDetail>) => void;
|
|
264
|
-
onDatasourceFiltersRestored?: (event: CustomEvent<unknown>) => void;
|
|
265
|
-
onDatasourceDataCleared?: (event: CustomEvent<DataClearedEventDetail>) => void;
|
|
266
|
-
onApplyServerSideTransaction?: (event: CustomEvent<unknown>) => void;
|
|
267
|
-
onDatasourceReady?: (event: CustomEvent<unknown>) => void;
|
|
268
|
-
}
|
|
269
|
-
> & React.RefAttributes<GridProServerSideDatasourceWC>
|
|
270
|
-
>;
|
|
271
|
-
export type GridProServerSideDatasourceRef = GridProServerSideDatasourceWC;
|
|
272
|
-
|
|
273
273
|
export declare const GridProGenesisDatasource: React.ForwardRefExoticComponent<
|
|
274
274
|
React.PropsWithChildren<
|
|
275
275
|
Omit<PublicOf<GridProGenesisDatasourceWC>, 'children' | 'style'> &
|
|
@@ -59,6 +59,10 @@ const serverSideSortIndicatorCSS = `
|
|
|
59
59
|
* A Genesis Datasource element, for server-side | SSRM-compatible data fetching and used exclusively by the GridPro element.
|
|
60
60
|
* @remarks Only supports Server-Side Row Model. Requires `@ag-grid-enterprise/server-side-row-model` setup and valid AG Grid Enterprise license.
|
|
61
61
|
*
|
|
62
|
+
* **Supported resources**: DATASERVER resources, and REQUEST_SERVER (req/rep) resources that declare
|
|
63
|
+
* `criteriaOnlyRequest`. A req/rep resource without it reports a `resource-type` error and no
|
|
64
|
+
* datasource is attached to the grid.
|
|
65
|
+
*
|
|
62
66
|
* **Custom Sort Indicators**: This datasource automatically applies custom sort indicators that are always visible (instead of only on hover).
|
|
63
67
|
* Sortable columns will show a subtle sort icon even when not sorted, and active sort indicators will be more prominent.
|
|
64
68
|
* The custom styling uses AG Grid's native icon font for consistency with the grid theme.
|
|
@@ -88,11 +92,6 @@ const serverSideSortIndicatorCSS = `
|
|
|
88
92
|
let GridProServerSideDatasource = class GridProServerSideDatasource extends LifecycleMixin(GridProBaseDatasource) {
|
|
89
93
|
constructor() {
|
|
90
94
|
super(...arguments);
|
|
91
|
-
/**
|
|
92
|
-
* The starting VIEW_NUMBER of the data to be fetched.
|
|
93
|
-
* @remarks The VIEW_NUMBER isincremented by the grid as the user scrolls or changes pages.
|
|
94
|
-
*/
|
|
95
|
-
this.zeroBasedViewNumber = false;
|
|
96
95
|
/**
|
|
97
96
|
* Enable live updates for the grid.
|
|
98
97
|
* @remarks Only works with DATASERVER resources (StreamDatasource) right now.
|
|
@@ -279,6 +278,12 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
|
|
|
279
278
|
this.setDisconnected(true);
|
|
280
279
|
return;
|
|
281
280
|
}
|
|
281
|
+
if (!this.isSsrmSupportedForResource()) {
|
|
282
|
+
this.clearRowData();
|
|
283
|
+
// No datasource is attached, so AG Grid never calls getRows() for this resource.
|
|
284
|
+
this.$emit(datasourceEventNames.setServerSideDatasource, { datasource: null });
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
282
287
|
this.$emit(gridProGenesisDatasourceEventNames.dataInit);
|
|
283
288
|
this.setDisconnected(false);
|
|
284
289
|
this.indexes = this.getResourceIndexes(this.datasource.availableIndexes, this.datasource.availableSortableFields);
|
|
@@ -311,9 +316,6 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
|
|
|
311
316
|
maxRows: +this.maxRows,
|
|
312
317
|
maxView: +this.maxView,
|
|
313
318
|
rowId: this.rowId,
|
|
314
|
-
zeroBasedViewNumber: this.zeroBasedViewNumber,
|
|
315
|
-
pagingMode: this.pagingMode,
|
|
316
|
-
criteriaOnlyRequest: this.datasource.criteriaOnlyRequest,
|
|
317
319
|
});
|
|
318
320
|
}
|
|
319
321
|
else {
|
|
@@ -330,7 +332,6 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
|
|
|
330
332
|
maxRows: +this.maxRows,
|
|
331
333
|
maxView: +this.maxView,
|
|
332
334
|
rowId: this.rowId,
|
|
333
|
-
zeroBasedViewNumber: this.zeroBasedViewNumber,
|
|
334
335
|
});
|
|
335
336
|
}
|
|
336
337
|
// Emit event to set server side datasource
|
|
@@ -389,6 +390,27 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
|
|
|
389
390
|
});
|
|
390
391
|
this.transactionData = undefined;
|
|
391
392
|
}
|
|
393
|
+
/**
|
|
394
|
+
* Checks whether the resolved resource can be served through the Server-Side Row Model.
|
|
395
|
+
* @remarks
|
|
396
|
+
* REQUEST_SERVER (req/rep) resources are only supported when the request reply declares
|
|
397
|
+
* `criteriaOnlyRequest` (`CRITERIA_ONLY_REQUEST` in its metadata). SSRM drives a req/rep
|
|
398
|
+
* resource purely through `DETAILS` - `CRITERIA_MATCH` for the grid filter model, `ORDER_BY`
|
|
399
|
+
* for the sort model and `OFFSET`/`VIEW_NUMBER` for paging - and sends an empty `REQUEST`
|
|
400
|
+
* payload. A request reply without `criteriaOnlyRequest` expects its inputs in `REQUEST`
|
|
401
|
+
* instead, so filtering, sorting and paging would silently do nothing.
|
|
402
|
+
*
|
|
403
|
+
* DATASERVER resources are always supported.
|
|
404
|
+
* @returns `true` when SSRM can be used, `false` after reporting a `resource-type` error.
|
|
405
|
+
* @internal
|
|
406
|
+
*/
|
|
407
|
+
isSsrmSupportedForResource() {
|
|
408
|
+
if (!this.isRequestServer || this.datasource.criteriaOnlyRequest) {
|
|
409
|
+
return true;
|
|
410
|
+
}
|
|
411
|
+
this.handleErrors(`Server-side row model is not supported for the REQUEST_SERVER resource '${this.resourceName}' because it does not support criteria-only requests. Set 'criteriaOnlyRequest = true' on the request reply definition, or use a client-side datasource for this resource.`, 'resource-type');
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
392
414
|
getResourceIndexes(avaialbleIndexes, availableSortableFields) {
|
|
393
415
|
const resourceIndexesMap = new Map();
|
|
394
416
|
const allSortableFields = new Set();
|
|
@@ -668,15 +690,9 @@ __decorate([
|
|
|
668
690
|
__decorate([
|
|
669
691
|
Datasource
|
|
670
692
|
], GridProServerSideDatasource.prototype, "pollingDatasource", void 0);
|
|
671
|
-
__decorate([
|
|
672
|
-
attr({ mode: 'boolean', attribute: 'zero-based-view-number' })
|
|
673
|
-
], GridProServerSideDatasource.prototype, "zeroBasedViewNumber", void 0);
|
|
674
693
|
__decorate([
|
|
675
694
|
attr({ mode: 'boolean', attribute: 'live-updates' })
|
|
676
695
|
], GridProServerSideDatasource.prototype, "liveUpdates", void 0);
|
|
677
|
-
__decorate([
|
|
678
|
-
attr({ attribute: 'paging-mode' })
|
|
679
|
-
], GridProServerSideDatasource.prototype, "pagingMode", void 0);
|
|
680
696
|
__decorate([
|
|
681
697
|
observable
|
|
682
698
|
], GridProServerSideDatasource.prototype, "request", void 0);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter, __decorate } from "tslib";
|
|
2
|
-
import { Auth, Connect
|
|
2
|
+
import { Auth, Connect } from '@genesislcap/foundation-comms';
|
|
3
3
|
import { UUID } from '@genesislcap/foundation-utils';
|
|
4
4
|
/**
|
|
5
5
|
* Base class for server-side resource datasources used in Grid Pro SSRM implementations.
|
|
@@ -9,7 +9,6 @@ import { UUID } from '@genesislcap/foundation-utils';
|
|
|
9
9
|
*/
|
|
10
10
|
export class BaseServerSideDatasource {
|
|
11
11
|
constructor(options) {
|
|
12
|
-
var _a;
|
|
13
12
|
this.rowData = new Map();
|
|
14
13
|
/**
|
|
15
14
|
* The number of rows in the grid. THIS DO NOT CONSIDER CRITERIA_MATCH scenarios.
|
|
@@ -36,9 +35,6 @@ export class BaseServerSideDatasource {
|
|
|
36
35
|
this.maxRows = options.maxRows;
|
|
37
36
|
this.maxView = options.maxView;
|
|
38
37
|
this.rowId = options.rowId;
|
|
39
|
-
this.zeroBasedViewNumber = options.zeroBasedViewNumber;
|
|
40
|
-
this.pagingMode = options.pagingMode;
|
|
41
|
-
this.criteriaOnlyRequest = (_a = options.criteriaOnlyRequest) !== null && _a !== void 0 ? _a : false;
|
|
42
38
|
}
|
|
43
39
|
/**
|
|
44
40
|
* Gets a resource parameter, handling both REQUEST_SERVER (DETAILS structure) and DATASERVER (flat structure)
|
|
@@ -385,9 +381,6 @@ export class BaseServerSideDatasource {
|
|
|
385
381
|
}
|
|
386
382
|
return rowCount;
|
|
387
383
|
}
|
|
388
|
-
get isNotFirstViewNumber() {
|
|
389
|
-
return this.zeroBasedViewNumber ? this.currentSequenceId > 0 : this.currentSequenceId > 1;
|
|
390
|
-
}
|
|
391
384
|
/** Completes an SSRM request with zero rows and invokes `onNoDataAvailableFunc` on the first block only. @internal */
|
|
392
385
|
completeEmptyResult(params) {
|
|
393
386
|
var _a, _b;
|
|
@@ -420,22 +413,6 @@ export class BaseServerSideDatasource {
|
|
|
420
413
|
var _a;
|
|
421
414
|
(_a = this.onDataAvailableFunc) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
422
415
|
}
|
|
423
|
-
/**
|
|
424
|
-
* Determines the effective paging mode based on criteriaOnlyRequest availability and user settings
|
|
425
|
-
*/
|
|
426
|
-
getEffectivePagingMode() {
|
|
427
|
-
// If user explicitly set a paging mode
|
|
428
|
-
if (this.pagingMode) {
|
|
429
|
-
// If criteriaOnlyRequest is not available but user wants offsetBased, warn and use viewBased
|
|
430
|
-
if (this.pagingMode === 'offsetBased' && !this.criteriaOnlyRequest) {
|
|
431
|
-
logger.warn('offsetBased paging mode requires criteriaOnlyRequest support. Falling back to viewBased mode.');
|
|
432
|
-
return 'viewBased';
|
|
433
|
-
}
|
|
434
|
-
return this.pagingMode;
|
|
435
|
-
}
|
|
436
|
-
// Auto-determine based on criteriaOnlyRequest availability
|
|
437
|
-
return this.criteriaOnlyRequest ? 'offsetBased' : 'viewBased';
|
|
438
|
-
}
|
|
439
416
|
}
|
|
440
417
|
__decorate([
|
|
441
418
|
Auth
|