@genesislcap/grid-pro 14.200.1-alpha-e974201.0 → 14.202.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.
Files changed (57) hide show
  1. package/README.md +117 -111
  2. package/dist/custom-elements.json +2750 -840
  3. package/dist/dts/cell-renderers/boolean.renderer.d.ts.map +1 -1
  4. package/dist/dts/datasource/base.datasource.d.ts +22 -6
  5. package/dist/dts/datasource/base.datasource.d.ts.map +1 -1
  6. package/dist/dts/datasource/base.types.d.ts +22 -0
  7. package/dist/dts/datasource/base.types.d.ts.map +1 -0
  8. package/dist/dts/datasource/server-side.datasource.d.ts +27 -83
  9. package/dist/dts/datasource/server-side.datasource.d.ts.map +1 -1
  10. package/dist/dts/datasource/server-side.grid-definitions.d.ts.map +1 -1
  11. package/dist/dts/datasource/server-side.resource-base.d.ts +55 -0
  12. package/dist/dts/datasource/server-side.resource-base.d.ts.map +1 -0
  13. package/dist/dts/datasource/server-side.resource-dataserver.d.ts +20 -0
  14. package/dist/dts/datasource/server-side.resource-dataserver.d.ts.map +1 -0
  15. package/dist/dts/datasource/server-side.resource-reqrep.d.ts +17 -0
  16. package/dist/dts/datasource/server-side.resource-reqrep.d.ts.map +1 -0
  17. package/dist/dts/external/index.d.ts +0 -1
  18. package/dist/dts/external/index.d.ts.map +1 -1
  19. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts +13 -13
  20. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts.map +1 -1
  21. package/dist/dts/grid-pro.d.ts +33 -33
  22. package/dist/dts/grid-pro.d.ts.map +1 -1
  23. package/dist/dts/grid-pro.template.d.ts.map +1 -1
  24. package/dist/esm/cell-renderers/boolean.renderer.js +7 -6
  25. package/dist/esm/datasource/base.datasource.js +79 -10
  26. package/dist/esm/datasource/base.types.js +1 -0
  27. package/dist/esm/datasource/client-side.grid-definitions.js +1 -1
  28. package/dist/esm/datasource/server-side.datasource.js +224 -400
  29. package/dist/esm/datasource/server-side.grid-definitions.js +42 -7
  30. package/dist/esm/datasource/server-side.resource-base.js +285 -0
  31. package/dist/esm/datasource/server-side.resource-dataserver.js +132 -0
  32. package/dist/esm/datasource/server-side.resource-reqrep.js +131 -0
  33. package/dist/esm/external/index.js +0 -5
  34. package/dist/esm/grid-pro-genesis-datasource/grid-pro-genesis-datasource.js +65 -69
  35. package/dist/esm/grid-pro.js +30 -44
  36. package/dist/esm/grid-pro.template.js +2 -1
  37. package/dist/grid-pro.api.json +90 -149
  38. package/dist/grid-pro.d.ts +94 -142
  39. package/docs/api/grid-pro.gridpro.addeventlistener.md +2 -2
  40. package/docs/api/grid-pro.gridpro.aggrid.md +11 -0
  41. package/docs/api/grid-pro.gridpro.applytemplatedefinitions.md +2 -2
  42. package/docs/api/grid-pro.gridpro.columnapi.md +11 -0
  43. package/docs/api/grid-pro.gridpro.gridapi.md +1 -1
  44. package/docs/api/grid-pro.gridpro.md +5 -3
  45. package/docs/api/grid-pro.gridpro.mergeallcolumndefsandstates.md +2 -2
  46. package/docs/api/grid-pro.gridpro.themechanged.md +2 -2
  47. package/docs/api/grid-pro.gridprogenesisdatasource.deinit.md +5 -0
  48. package/docs/api/{grid-pro.gridprogenesisdatasource.auth.md → grid-pro.gridprogenesisdatasource.destroy.md} +9 -3
  49. package/docs/api/grid-pro.gridprogenesisdatasource.handleerrors.md +2 -2
  50. package/docs/api/grid-pro.gridprogenesisdatasource.md +2 -6
  51. package/docs/api/grid-pro.gridprogenesisdatasource.reset.md +1 -1
  52. package/docs/api-report.md +30 -73
  53. package/package.json +16 -16
  54. package/docs/api/grid-pro.gridprogenesisdatasource.datasource.md +0 -11
  55. package/docs/api/grid-pro.gridprogenesisdatasource.disablepolling.md +0 -11
  56. package/docs/api/grid-pro.gridprogenesisdatasource.pollinginterval.md +0 -11
  57. package/docs/api/grid-pro.gridprogenesisdatasource.request.md +0 -11
