@genesislcap/grid-pro 14.151.0 → 14.151.2-alpha-6dc6e2c.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.
@@ -263,26 +263,6 @@
263
263
  "kind": "javascript-module",
264
264
  "path": "src/grid-pro.ts",
265
265
  "declarations": [
266
- {
267
- "kind": "function",
268
- "name": "convertToKebabCase",
269
- "parameters": [
270
- {
271
- "name": "value",
272
- "type": {
273
- "text": "string"
274
- },
275
- "description": "The value to convert to Kebab case."
276
- }
277
- ],
278
- "description": "Convert string values from 'camelCase' to 'kebab-case'",
279
- "return": {
280
- "type": {
281
- "text": ""
282
- }
283
- },
284
- "privacy": "public"
285
- },
286
266
  {
287
267
  "kind": "class",
288
268
  "description": "The Grid Pro element.",
@@ -474,6 +454,15 @@
474
454
  }
475
455
  ]
476
456
  },
457
+ {
458
+ "kind": "field",
459
+ "name": "blockScrollingOnContextMenu",
460
+ "type": {
461
+ "text": "boolean"
462
+ },
463
+ "default": "false",
464
+ "description": "If true, will block scrolling when context menu is open and keep the grid in the same position without scrolling to new records"
465
+ },
477
466
  {
478
467
  "kind": "field",
479
468
  "name": "classNames",
@@ -562,6 +551,20 @@
562
551
  "privacy": "private",
563
552
  "default": "undefined"
564
553
  },
554
+ {
555
+ "kind": "field",
556
+ "name": "selectedRowId",
557
+ "type": {
558
+ "text": "string"
559
+ }
560
+ },
561
+ {
562
+ "kind": "field",
563
+ "name": "selectedColId",
564
+ "type": {
565
+ "text": "string"
566
+ }
567
+ },
565
568
  {
566
569
  "kind": "field",
567
570
  "name": "gridOptionsConfig",
@@ -1130,6 +1133,15 @@
1130
1133
  "text": "string"
1131
1134
  },
1132
1135
  "fieldName": "theme"
1136
+ },
1137
+ {
1138
+ "name": "block-scrolling-on-context-menu",
1139
+ "type": {
1140
+ "text": "boolean"
1141
+ },
1142
+ "default": "false",
1143
+ "description": "If true, will block scrolling when context menu is open and keep the grid in the same position without scrolling to new records",
1144
+ "fieldName": "blockScrollingOnContextMenu"
1133
1145
  }
1134
1146
  ],
1135
1147
  "mixins": [
@@ -1173,14 +1185,6 @@
1173
1185
  }
1174
1186
  ],
1175
1187
  "exports": [
1176
- {
1177
- "kind": "js",
1178
- "name": "convertToKebabCase",
1179
- "declaration": {
1180
- "name": "convertToKebabCase",
1181
- "module": "src/grid-pro.ts"
1182
- }
1183
- },
1184
1188
  {
1185
1189
  "kind": "js",
1186
1190
  "name": "GridPro",
@@ -5933,6 +5937,11 @@
5933
5937
  }
5934
5938
  ]
5935
5939
  },
5940
+ {
5941
+ "kind": "method",
5942
+ "name": "setPreviouslySelectedCell",
5943
+ "privacy": "private"
5944
+ },
5936
5945
  {
5937
5946
  "kind": "method",
5938
5947
  "name": "applyTransaction",
@@ -7216,6 +7225,15 @@
7216
7225
  "module": "src/datasource/base.datasource.ts"
7217
7226
  }
7218
7227
  },
7228
+ {
7229
+ "kind": "method",
7230
+ "name": "setPreviouslySelectedCell",
7231
+ "privacy": "private",
7232
+ "inheritedFrom": {
7233
+ "name": "GridProBaseDatasource",
7234
+ "module": "src/datasource/base.datasource.ts"
7235
+ }
7236
+ },
7219
7237
  {
7220
7238
  "kind": "method",
7221
7239
  "name": "mapTransaction",
@@ -7934,13 +7952,25 @@
7934
7952
  },
7935
7953
  {
7936
7954
  "kind": "method",
7937
- "name": "dataLogoff",
7938
- "privacy": "private"
7955
+ "name": "dataLogoff"
7939
7956
  },
7940
7957
  {
7941
7958
  "kind": "method",
7942
7959
  "name": "restartSubscription",
7943
- "privacy": "private"
7960
+ "privacy": "private",
7961
+ "return": {
7962
+ "type": {
7963
+ "text": "Promise<void>"
7964
+ }
7965
+ },
7966
+ "parameters": [
7967
+ {
7968
+ "name": "params",
7969
+ "type": {
7970
+ "text": "IServerSideGetRowsParams"
7971
+ }
7972
+ }
7973
+ ]
7944
7974
  },
7945
7975
  {
7946
7976
  "kind": "method",
@@ -8150,11 +8180,11 @@
8150
8180
  },
8151
8181
  {
8152
8182
  "kind": "method",
8153
- "name": "init"
8183
+ "name": "deinit"
8154
8184
  },
8155
8185
  {
8156
8186
  "kind": "method",
8157
- "name": "reset"
8187
+ "name": "init"
8158
8188
  },
8159
8189
  {
8160
8190
  "kind": "method",
@@ -8163,7 +8193,13 @@
8163
8193
  {
8164
8194
  "kind": "method",
8165
8195
  "name": "clearRowData",
8166
- "privacy": "private"
8196
+ "privacy": "private",
8197
+ "parameters": [
8198
+ {
8199
+ "name": "withColumnDefs",
8200
+ "default": "true"
8201
+ }
8202
+ ]
8167
8203
  },
8168
8204
  {
8169
8205
  "kind": "method",
@@ -8501,6 +8537,15 @@
8501
8537
  "module": "src/datasource/base.datasource.ts"
8502
8538
  }
8503
8539
  },
8540
+ {
8541
+ "kind": "method",
8542
+ "name": "setPreviouslySelectedCell",
8543
+ "privacy": "private",
8544
+ "inheritedFrom": {
8545
+ "name": "GridProBaseDatasource",
8546
+ "module": "src/datasource/base.datasource.ts"
8547
+ }
8548
+ },
8504
8549
  {
8505
8550
  "kind": "method",
8506
8551
  "name": "mapTransaction",
@@ -9970,6 +10015,15 @@
9970
10015
  "module": "src/datasource/base.datasource.ts"
9971
10016
  }
9972
10017
  },
10018
+ {
10019
+ "kind": "method",
10020
+ "name": "setPreviouslySelectedCell",
10021
+ "privacy": "private",
10022
+ "inheritedFrom": {
10023
+ "name": "GridProBaseDatasource",
10024
+ "module": "src/datasource/base.datasource.ts"
10025
+ }
10026
+ },
9973
10027
  {
9974
10028
  "kind": "method",
9975
10029
  "name": "mapTransaction",
@@ -10638,6 +10692,14 @@
10638
10692
  "name": "*",
10639
10693
  "package": "./sanitasations"
10640
10694
  }
10695
+ },
10696
+ {
10697
+ "kind": "js",
10698
+ "name": "*",
10699
+ "declaration": {
10700
+ "name": "*",
10701
+ "package": "./string"
10702
+ }
10641
10703
  }
10642
10704
  ]
10643
10705
  },
@@ -10753,6 +10815,42 @@
10753
10815
  }
10754
10816
  ]
