@genesislcap/grid-pro 14.157.1-alpha-e60ad86.0 → 14.158.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.
- package/dist/custom-elements.json +272 -89
- package/dist/dts/datasource/base.datasource.d.ts +3 -1
- package/dist/dts/datasource/base.datasource.d.ts.map +1 -1
- package/dist/dts/datasource/client-side.grid-definitions.d.ts +9 -0
- package/dist/dts/datasource/client-side.grid-definitions.d.ts.map +1 -0
- package/dist/dts/datasource/server-side.datasource.d.ts +6 -5
- package/dist/dts/datasource/server-side.datasource.d.ts.map +1 -1
- package/dist/dts/datasource/server-side.grid-definitions.d.ts +1 -17
- package/dist/dts/datasource/server-side.grid-definitions.d.ts.map +1 -1
- package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts +24 -7
- package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts.map +1 -1
- package/dist/dts/grid-pro.d.ts +27 -18
- package/dist/dts/grid-pro.d.ts.map +1 -1
- package/dist/dts/grid-pro.definitions.d.ts +0 -8
- package/dist/dts/grid-pro.definitions.d.ts.map +1 -1
- package/dist/dts/state-persistence/kv-state.d.ts +6 -0
- package/dist/dts/state-persistence/kv-state.d.ts.map +1 -1
- package/dist/dts/state-persistence/local-state.d.ts +6 -0
- package/dist/dts/state-persistence/local-state.d.ts.map +1 -1
- package/dist/dts/state-persistence/state-persistence.d.ts +14 -0
- package/dist/dts/state-persistence/state-persistence.d.ts.map +1 -1
- package/dist/esm/datasource/base.datasource.js +59 -4
- package/dist/esm/datasource/client-side.grid-definitions.js +37 -0
- package/dist/esm/datasource/server-side.datasource.js +7 -40
- package/dist/esm/datasource/server-side.grid-definitions.js +1 -45
- package/dist/esm/grid-pro-genesis-datasource/grid-pro-genesis-datasource.js +7 -58
- package/dist/esm/grid-pro.definitions.js +10 -47
- package/dist/esm/grid-pro.js +37 -13
- package/dist/esm/state-persistence/kv-state.js +21 -0
- package/dist/esm/state-persistence/local-state.js +19 -0
- package/dist/grid-pro.api.json +516 -1
- package/dist/grid-pro.d.ts +85 -39
- package/docs/api/grid-pro.gridpro.getfiltermodel.md +17 -0
- package/docs/api/grid-pro.gridpro.md +5 -1
- package/docs/api/grid-pro.gridpro.persistcolumnstatekey.md +1 -1
- package/docs/api/grid-pro.gridpro.persistfiltermodelkey.md +13 -0
- package/docs/api/grid-pro.gridpro.restorecachedfilterconfig.md +15 -0
- package/docs/api/grid-pro.gridpro.setfiltermodel.md +24 -0
- package/docs/api/grid-pro.kvstoragestatepersistence.getfiltermodel.md +24 -0
- package/docs/api/grid-pro.kvstoragestatepersistence.md +2 -0
- package/docs/api/grid-pro.kvstoragestatepersistence.savefiltermodel.md +25 -0
- package/docs/api/grid-pro.localstoragestatepersistence.getfiltermodel.md +24 -0
- package/docs/api/grid-pro.localstoragestatepersistence.md +2 -0
- package/docs/api/grid-pro.localstoragestatepersistence.savefiltermodel.md +25 -0
- package/docs/api/grid-pro.statepersistence.getfiltermodel.md +26 -0
- package/docs/api/grid-pro.statepersistence.md +2 -0
- package/docs/api/grid-pro.statepersistence.savefiltermodel.md +27 -0
- package/docs/api-report.md +34 -3
- package/package.json +13 -13
package/dist/dts/grid-pro.d.ts
CHANGED
|
@@ -45,20 +45,6 @@ declare const GridPro_base: (new (...args: any[]) => {
|
|
|
45
45
|
removeEventListener<K_1 extends keyof HTMLElementEventMap>(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions): void;
|
|
46
46
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
47
47
|
readonly attributes: NamedNodeMap;
|
|
48
|
-
/**
|
|
49
|
-
* Injectable config that allows to change grid options on an app level basis
|
|
50
|
-
* To modify options, register instance of the config in DOM container that is
|
|
51
|
-
* above the grid or on the top level of the application, so it applies to all grids.
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* ```
|
|
55
|
-
* DI.getOrCreateDOMContainer().register([
|
|
56
|
-
* Registration.instance<GridOptionsConfig>(GridOptionsConfig, {
|
|
57
|
-
* headerHeight: 50,
|
|
58
|
-
* }),
|
|
59
|
-
* ]);
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
48
|
readonly classList: DOMTokenList;
|
|
63
49
|
className: string;
|
|
64
50
|
readonly clientHeight: number;
|
|
@@ -77,7 +63,20 @@ declare const GridPro_base: (new (...args: any[]) => {
|
|
|
77
63
|
readonly scrollHeight: number;
|
|
78
64
|
scrollLeft: number;
|
|
79
65
|
scrollTop: number;
|
|
80
|
-
readonly scrollWidth: number;
|
|
66
|
+
readonly scrollWidth: number; /**
|
|
67
|
+
* Injectable config that allows to change grid options on an app level basis
|
|
68
|
+
* To modify options, register instance of the config in DOM container that is
|
|
69
|
+
* above the grid or on the top level of the application, so it applies to all grids.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```
|
|
73
|
+
* DI.getOrCreateDOMContainer().register([
|
|
74
|
+
* Registration.instance<GridOptionsConfig>(GridOptionsConfig, {
|
|
75
|
+
* headerHeight: 50,
|
|
76
|
+
* }),
|
|
77
|
+
* ]);
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
81
80
|
readonly shadowRoot: ShadowRoot;
|
|
82
81
|
slot: string;
|
|
83
82
|
readonly tagName: string;
|
|
@@ -398,9 +397,13 @@ export declare class GridPro extends GridPro_base {
|
|
|
398
397
|
*/
|
|
399
398
|
enableRowFlashing: boolean;
|
|
400
399
|
/**
|
|
401
|
-
* The key to use for persisting the column state in local storage.
|
|
400
|
+
* The key to use for persisting the column state in local broswer or KV storage.
|
|
402
401
|
*/
|
|
403
402
|
persistColumnStateKey: string;
|
|
403
|
+
/**
|
|
404
|
+
* The key to use for persisting the filter model in local browser or KV storage.
|
|
405
|
+
*/
|
|
406
|
+
persistFilterModelKey: string;
|
|
404
407
|
/**
|
|
405
408
|
* The case type to use for the header names. If not set, the default CONSTANT_CASE will be used.
|
|
406
409
|
* @remarks Can be one of the following: camelCase, capitalCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase.
|
|
@@ -427,7 +430,13 @@ export declare class GridPro extends GridPro_base {
|
|
|
427
430
|
protected initialised: boolean;
|
|
428
431
|
private rehydrationAttempted;
|
|
429
432
|
private gridEventsQueue;
|
|
430
|
-
private
|
|
433
|
+
private _filterConfig;
|
|
434
|
+
getfilterModel(): Promise<{
|
|
435
|
+
[key: string]: any;
|
|
436
|
+
}>;
|
|
437
|
+
setFilterModel(value: {
|
|
438
|
+
[key: string]: any;
|
|
439
|
+
}): Promise<void>;
|
|
431
440
|
/**
|
|
432
441
|
* Injectable config that allows to change grid options on an app level basis
|
|
433
442
|
* To modify options, register instance of the config in DOM container that is
|
|
@@ -471,7 +480,7 @@ export declare class GridPro extends GridPro_base {
|
|
|
471
480
|
getSavedColumnState(): Promise<ColumnState[]>;
|
|
472
481
|
private restoreColumnState;
|
|
473
482
|
private cacheFilterConfig;
|
|
474
|
-
|
|
483
|
+
restoreCachedFilterConfig(): Promise<void>;
|
|
475
484
|
/**
|
|
476
485
|
* @public
|
|
477
486
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-pro.d.ts","sourceRoot":"","sources":["../../src/grid-pro.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,SAAS,EACT,WAAW,EAGX,IAAI,EACJ,OAAO,EACP,WAAW,EAGZ,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAqB/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAMrE,OAAO,EAKL,cAAc,EAId,iBAAiB,EACjB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC
|
|
1
|
+
{"version":3,"file":"grid-pro.d.ts","sourceRoot":"","sources":["../../src/grid-pro.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,14 +15,6 @@ export declare function getFilterByFieldType(type: string): string;
|
|
|
15
15
|
* @alpha
|
|
16
16
|
*/
|
|
17
17
|
export declare function getColumnType(metadataType: string): string;
|
|
18
|
-
/**
|
|
19
|
-
* Returns the filter params based on the Grid Pro field/column type.
|
|
20
|
-
* @param type - The type of the field/column
|
|
21
|
-
* @returns the filter params for the specified field type
|
|
22
|
-
* @remarks Currently only returns a default filter params object, for all field types
|
|
23
|
-
* @alpha
|
|
24
|
-
*/
|
|
25
|
-
export declare function getFilterParamsByFieldType(type: string): any;
|
|
26
18
|
/**
|
|
27
19
|
* Returns a formatted date value from the Grid Pro cell value.
|
|
28
20
|
* @param param - A ValueFormatterParams object.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-pro.definitions.d.ts","sourceRoot":"","sources":["../../src/grid-pro.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"grid-pro.definitions.d.ts","sourceRoot":"","sources":["../../src/grid-pro.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAczD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAS1D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,GAAG,GAAG,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,GAAG,GAAG,CAE3E;AAKD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC"}
|
|
@@ -11,5 +11,11 @@ export declare class KVStorageStatePersistence implements StatePersistence {
|
|
|
11
11
|
getColumnState(persistColumnStateKey: string): Promise<ColumnState[]>;
|
|
12
12
|
saveColumnState(persistColumnStateKey: string, columnState: ColumnState[]): Promise<void>;
|
|
13
13
|
private migrateLocalStorageToKVStorage;
|
|
14
|
+
getFilterModel(persistFilterModelKey: string): Promise<{
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}>;
|
|
17
|
+
saveFilterModel(persistFilterModelKey: string, filterModel: {
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
}): Promise<void>;
|
|
14
20
|
}
|
|
15
21
|
//# sourceMappingURL=kv-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv-state.d.ts","sourceRoot":"","sources":["../../../src/state-persistence/kv-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,gBAAgB;IACrD,SAAS,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IAEpB,cAAc,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAarE,eAAe,CAAC,qBAAqB,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YASjF,8BAA8B;
|
|
1
|
+
{"version":3,"file":"kv-state.d.ts","sourceRoot":"","sources":["../../../src/state-persistence/kv-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,gBAAgB;IACrD,SAAS,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IAEpB,cAAc,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAarE,eAAe,CAAC,qBAAqB,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YASjF,8BAA8B;IAsBtC,cAAc,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAW9E,eAAe,CACnB,qBAAqB,EAAE,MAAM,EAC7B,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAClC,OAAO,CAAC,IAAI,CAAC;CAQjB"}
|
|
@@ -9,5 +9,11 @@ export declare class LocalStorageStatePersistence implements StatePersistence {
|
|
|
9
9
|
session: Session;
|
|
10
10
|
getColumnState(persistColumnStateKey: string): Promise<ColumnState[]>;
|
|
11
11
|
saveColumnState(persistColumnStateKey: string, columnState: ColumnState[]): Promise<void>;
|
|
12
|
+
getFilterModel(persistFilterModelKey: string): Promise<{
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}>;
|
|
15
|
+
saveFilterModel(persistFilterModelKey: string, filterModel: {
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}): Promise<void>;
|
|
12
18
|
}
|
|
13
19
|
//# sourceMappingURL=local-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-state.d.ts","sourceRoot":"","sources":["../../../src/state-persistence/local-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,gBAAgB;IAC1D,OAAO,EAAE,OAAO,CAAC;IAEpB,cAAc,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAarE,eAAe,CAAC,qBAAqB,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"local-state.d.ts","sourceRoot":"","sources":["../../../src/state-persistence/local-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,gBAAgB;IAC1D,OAAO,EAAE,OAAO,CAAC;IAEpB,cAAc,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAarE,eAAe,CAAC,qBAAqB,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASzF,cAAc,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAa9E,eAAe,CACnB,qBAAqB,EAAE,MAAM,EAC7B,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAClC,OAAO,CAAC,IAAI,CAAC;CAQjB"}
|
|
@@ -15,6 +15,20 @@ export interface StatePersistence {
|
|
|
15
15
|
* @public
|
|
16
16
|
*/
|
|
17
17
|
saveColumnState(persistColumnStateKey: string, columnState: ColumnState[]): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the filter model for the given key.
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
getFilterModel(persistFilterModelKey: string): Promise<{
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Saves the filter model for the given key.
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
saveFilterModel(persistFilterModelKey: string, filterModel: {
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}): Promise<void>;
|
|
18
32
|
}
|
|
19
33
|
/**
|
|
20
34
|
* The DI token for the StatePersistence interface.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-persistence.d.ts","sourceRoot":"","sources":["../../../src/state-persistence/state-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,cAAc,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACtE;;;OAGG;IACH,eAAe,CAAC,qBAAqB,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"state-persistence.d.ts","sourceRoot":"","sources":["../../../src/state-persistence/state-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,cAAc,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACtE;;;OAGG;IACH,eAAe,CAAC,qBAAqB,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F;;;OAGG;IACH,cAAc,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAC;IAC/E;;;OAGG;IACH,eAAe,CACb,qBAAqB,EAAE,MAAM,EAC7B,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAClC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,wEAE5B,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { DatasourceDefaults } from '@genesislcap/foundation-comms';
|
|
2
|
+
import { DatasourceDefaults, FieldTypeEnum, logger, } from '@genesislcap/foundation-comms';
|
|
3
3
|
import { Connect } from '@genesislcap/foundation-comms';
|
|
4
4
|
import { attr, observable } from '@microsoft/fast-element';
|
|
5
5
|
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
6
|
+
import { dateValueFormatter, dateTimeValueFormatter, getColumnType, getFilterByFieldType, } from '../grid-pro.definitions';
|
|
7
|
+
import { GridProRendererTypes } from '../grid-pro.types';
|
|
6
8
|
export class GenesisGridDatasourceElement extends FoundationElement {
|
|
7
9
|
constructor() {
|
|
8
10
|
super(...arguments);
|
|
@@ -105,6 +107,58 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
|
|
|
105
107
|
update: [],
|
|
106
108
|
};
|
|
107
109
|
}
|
|
110
|
+
generateColumnDefsFromMetadata(fieldsMetadata, getFilterParamsByFieldType) {
|
|
111
|
+
return fieldsMetadata === null || fieldsMetadata === void 0 ? void 0 : fieldsMetadata.flatMap((field) => {
|
|
112
|
+
var _a;
|
|
113
|
+
const colDefBase = {};
|
|
114
|
+
colDefBase.filterParams = getFilterParamsByFieldType(field.type);
|
|
115
|
+
switch (field.type) {
|
|
116
|
+
case FieldTypeEnum.STRING:
|
|
117
|
+
colDefBase.cellEditor = GridProRendererTypes.stringEditor;
|
|
118
|
+
break;
|
|
119
|
+
case FieldTypeEnum.NUMBER:
|
|
120
|
+
colDefBase.cellEditor = GridProRendererTypes.numberEditor;
|
|
121
|
+
break;
|
|
122
|
+
case FieldTypeEnum.BOOLEAN:
|
|
123
|
+
if (this.agGrid.autoCellRendererByType) {
|
|
124
|
+
colDefBase.cellRenderer = GridProRendererTypes.boolean;
|
|
125
|
+
colDefBase.cellEditor = GridProRendererTypes.boolean;
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
case FieldTypeEnum.DATE:
|
|
129
|
+
colDefBase.valueFormatter = dateValueFormatter;
|
|
130
|
+
colDefBase.cellEditor = GridProRendererTypes.dateEditor;
|
|
131
|
+
break;
|
|
132
|
+
case FieldTypeEnum.DATETIME:
|
|
133
|
+
colDefBase.valueFormatter = dateTimeValueFormatter;
|
|
134
|
+
colDefBase.cellEditor = GridProRendererTypes.dateEditor;
|
|
135
|
+
colDefBase.cellEditorParams = {
|
|
136
|
+
withTime: true,
|
|
137
|
+
};
|
|
138
|
+
break;
|
|
139
|
+
case FieldTypeEnum.ENUM:
|
|
140
|
+
if (field.enumOptions) {
|
|
141
|
+
colDefBase.cellEditor = GridProRendererTypes.selectEditor;
|
|
142
|
+
colDefBase.cellEditorParams = {
|
|
143
|
+
values: field.enumOptions.map((option) => ({ value: option, label: option })),
|
|
144
|
+
valueField: 'value',
|
|
145
|
+
labelField: 'label',
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
logger.warn(`No enumOptions found for field ${field.name}. Default cell editor applied.`);
|
|
150
|
+
}
|
|
151
|
+
break;
|
|
152
|
+
default:
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
const colDefExtras = (_a = this.agGrid.gridApi) === null || _a === void 0 ? void 0 : _a.getColumnDef(field.name);
|
|
156
|
+
if (this.fields && !this.fields.includes(field.name)) {
|
|
157
|
+
return [];
|
|
158
|
+
}
|
|
159
|
+
return Object.assign(Object.assign({ field: field.name, type: getColumnType(field.type), filter: getFilterByFieldType(field.type) }, colDefBase), colDefExtras);
|
|
160
|
+
});
|
|
161
|
+
}
|
|
108
162
|
handleStreamInserts(insertedRows) {
|
|
109
163
|
insertedRows === null || insertedRows === void 0 ? void 0 : insertedRows.forEach((insertData) => {
|
|
110
164
|
if (this.rowData.has(insertData[this.rowId]) || this.dataSubWasLoggedOff) {
|
|
@@ -148,6 +202,7 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
|
|
|
148
202
|
});
|
|
149
203
|
}
|
|
150
204
|
applyAllAgTransactions() {
|
|
205
|
+
var _a, _b, _c;
|
|
151
206
|
if (!this.agTransaction.add.length &&
|
|
152
207
|
!this.agTransaction.update.length &&
|
|
153
208
|
!this.agTransaction.remove.length) {
|
|
@@ -157,13 +212,13 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
|
|
|
157
212
|
}
|
|
158
213
|
return;
|
|
159
214
|
}
|
|
160
|
-
if (this.agTransaction.add.length > 0) {
|
|
215
|
+
if (((_a = this.agTransaction.add) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
161
216
|
this.applyMappedAgTransaction({ add: this.agTransaction.add, addIndex: this.agGrid.addIndex }, OperationType.Add, this.agGrid.asyncAdd);
|
|
162
217
|
}
|
|
163
|
-
if (this.agTransaction.remove.length > 0) {
|
|
218
|
+
if (((_b = this.agTransaction.remove) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
164
219
|
this.applyMappedAgTransaction({ remove: this.agTransaction.remove }, OperationType.Remove, this.agGrid.asyncRemove);
|
|
165
220
|
}
|
|
166
|
-
if (this.agTransaction.update.length > 0) {
|
|
221
|
+
if (((_c = this.agTransaction.update) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
|
167
222
|
this.applyMappedAgTransaction({ update: this.agTransaction.update }, OperationType.Update, this.agGrid.asyncUpdate);
|
|
168
223
|
}
|
|
169
224
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { FieldTypeEnum } from '@genesislcap/foundation-comms';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the filter params based on the Grid Pro field/column type.
|
|
4
|
+
* @param type - The type of the field/column
|
|
5
|
+
* @returns the filter params for the specified field type
|
|
6
|
+
* @remarks Currently only returns a default filter params object, for all field types
|
|
7
|
+
* @alpha
|
|
8
|
+
*/
|
|
9
|
+
export function getClientSideFilterParamsByFieldType(type) {
|
|
10
|
+
switch (type) {
|
|
11
|
+
case FieldTypeEnum.DATE:
|
|
12
|
+
case FieldTypeEnum.DATETIME: {
|
|
13
|
+
return {
|
|
14
|
+
comparator: function (filterLocalDateAtMidnight, cellValue) {
|
|
15
|
+
if (!cellValue)
|
|
16
|
+
return -1;
|
|
17
|
+
const cellValueTime = new Date(cellValue).setHours(0, 0, 0, 0);
|
|
18
|
+
const filterValueTime = filterLocalDateAtMidnight.getTime();
|
|
19
|
+
if (cellValueTime === filterValueTime) {
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
if (cellValueTime < filterValueTime) {
|
|
23
|
+
return -1;
|
|
24
|
+
}
|
|
25
|
+
if (cellValueTime > filterValueTime) {
|
|
26
|
+
return 1;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
buttons: ['reset', 'apply'],
|
|
30
|
+
closeOnApply: true,
|
|
31
|
+
closeOnClear: true,
|
|
32
|
+
suppressAndOrCondition: true,
|
|
33
|
+
browserDatePicker: true,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { __awaiter, __decorate } from "tslib";
|
|
2
|
-
import { Auth, Connect, dataServerResultFilter, extractFieldDefinitions,
|
|
2
|
+
import { Auth, Connect, dataServerResultFilter, extractFieldDefinitions, MessageType, normaliseCriteria, toFieldMetadata, } from '@genesislcap/foundation-comms';
|
|
3
3
|
import { LifecycleMixin } from '@genesislcap/foundation-utils';
|
|
4
4
|
import { attr, customElement, DOM } from '@microsoft/fast-element';
|
|
5
5
|
import { take } from 'rxjs/operators';
|
|
6
|
-
import { dateTimeValueFormatter, dateValueFormatter } from '../grid-pro.definitions';
|
|
7
|
-
import { GridProRendererTypes } from '../grid-pro.types';
|
|
8
6
|
import { getAvailableIndexes, getAvailableIndexFields, logger } from '../utils';
|
|
9
7
|
import { GridProBaseDatasource, StreamBaseDatasource } from './base.datasource';
|
|
10
|
-
import {
|
|
8
|
+
import { getServerSideFilterParamsByFieldType } from './server-side.grid-definitions';
|
|
11
9
|
/**
|
|
12
10
|
* The IServerSideDatasource implementation, used for SSRM (Server-Side Row Model) in the grid.
|
|
13
11
|
* @alpha
|
|
@@ -484,42 +482,11 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
|
|
|
484
482
|
}
|
|
485
483
|
getAgColumnDefs(fieldsMetadata) {
|
|
486
484
|
return __awaiter(this, void 0, void 0, function* () {
|
|
487
|
-
const colDefsFromGenesisData = fieldsMetadata
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
case FieldTypeEnum.NUMBER:
|
|
493
|
-
colDefBase.cellEditor = GridProRendererTypes.numberEditor;
|
|
494
|
-
break;
|
|
495
|
-
case FieldTypeEnum.BOOLEAN:
|
|
496
|
-
if (this.agGrid.autoCellRendererByType) {
|
|
497
|
-
colDefBase.cellRenderer = GridProRendererTypes.boolean;
|
|
498
|
-
colDefBase.cellEditor = GridProRendererTypes.boolean;
|
|
499
|
-
}
|
|
500
|
-
break;
|
|
501
|
-
case FieldTypeEnum.DATE:
|
|
502
|
-
colDefBase.valueFormatter = dateValueFormatter;
|
|
503
|
-
break;
|
|
504
|
-
case FieldTypeEnum.DATETIME:
|
|
505
|
-
colDefBase.valueFormatter = dateTimeValueFormatter;
|
|
506
|
-
break;
|
|
507
|
-
case FieldTypeEnum.ENUM:
|
|
508
|
-
colDefBase.cellEditor = GridProRendererTypes.selectEditor;
|
|
509
|
-
colDefBase.cellEditorParams = {
|
|
510
|
-
values: field.enumOptions.map((option) => ({ value: option, label: option })),
|
|
511
|
-
valueField: 'value',
|
|
512
|
-
labelField: 'label',
|
|
513
|
-
};
|
|
514
|
-
break;
|
|
515
|
-
default:
|
|
516
|
-
break;
|
|
517
|
-
}
|
|
518
|
-
const templateColDef = (_a = this.agGrid.gridApi) === null || _a === void 0 ? void 0 : _a.getColumnDef(field.name);
|
|
519
|
-
if (this.fields && !this.fields.includes(field.name)) {
|
|
520
|
-
return [];
|
|
521
|
-
}
|
|
522
|
-
return Object.assign(Object.assign({ field: field.name, type: getColumnType(field.type), filter: getFilterByFieldType(field.type), sortable: [].concat(...this.indexes.values()).includes(field.name) }, colDefBase), templateColDef);
|
|
485
|
+
const colDefsFromGenesisData = this.generateColumnDefsFromMetadata(fieldsMetadata, getServerSideFilterParamsByFieldType);
|
|
486
|
+
colDefsFromGenesisData.map((colDef) => {
|
|
487
|
+
return {
|
|
488
|
+
sortable: [].concat(...this.indexes.values()).includes(colDef.field),
|
|
489
|
+
};
|
|
523
490
|
});
|
|
524
491
|
const colDefsMergedWithTemplateDefs = yield this.agGrid.mergeAllColumnDefsAndStates(colDefsFromGenesisData, true);
|
|
525
492
|
return colDefsMergedWithTemplateDefs;
|
|
@@ -1,48 +1,4 @@
|
|
|
1
1
|
import { FieldTypeEnum } from '@genesislcap/foundation-comms';
|
|
2
|
-
/**
|
|
3
|
-
* Returns a filter type based on the Grid Pro field/column type.
|
|
4
|
-
* @param type - The type of the field/column
|
|
5
|
-
* @returns The ag-grid filter type
|
|
6
|
-
* @remarks Currently only returns agTextColumnFilter
|
|
7
|
-
* @alpha
|
|
8
|
-
*/
|
|
9
|
-
export function getFilterByFieldType(type) {
|
|
10
|
-
switch (type === null || type === void 0 ? void 0 : type.toLowerCase()) {
|
|
11
|
-
case 'int':
|
|
12
|
-
case 'long':
|
|
13
|
-
case 'double':
|
|
14
|
-
case 'bigdecimal':
|
|
15
|
-
case 'number':
|
|
16
|
-
return 'agNumberColumnFilter';
|
|
17
|
-
case 'date':
|
|
18
|
-
case 'datetime':
|
|
19
|
-
return 'agDateColumnFilter';
|
|
20
|
-
default:
|
|
21
|
-
return 'agTextColumnFilter';
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Return a column type base on each field's metadata from the selected resource.
|
|
26
|
-
* @param metadataType - The type of the field/column
|
|
27
|
-
* @returns the column type
|
|
28
|
-
* @remarks Currently only handles numeric columns
|
|
29
|
-
* @alpha
|
|
30
|
-
*/
|
|
31
|
-
export function getColumnType(metadataType) {
|
|
32
|
-
switch (metadataType === null || metadataType === void 0 ? void 0 : metadataType.toLowerCase()) {
|
|
33
|
-
case 'int':
|
|
34
|
-
case 'long':
|
|
35
|
-
case 'double':
|
|
36
|
-
case 'bigdecimal':
|
|
37
|
-
case 'number':
|
|
38
|
-
return 'numericColumn';
|
|
39
|
-
case 'date':
|
|
40
|
-
case 'datetime':
|
|
41
|
-
return 'dateColumn';
|
|
42
|
-
default:
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
2
|
/**
|
|
47
3
|
* Returns the filter params based on the Grid Pro field/column type.
|
|
48
4
|
* @param type - The type of the field/column
|
|
@@ -50,7 +6,7 @@ export function getColumnType(metadataType) {
|
|
|
50
6
|
* @remarks Currently only returns a default filter params object, for all field types
|
|
51
7
|
* @alpha
|
|
52
8
|
*/
|
|
53
|
-
export function
|
|
9
|
+
export function getServerSideFilterParamsByFieldType(type) {
|
|
54
10
|
switch (type) {
|
|
55
11
|
case FieldTypeEnum.BOOLEAN: {
|
|
56
12
|
return {
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { __awaiter, __decorate } from "tslib";
|
|
2
|
-
import { Auth, Datasource, DatasourceDefaults,
|
|
2
|
+
import { Auth, Datasource, DatasourceDefaults, MessageType, ResourceType, dataServerResultFilter, normaliseCriteria, } from '@genesislcap/foundation-comms';
|
|
3
3
|
import { LifecycleMixin } from '@genesislcap/foundation-utils';
|
|
4
4
|
import { DOM, attr, customElement, observable } from '@microsoft/fast-element';
|
|
5
5
|
import { BehaviorSubject, EMPTY } from 'rxjs';
|
|
6
6
|
import { catchError, debounceTime, skip, tap } from 'rxjs/operators';
|
|
7
7
|
import { GridProBaseDatasource } from '../datasource/base.datasource';
|
|
8
|
-
import {
|
|
9
|
-
import { GridProRendererTypes } from '../grid-pro.types';
|
|
8
|
+
import { getClientSideFilterParamsByFieldType } from '../datasource/client-side.grid-definitions';
|
|
10
9
|
import { logger } from '../utils/logger';
|
|
11
10
|
const criteriaDelimiter = ';';
|
|
12
11
|
const criteriaJoin = ' && ';
|
|
@@ -217,7 +216,9 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
|
|
|
217
216
|
}
|
|
218
217
|
}
|
|
219
218
|
const data = this.rowDataMapper ? this.rowDataMapper(rowData) : rowData;
|
|
220
|
-
this.agGrid.
|
|
219
|
+
this.agGrid.restoreCachedFilterConfig();
|
|
220
|
+
this.agTransaction = { add: [...data], remove: [], update: [], addIndex: 0 };
|
|
221
|
+
this.applyAllAgTransactions();
|
|
221
222
|
this.requiresFullRowDataAndColDefs = false;
|
|
222
223
|
});
|
|
223
224
|
}
|
|
@@ -391,60 +392,8 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
|
|
|
391
392
|
// FUTURE: Work with the field types vs ag grid column def types!
|
|
392
393
|
getAgColumnDefs(fieldsMetadata) {
|
|
393
394
|
return __awaiter(this, void 0, void 0, function* () {
|
|
394
|
-
const
|
|
395
|
-
|
|
396
|
-
const colDefBase = {};
|
|
397
|
-
colDefBase.filterParams = getFilterParamsByFieldType(field.type);
|
|
398
|
-
switch (field.type) {
|
|
399
|
-
case FieldTypeEnum.STRING:
|
|
400
|
-
colDefBase.cellEditor = GridProRendererTypes.stringEditor;
|
|
401
|
-
break;
|
|
402
|
-
case FieldTypeEnum.NUMBER:
|
|
403
|
-
colDefBase.cellEditor = GridProRendererTypes.numberEditor;
|
|
404
|
-
colDefBase.filter = 'agNumberColumnFilter';
|
|
405
|
-
break;
|
|
406
|
-
case FieldTypeEnum.BOOLEAN:
|
|
407
|
-
if (this.agGrid.autoCellRendererByType) {
|
|
408
|
-
colDefBase.cellRenderer = GridProRendererTypes.boolean;
|
|
409
|
-
colDefBase.cellEditor = GridProRendererTypes.boolean;
|
|
410
|
-
}
|
|
411
|
-
break;
|
|
412
|
-
case FieldTypeEnum.DATE:
|
|
413
|
-
colDefBase.valueFormatter = dateValueFormatter;
|
|
414
|
-
colDefBase.cellEditor = GridProRendererTypes.dateEditor;
|
|
415
|
-
colDefBase.filter = 'agDateColumnFilter';
|
|
416
|
-
break;
|
|
417
|
-
case FieldTypeEnum.DATETIME:
|
|
418
|
-
colDefBase.valueFormatter = dateTimeValueFormatter;
|
|
419
|
-
colDefBase.filter = 'agDateColumnFilter';
|
|
420
|
-
colDefBase.cellEditor = GridProRendererTypes.dateEditor;
|
|
421
|
-
colDefBase.cellEditorParams = {
|
|
422
|
-
withTime: true,
|
|
423
|
-
};
|
|
424
|
-
break;
|
|
425
|
-
case FieldTypeEnum.ENUM:
|
|
426
|
-
if (field.enumOptions) {
|
|
427
|
-
colDefBase.cellEditor = GridProRendererTypes.selectEditor;
|
|
428
|
-
colDefBase.cellEditorParams = {
|
|
429
|
-
values: field.enumOptions.map((option) => ({ value: option, label: option })),
|
|
430
|
-
valueField: 'value',
|
|
431
|
-
labelField: 'label',
|
|
432
|
-
};
|
|
433
|
-
}
|
|
434
|
-
else {
|
|
435
|
-
logger.warn(`No enumOptions found for field ${field.name}. Default cell editor applied.`);
|
|
436
|
-
}
|
|
437
|
-
break;
|
|
438
|
-
default:
|
|
439
|
-
break;
|
|
440
|
-
}
|
|
441
|
-
const colDefExtras = (_a = this.agGrid.gridApi) === null || _a === void 0 ? void 0 : _a.getColumnDef(field.name);
|
|
442
|
-
if (this.fields && !this.fields.includes(field.name)) {
|
|
443
|
-
return [];
|
|
444
|
-
}
|
|
445
|
-
return Object.assign(Object.assign({ field: field.name }, colDefBase), colDefExtras);
|
|
446
|
-
});
|
|
447
|
-
const colDefsMergedWithTemplateDefs = yield this.agGrid.mergeAllColumnDefsAndStates(colDefsFromGenesisData, true);
|
|
395
|
+
const columnDefsFromMetadata = this.generateColumnDefsFromMetadata(fieldsMetadata, getClientSideFilterParamsByFieldType);
|
|
396
|
+
const colDefsMergedWithTemplateDefs = yield this.agGrid.mergeAllColumnDefsAndStates(columnDefsFromMetadata, true);
|
|
448
397
|
return colDefsMergedWithTemplateDefs;
|
|
449
398
|
});
|
|
450
399
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { FieldTypeEnum } from '@genesislcap/foundation-comms';
|
|
2
1
|
import { formatDateTimestamp, formatDateTimeTimestamp } from '@genesislcap/foundation-utils';
|
|
3
2
|
/**
|
|
4
3
|
* Returns a filter type based on the Grid Pro field/column type.
|
|
@@ -8,16 +7,16 @@ import { formatDateTimestamp, formatDateTimeTimestamp } from '@genesislcap/found
|
|
|
8
7
|
* @alpha
|
|
9
8
|
*/
|
|
10
9
|
export function getFilterByFieldType(type) {
|
|
11
|
-
switch (type) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
switch (type === null || type === void 0 ? void 0 : type.toLowerCase()) {
|
|
11
|
+
case 'int':
|
|
12
|
+
case 'long':
|
|
13
|
+
case 'double':
|
|
14
|
+
case 'bigdecimal':
|
|
15
|
+
case 'number':
|
|
16
|
+
return 'agNumberColumnFilter';
|
|
17
|
+
case 'date':
|
|
18
|
+
case 'datetime':
|
|
19
|
+
return 'agDateColumnFilter';
|
|
21
20
|
default:
|
|
22
21
|
return 'agTextColumnFilter';
|
|
23
22
|
}
|
|
@@ -39,42 +38,6 @@ export function getColumnType(metadataType) {
|
|
|
39
38
|
return 'numericColumn';
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Returns the filter params based on the Grid Pro field/column type.
|
|
44
|
-
* @param type - The type of the field/column
|
|
45
|
-
* @returns the filter params for the specified field type
|
|
46
|
-
* @remarks Currently only returns a default filter params object, for all field types
|
|
47
|
-
* @alpha
|
|
48
|
-
*/
|
|
49
|
-
export function getFilterParamsByFieldType(type) {
|
|
50
|
-
switch (type) {
|
|
51
|
-
case FieldTypeEnum.DATE:
|
|
52
|
-
case FieldTypeEnum.DATETIME: {
|
|
53
|
-
return {
|
|
54
|
-
comparator: function (filterLocalDateAtMidnight, cellValue) {
|
|
55
|
-
if (!cellValue)
|
|
56
|
-
return -1;
|
|
57
|
-
const cellValueTime = new Date(cellValue).setHours(0, 0, 0, 0);
|
|
58
|
-
const filterValueTime = filterLocalDateAtMidnight.getTime();
|
|
59
|
-
if (cellValueTime === filterValueTime) {
|
|
60
|
-
return 0;
|
|
61
|
-
}
|
|
62
|
-
if (cellValueTime < filterValueTime) {
|
|
63
|
-
return -1;
|
|
64
|
-
}
|
|
65
|
-
if (cellValueTime > filterValueTime) {
|
|
66
|
-
return 1;
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
buttons: ['reset', 'apply'],
|
|
70
|
-
closeOnApply: true,
|
|
71
|
-
closeOnClear: true,
|
|
72
|
-
suppressAndOrCondition: true,
|
|
73
|
-
browserDatePicker: true,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
41
|
/**
|
|
79
42
|
* Returns a formatted date value from the Grid Pro cell value.
|
|
80
43
|
* @param param - A ValueFormatterParams object.
|