@@ -1,5 +1,5 @@
1
- import { ColumnState } from '@ag-grid-community/core';
2
- import type { ColDef, GridApi, GridOptions, GridParams } from '@ag-grid-community/core';
1
+ import { ColumnState, Grid } from '@ag-grid-community/core';
2
+ import type { ColDef, ColumnApi, GridApi, GridOptions, GridParams } from '@ag-grid-community/core';
3
3
  import { FoundationElement } from '@microsoft/fast-foundation';
4
4
  import { GridProClientSideDatasource, GridProServerSideDatasource } from './datasource';
5
5
  import { GridProGenesisDatasource } from './grid-pro-genesis-datasource';
@@ -11,7 +11,7 @@ import { StatePersistence } from './state-persistence';
11
11
  * @privateRemarks We're excluding rowData as it's a special case that we handle separately
12
12
  * @internal
13
13
  */
14
- export declare const AG_PROPERTIES: (keyof GridOptions<any>)[];
14
+ export declare const AG_PROPERTIES: ("datasource" | "onGridReady" | "tabIndex" | "api" | "columnApi" | "context" | "columnDefs" | "pagination" | "rowData" | "headerHeight" | "rowHeight" | "icons" | "singleClickEdit" | "onCellValueChanged" | "onCellClicked" | "onCellDoubleClicked" | "onCellContextMenu" | "enableCellChangeFlash" | "rowDragText" | "sortingOrder" | "unSortIcon" | "suppressAutoSize" | "statusBar" | "sideBar" | "suppressContextMenu" | "preventDefaultOnContextMenu" | "allowContextMenuWithControlKey" | "suppressMenuHide" | "enableBrowserTooltips" | "tooltipShowDelay" | "tooltipHideDelay" | "tooltipMouseTrack" | "popupParent" | "copyHeadersToClipboard" | "copyGroupHeadersToClipboard" | "clipboardDeliminator" | "clipboardDelimiter" | "suppressCopyRowsToClipboard" | "suppressCopySingleCellRanges" | "suppressLastEmptyLineOnPaste" | "suppressClipboardPaste" | "suppressClipboardApi" | "suppressCutToClipboard" | "defaultColDef" | "defaultColGroupDef" | "columnTypes" | "maintainColumnOrder" | "suppressFieldDotNotation" | "groupHeaderHeight" | "floatingFiltersHeight" | "pivotHeaderHeight" | "pivotGroupHeaderHeight" | "allowDragFromColumnsToolPanel" | "suppressMovableColumns" | "suppressColumnMoveAnimation" | "suppressDragLeaveHidesColumns" | "suppressRowGroupHidesColumns" | "colResizeDefault" | "autoSizePadding" | "skipHeaderOnAutoSize" | "components" | "frameworkComponents" | "reactUi" | "suppressReactUi" | "editType" | "suppressClickEdit" | "readOnlyEdit" | "stopEditingWhenCellsLoseFocus" | "enterMovesDown" | "enterMovesDownAfterEdit" | "enableCellEditingOnBackspace" | "undoRedoCellEditing" | "undoRedoCellEditingLimit" | "defaultCsvExportParams" | "suppressCsvExport" | "defaultExcelExportParams" | "suppressExcelExport" | "excelStyles" | "quickFilterText" | "cacheQuickFilter" | "excludeHiddenColumnsFromQuickFilter" | "excludeChildrenWhenTreeDataFiltering" | "enableCharts" | "chartThemes" | "customChartThemes" | "chartThemeOverrides" | "enableChartToolPanelsButton" | "suppressChartToolPanelsButton" | "chartToolPanelsDef" | "loadingCellRenderer" | "loadingCellRendererFramework" | "loadingCellRendererParams" | "loadingCellRendererSelector" | "localeText" | "masterDetail" | "keepDetailRows" | "keepDetailRowsCount" | "detailCellRenderer" | "detailCellRendererFramework" | "detailCellRendererParams" | "detailRowHeight" | "detailRowAutoHeight" | "alignedGrids" | "rowBuffer" | "valueCache" | "valueCacheNeverExpires" | "enableCellExpressions" | "suppressParentsInRowNodes" | "suppressTouch" | "suppressFocusAfterRefresh" | "suppressAsyncEvents" | "suppressBrowserResizeObserver" | "suppressPropertyNamesCheck" | "suppressChangeDetection" | "debug" | "overlayLoadingTemplate" | "loadingOverlayComponent" | "loadingOverlayComponentFramework" | "loadingOverlayComponentParams" | "suppressLoadingOverlay" | "overlayNoRowsTemplate" | "noRowsOverlayComponent" | "noRowsOverlayComponentFramework" | "noRowsOverlayComponentParams" | "suppressNoRowsOverlay" | "paginationPageSize" | "paginationAutoPageSize" | "paginateChildRows" | "suppressPaginationPanel" | "pivotMode" | "pivotPanelShow" | "pivotColumnGroupTotals" | "pivotRowTotals" | "pivotSuppressAutoColumn" | "suppressExpandablePivotGroups" | "functionsReadOnly" | "aggFuncs" | "suppressAggFuncInHeader" | "suppressAggAtRootLevel" | "aggregateOnlyChangedColumns" | "suppressAggFilteredOnly" | "removePivotHeaderRowWhenSingleValueColumn" | "animateRows" | "cellFlashDelay" | "cellFadeDelay" | "allowShowChangeAfterFilter" | "domLayout" | "ensureDomOrder" | "enableRtl" | "suppressColumnVirtualisation" | "suppressMaxRenderedRowRestriction" | "suppressRowVirtualisation" | "rowDragManaged" | "suppressRowDrag" | "suppressMoveWhenRowDragging" | "rowDragEntireRow" | "rowDragMultiRow" | "fullWidthCellRenderer" | "fullWidthCellRendererFramework" | "fullWidthCellRendererParams" | "embedFullWidthRows" | "groupDisplayType" | "groupDefaultExpanded" | "autoGroupColumnDef" | "groupMaintainOrder" | "groupSelectsChildren" | "groupAggFiltering" | "groupIncludeFooter" | "groupIncludeTotalFooter" | "groupSuppressBlankHeader" | "groupSelectsFiltered" | "showOpenedGroup" | "groupRemoveSingleChildren" | "groupRemoveLowestSingleChildren" | "groupHideOpenParents" | "groupAllowUnbalanced" | "rowGroupPanelShow" | "groupRowRenderer" | "groupRowRendererFramework" | "groupRowRendererParams" | "suppressMakeColumnVisibleAfterUnGroup" | "treeData" | "rowGroupPanelSuppressSort" | "groupRowsSticky" | "rememberGroupStateWhenNewData" | "pinnedTopRowData" | "pinnedBottomRowData" | "rowModelType" | "immutableData" | "asyncTransactionWaitMillis" | "suppressModelUpdateAfterUpdateTransaction" | "cacheOverflowSize" | "infiniteInitialRowCount" | "serverSideInitialRowCount" | "serverSideStoreType" | "suppressServerSideInfiniteScroll" | "cacheBlockSize" | "maxBlocksInCache" | "maxConcurrentDatasourceRequests" | "blockLoadDebounceMillis" | "purgeClosedRowNodes" | "serverSideDatasource" | "serverSideSortAllLevels" | "serverSideFilterAllLevels" | "serverSideSortOnServer" | "serverSideFilterOnServer" | "serverSideSortingAlwaysResets" | "serverSideFilteringAlwaysResets" | "viewportDatasource" | "viewportRowModelPageSize" | "viewportRowModelBufferSize" | "alwaysShowHorizontalScroll" | "alwaysShowVerticalScroll" | "debounceVerticalScrollbar" | "suppressHorizontalScroll" | "suppressScrollOnNewData" | "suppressScrollWhenPopupsAreOpen" | "suppressAnimationFrame" | "suppressMiddleClickScrolls" | "suppressPreventDefaultOnMouseWheel" | "scrollbarWidth" | "rowSelection" | "rowMultiSelectWithClick" | "suppressRowDeselection" | "suppressRowClickSelection" | "suppressCellSelection" | "suppressCellFocus" | "suppressMultiRangeSelection" | "enableCellTextSelection" | "enableRangeSelection" | "enableRangeHandle" | "enableFillHandle" | "fillHandleDirection" | "suppressClearOnFillReduction" | "accentedSort" | "suppressMultiSort" | "alwaysMultiSort" | "multiSortKey" | "suppressMaintainUnsortedOrder" | "rowStyle" | "rowClass" | "rowClassRules" | "suppressRowHoverHighlight" | "suppressRowTransform" | "columnHoverHighlight" | "deltaSort" | "treeDataDisplayType" | "functionsPassive" | "enableGroupEdit" | "getContextMenuItems" | "getMainMenuItems" | "postProcessPopup" | "processCellForClipboard" | "processHeaderForClipboard" | "processGroupHeaderForClipboard" | "processCellFromClipboard" | "sendToClipboard" | "processDataFromClipboard" | "isExternalFilterPresent" | "doesExternalFilterPass" | "getChartToolbarItems" | "createChartContainer" | "navigateToNextHeader" | "tabToNextHeader" | "navigateToNextCell" | "tabToNextCell" | "localeTextFunc" | "getLocaleText" | "getDocument" | "paginationNumberFormatter" | "groupRowAggNodes" | "getGroupRowAgg" | "isGroupOpenByDefault" | "initialGroupOrderComparator" | "defaultGroupOrderComparator" | "processSecondaryColDef" | "processSecondaryColGroupDef" | "processPivotResultColDef" | "processPivotResultColGroupDef" | "getDataPath" | "getChildCount" | "getServerSideGroupLevelParams" | "getServerSideStoreParams" | "isServerSideGroupOpenByDefault" | "isApplyServerSideTransaction" | "isServerSideGroup" | "getServerSideGroupKey" | "getBusinessKeyForNode" | "getRowNodeId" | "getRowId" | "resetRowDataOnUpdate" | "processRowPostCreate" | "isRowSelectable" | "isRowMaster" | "fillOperation" | "postSort" | "postSortRows" | "getRowStyle" | "getRowClass" | "getRowHeight" | "isFullWidthCell" | "isFullWidthRow" | "onToolPanelVisibleChanged" | "onToolPanelSizeChanged" | "onPasteStart" | "onPasteEnd" | "onColumnVisible" | "onColumnPinned" | "onColumnResized" | "onColumnMoved" | "onColumnValueChanged" | "onColumnPivotModeChanged" | "onColumnPivotChanged" | "onColumnGroupOpened" | "onNewColumnsLoaded" | "onGridColumnsChanged" | "onDisplayedColumnsChanged" | "onVirtualColumnsChanged" | "onColumnEverythingChanged" | "onComponentStateChanged" | "onCellEditRequest" | "onRowValueChanged" | "onCellEditingStarted" | "onCellEditingStopped" | "onRowEditingStarted" | "onRowEditingStopped" | "onUndoStarted" | "onUndoEnded" | "onRedoStarted" | "onRedoEnded" | "onFilterOpened" | "onFilterChanged" | "onFilterModified" | "onChartCreated" | "onChartRangeSelectionChanged" | "onChartOptionsChanged" | "onChartDestroyed" | "onCellKeyDown" | "onCellKeyPress" | "onFirstDataRendered" | "onGridSizeChanged" | "onModelUpdated" | "onVirtualRowRemoved" | "onViewportChanged" | "onBodyScroll" | "onBodyScrollEnd" | "onDragStarted" | "onDragStopped" | "onPaginationChanged" | "onRowDragEnter" | "onRowDragMove" | "onRowDragLeave" | "onRowDragEnd" | "onColumnRowGroupChanged" | "onRowGroupOpened" | "onExpandOrCollapseAll" | "onPinnedRowDataChanged" | "onRowDataChanged" | "onRowDataUpdated" | "onAsyncTransactionsFlushed" | "onCellFocused" | "onCellMouseOver" | "onCellMouseOut" | "onCellMouseDown" | "onRowClicked" | "onRowDoubleClicked" | "onRowSelected" | "onSelectionChanged" | "onRangeSelectionChanged" | "onSortChanged" | "onColumnRowGroupChangeRequest" | "onColumnPivotChangeRequest" | "onColumnValueChangeRequest" | "onColumnAggFuncChangeRequest")[];
15
15
  declare const GridPro_base: (new (...args: any[]) => {
16
16
  "__#1@#_container": import("@genesislcap/foundation-utils").FoundationLayoutContainer | import("@genesislcap/foundation-utils").LayoutCacheContainer | import("@genesislcap/foundation-utils").DOMContainer;
17
17
  "__#1@#_latestTokenCode": string;
@@ -20,6 +20,11 @@ declare const GridPro_base: (new (...args: any[]) => {
20
20
  "__#1@#_shouldForceLifecycle": boolean;
21
21
  cloneNode(deep?: boolean): Node;
22
22
  deepClone(): Node;
23
+ /**
24
+ * Boolean attribute to control whether the grid autosizes the columns upon interaction.
25
+ * This will disable the column widths from being manually set, and doesn't save the widths
26
+ * in local storage if you are using `persist-column-state-key`.
27
+ */
23
28
  readonly shouldRunDisconnect: boolean;
24
29
  readonly shouldRunConnect: boolean;
25
30
  "__#1@#_blockLifecycleDueToTokenChange"(lifecycleType: "connect" | "disconnect" | "reconnect"): boolean;
@@ -66,11 +71,6 @@ declare const GridPro_base: (new (...args: any[]) => {
66
71
  onfullscreenchange: (this: Element, ev: Event) => any;
67
72
  onfullscreenerror: (this: Element, ev: Event) => any;
68
73
  outerHTML: string;
69
- /**
70
- * The row data to display in the grid.
71
- * @remarks For scenarios where you want to set data manually, without relying on `<grid-pro-client-side-datasource>`.
72
- * @public
73
- */
74
74
  readonly ownerDocument: Document;
75
75
  readonly part: DOMTokenList;
76
76
  readonly prefix: string;
@@ -101,20 +101,7 @@ declare const GridPro_base: (new (...args: any[]) => {
101
101
  getElementsByTagNameNS(namespace: string, localName: string): HTMLCollectionOf<Element>;
102
102
  hasAttribute(qualifiedName: string): boolean;
103
103
  hasAttributeNS(namespace: string, localName: string): boolean;
104
- hasAttributes(): boolean; /**
105
- * Injectable config that allows to change grid options on an app level basis
106
- * To modify options, register instance of the config in DOM container that is
107
- * above the grid or on the top level of the application, so it applies to all grids.
108
- *
109
- * @example
110
- * ```
111
- * DI.getOrCreateDOMContainer().register([
112
- * Registration.instance<GridOptionsConfig>(GridOptionsConfig, {
113
- * headerHeight: 50,
114
- * }),
115
- * ]);
116
- * ```
117
- */
104
+ hasAttributes(): boolean;
118
105
  hasPointerCapture(pointerId: number): boolean;
119
106
  insertAdjacentElement(where: InsertPosition, element: Element): Element;
120
107
  insertAdjacentHTML(position: InsertPosition, text: string): void;
@@ -226,7 +213,12 @@ declare const GridPro_base: (new (...args: any[]) => {
226
213
  ariaValueNow: string;
227
214
  ariaValueText: string;
228
215
  role: string;
229
- animate(keyframes: PropertyIndexedKeyframes | Keyframe[], options?: number | KeyframeAnimationOptions): Animation;
216
+ animate(keyframes: PropertyIndexedKeyframes | Keyframe[], options?: number | KeyframeAnimationOptions): Animation; /**
217
+ * Gets the saved grid ColumnState[] from storage
218
+ * @remarks This is used to restore the grid state when the grid is rehydrated
219
+ * @privateRemarks Not using `columnApi.get|setColumnState()` for these flows as it doesn't work setting new columnDefs vs different ordering.
220
+ * @public
221
+ */
230
222
  getAnimations(options?: GetAnimationsOptions): Animation[];
231
223
  after(...nodes: (string | Node)[]): void;
232
224
  before(...nodes: (string | Node)[]): void;
@@ -256,9 +248,7 @@ declare const GridPro_base: (new (...args: any[]) => {
256
248
  contentEditable: string;
257
249
  enterKeyHint: string;
258
250
  inputMode: string;
259
- readonly isContentEditable: boolean; /**
260
- * @public
261
- */
251
+ readonly isContentEditable: boolean;
262
252
  onabort: (this: GlobalEventHandlers, ev: UIEvent) => any;
263
253
  onanimationcancel: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
264
254
  onanimationend: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
@@ -321,6 +311,15 @@ declare const GridPro_base: (new (...args: any[]) => {
321
311
  onprogress: (this: GlobalEventHandlers, ev: ProgressEvent<EventTarget>) => any;
322
312
  onratechange: (this: GlobalEventHandlers, ev: Event) => any;
323
313
  onreset: (this: GlobalEventHandlers, ev: Event) => any;
314
+ /**
315
+ * Will merge templated column definitions with `columnDefs` plus localStorage's column state or `deferredColumnStates`.
316
+ * @public
317
+ * @remarks This will favor the column state from the browser's local storage over the `deferredColumnStates` property on the `grid-pro-genesis-datasource` element.
318
+ * @param columnDefs - The column definitions to apply to the grid.
319
+ * @param deferredColumnDefsOrState - If true, will merge the column definitions with the saved column state or the `deferredColumnStates` property
320
+ * on the `grid-pro-genesis-datasource` element. Defaults to false but `grid-pro-genesis-datasource` will set this to true.
321
+ * @returns The merged column definitions.
322
+ */
324
323
  onresize: (this: GlobalEventHandlers, ev: UIEvent) => any;
325
324
  onscroll: (this: GlobalEventHandlers, ev: Event) => any;
326
325
  onsecuritypolicyviolation: (this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any;
@@ -364,10 +363,10 @@ declare const GridPro_base: (new (...args: any[]) => {
364
363
  * @tagname %%prefix%%-grid-pro
365
364
  */
366
365
  export declare class GridPro extends GridPro_base {
366
+ columnApi: ColumnApi;
367
+ gridApi: GridApi;
367
368
  gridErrorItems: GridProErrorItem<GridProErrorEvent['detail']>[];
368
369
  statePersistence: StatePersistence;
369
- private _gridApi;
370
- get gridApi(): GridApi;
371
370
  /**
372
371
  * Timeout function used to debounce resize calls
373
372
  * @internal
@@ -440,8 +439,9 @@ export declare class GridPro extends GridPro_base {
440
439
  headerHeight: number;
441
440
  rowHeight: number;
442
441
  theme: string;
443
- themeChanged(_oldValue: string, newValue: string): void;
442
+ themeChanged(oldValue: string, newValue: string): void;
444
443
  classNames: string;
444
+ agGrid: Grid;
445
445
  gridSlot: HTMLSlotElement;
446
446
  gridComponents: {
447
447
  [componentName: string]: any;
@@ -477,7 +477,7 @@ export declare class GridPro extends GridPro_base {
477
477
  */
478
478
  gridOptionsConfig: GridOptionsConfig;
479
479
  constructor();
480
- addEventListener(type: any, listener: any, options?: boolean | AddEventListenerOptions): void;
480
+ addEventListener(eventType: string, listener: any, options?: boolean | AddEventListenerOptions): void;
481
481
  private addGridEventListener;
482
482
  private handleError;
483
483
  hideDatasourceError(): void;
@@ -500,7 +500,7 @@ export declare class GridPro extends GridPro_base {
500
500
  /**
501
501
  * Gets the saved grid ColumnState[] from storage
502
502
  * @remarks This is used to restore the grid state when the grid is rehydrated
503
- * @privateRemarks Not using `gridApi.get|setColumnState()` for these flows as it doesn't work setting new columnDefs vs different ordering.
503
+ * @privateRemarks Not using `columnApi.get|setColumnState()` for these flows as it doesn't work setting new columnDefs vs different ordering.
504
504
  * @public
505
505
  */
506
506
  getSavedColumnState(): Promise<ColumnState[]>;
@@ -531,7 +531,7 @@ export declare class GridPro extends GridPro_base {
531
531
  * @param deferredColumnDefsOrState - If true, will merge the column definitions with the saved column state or the `deferredColumnStates` property on the `grid-pro-genesis-datasource` element.
532
532
  * @returns The merged column definitions.
533
533
  */
534
- applyTemplateDefinitions(columnDefs: ColDef[], deferredColumnDefsOrState?: boolean): Promise<ColDef<any, any>[]>;
534
+ applyTemplateDefinitions(columnDefs: ColDef[], deferredColumnDefsOrState?: boolean): Promise<ColDef<any>[]>;
535
535
  /**
536
536
  * Will merge templated column definitions with `columnDefs` plus localStorage's column state or `deferredColumnStates`.
537
537
  * @public
@@ -541,7 +541,7 @@ export declare class GridPro extends GridPro_base {
541
541
  * on the `grid-pro-genesis-datasource` element. Defaults to false but `grid-pro-genesis-datasource` will set this to true.
542
542
  * @returns The merged column definitions.
543
543
  */
544
- mergeAllColumnDefsAndStates(columnDefs: ColDef[], deferredColumnDefsOrState?: boolean): Promise<ColDef<any, any>[]>;
544
+ mergeAllColumnDefsAndStates(columnDefs: ColDef[], deferredColumnDefsOrState?: boolean): Promise<ColDef<any>[]>;
545
545
  get observedAttributes(): string[];
546
546
  agAttributeChangedCallback(attName: any, oldValue: any, newValue: any): void;
547
547
  globalEventListener(eventType: any, event: any): void;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grid-pro.template.d.ts","sourceRoot":"","sources":["../../src/grid-pro.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,iDAoC9B,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,YAAmC,CAAC"}
1
+ {"version":3,"file":"grid-pro.template.d.ts","sourceRoot":"","sources":["../../src/grid-pro.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,iDAqC9B,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,YAAmC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
+ import { Events, } from '@ag-grid-community/core';
2
3
  import { css, html, observable } from '@microsoft/fast-element';
3
4
  import { FoundationElement } from '@microsoft/fast-foundation';
4
5
  import { EDITED_COLUMN_FIELD } from '../grid-pro.types';
@@ -30,31 +31,31 @@ export class BooleanRenderer extends FoundationElement {
30
31
  changeHandler(e) {
31
32
  this.selected = e.target.checked;
32
33
  const editedCells = this.params.api.getEditingCells();
33
- const changingCurrentlyEditedCell = !!editedCells.find((cell) => cell.rowIndex === this.params.node.rowIndex &&
34
+ const changingCurrentlyEditedCell = !!editedCells.find((cell) => cell.rowIndex === this.params.rowIndex &&
34
35
  cell.column.getInstanceId() === this.params.column.getInstanceId());
35
36
  if (!changingCurrentlyEditedCell) {
36
37
  // below section allows grid renderer to act as grid editor so users can edit data without requesting edit
37
38
  // heavily inspired by https://github.com/ag-grid/ag-grid/blob/latest/grid-community-modules/core/src/ts/rendering/cellRenderers/checkboxCellRenderer.ts#L104
38
- const { column, node, value } = this.params;
39
+ const { column, node, rowIndex, value } = this.params;
39
40
  const eventStarted = {
40
- type: 'cellEditingStarted',
41
+ type: Events.EVENT_CELL_EDITING_STARTED,
41
42
  column: column,
42
43
  colDef: column === null || column === void 0 ? void 0 : column.getColDef(),
43
44
  data: node.data,
44
45
  node,
45
- rowIndex: this.params.node.rowIndex,
46
+ rowIndex,
46
47
  rowPinned: node.rowPinned,
47
48
  value,
48
49
  };
49
50
  this.params.api.dispatchEvent(eventStarted);
50
51
  const valueChanged = this.params.node.setDataValue(this.params.column, this.selected, 'edit');
51
52
  const eventStopped = {
52
- type: 'cellEditingStopped',
53
+ type: Events.EVENT_CELL_EDITING_STOPPED,
53
54
  column: column,
54
55
  colDef: column === null || column === void 0 ? void 0 : column.getColDef(),
55
56
  data: node.data,
56
57
  node,
57
- rowIndex: this.params.node.rowIndex,
58
+ rowIndex,
58
59
  rowPinned: node.rowPinned,
59
60
  value,
60
61
  oldValue: value,
@@ -1,10 +1,13 @@
1
1
  import { __decorate } from "tslib";
2
- import { DatasourceDefaults, DatasourceEventHandler, FieldTypeEnum, logger, ResourceType, } from '@genesislcap/foundation-comms';
2
+ import { Datasource, DatasourceDefaults, DatasourceEventHandler, FieldTypeEnum, logger, normaliseCriteria, ResourceType, } from '@genesislcap/foundation-comms';
3
3
  import { Connect } from '@genesislcap/foundation-comms';
4
- import { attr, observable } from '@microsoft/fast-element';
4
+ import { attr, observable, volatile } from '@microsoft/fast-element';
5
5
  import { FoundationElement } from '@microsoft/fast-foundation';
6
+ import { BehaviorSubject } from 'rxjs';
6
7
  import { dateValueFormatter, dateTimeValueFormatter, getColumnType, getFilterByFieldType, } from '../grid-pro.definitions';
7
8
  import { GridProRendererTypes } from '../grid-pro.types';
9
+ export const criteriaDelimiter = ';';
10
+ export const criteriaJoin = ' && ';
8
11
  export class GenesisGridDatasourceElement extends DatasourceEventHandler(FoundationElement) {
9
12
  constructor() {
10
13
  super(...arguments);
@@ -13,7 +16,16 @@ export class GenesisGridDatasourceElement extends DatasourceEventHandler(Foundat
13
16
  this.maxView = DatasourceDefaults.MAX_VIEW_1000;
14
17
  this.movingView = false;
15
18
  this.reverse = false;
16
- this.isRequestServer = false;
19
+ this.pollingInterval = DatasourceDefaults.REQ_REP_POLLING_INTERVAL_MS;
20
+ this.disablePolling = false;
21
+ /**
22
+ * Attribute to set whether the REQUEST object should be automatically set up.
23
+ * @remarks Defaults to `true`. Only applies to REQUEST_SERVER (REQ-REP) resources.
24
+ * @privateRemarks To avoid breaking changes for now, once V15 is out this will be removed and the default behavior will be the same as `false` here.
25
+ */
26
+ this.requestAutoSetup = true;
27
+ this.criteriaFromFilters = new Map();
28
+ this.update = new BehaviorSubject(new Map());
17
29
  }
18
30
  /* Returns the `row-id` attribute, depending on the resource type.
19
31
  * @remarks Will favour the `row-id` attribute if set.
@@ -40,8 +52,50 @@ export class GenesisGridDatasourceElement extends DatasourceEventHandler(Foundat
40
52
  ? DatasourceDefaults.REQUEST_SERVER_ROW_ID
41
53
  : DatasourceDefaults.DATASERVER_ROW_ID;
42
54
  }
55
+ datasourceOptions() {
56
+ return {
57
+ // Common between DATASERVER and REQUEST_SERVER (REQ-REP)
58
+ resourceName: this.resourceName,
59
+ isSnapshot: this.isSnapshot,
60
+ criteria: this.buildCriteria(),
61
+ maxRows: +this.maxRows,
62
+ viewNumber: this.viewNumber,
63
+ // DATASERVER only
64
+ fields: this.fields,
65
+ maxView: +this.maxView,
66
+ movingView: this.movingView,
67
+ orderBy: this.orderBy,
68
+ reverse: this.reverse,
69
+ // REQUEST_SERVER only
70
+ disablePolling: this.disablePolling,
71
+ pollingInterval: this.pollingInterval,
72
+ request: this.request,
73
+ requestAutoSetup: this.requestAutoSetup,
74
+ };
75
+ }
76
+ buildCriteria() {
77
+ var _a;
78
+ const initialCriteria = ((_a = this.criteria) === null || _a === void 0 ? void 0 : _a.split(criteriaDelimiter)) || [];
79
+ const criteria = initialCriteria.concat(Array.from(this.criteriaFromFilters.values()));
80
+ const normalisedCriteria = normaliseCriteria(criteria.join(criteriaJoin), criteriaDelimiter);
81
+ return normalisedCriteria ? normalisedCriteria : undefined;
82
+ }
83
+ setFilter(fieldName, newFilter) {
84
+ this.criteriaFromFilters.set(fieldName, newFilter);
85
+ this.update.next(this.criteriaFromFilters);
86
+ }
87
+ removeFilter(fieldName) {
88
+ this.criteriaFromFilters.delete(fieldName);
89
+ this.update.next(this.criteriaFromFilters);
90
+ }
91
+ get isRequestServer() {
92
+ var _a;
93
+ return ((_a = this.datasource.status) === null || _a === void 0 ? void 0 : _a.type) === ResourceType.REQUEST_SERVER;
94
+ }
95
+ // protected isRequestServer = false;
43
96
  datasourceStatusChanged(prev, next) {
44
- this.isRequestServer = next.type === ResourceType.REQUEST_SERVER;
97
+ // this.isRequestServer = next.type === ResourceType.REQUEST_SERVER;
98
+ // TODO: this is not triggered after first init :(
45
99
  }
46
100
  get agGrid() {
47
101
  return this.parentElement;
@@ -50,6 +104,9 @@ export class GenesisGridDatasourceElement extends DatasourceEventHandler(Foundat
50
104
  __decorate([
51
105
  Connect
52
106
  ], GenesisGridDatasourceElement.prototype, "connect", void 0);
107
+ __decorate([
108
+ Datasource
109
+ ], GenesisGridDatasourceElement.prototype, "datasource", void 0);
53
110
  __decorate([
54
111
  observable
55
112
  ], GenesisGridDatasourceElement.prototype, "deferredGridOptions", void 0);
@@ -86,9 +143,27 @@ __decorate([
86
143
  __decorate([
87
144
  attr({ mode: 'boolean' })
88
145
  ], GenesisGridDatasourceElement.prototype, "reverse", void 0);
146
+ __decorate([
147
+ attr({ attribute: 'view-number' })
148
+ ], GenesisGridDatasourceElement.prototype, "viewNumber", void 0);
149
+ __decorate([
150
+ attr({ attribute: 'polling-interval' })
151
+ ], GenesisGridDatasourceElement.prototype, "pollingInterval", void 0);
152
+ __decorate([
153
+ attr({ mode: 'boolean', attribute: 'disable-polling' })
154
+ ], GenesisGridDatasourceElement.prototype, "disablePolling", void 0);
155
+ __decorate([
156
+ observable
157
+ ], GenesisGridDatasourceElement.prototype, "request", void 0);
158
+ __decorate([
159
+ attr({ mode: 'boolean', attribute: 'request-auto-setup' })
160
+ ], GenesisGridDatasourceElement.prototype, "requestAutoSetup", void 0);
89
161
  __decorate([
90
162
  attr({ attribute: 'row-id' })
91
163
  ], GenesisGridDatasourceElement.prototype, "rowIdAttr", void 0);
164
+ __decorate([
165
+ volatile
166
+ ], GenesisGridDatasourceElement.prototype, "isRequestServer", null);
92
167
  /**
93
168
  * The operation type for the {@link @genesislcap/grid-pro#GridProBaseDatasource.mapTransaction} method.
94
169
  * @internal
@@ -240,7 +315,6 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
240
315
  const changedNodes = this.applyTransaction(this.mapTransaction(agTransaction, [operation]));
241
316
  this.flashAddedCells(changedNodes.add);
242
317
  }
243
- this.agGrid.gridApi.hideOverlay();
244
318
  }
245
319
  applyTransaction(agTransaction) {
246
320
  throw new Error('Method not implemented.');
@@ -271,8 +345,3 @@ export class GridProBaseDatasource extends GenesisGridDatasourceElement {
271
345
  return mappedTransaction;
272
346
  }
273
347
  }
274
- export class StreamBaseDatasource {
275
- constructor() {
276
- this.rowData = new Map();
277
- }
278
- }
@@ -0,0 +1 @@
1
+ export {};
@@ -29,7 +29,7 @@ export function getClientSideFilterParamsByFieldType(type) {
29
29
  buttons: ['reset', 'apply'],
30
30
  closeOnApply: true,
31
31
  closeOnClear: true,
32
- suppressAndOrCondition: true,
32
+ maxNumConditions: 1,
33
33
  browserDatePicker: true,
34
34
  };
35
35
  }