10755
10817
  },
10818
+ {
10819
+ "kind": "javascript-module",
10820
+ "path": "src/utils/string.ts",
10821
+ "declarations": [
10822
+ {
10823
+ "kind": "function",
10824
+ "name": "convertToKebabCase",
10825
+ "parameters": [
10826
+ {
10827
+ "name": "value",
10828
+ "type": {
10829
+ "text": "string"
10830
+ },
10831
+ "description": "The value to convert to Kebab case."
10832
+ }
10833
+ ],
10834
+ "description": "Convert string values from 'camelCase' to 'kebab-case'",
10835
+ "return": {
10836
+ "type": {
10837
+ "text": ""
10838
+ }
10839
+ },
10840
+ "privacy": "public"
10841
+ }
10842
+ ],
10843
+ "exports": [
10844
+ {
10845
+ "kind": "js",
10846
+ "name": "convertToKebabCase",
10847
+ "declaration": {
10848
+ "name": "convertToKebabCase",
10849
+ "module": "src/utils/string.ts"
10850
+ }
10851
+ }
10852
+ ]
10853
+ },
10756
10854
  {
10757
10855
  "kind": "javascript-module",
10758
10856
  "path": "src/cell-renderers/utils/accessor.ts",
@@ -1,4 +1,4 @@
1
- import type { ColumnState, GridOptions, RowDataTransaction, ServerSideTransaction } from '@ag-grid-community/core';
1
+ import { ColumnState, GridOptions, RowDataTransaction, ServerSideTransaction } from '@ag-grid-community/core';
2
2
  import { Connect } from '@genesislcap/foundation-comms';
3
3
  import { FoundationElement } from '@microsoft/fast-foundation';
4
4
  import { GridPro } from '../grid-pro';
@@ -57,6 +57,7 @@ export declare class GridProBaseDatasource extends GenesisGridDatasourceElement
57
57
  protected applyAllAgTransactions(): void;
58
58
  private flashAddedCells;
59
59
  private applyMappedAgTransaction;
60
+ private setPreviouslySelectedCell;
60
61
  protected applyTransaction(agTransaction: RowDataTransaction): any;
61
62
  protected applyTransactionAsync(agTransaction: RowDataTransaction, callback?: (res: any) => void): void;
62
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"base.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/base.datasource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,qBAAa,4BAA6B,SAAQ,iBAAiB;IACxD,OAAO,EAAG,OAAO,CAAC;IAEf,mBAAmB,EAAE,WAAW,CAAC;IACjC,oBAAoB,EAAE,WAAW,EAAE,CAAC;IAEhD;;OAEG;IACS,aAAa,EAAE,QAAQ,CAAC;IAE9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACgC,UAAU,UAAS;IACvC,OAAO,EAAE,MAAM,CAAmC;IAClD,OAAO,EAAE,MAAM,CAAoC;IAC/B,UAAU,UAAS;IACvC,OAAO,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IAChC,OAAO,UAAS;IAE3C;;;;;OAKG;IAC4B,SAAS,MAAC;IAMzC,SAAS,KAAK,KAAK,IAAI,MAAM,CAI5B;IAED;;;OAGG;IACH,SAAS,KAAK,eAAe,IAAI,OAAO,CAMvC;IAED,SAAS,KAAK,0BAA0B,IAAI,MAAM,CAIjD;IAED,SAAS,CAAC,eAAe,UAAS;IAElC,SAAS,KAAK,MAAM,IAAI,OAAO,GAAG,IAAI,CAErC;CACF;AAED;;;GAGG;AACH,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,qBAAa,qBAAsB,SAAQ,4BAA4B;IACrE,SAAS,CAAC,mBAAmB,UAAS;IAEtC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAa;IAEtC,SAAS,CAAC,aAAa,EAAE,kBAAkB,GAAG,qBAAqB,CAIjE;IAEF,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAErC,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE;IAgBjD,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE;IAgBhD,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE;IAuBhD,SAAS,CAAC,sBAAsB;IAsChC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,wBAAwB;IAkBhC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,kBAAkB,GAAG,GAAG;IAIlE,SAAS,CAAC,qBAAqB,CAAC,aAAa,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,IAAI;IAI3F;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAwBvB;AAED,qBAAa,oBAAoB;IAC/B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAa;CACvC"}
1
+ {"version":3,"file":"base.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/base.datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,qBAAa,4BAA6B,SAAQ,iBAAiB;IACxD,OAAO,EAAG,OAAO,CAAC;IAEf,mBAAmB,EAAE,WAAW,CAAC;IACjC,oBAAoB,EAAE,WAAW,EAAE,CAAC;IAEhD;;OAEG;IACS,aAAa,EAAE,QAAQ,CAAC;IAE9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACgC,UAAU,UAAS;IACvC,OAAO,EAAE,MAAM,CAAmC;IAClD,OAAO,EAAE,MAAM,CAAoC;IAC/B,UAAU,UAAS;IACvC,OAAO,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IAChC,OAAO,UAAS;IAE3C;;;;;OAKG;IAC4B,SAAS,MAAC;IAMzC,SAAS,KAAK,KAAK,IAAI,MAAM,CAI5B;IAED;;;OAGG;IACH,SAAS,KAAK,eAAe,IAAI,OAAO,CAMvC;IAED,SAAS,KAAK,0BAA0B,IAAI,MAAM,CAIjD;IAED,SAAS,CAAC,eAAe,UAAS;IAElC,SAAS,KAAK,MAAM,IAAI,OAAO,GAAG,IAAI,CAErC;CACF;AAED;;;GAGG;AACH,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,qBAAa,qBAAsB,SAAQ,4BAA4B;IACrE,SAAS,CAAC,mBAAmB,UAAS;IAEtC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAa;IAEtC,SAAS,CAAC,aAAa,EAAE,kBAAkB,GAAG,qBAAqB,CAIjE;IAEF,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAErC,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE;IAgBjD,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE;IAgBhD,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE;IAuBhD,SAAS,CAAC,sBAAsB;IAsChC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,wBAAwB;IAqChC,OAAO,CAAC,yBAAyB;IAejC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,kBAAkB,GAAG,GAAG;IAIlE,SAAS,CAAC,qBAAqB,CAAC,aAAa,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,IAAI;IAI3F;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAwBvB;AAED,qBAAa,oBAAoB;IAC/B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAa;CACvC"}
@@ -53,7 +53,7 @@ export declare class StreamDatasource extends StreamBaseDatasource implements IS
53
53
  constructor(options: StreamDatasourceOptions);
54
54
  getRows(params: IServerSideGetRowsParams): Promise<void>;
55
55
  private sortMapByNumericKey;
56
- private dataLogoff;
56
+ dataLogoff(): Promise<void>;
57
57
  private restartSubscription;
58
58
  private getOrderByAndToBeSortedColIds;
59
59
  private handleCurrentStreamLoad;
@@ -270,7 +270,11 @@ declare const GridProServerSideDatasource_base: (new (...args: any[]) => {
270
270
  readonly children: HTMLCollection;
271
271
  readonly firstElementChild: Element;
272
272
  readonly lastElementChild: Element;
273
- append(...nodes: (string | Node)[]): void;
273
+ append(...nodes: (string | Node)[]): void; /**
274
+ * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
275
+ * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
276
+ * @internal
277
+ */
274
278
  prepend(...nodes: (string | Node)[]): void;
275
279
  querySelector<K_6 extends keyof HTMLElementTagNameMap>(selectors: K_6): HTMLElementTagNameMap[K_6];
276
280
  querySelector<K_7 extends keyof SVGElementTagNameMap>(selectors: K_7): SVGElementTagNameMap[K_7];
@@ -395,6 +399,12 @@ export declare class GridProServerSideDatasource extends GridProServerSideDataso
395
399
  applyFuncName: string;
396
400
  applyAsyncFuncName: string;
397
401
  criteriaChanged(oldCriteria: string, newCriteria: string): void;
402
+ /**
403
+ * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
404
+ * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
405
+ * @internal
406
+ */
407
+ private reloadResourceData;
398
408
  resourceNameChanged(oldValue: string, newValue: string): void;
399
409
  pagination: boolean;
400
410
  private indexes;
@@ -403,8 +413,8 @@ export declare class GridProServerSideDatasource extends GridProServerSideDataso
403
413
  connectedCallback(): void;
404
414
  disconnectedCallback(): void;
405
415
  deepClone(): Node;
416
+ deinit(): void;
406
417
  init(): void;
407
- reset(): void;
408
418
  restart(): void;
409
419
  private clearRowData;
410
420
  private getResourceIndexes;
@@ -1 +1 @@
1
- {"version":3,"file":"server-side.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-side.datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/server-side.datasource.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,6 @@ import { ColDef, ColumnApi, ColumnState, Grid, GridApi, GridOptions } from '@ag-
2
2
  import { FoundationElement } from '@microsoft/fast-foundation';
3
3
  import { GridProBaseDatasource } from './datasource/base.datasource';
4
4
  import { GridComponents, GridOptionsConfig, GridProCaseType } from './grid-pro.types';
5
- /**
6
- * Convert string values from 'camelCase' to 'kebab-case'
7
- * @param value - The value to convert to Kebab case.
8
- * @returns The Kebab case result.
9
- * @public
10
- */
11
- export declare const convertToKebabCase: (value: string) => string;
12
5
  declare const GridPro_base: (new (...args: any[]) => {
13
6
  "__#1@#_container": import("@genesislcap/foundation-utils").FoundationLayoutContainer | import("@genesislcap/foundation-utils").LayoutCacheContainer | import("@genesislcap/foundation-utils").DOMContainer;
14
7
  "__#1@#_latestTokenCode": string;
@@ -140,12 +133,6 @@ declare const GridPro_base: (new (...args: any[]) => {
140
133
  insertBefore<T_2 extends Node>(node: T_2, child: Node): T_2;
141
134
  isDefaultNamespace(namespace: string): boolean;
142
135
  isEqualNode(otherNode: Node): boolean;
143
- /**
144
- * Gets the saved grid ColumnState[] from local storage
145
- * @remarks This is used to restore the grid state when the grid is rehydrated
146
- * @privateRemarks Not using `columnApi.get|setColumnState()` for these flows as it doesn't work setting new columnDefs vs different ordering.
147
- * @public
148
- */
149
136
  isSameNode(otherNode: Node): boolean;
150
137
  lookupNamespaceURI(prefix: string): string;
151
138
  lookupPrefix(namespace: string): string;
@@ -412,6 +399,12 @@ export declare class GridPro extends GridPro_base {
412
399
  rowHeight: number;
413
400
  theme: string;
414
401
  themeChanged(oldValue: string, newValue: string): void;
402
+ /**
403
+ * If true, will block scrolling when context menu is open and keep the grid in the same position without scrolling to new records
404
+ * @remarks Defaults to false
405
+ * @alpha
406
+ */
407
+ blockScrollingOnContextMenu: boolean;
415
408
  classNames: string;
416
409
  agGrid: Grid;
417
410
  gridSlot: HTMLSlotElement;
@@ -425,6 +418,8 @@ export declare class GridPro extends GridPro_base {
425
418
  private rehydrationAttempted;
426
419
  private gridEventsQueue;
427
420
  private filterConfig;
421
+ selectedRowId: string;
422
+ selectedColId: string;
428
423
  /**
429
424
  * Injectable config that allows to change grid options on an app level basis
430
425
  * To modify options, register instance of the config in DOM container that is
@@ -1 +1 @@
1
- {"version":3,"file":"grid-pro.d.ts","sourceRoot":"","sources":["../../src/grid-pro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid-pro.d.ts","sourceRoot":"","sources":["../../src/grid-pro.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export * from './array';
2
2
  export * from './logger';
3
3
  export * from './map';
4
4
  export * from './sanitasations';
5
+ export * from './string';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Convert string values from 'camelCase' to 'kebab-case'
3
+ * @param value - The value to convert to Kebab case.
4
+ * @returns The Kebab case result.
5
+ * @public
6
+ */
7
+ export declare const convertToKebabCase: (value: string) => string;
8
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/utils/string.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,UAAW,MAAM,WACa,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html, observable } from '@microsoft/fast-element';
3
3
  import { FoundationElement } from '@microsoft/fast-foundation';
4
- import { convertToKebabCase } from '../grid-pro';
5
4
  import { GridProRendererTypes } from '../grid-pro.types';
5
+ import { convertToKebabCase } from '../utils';
6
6
  /**
7
7
  * The Actions Menu Renderer element.
8
8
  * @remarks For multiple actions scenarios.
@@ -1,7 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
+ import { Events, } from '@ag-grid-community/core';
2
3
  import { DatasourceDefaults } from '@genesislcap/foundation-comms';
3
4
  import { Connect } from '@genesislcap/foundation-comms';
4
- import { attr, observable } from '@microsoft/fast-element';
5
+ import { attr, DOM, observable } from '@microsoft/fast-element';
5
6
  import { FoundationElement } from '@microsoft/fast-foundation';
6
7
  export class GenesisGridDatasourceElement extends FoundationElement {
7
8
  constructor() {
@@ -177,12 +178,35 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
177
178
  this.applyTransactionAsync(this.mapTransaction(agTransaction, [operation]), (changedNodes) => {
178
179
  this.flashAddedCells(changedNodes.add);
179
180
  });
181
+ if (this.agGrid.blockScrollingOnContextMenu) {
182
+ const listenerEvent = (e) => {
183
+ e.results.forEach((result) => {
184
+ if (result.add.length || result.remove.length) {
185
+ this.setPreviouslySelectedCell();
186
+ }
187
+ });
188
+ };
189
+ this.agGrid.gridApi.addEventListener(Events.EVENT_ASYNC_TRANSACTIONS_FLUSHED, listenerEvent);
190
+ }
180
191
  }
181
192
  else {
182
193
  const changedNodes = this.applyTransaction(this.mapTransaction(agTransaction, [operation]));
183
194
  this.flashAddedCells(changedNodes.add);
195
+ if (this.agGrid.blockScrollingOnContextMenu) {
196
+ this.setPreviouslySelectedCell();
197
+ }
184
198
  }
185
199
  }
200
+ setPreviouslySelectedCell() {
201
+ const previouslySelectedRowNode = this.agGrid.gridApi.getRowNode(this.agGrid.selectedRowId);
202
+ const previouslySelectedColId = this.agGrid.selectedColId;
203
+ if (!previouslySelectedRowNode || !previouslySelectedColId)
204
+ return;
205
+ DOM.queueUpdate(() => {
206
+ this.agGrid.gridApi.setFocusedCell(previouslySelectedRowNode.rowIndex, previouslySelectedColId);
207
+ this.agGrid.gridApi.ensureIndexVisible(previouslySelectedRowNode.rowIndex, 'middle');
208
+ });
209
+ }
186
210
  applyTransaction(agTransaction) {
187
211
  throw new Error('Method not implemented.');
188
212
  }
@@ -50,29 +50,33 @@ export class StreamDatasource extends StreamBaseDatasource {
50
50
  if (filtersAreGettingCleaned && this.currentFilterModel) {
51
51
  this.currentFilterModel = null;
52
52
  this.resourceParams.CRITERIA_MATCH = this.originalCriteriaMatch;
53
- this.restartSubscription();
53
+ yield this.restartSubscription(params);
54
+ return;
54
55
  }
55
56
  else if (filterModelBeingAppliedDiffersFromCurrent && filtersAreBeingApplied) {
56
57
  this.currentFilterModel = filterModelBeingApplied;
57
58
  this.resourceParams.CRITERIA_MATCH = this.buildCriteriaMatchFromFilters();
58
- this.restartSubscription();
59
+ yield this.restartSubscription(params);
60
+ return;
59
61
  }
60
62
  }
61
63
  const toBeAppliedSortModel = params.request.sortModel;
62
64
  if (toBeAppliedSortModel.length !== ((_a = this.currentSortModel) === null || _a === void 0 ? void 0 : _a.length) ||
63
65
  toBeAppliedSortModel.length > 0) {
64
66
  if (toBeAppliedSortModel.length === 0 && this.currentSortModel) {
67
+ this.calculatedRowsCount = 0;
65
68
  this.currentSortModel = null;
66
69
  this.resourceParams.ORDER_BY = null;
67
70
  this.resourceParams.REVERSE = null;
68
- this.restartSubscription();
71
+ yield this.restartSubscription(params);
72
+ return;
69
73
  }
70
74
  else if (toBeAppliedSortModel.length > 0) {
71
- this.currentSortModel = toBeAppliedSortModel;
72
- const coldIdBeingSorted = this.currentSortModel[0].colId; // Not allowing multiple sorts by user
73
- const sortTypeBeingApplied = this.currentSortModel[0].sort;
75
+ const coldIdBeingSorted = toBeAppliedSortModel[0].colId; // Not allowing multiple sorts by user
76
+ const sortTypeBeingApplied = toBeAppliedSortModel[0].sort;
74
77
  const orderByAndToBeSortedColIds = this.getOrderByAndToBeSortedColIds(this.resourceIndexes, coldIdBeingSorted);
75
78
  if (!orderByAndToBeSortedColIds) {
79
+ this.calculatedRowsCount = 0;
76
80
  const availableIndexes = getAvailableIndexes(this.resourceIndexes);
77
81
  const availableIndexFields = getAvailableIndexFields(this.resourceIndexes);
78
82
  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/');
@@ -82,13 +86,12 @@ export class StreamDatasource extends StreamBaseDatasource {
82
86
  params.fail();
83
87
  return;
84
88
  }
85
- else {
86
- orderByAndToBeSortedColIds.toBeSorted.forEach((colId) => {
87
- this.currentSortModel.push({ sort: sortTypeBeingApplied, colId });
88
- });
89
+ else if (JSON.stringify(toBeAppliedSortModel) !== JSON.stringify(this.currentSortModel)) {
90
+ this.currentSortModel = toBeAppliedSortModel;
89
91
  this.resourceParams.ORDER_BY = orderByAndToBeSortedColIds.orderBy;
90
92
  this.resourceParams.REVERSE = sortTypeBeingApplied === 'desc' ? true : false;
91
- this.restartSubscription();
93
+ yield this.restartSubscription(params);
94
+ return;
92
95
  }
93
96
  }
94
97
  }
@@ -96,7 +99,7 @@ export class StreamDatasource extends StreamBaseDatasource {
96
99
  this.connect.getMoreRows(this.streamSourceRef);
97
100
  }
98
101
  this.dataserverStream.pipe(take(1)).subscribe((result) => {
99
- var _a, _b;
102
+ var _a;
100
103
  const messageType = result.MESSAGE_TYPE;
101
104
  if (messageType &&
102
105
  (messageType === MessageType.LOGOFF_ACK || messageType === MessageType.MSG_NACK)) {
@@ -122,12 +125,14 @@ export class StreamDatasource extends StreamBaseDatasource {
122
125
  }
123
126
  const successRowData = {
124
127
  rowData: Array.from(this.sortMapByNumericKey(this.rowData).values()),
125
- rowCount: this.pagination ? Math.min(this.server_ROWS_COUNT, this.maxView) : undefined,
128
+ rowCount: this.pagination && !this.resourceParams.CRITERIA_MATCH
129
+ ? Math.min(this.server_ROWS_COUNT, this.maxView)
130
+ : undefined,
126
131
  };
127
- this.calculatedRowsCount +=
128
- !this.moreRows && this.server_ROWS_COUNT >= this.client_ROWS_COUNT
129
- ? this.client_ROWS_COUNT || this.rowData.size
130
- : (_b = this.rowData.size) !== null && _b !== void 0 ? _b : 0;
132
+ this.calculatedRowsCount = this.client_ROWS_COUNT;
133
+ if (this.calculatedRowsCount === 0) {
134
+ this.calculatedRowsCount = params.request.endRow;
135
+ }
131
136
  if (params.request.endRow > this.maxView ||
132
137
  params.request.endRow > this.calculatedRowsCount) {
133
138
  successRowData.rowCount = this.calculatedRowsCount;
@@ -135,6 +140,9 @@ export class StreamDatasource extends StreamBaseDatasource {
135
140
  else if (params.request.endRow === this.server_ROWS_COUNT) {
136
141
  successRowData.rowCount = this.server_ROWS_COUNT;
137
142
  }
143
+ else if (!this.moreRows && this.server_ROWS_COUNT > this.calculatedRowsCount) {
144
+ successRowData.rowCount = this.calculatedRowsCount;
145
+ }
138
146
  params.success(successRowData);
139
147
  });
140
148
  });
@@ -147,27 +155,35 @@ export class StreamDatasource extends StreamBaseDatasource {
147
155
  return sortedMap;
148
156
  }
149
157
  dataLogoff() {
150
- const shouldPerformDataLogoff = this.streamSourceRef;
151
- if (shouldPerformDataLogoff && this.auth.isLoggedIn) {
152
- this.connect.dataLogoff(this.streamSourceRef);
153
- }
154
- this.streamSourceRef = undefined;
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ const shouldPerformDataLogoff = this.streamSourceRef;
160
+ if (shouldPerformDataLogoff && this.auth.isLoggedIn) {
161
+ yield this.connect.dataLogoff(this.streamSourceRef);
162
+ }
163
+ this.streamSourceRef = undefined;
164
+ });
155
165
  }
156
- restartSubscription() {
157
- this.dataLogoff();
158
- this.rowData = new Map();
159
- this.client_ROWS_COUNT = 0;
160
- const streamOnMessage = (message) => message;
161
- const onError = (error) => logger.error(error);
162
- this.dataserverStream = this.connect.stream(this.resourceName, streamOnMessage, onError, this.resourceParams);
166
+ restartSubscription(params) {
167
+ var _a;
168
+ return __awaiter(this, void 0, void 0, function* () {
169
+ yield this.dataLogoff();
170
+ this.rowData = new Map();
171
+ this.client_ROWS_COUNT = 0;
172
+ const streamOnMessage = (message) => message;
173
+ const onError = (error) => logger.error(error);
174
+ this.dataserverStream = undefined;
175
+ this.dataserverStream = this.connect.stream(this.resourceName, streamOnMessage, onError, this.resourceParams);
176
+ (_a = params.api) === null || _a === void 0 ? void 0 : _a.refreshServerSide({ purge: true });
177
+ params.fail();
178
+ });
163
179
  }
164
180
  getOrderByAndToBeSortedColIds(map, searchValue) {
165
181
  for (const [key, value] of map.entries()) {
166
182
  const searchIndex = value.findIndex((x) => x === searchValue);
167
183
  if (searchIndex !== -1) {
168
184
  const copy = [...value];
169
- copy.splice(searchIndex, 1);
170
- return { orderBy: key, toBeSorted: copy };
185
+ const toBeSorted = copy.splice(searchIndex, 1);
186
+ return { orderBy: key, toBeSorted };
171
187
  }
172
188
  }
173
189
  }
@@ -261,6 +277,7 @@ __decorate([
261
277
  Connect
262
278
  ], StreamDatasource.prototype, "connect", void 0);
263
279
  const criteriaDelimiter = ';';
280
+ const withoutColumnDefs = null;
264
281
  /**
265
282
  * A Genesis Datasource element, for server-side | SSRM-compatible data fetching and used exclusively by the GridPro element.
266
283
  * @remarks Only supports Server-Side Row Model. Requires `@ag-grid-enterprise/server-side-row-model` setup and valid AG Grid Enterprise license.
@@ -274,14 +291,27 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
274
291
  this.pagination = false;
275
292
  }
276
293
  criteriaChanged(oldCriteria, newCriteria) {
277
- const startingCriteria = !oldCriteria && newCriteria;
278
- const criteriaNotDuplicate = oldCriteria !== normaliseCriteria(newCriteria, criteriaDelimiter);
279
- // TODO: FUI-1323 - account for linked grid scenarios too.
280
- // TODO: check grid-pro-genesis-datasource criteriaChanged
281
- if (!startingCriteria && criteriaNotDuplicate) {
282
- this.restart();
294
+ const criteriaIsNotDuplicate = oldCriteria !== normaliseCriteria(newCriteria, criteriaDelimiter);
295
+ if (this.ssrmDatasource && criteriaIsNotDuplicate) {
296
+ this.reloadResourceData();
283
297
  }
284
298
  }
299
+ /**
300
+ * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
301
+ * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
302
+ * @internal
303
+ */
304
+ reloadResourceData() {
305
+ var _a, _b, _c;
306
+ return __awaiter(this, void 0, void 0, function* () {
307
+ this.ssrmDatasource.dataLogoff();
308
+ this.clearRowData(withoutColumnDefs);
309
+ this.ssrmDatasource = undefined;
310
+ (_a = this.agGrid.gridApi) === null || _a === void 0 ? void 0 : _a.refreshServerSide({ purge: true });
311
+ (_c = (_b = this.agGrid) === null || _b === void 0 ? void 0 : _b.gridApi) === null || _c === void 0 ? void 0 : _c.showLoadingOverlay();
312
+ this.init();
313
+ });
314
+ }
285
315
  resourceNameChanged(oldValue, newValue) {
286
316
  if (!oldValue || oldValue === newValue)
287
317
  return;
@@ -302,7 +332,7 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
302
332
  DOM.queueUpdate(() => {
303
333
  if (!shouldRunDisconnect)
304
334
  return;
305
- this.reset();
335
+ this.deinit();
306
336
  });
307
337
  }
308
338
  deepClone() {
@@ -311,6 +341,13 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
311
341
  copy.deferredColumnStates = structuredClone(this.deferredColumnStates);
312
342
  return copy;
313
343
  }
344
+ deinit() {
345
+ var _a;
346
+ this.clearRowData();
347
+ this.ssrmDatasource = undefined;
348
+ this.originalFieldDef = undefined;
349
+ (_a = this.agGrid.gridApi) === null || _a === void 0 ? void 0 : _a.refreshServerSide({ purge: true });
350
+ }
314
351
  init() {
315
352
  if (this.agGrid && this.resourceName && this.connect.isConnected) {
316
353
  this.agGrid.gridOptions = Object.assign({ getRowId: (params) => {
@@ -357,25 +394,22 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
357
394
  }
358
395
  logger.warn(`Application not connected, falling back to local columnDefs/rowData`);
359
396
  }
360
- reset() {
361
- var _a;
362
- this.clearRowData();
363
- this.ssrmDatasource = undefined;
364
- this.originalFieldDef = undefined;
365
- (_a = this.agGrid.gridApi) === null || _a === void 0 ? void 0 : _a.refreshServerSide({ purge: true });
366
- }
367
397
  restart() {
368
- this.reset();
398
+ this.deinit();
369
399
  this.init();
370
400
  }
371
- clearRowData() {
401
+ clearRowData(withColumnDefs = true) {
372
402
  var _a, _b, _c, _d;
373
- (_b = (_a = this.agGrid) === null || _a === void 0 ? void 0 : _a.gridApi) === null || _b === void 0 ? void 0 : _b.setColumnDefs([]);
374
- const agTransaction = { remove: [] };
403
+ this.rowData = new Map();
404
+ if (withColumnDefs) {
405
+ (_b = (_a = this.agGrid) === null || _a === void 0 ? void 0 : _a.gridApi) === null || _b === void 0 ? void 0 : _b.setColumnDefs([]);
406
+ }
407
+ this.agTransaction = { remove: [] };
375
408
  (_c = this.agGrid.gridApi) === null || _c === void 0 ? void 0 : _c.forEachNode((node) => {
376
- agTransaction.remove.push(node.data);
409
+ this.agTransaction.remove.push(node.data);
377
410
  });
378
- (_d = this.agGrid.gridApi) === null || _d === void 0 ? void 0 : _d.applyServerSideTransaction(agTransaction);
411
+ (_d = this.agGrid.gridApi) === null || _d === void 0 ? void 0 : _d.applyServerSideTransaction(this.agTransaction);
412
+ this.agTransaction = undefined;
379
413
  }
380
414
  getResourceIndexes(avaialbleIndexes) {
381
415
  const resourceIndexesMap = new Map();
@@ -412,7 +446,7 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
412
446
  createDataserverStream(existingParams = null) {
413
447
  return __awaiter(this, void 0, void 0, function* () {
414
448
  const streamOnMessage = (message) => __awaiter(this, void 0, void 0, function* () {
415
- var _a, _b;
449
+ var _a;
416
450
  const messageType = message.MESSAGE_TYPE;
417
451
  if (messageType === MessageType.QUERY_UPDATE && message.ROW) {
418
452
  const nextMessage = dataServerResultFilter(message);
@@ -422,11 +456,12 @@ let GridProServerSideDatasource = class GridProServerSideDatasource extends Life
422
456
  // this.handleStreamDeletes(nextMessage.deletes);
423
457
  this.handleStreamDeletesTemp(nextMessage.deletes);
424
458
  this.handleStreamUpdates(nextMessage.updates);
425
- this.ssrmDatasource.client_ROWS_COUNT = (_b = (_a = this.rowData) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0;
459
+ this.ssrmDatasource.client_ROWS_COUNT += (_a = nextMessage.inserts.length) !== null && _a !== void 0 ? _a : 0;
426
460
  if (message.SEQUENCE_ID > 1) {
427
461
  const updatedInfo = yield this.connect.snapshot(this.resourceName, {
428
462
  MAX_ROWS: 1,
429
463
  MAX_VIEW: 1,
464
+ CRITERIA_MATCH: this.criteria,
430
465
  });
431
466
  this.ssrmDatasource.server_ROWS_COUNT = updatedInfo.ROWS_COUNT;
432
467
  }
@@ -20,20 +20,13 @@ import { foundationGridProStyles as styles } from './grid-pro.styles';
20
20
  import { gridProTemplate as template } from './grid-pro.template';
21
21
  import { AgGridTheme, GridProRendererTypes, agThemeFontsId, agThemeTokenMapClassname, GRID_READY_EVENT, ERROR_COLUMN_FIELD, EDITED_COLUMN_FIELD, GridOptionsConfig, } from './grid-pro.types';
22
22
  import { ErrorTooltip } from './tooltips';
23
- import { logger, mergeAndDedupColDefWithColumnState } from './utils';
23
+ import { convertToKebabCase, logger, mergeAndDedupColDefWithColumnState } from './utils';
24
24
  GridProGenesisDatasource;
25
25
  GridProClientSideDatasource;
26
26
  GridProServerSideDatasource;
27
27
  GridProCell;
28
28
  GridProColumn;
29
29
  ModuleRegistry.registerModules([CsvExportModule, ClientSideRowModelModule]);
30
- /**
31
- * Convert string values from 'camelCase' to 'kebab-case'
32
- * @param value - The value to convert to Kebab case.
33
- * @returns The Kebab case result.
34
- * @public
35
- */
36
- export const convertToKebabCase = (value) => value.replace(/([a-z])([A-Z])|\s+/g, '$1-$2').toLowerCase();
37
30
  /**
38
31
  * The Grid Pro element.
39
32
  * @remarks Grid Pro is a Web Component wrapper around the AG Grid Community library.
@@ -97,6 +90,12 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
97
90
  this.gridFontFace = defaultAgGridFontFace;
98
91
  this.columnComponentName = 'grid-pro-column';
99
92
  this.theme = AgGridTheme.alpine;
93
+ /**
94
+ * If true, will block scrolling when context menu is open and keep the grid in the same position without scrolling to new records
95
+ * @remarks Defaults to false
96
+ * @alpha
97
+ */
98
+ this.blockScrollingOnContextMenu = false;
100
99
  this.rehydrationAttempted = false;
101
100
  this.gridEventsQueue = [];
102
101
  this.filterConfig = undefined;
@@ -273,7 +272,7 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
273
272
  return;
274
273
  this.agAttributes[attrName] = attribute.value;
275
274
  });
276
- const { columnDefs, components, defaultColDef, onGridReady, onFirstDataRendered } = options, rest = __rest(options, ["columnDefs", "components", "defaultColDef", "onGridReady", "onFirstDataRendered"]);
275
+ const { columnDefs, components, defaultColDef, onCellContextMenu, onGridReady, onFirstDataRendered } = options, rest = __rest(options, ["columnDefs", "components", "defaultColDef", "onCellContextMenu", "onGridReady", "onFirstDataRendered"]);
277
276
  const derivedOptions = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, this.gridOptionsConfig), { defaultColDef: Object.assign({ enableCellChangeFlash: this.enableCellFlashing, filter: true, resizable: true, sortable: true }, defaultColDef), components: this.combineAllGridComponents(components), suppressDragLeaveHidesColumns: true }), this.eventsAndCallbacks), { onGridReady: (event) => {
278
277
  var _a, _b;
279
278
  this.gridApi = (_a = options.api) !== null && _a !== void 0 ? _a : event.api;
@@ -297,7 +296,20 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
297
296
  if (onFirstDataRendered) {
298
297
  onFirstDataRendered(event);
299
298
  }
300
- }, onColumnPinned: gridOnChangeCallback, onColumnResized: gridOnChangeCallback, onColumnMoved: gridOnChangeCallback, onDisplayedColumnsChanged: gridOnChangeCallback, onFilterChanged: gridOnChangeCallback, onGridSizeChanged: gridOnChangeCallback, onSortChanged: gridOnChangeCallback }), rest);
299
+ }, onColumnPinned: gridOnChangeCallback, onColumnResized: gridOnChangeCallback, onColumnMoved: gridOnChangeCallback, onDisplayedColumnsChanged: gridOnChangeCallback, onFilterChanged: gridOnChangeCallback, onGridSizeChanged: gridOnChangeCallback, onSortChanged: gridOnChangeCallback, onCellContextMenu: (event) => {
300
+ if (this.blockScrollingOnContextMenu) {
301
+ debugger;
302
+ this.selectedRowId = event.node.id;
303
+ this.selectedColId = event.colDef.colId;
304
+ this.addEventListener('click', (e) => {
305
+ this.selectedRowId = undefined;
306
+ this.selectedColId = undefined;
307
+ }, { once: true });
308
+ }
309
+ if (onCellContextMenu) {
310
+ onCellContextMenu(event);
311
+ }
312
+ } }), rest);
301
313
  if (this.gridProDatasource) {
302
314
  derivedOptions.columnDefs = columnDefs;
303
315
  }
@@ -523,6 +535,9 @@ __decorate([
523
535
  __decorate([
524
536
  attr
525
537
  ], GridPro.prototype, "theme", void 0);
538
+ __decorate([
539
+ attr({ attribute: 'block-scrolling-on-context-menu', mode: 'boolean' })
540
+ ], GridPro.prototype, "blockScrollingOnContextMenu", void 0);
526
541
  __decorate([
527
542
  observable
528
543
  ], GridPro.prototype, "classNames", void 0);
@@ -2,3 +2,4 @@ export * from './array';
2
2
  export * from './logger';
3
3
  export * from './map';
4
4
  export * from './sanitasations';
5
+ export * from './string';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Convert string values from 'camelCase' to 'kebab-case'
3
+ * @param value - The value to convert to Kebab case.
4
+ * @returns The Kebab case result.
5
+ * @public
6
+ */
7
+ export const convertToKebabCase = (value) => value.replace(/([a-z])([A-Z])|\s+/g, '$1-$2').toLowerCase();
@@ -3363,7 +3363,7 @@
3363
3363
  "text": "(value: string) => string"
3364
3364
  }
3365
3365
  ],
3366
- "fileUrlPath": "src/grid-pro.ts",
3366
+ "fileUrlPath": "src/utils/string.ts",
3367
3367
  "isReadonly": true,
3368
3368
  "releaseTag": "Public",
3369
3369
  "name": "convertToKebabCase",
@@ -8905,6 +8905,66 @@
8905
8905
  "isProtected": false,
8906
8906
  "isAbstract": false
8907
8907
  },
8908
+ {
8909
+ "kind": "Property",
8910
+ "canonicalReference": "@genesislcap/grid-pro!GridPro#selectedColId:member",
8911
+ "docComment": "",
8912
+ "excerptTokens": [
8913
+ {
8914
+ "kind": "Content",
8915
+ "text": "selectedColId: "
8916
+ },
8917
+ {
8918
+ "kind": "Content",
8919
+ "text": "string"
8920
+ },
8921
+ {
8922
+ "kind": "Content",
8923
+ "text": ";"
8924
+ }
8925
+ ],
8926
+ "isReadonly": false,
8927
+ "isOptional": false,
8928
+ "releaseTag": "Public",
8929
+ "name": "selectedColId",
8930
+ "propertyTypeTokenRange": {
8931
+ "startIndex": 1,
8932
+ "endIndex": 2
8933
+ },
8934
+ "isStatic": false,
8935
+ "isProtected": false,
8936
+ "isAbstract": false
8937
+ },
8938
+ {
8939
+ "kind": "Property",
8940
+ "canonicalReference": "@genesislcap/grid-pro!GridPro#selectedRowId:member",
8941
+ "docComment": "",
8942
+ "excerptTokens": [
8943
+ {
8944
+ "kind": "Content",
8945
+ "text": "selectedRowId: "
8946
+ },
8947
+ {
8948
+ "kind": "Content",
8949
+ "text": "string"
8950
+ },
8951
+ {
8952
+ "kind": "Content",
8953
+ "text": ";"
8954
+ }
8955
+ ],
8956
+ "isReadonly": false,
8957
+ "isOptional": false,
8958
+ "releaseTag": "Public",
8959
+ "name": "selectedRowId",
8960
+ "propertyTypeTokenRange": {
8961
+ "startIndex": 1,
8962
+ "endIndex": 2
8963
+ },
8964
+ "isStatic": false,
8965
+ "isProtected": false,
8966
+ "isAbstract": false
8967
+ },
8908
8968
  {
8909
8969
  "kind": "Method",
8910
8970
  "canonicalReference": "@genesislcap/grid-pro!GridPro#statePersistanceEnabled:member(1)",
@@ -37,9 +37,9 @@ import { LayoutCacheContainer } from '@genesislcap/foundation-utils';
37
37
  import { Logger } from '@genesislcap/foundation-logger';
38
38
  import { MetadataDetail } from '@genesislcap/foundation-comms';
39
39
  import { OverrideFoundationElementDefinition } from '@microsoft/fast-foundation';
40
- import type { RowDataTransaction } from '@ag-grid-community/core';
40
+ import { RowDataTransaction } from '@ag-grid-community/core';
41
41
  import type { RowNodeTransaction } from '@ag-grid-community/core';
42
- import type { ServerSideTransaction } from '@ag-grid-community/core';
42
+ import { ServerSideTransaction } from '@ag-grid-community/core';
43
43
  import type { ServerSideTransactionResult } from '@ag-grid-community/core';
44
44
  import { SocketObservable } from '@genesislcap/foundation-comms';
45
45
  import { Swatch } from '@microsoft/fast-components';
@@ -1229,6 +1229,12 @@ export declare class GridPro extends GridPro_base {
1229
1229
  rowHeight: number;
1230
1230
  theme: string;
1231
1231
  themeChanged(oldValue: string, newValue: string): void;
1232
+ /**
1233
+ * If true, will block scrolling when context menu is open and keep the grid in the same position without scrolling to new records
1234
+ * @remarks Defaults to false
1235
+ * @alpha
1236
+ */
1237
+ blockScrollingOnContextMenu: boolean;
1232
1238
  classNames: string;
1233
1239
  agGrid: Grid;
1234
1240
  gridSlot: HTMLSlotElement;
@@ -1242,6 +1248,8 @@ export declare class GridPro extends GridPro_base {
1242
1248
  private rehydrationAttempted;
1243
1249
  private gridEventsQueue;
1244
1250
  private filterConfig;
1251
+ selectedRowId: string;
1252
+ selectedColId: string;
1245
1253
  /**
1246
1254
  * Injectable config that allows to change grid options on an app level basis
1247
1255
  * To modify options, register instance of the config in DOM container that is
@@ -1449,12 +1457,6 @@ declare const GridPro_base: (new (...args: any[]) => {
1449
1457
  insertBefore<T_2 extends Node>(node: T_2, child: Node): T_2;
1450
1458
  isDefaultNamespace(namespace: string): boolean;
1451
1459
  isEqualNode(otherNode: Node): boolean;
1452
- /**
1453
- * Gets the saved grid ColumnState[] from local storage
1454
- * @remarks This is used to restore the grid state when the grid is rehydrated
1455
- * @privateRemarks Not using `columnApi.get|setColumnState()` for these flows as it doesn't work setting new columnDefs vs different ordering.
1456
- * @public
1457
- */
1458
1460
  isSameNode(otherNode: Node): boolean;
1459
1461
  lookupNamespaceURI(prefix: string): string;
1460
1462
  lookupPrefix(namespace: string): string;
@@ -1662,6 +1664,7 @@ declare class GridProBaseDatasource extends GenesisGridDatasourceElement {
1662
1664
  protected applyAllAgTransactions(): void;
1663
1665
  private flashAddedCells;
1664
1666
  private applyMappedAgTransaction;
1667
+ private setPreviouslySelectedCell;
1665
1668
  protected applyTransaction(agTransaction: RowDataTransaction): any;
1666
1669
  protected applyTransactionAsync(agTransaction: RowDataTransaction, callback?: (res: any) => void): void;
1667
1670
  /**
@@ -2188,6 +2191,12 @@ export declare class GridProServerSideDatasource extends GridProServerSideDataso
2188
2191
  applyFuncName: string;
2189
2192
  applyAsyncFuncName: string;
2190
2193
  criteriaChanged(oldCriteria: string, newCriteria: string): void;
2194
+ /**
2195
+ * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
2196
+ * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
2197
+ * @internal
2198
+ */
2199
+ private reloadResourceData;
2191
2200
  resourceNameChanged(oldValue: string, newValue: string): void;
2192
2201
  pagination: boolean;
2193
2202
  private indexes;
@@ -2196,8 +2205,8 @@ export declare class GridProServerSideDatasource extends GridProServerSideDataso
2196
2205
  connectedCallback(): void;
2197
2206
  disconnectedCallback(): void;
2198
2207
  deepClone(): Node;
2208
+ deinit(): void;
2199
2209
  init(): void;
2200
- reset(): void;
2201
2210
  restart(): void;
2202
2211
  private clearRowData;
2203
2212
  private getResourceIndexes;
@@ -2419,7 +2428,11 @@ declare const GridProServerSideDatasource_base: (new (...args: any[]) => {
2419
2428
  readonly children: HTMLCollection;
2420
2429
  readonly firstElementChild: Element;
2421
2430
  readonly lastElementChild: Element;
2422
- append(...nodes: (string | Node)[]): void;
2431
+ append(...nodes: (string | Node)[]): void; /**
2432
+ * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
2433
+ * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
2434
+ * @internal
2435
+ */
2423
2436
  prepend(...nodes: (string | Node)[]): void;
2424
2437
  querySelector<K_6 extends keyof HTMLElementTagNameMap>(selectors: K_6): HTMLElementTagNameMap[K_6];
2425
2438
  querySelector<K_7 extends keyof SVGElementTagNameMap>(selectors: K_7): SVGElementTagNameMap[K_7];
@@ -2719,7 +2732,7 @@ export declare class StreamDatasource extends StreamBaseDatasource implements IS
2719
2732
  constructor(options: StreamDatasourceOptions);
2720
2733
  getRows(params: IServerSideGetRowsParams): Promise<void>;
2721
2734
  private sortMapByNumericKey;
2722
- private dataLogoff;
2735
+ dataLogoff(): Promise<void>;
2723
2736
  private restartSubscription;
2724
2737
  private getOrderByAndToBeSortedColIds;
2725
2738
  private handleCurrentStreamLoad;
@@ -58,6 +58,8 @@ Grid Pro is a Web Component wrapper around the AG Grid Community library.
58
58
  | [onlyTemplateColDefs](./grid-pro.gridpro.onlytemplatecoldefs.md) | | boolean | |
59
59
  | [persistColumnStateKey](./grid-pro.gridpro.persistcolumnstatekey.md) | | string | The key to use for persisting the column state in local storage. |
60
60
  | [rowHeight](./grid-pro.gridpro.rowheight.md) | | number | |
61
+ | [selectedColId](./grid-pro.gridpro.selectedcolid.md) | | string | |
62
+ | [selectedRowId](./grid-pro.gridpro.selectedrowid.md) | | string | |
61
63
  | [theme](./grid-pro.gridpro.theme.md) | | string | |
62
64
 
63
65
  ## Methods
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/grid-pro](./grid-pro.md) &gt; [GridPro](./grid-pro.gridpro.md) &gt; [selectedColId](./grid-pro.gridpro.selectedcolid.md)
4
+
5
+ ## GridPro.selectedColId property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ selectedColId: string;
11
+ ```
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/grid-pro](./grid-pro.md) &gt; [GridPro](./grid-pro.gridpro.md) &gt; [selectedRowId](./grid-pro.gridpro.selectedrowid.md)
4
+
5
+ ## GridPro.selectedRowId property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ selectedRowId: string;
11
+ ```
@@ -43,9 +43,9 @@ import { LayoutCacheContainer } from '@genesislcap/foundation-utils';
43
43
  import { Logger } from '@genesislcap/foundation-logger';
44
44
  import { MetadataDetail } from '@genesislcap/foundation-comms';
45
45
  import { OverrideFoundationElementDefinition } from '@microsoft/fast-foundation';
46
- import type { RowDataTransaction } from '@ag-grid-community/core';
46
+ import { RowDataTransaction } from '@ag-grid-community/core';
47
47
  import type { RowNodeTransaction } from '@ag-grid-community/core';
48
- import type { ServerSideTransaction } from '@ag-grid-community/core';
48
+ import { ServerSideTransaction } from '@ag-grid-community/core';
49
49
  import type { ServerSideTransactionResult } from '@ag-grid-community/core';
50
50
  import { SocketObservable } from '@genesislcap/foundation-comms';
51
51
  import { Swatch } from '@microsoft/fast-components';
@@ -804,6 +804,8 @@ export class GridPro extends GridPro_base {
804
804
  asyncUpdate: boolean;
805
805
  // (undocumented)
806
806
  autoCellRendererByType: boolean;
807
+ // @alpha
808
+ blockScrollingOnContextMenu: boolean;
807
809
  // (undocumented)
808
810
  classNames: string;
809
811
  // (undocumented)
@@ -858,6 +860,10 @@ export class GridPro extends GridPro_base {
858
860
  // (undocumented)
859
861
  rowHeight: number;
860
862
  // (undocumented)
863
+ selectedColId: string;
864
+ // (undocumented)
865
+ selectedRowId: string;
866
+ // (undocumented)
861
867
  statePersistanceEnabled(): boolean;
862
868
  // (undocumented)
863
869
  theme: string;
@@ -1021,6 +1027,8 @@ export class GridProServerSideDatasource extends GridProServerSideDatasource_bas
1021
1027
  // (undocumented)
1022
1028
  deepClone(): Node;
1023
1029
  // (undocumented)
1030
+ deinit(): void;
1031
+ // (undocumented)
1024
1032
  disconnectedCallback(): void;
1025
1033
  // (undocumented)
1026
1034
  init(): void;
@@ -1029,8 +1037,6 @@ export class GridProServerSideDatasource extends GridProServerSideDatasource_bas
1029
1037
  // (undocumented)
1030
1038
  get params(): any;
1031
1039
  // (undocumented)
1032
- reset(): void;
1033
- // (undocumented)
1034
1040
  resourceNameChanged(oldValue: string, newValue: string): void;
1035
1041
  // (undocumented)
1036
1042
  restart(): void;
@@ -1205,6 +1211,8 @@ export class StreamDatasource extends StreamBaseDatasource implements IServerSid
1205
1211
  // (undocumented)
1206
1212
  connect: Connect;
1207
1213
  // (undocumented)
1214
+ dataLogoff(): Promise<void>;
1215
+ // (undocumented)
1208
1216
  dataserverStream: SocketObservable<FilteredDataServerResult>;
1209
1217
  // (undocumented)
1210
1218
  getRows(params: IServerSideGetRowsParams): Promise<void>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/grid-pro",
3
3
  "description": "Genesis Foundation AG Grid",
4
- "version": "14.151.0",
4
+ "version": "14.151.2-alpha-6dc6e2c.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -30,20 +30,20 @@
30
30
  "test:debug": "genx test --debug"
31
31
  },
32
32
  "devDependencies": {
33
- "@genesislcap/foundation-testing": "14.151.0",
34
- "@genesislcap/genx": "14.151.0",
35
- "@genesislcap/rollup-builder": "14.151.0",
36
- "@genesislcap/ts-builder": "14.151.0",
37
- "@genesislcap/uvu-playwright-builder": "14.151.0",
38
- "@genesislcap/vite-builder": "14.151.0",
39
- "@genesislcap/webpack-builder": "14.151.0",
33
+ "@genesislcap/foundation-testing": "14.151.2-alpha-6dc6e2c.0",
34
+ "@genesislcap/genx": "14.151.2-alpha-6dc6e2c.0",
35
+ "@genesislcap/rollup-builder": "14.151.2-alpha-6dc6e2c.0",
36
+ "@genesislcap/ts-builder": "14.151.2-alpha-6dc6e2c.0",
37
+ "@genesislcap/uvu-playwright-builder": "14.151.2-alpha-6dc6e2c.0",
38
+ "@genesislcap/vite-builder": "14.151.2-alpha-6dc6e2c.0",
39
+ "@genesislcap/webpack-builder": "14.151.2-alpha-6dc6e2c.0",
40
40
  "rimraf": "^3.0.2"
41
41
  },
42
42
  "dependencies": {
43
- "@genesislcap/foundation-comms": "14.151.0",
44
- "@genesislcap/foundation-logger": "14.151.0",
45
- "@genesislcap/foundation-ui": "14.151.0",
46
- "@genesislcap/foundation-utils": "14.151.0",
43
+ "@genesislcap/foundation-comms": "14.151.2-alpha-6dc6e2c.0",
44
+ "@genesislcap/foundation-logger": "14.151.2-alpha-6dc6e2c.0",
45
+ "@genesislcap/foundation-ui": "14.151.2-alpha-6dc6e2c.0",
46
+ "@genesislcap/foundation-utils": "14.151.2-alpha-6dc6e2c.0",
47
47
  "@microsoft/fast-colors": "^5.3.1",
48
48
  "@microsoft/fast-components": "^2.30.6",
49
49
  "@microsoft/fast-element": "^1.12.0",
@@ -68,5 +68,5 @@
68
68
  "access": "public"
69
69
  },
70
70
  "customElements": "dist/custom-elements.json",
71
- "gitHead": "e7584f85787986655c4c4aa9d2680e7e7e9d00a3"
71
+ "gitHead": "ead29961faf124f80ee8195b7f318586cc51c71f"
72
72
  }