@deephaven/js-plugin-ag-grid 0.2.0 → 0.2.1-ag-grid-no-components.930

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 (87) hide show
  1. package/README.md +27 -2
  2. package/dist/AgGridPlugin.js +2 -2
  3. package/dist/AgGridPlugin.js.map +1 -1
  4. package/dist/bundle/index.js +31680 -15586
  5. package/dist/{AgGridView.d.ts → components/AgGridView.d.ts} +3 -3
  6. package/dist/components/AgGridView.d.ts.map +1 -0
  7. package/dist/{AgGridView.js → components/AgGridView.js} +45 -16
  8. package/dist/components/AgGridView.js.map +1 -0
  9. package/dist/components/AgGridWidget.d.ts.map +1 -0
  10. package/dist/components/AgGridWidget.js +27 -0
  11. package/dist/components/AgGridWidget.js.map +1 -0
  12. package/dist/components/LoadingOverlay.d.ts +11 -0
  13. package/dist/components/LoadingOverlay.d.ts.map +1 -0
  14. package/dist/components/LoadingOverlay.js +12 -0
  15. package/dist/components/LoadingOverlay.js.map +1 -0
  16. package/dist/components/LoadingSpinner.d.ts +8 -0
  17. package/dist/components/LoadingSpinner.d.ts.map +1 -0
  18. package/dist/components/LoadingSpinner.js +14 -0
  19. package/dist/components/LoadingSpinner.js.map +1 -0
  20. package/dist/components/index.d.ts +5 -0
  21. package/dist/components/index.d.ts.map +1 -0
  22. package/dist/components/index.js +5 -0
  23. package/dist/components/index.js.map +1 -0
  24. package/dist/datasources/DeephavenViewportDatasource.d.ts +9 -1
  25. package/dist/datasources/DeephavenViewportDatasource.d.ts.map +1 -1
  26. package/dist/datasources/DeephavenViewportDatasource.js +122 -11
  27. package/dist/datasources/DeephavenViewportDatasource.js.map +1 -1
  28. package/dist/hooks/useWidgetFetch.d.ts +6 -0
  29. package/dist/hooks/useWidgetFetch.d.ts.map +1 -0
  30. package/dist/hooks/useWidgetFetch.js +54 -0
  31. package/dist/hooks/useWidgetFetch.js.map +1 -0
  32. package/dist/renderers/TreeCellRenderer.d.ts.map +1 -1
  33. package/dist/renderers/TreeCellRenderer.js +8 -17
  34. package/dist/renderers/TreeCellRenderer.js.map +1 -1
  35. package/dist/types/AgGridTableType.d.ts +5 -0
  36. package/dist/types/AgGridTableType.d.ts.map +1 -0
  37. package/dist/types/AgGridTableType.js +2 -0
  38. package/dist/types/AgGridTableType.js.map +1 -0
  39. package/dist/types/index.d.ts +2 -0
  40. package/dist/types/index.d.ts.map +1 -0
  41. package/dist/types/index.js +2 -0
  42. package/dist/types/index.js.map +1 -0
  43. package/dist/{AgGridDhTheme.d.ts → utils/AgGridDhTheme.d.ts} +2 -2
  44. package/dist/utils/AgGridDhTheme.d.ts.map +1 -0
  45. package/dist/{AgGridDhTheme.js → utils/AgGridDhTheme.js} +6 -2
  46. package/dist/utils/AgGridDhTheme.js.map +1 -0
  47. package/dist/utils/AgGridFilterUtils.d.ts +2 -2
  48. package/dist/utils/AgGridFilterUtils.d.ts.map +1 -1
  49. package/dist/utils/AgGridFilterUtils.js +2 -1
  50. package/dist/utils/AgGridFilterUtils.js.map +1 -1
  51. package/dist/utils/AgGridFormatter.d.ts +2 -1
  52. package/dist/utils/AgGridFormatter.d.ts.map +1 -1
  53. package/dist/utils/AgGridFormatter.js +2 -1
  54. package/dist/utils/AgGridFormatter.js.map +1 -1
  55. package/dist/utils/AgGridPivotUtils.d.ts +57 -0
  56. package/dist/utils/AgGridPivotUtils.d.ts.map +1 -0
  57. package/dist/utils/AgGridPivotUtils.js +246 -0
  58. package/dist/utils/AgGridPivotUtils.js.map +1 -0
  59. package/dist/utils/AgGridSortUtils.d.ts +2 -1
  60. package/dist/utils/AgGridSortUtils.d.ts.map +1 -1
  61. package/dist/utils/AgGridSortUtils.js +2 -1
  62. package/dist/utils/AgGridSortUtils.js.map +1 -1
  63. package/dist/utils/AgGridTableUtils.d.ts +27 -6
  64. package/dist/utils/AgGridTableUtils.d.ts.map +1 -1
  65. package/dist/utils/AgGridTableUtils.js +78 -21
  66. package/dist/utils/AgGridTableUtils.js.map +1 -1
  67. package/dist/utils/AgGridUtils.d.ts +3 -0
  68. package/dist/utils/AgGridUtils.d.ts.map +1 -0
  69. package/dist/utils/AgGridUtils.js +38 -0
  70. package/dist/utils/AgGridUtils.js.map +1 -0
  71. package/dist/utils/CorePlusUtils.d.ts +4 -0
  72. package/dist/utils/CorePlusUtils.d.ts.map +1 -0
  73. package/dist/utils/CorePlusUtils.js +5 -0
  74. package/dist/utils/CorePlusUtils.js.map +1 -0
  75. package/dist/utils/index.d.ts +3 -0
  76. package/dist/utils/index.d.ts.map +1 -1
  77. package/dist/utils/index.js +3 -0
  78. package/dist/utils/index.js.map +1 -1
  79. package/package.json +13 -11
  80. package/dist/AgGridDhTheme.d.ts.map +0 -1
  81. package/dist/AgGridDhTheme.js.map +0 -1
  82. package/dist/AgGridView.d.ts.map +0 -1
  83. package/dist/AgGridView.js.map +0 -1
  84. package/dist/AgGridWidget.d.ts.map +0 -1
  85. package/dist/AgGridWidget.js +0 -72
  86. package/dist/AgGridWidget.js.map +0 -1
  87. /package/dist/{AgGridWidget.d.ts → components/AgGridWidget.d.ts} +0 -0
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
- import type { dh as DhType } from '@deephaven/jsapi-types';
3
2
  import { WorkspaceSettings } from '@deephaven/redux';
4
3
  import { AgGridReactProps } from '@ag-grid-community/react';
5
- type AgGridViewProps = {
6
- table: DhType.Table | DhType.TreeTable;
4
+ import { AgGridTableType } from '../types';
5
+ export type AgGridViewProps = {
6
+ table: AgGridTableType;
7
7
  settings?: WorkspaceSettings;
8
8
  agGridProps?: AgGridReactProps;
9
9
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgGridView.d.ts","sourceRoot":"","sources":["../../src/components/AgGridView.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAUrD,OAAO,EAAe,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAazE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAIF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,WAAW,GACZ,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAiItC;AAED,eAAe,UAAU,CAAC"}
@@ -4,10 +4,8 @@ import Log from '@deephaven/log';
4
4
  import { createFormatterFromSettings } from '@deephaven/jsapi-utils';
5
5
  import { AgGridReact } from '@ag-grid-community/react';
6
6
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
7
- import { getColumnDefs, getSideBar } from './utils/AgGridTableUtils';
8
- import AgGridFormatter from './utils/AgGridFormatter';
9
- import DeephavenViewportDatasource from './datasources/DeephavenViewportDatasource';
10
- import { getAutoGroupColumnDef } from './utils/AgGridRenderUtils';
7
+ import { AgGridFormatter, getAutoGroupColumnDef, getColumnDefs, getSideBar, isPivotTable, toGroupKeyString, TREE_NODE_KEY, } from '../utils';
8
+ import { DeephavenViewportDatasource } from '../datasources';
11
9
  const log = Log.module('@deephaven/js-plugin-ag-grid/AgGridView');
12
10
  /**
13
11
  * AgGrid view that uses the Server-Side Row Model and a Deephaven table as a data source to display
@@ -16,10 +14,10 @@ const log = Log.module('@deephaven/js-plugin-ag-grid/AgGridView');
16
14
  export function AgGridView({ table, settings, agGridProps, }) {
17
15
  const dh = useApi();
18
16
  const gridApiRef = useRef(null);
17
+ const autoSizedColumnsRef = useRef(new Set());
19
18
  const [isVisible, setIsVisible] = useState(false);
20
19
  const [isFirstDataRendered, setIsFirstDataRendered] = useState(false);
21
- const [isColumnsSized, setIsColumnsSized] = useState(false);
22
- log.debug('AgGridView rendering', table, table === null || table === void 0 ? void 0 : table.columns);
20
+ log.debug('AgGridView rendering', table);
23
21
  /** Map from Deephaven Table Columns to AG Grid ColDefs */
24
22
  const colDefs = useMemo(() => getColumnDefs(table), [table]);
25
23
  /** Create the ViewportDatasource to pass in to AG Grid based on the Deephaven Table */
@@ -32,15 +30,27 @@ export function AgGridView({ table, settings, agGridProps, }) {
32
30
  // Workaround to auto-size columns based on their contents, as ag-grid ignores virtual columns
33
31
  // that are not visible in the viewport
34
32
  const autoSizeAllColumns = () => {
33
+ var _a, _b;
35
34
  const gridApi = gridApiRef.current;
36
35
  if (!gridApi)
37
36
  return;
38
- gridApi.sizeColumnsToFit();
39
- const columns = gridApi.getColumns();
40
- if (!columns)
41
- return;
42
- const allColumnIds = columns.map(col => col.getColId());
43
- gridApi.autoSizeColumns(allColumnIds);
37
+ const allColumnIds = [
38
+ ...((_a = gridApi.getColumns()) !== null && _a !== void 0 ? _a : []),
39
+ ...((_b = gridApi.getPivotResultColumns()) !== null && _b !== void 0 ? _b : []),
40
+ ].map(c => c.getColId());
41
+ // Only auto-size columns that haven't been auto-sized yet
42
+ const columnsToAutoSize = allColumnIds.filter(colId => !autoSizedColumnsRef.current.has(colId));
43
+ log.debug2('autoSizeAllColumns resizing', columnsToAutoSize);
44
+ if (columnsToAutoSize.length > 0) {
45
+ gridApi.autoSizeColumns(columnsToAutoSize);
46
+ columnsToAutoSize.forEach(colId => autoSizedColumnsRef.current.add(colId));
47
+ }
48
+ // Remove any columns that are no longer present in the grid from the auto-sized set
49
+ autoSizedColumnsRef.current.forEach(colId => {
50
+ if (!allColumnIds.includes(colId)) {
51
+ autoSizedColumnsRef.current.delete(colId);
52
+ }
53
+ });
44
54
  };
45
55
  const handleGridReady = useCallback((event) => {
46
56
  log.debug('handleGridReady', event);
@@ -56,14 +66,33 @@ export function AgGridView({ table, settings, agGridProps, }) {
56
66
  setIsVisible(event.clientHeight > 0 && event.clientWidth > 0);
57
67
  };
58
68
  useEffect(() => {
59
- if (isVisible && isFirstDataRendered && !isColumnsSized) {
60
- setIsColumnsSized(true);
69
+ if (isVisible && isFirstDataRendered) {
61
70
  autoSizeAllColumns();
62
71
  }
63
- }, [isVisible, isFirstDataRendered, isColumnsSized]);
72
+ }, [isVisible, isFirstDataRendered]);
73
+ const getRowId = useCallback((params) => {
74
+ var _a;
75
+ const { data } = params;
76
+ if (data == null) {
77
+ log.warn('getRowId called with null data', params);
78
+ return '';
79
+ }
80
+ if (isPivotTable(table)) {
81
+ const groupKeys = [];
82
+ for (let i = 0; i < table.rowSources.length; i += 1) {
83
+ const rowSource = table.rowSources[i];
84
+ if (data[rowSource.name] != null) {
85
+ groupKeys.push(String(data[rowSource.name]));
86
+ }
87
+ }
88
+ return toGroupKeyString(groupKeys);
89
+ }
90
+ const treeNode = data === null || data === void 0 ? void 0 : data[TREE_NODE_KEY];
91
+ return `${(_a = treeNode === null || treeNode === void 0 ? void 0 : treeNode.index) !== null && _a !== void 0 ? _a : ''}`;
92
+ }, [table]);
64
93
  return (_jsx(AgGridReact
65
94
  // eslint-disable-next-line react/jsx-props-no-spreading
66
- , Object.assign({}, agGridProps, { onGridReady: handleGridReady, onFirstDataRendered: handleFirstDataRendered, onGridSizeChanged: handleGridSizeChanged, autoGroupColumnDef: autoGroupColumnDef, columnDefs: colDefs, dataTypeDefinitions: formatter.cellDataTypeDefinitions, viewportDatasource: datasource, rowModelType: "viewport", sideBar: sideBar })));
95
+ , Object.assign({}, agGridProps, { onGridReady: handleGridReady, onFirstDataRendered: handleFirstDataRendered, onGridSizeChanged: handleGridSizeChanged, autoGroupColumnDef: autoGroupColumnDef, columnDefs: colDefs, dataTypeDefinitions: formatter.cellDataTypeDefinitions, viewportDatasource: datasource, rowModelType: "viewport", getRowId: getRowId, sideBar: sideBar })));
67
96
  }
68
97
  export default AgGridView;
69
98
  //# sourceMappingURL=AgGridView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgGridView.js","sourceRoot":"","sources":["../../src/components/AgGridView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgGridWidget.d.ts","sourceRoot":"","sources":["../../src/components/AgGridWidget.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAW9D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,GACzC,GAAG,CAAC,OAAO,CAmCb;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { useApi } from '@deephaven/jsapi-bootstrap';
4
+ import { getSettings } from '@deephaven/redux';
5
+ import { useSelector } from 'react-redux';
6
+ import { themeQuartz } from '@ag-grid-community/theming';
7
+ import AgGridView from './AgGridView';
8
+ import { AgGridDhTheme, getDefaultProps } from '../utils';
9
+ import useWidgetFetch from '../hooks/useWidgetFetch';
10
+ import LoadingOverlay from './LoadingOverlay';
11
+ /**
12
+ * Fetches an AgGrid widget from the server and fetches the underlying table provided by the widget.
13
+ * Then passes the table to AgGridView to display the table in an AG Grid.
14
+ */
15
+ export function AgGridWidget(props) {
16
+ const dh = useApi();
17
+ const settings = useSelector((getSettings));
18
+ const { fetch } = props;
19
+ const gridDensity = settings === null || settings === void 0 ? void 0 : settings.gridDensity;
20
+ const themeParams = useMemo(() => AgGridDhTheme.getThemeParams(gridDensity), [gridDensity]);
21
+ const theme = useMemo(() => themeQuartz.withParams(themeParams), [themeParams]);
22
+ const agGridProps = useMemo(() => (Object.assign(Object.assign({}, getDefaultProps()), { theme, rowHeight: themeParams.rowHeight })), [theme, themeParams]);
23
+ const table = useWidgetFetch(dh, fetch);
24
+ return table != null ? (_jsx("div", Object.assign({ className: "ui-table-container" }, { children: _jsx(AgGridView, { table: table, settings: settings, agGridProps: agGridProps }) }))) : (_jsx(LoadingOverlay, {}));
25
+ }
26
+ export default AgGridWidget;
27
+ //# sourceMappingURL=AgGridWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgGridWidget.js","sourceRoot":"","sources":["../../src/components/AgGridWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAa,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,cAAc,MAAM,yBAAyB,CAAC;AACrD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,KAA0C;IAE1C,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAA,WAAsB,CAAA,CAAC,CAAC;IACrD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAExB,MAAM,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAC;IAE1C,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,EAC/C,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,EACzC,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,WAAW,GAAqB,OAAO,CAC3C,GAAG,EAAE,CAAC,iCACD,eAAe,EAAE,KACpB,KAAK,EACL,SAAS,EAAE,WAAW,CAAC,SAAmB,IAC1C,EACF,CAAC,KAAK,EAAE,WAAW,CAAC,CACrB,CAAC;IAEF,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAExC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CACrB,4BAAK,SAAS,EAAC,oBAAoB,gBACjC,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAI,IACtE,CACP,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,KAAG,CACnB,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ type LoadingOverlayProps = {
3
+ className?: string | null;
4
+ 'data-testid'?: string;
5
+ };
6
+ /**
7
+ * A loading overlay that handles displaying a loading spinner or an error message
8
+ */
9
+ declare function LoadingOverlay({ className, 'data-testid': dataTestId, }: LoadingOverlayProps): JSX.Element;
10
+ export default LoadingOverlay;
11
+ //# sourceMappingURL=LoadingOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingOverlay.d.ts","sourceRoot":"","sources":["../../src/components/LoadingOverlay.tsx"],"names":[],"mappings":";AAIA,KAAK,mBAAmB,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,iBAAS,cAAc,CAAC,EACtB,SAAqB,EACrB,aAAa,EAAE,UAAU,GAC1B,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAuBnC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import LoadingSpinner from './LoadingSpinner';
4
+ /**
5
+ * A loading overlay that handles displaying a loading spinner or an error message
6
+ */
7
+ function LoadingOverlay({ className = undefined, 'data-testid': dataTestId, }) {
8
+ const spinnerTestId = dataTestId != null ? `${dataTestId}-spinner` : undefined;
9
+ return (_jsx("div", Object.assign({ className: "fill-parent-absolute", "data-testid": dataTestId }, { children: _jsx("div", Object.assign({ className: classNames('iris-panel-message-overlay', 'fill-parent-absolute') }, { children: _jsx("div", Object.assign({ className: "message-content" }, { children: _jsx("div", Object.assign({ className: "message-icon" }, { children: _jsx(LoadingSpinner, { className: "loading-spinner-large", "data-testid": spinnerTestId }) })) })) })) })));
10
+ }
11
+ export default LoadingOverlay;
12
+ //# sourceMappingURL=LoadingOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingOverlay.js","sourceRoot":"","sources":["../../src/components/LoadingOverlay.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAO9C;;GAEG;AACH,SAAS,cAAc,CAAC,EACtB,SAAS,GAAG,SAAS,EACrB,aAAa,EAAE,UAAU,GACL;IACpB,MAAM,aAAa,GACjB,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3D,OAAO,CACL,4BAAK,SAAS,EAAC,sBAAsB,iBAAc,UAAU,gBAC3D,4BACE,SAAS,EAAE,UAAU,CACnB,4BAA4B,EAC5B,sBAAsB,CACvB,gBAED,4BAAK,SAAS,EAAC,iBAAiB,gBAC9B,4BAAK,SAAS,EAAC,cAAc,gBAC3B,KAAC,cAAc,IACb,SAAS,EAAC,uBAAuB,iBACpB,aAAa,GAC1B,IACE,IACF,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ type LoadingSpinnerProps = {
3
+ className?: string;
4
+ 'data-testid'?: string;
5
+ };
6
+ declare function LoadingSpinner({ className, 'data-testid': dataTestId, }: LoadingSpinnerProps): JSX.Element;
7
+ export default LoadingSpinner;
8
+ //# sourceMappingURL=LoadingSpinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingSpinner.d.ts","sourceRoot":"","sources":["../../src/components/LoadingSpinner.tsx"],"names":[],"mappings":";AAIA,KAAK,mBAAmB,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,iBAAS,cAAc,CAAC,EACtB,SAAc,EACd,aAAa,EAAE,UAAU,GAC1B,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAiBnC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useLayoutEffect } from 'react';
3
+ import classNames from 'classnames';
4
+ import { DOMUtils } from '@deephaven/utils';
5
+ function LoadingSpinner({ className = '', 'data-testid': dataTestId, }) {
6
+ useLayoutEffect(() => {
7
+ // Ensure all of our loading spinner animations are synchronized based
8
+ // on same start time.
9
+ DOMUtils.syncAnimationStartTime('loading-spinner-rotate', 0);
10
+ }, []);
11
+ return (_jsx("div", { className: classNames('loading-spinner', className), "aria-label": "Loading...", "aria-valuemin": 0, "aria-valuemax": 100, "data-testid": dataTestId, role: "progressbar" }));
12
+ }
13
+ export default LoadingSpinner;
14
+ //# sourceMappingURL=LoadingSpinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingSpinner.js","sourceRoot":"","sources":["../../src/components/LoadingSpinner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,SAAS,cAAc,CAAC,EACtB,SAAS,GAAG,EAAE,EACd,aAAa,EAAE,UAAU,GACL;IACpB,eAAe,CAAC,GAAG,EAAE;QACnB,sEAAsE;QACtE,sBAAsB;QACtB,QAAQ,CAAC,sBAAsB,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,cACE,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC,gBACxC,YAAY,mBACR,CAAC,mBACD,GAAG,iBACL,UAAU,EACvB,IAAI,EAAC,aAAa,GAClB,CACH,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { default as LoadingOverlay } from './LoadingOverlay';
2
+ export { default as LoadingSpinner } from './LoadingSpinner';
3
+ export * from './AgGridView';
4
+ export * from './AgGridWidget';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { default as LoadingOverlay } from './LoadingOverlay';
2
+ export { default as LoadingSpinner } from './LoadingSpinner';
3
+ export * from './AgGridView';
4
+ export * from './AgGridWidget';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { dh as DhType } from '@deephaven/jsapi-types';
2
2
  import { GridApi, IViewportDatasource, IViewportDatasourceParams } from '@ag-grid-community/core';
3
+ import type { AgGridTableType } from '../types';
3
4
  /**
4
5
  * Class that takes the input table and provides a viewport data source for AG Grid.
5
6
  * Also listens for grouping to change from a table to a tree table and vice versa.
@@ -17,12 +18,14 @@ export declare class DeephavenViewportDatasource implements IViewportDatasource
17
18
  private pending;
18
19
  /** The current viewport being viewed */
19
20
  private currentViewport?;
21
+ /** Store the column keys from the last snapshot. This way we can tell when we need to update the pivot result columns. */
22
+ private lastSnapshotColumnKeys;
20
23
  /**
21
24
  * Create a Deephaven Viewport Row Model data source that can be used with AG Grid.
22
25
  * @param dh Deephaven API instance to use
23
26
  * @param table The table to use, either a Table or TreeTable.
24
27
  */
25
- constructor(dh: typeof DhType, table: DhType.Table | DhType.TreeTable);
28
+ constructor(dh: typeof DhType, table: AgGridTableType);
26
29
  init(params: IViewportDatasourceParams): void;
27
30
  setViewportRange(firstRow: number, lastRow: number): void;
28
31
  /**
@@ -32,6 +35,7 @@ export declare class DeephavenViewportDatasource implements IViewportDatasource
32
35
  * @param isExpanded Whether to expand or collapse the row
33
36
  */
34
37
  setExpanded(row: DhType.TreeRow | number, isExpanded: boolean): void;
38
+ setColumnExpanded(column: DhType.Column | number, isExpanded: boolean): void;
35
39
  setGridApi(gridApi: GridApi): void;
36
40
  private startTableListening;
37
41
  private stopTableListening;
@@ -39,7 +43,11 @@ export declare class DeephavenViewportDatasource implements IViewportDatasource
39
43
  private handleColumnValueChanged;
40
44
  private handleFilterChanged;
41
45
  private handleSortChanged;
46
+ private handleColumnGroupOpened;
42
47
  private handleTableUpdate;
48
+ private handleStandardTableUpdate;
49
+ private handlePivotUpdate;
50
+ private updatePivotColumnsIfNecessary;
43
51
  private handleTableDisconnect;
44
52
  private queueOperation;
45
53
  private applySort;
@@ -1 +1 @@
1
- {"version":3,"file":"DeephavenViewportDatasource.d.ts","sourceRoot":"","sources":["../../src/datasources/DeephavenViewportDatasource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAKL,OAAO,EACP,mBAAmB,EACnB,yBAAyB,EAG1B,MAAM,yBAAyB,CAAC;AAUjC;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IAyBnE,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK;IAzBf,yDAAyD;IACzD,OAAO,CAAC,MAAM,CAA6B;IAE3C,0EAA0E;IAC1E,OAAO,CAAC,OAAO,CAAW;IAE1B,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAEhE,yEAAyE;IACzE,OAAO,CAAC,OAAO,CAAU;IAEzB,wCAAwC;IACxC,OAAO,CAAC,eAAe,CAAC,CAGtB;IAEF;;;;OAIG;gBAEO,EAAE,EAAE,OAAO,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS;IAchD,IAAI,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAM7C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAQzD;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAQpE,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAoClC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,qBAAqB;YAIf,cAAc;IAK5B,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,eAAe;IAcvB;;;OAGG;YACW,eAAe;IAY7B,wCAAwC;IACxC,OAAO,CAAC,YAAY;IAMpB,sCAAsC;IACtC,OAAO,CAAC,UAAU;IAMlB;;OAEG;YACW,kBAAkB;IA6BhC,OAAO,CAAC,QAAQ;IAWhB,OAAO,IAAI,IAAI;CAOhB;AAED,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"DeephavenViewportDatasource.d.ts","sourceRoot":"","sources":["../../src/datasources/DeephavenViewportDatasource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAML,OAAO,EACP,mBAAmB,EACnB,yBAAyB,EAG1B,MAAM,yBAAyB,CAAC;AAWjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAUhD;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IA4BnE,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK;IA5Bf,yDAAyD;IACzD,OAAO,CAAC,MAAM,CAA6B;IAE3C,0EAA0E;IAC1E,OAAO,CAAC,OAAO,CAAW;IAE1B,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEhD,yEAAyE;IACzE,OAAO,CAAC,OAAO,CAAU;IAEzB,wCAAwC;IACxC,OAAO,CAAC,eAAe,CAAC,CAGtB;IAEF,0HAA0H;IAC1H,OAAO,CAAC,sBAAsB,CAAgB;IAE9C;;;;OAIG;gBAEO,EAAE,EAAE,OAAO,MAAM,EACjB,KAAK,EAAE,eAAe;IAehC,IAAI,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAM7C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAQzD;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAcpE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAU5E,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAyClC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,6BAA6B;IAgDrC,OAAO,CAAC,qBAAqB;YAIf,cAAc;IAK5B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,eAAe;IAcvB;;;OAGG;YACW,eAAe;IAc7B,wCAAwC;IACxC,OAAO,CAAC,YAAY;IAMpB,sCAAsC;IACtC,OAAO,CAAC,UAAU;IAMlB;;OAEG;YACW,kBAAkB;IAgChC,OAAO,CAAC,QAAQ;IAWhB,OAAO,IAAI,IAAI;CAOhB;AAED,eAAe,2BAA2B,CAAC"}
@@ -2,9 +2,9 @@ import { TableUtils } from '@deephaven/jsapi-utils';
2
2
  import Log from '@deephaven/log';
3
3
  import { assertNotNull, Pending } from '@deephaven/utils';
4
4
  import { getAggregatedColumns, getRollupConfig } from '../utils/AgGridAggUtils';
5
- import { extractViewportRow } from '../utils/AgGridTableUtils';
6
- import AgGridFilterUtils from '../utils/AgGridFilterUtils';
7
- import AgGridSortUtils, { isSortModelItem } from '../utils/AgGridSortUtils';
5
+ import { extractViewportRow, isPivotTable, isTable, isTreeTable, } from '../utils/AgGridTableUtils';
6
+ import { AgGridFilterUtils, AgGridSortUtils, isSortModelItem } from '../utils';
7
+ import { extractSnapshotRows, getPivotResultColumns, isPivotColumnGroupContext, toGroupKeyString, } from '../utils/AgGridPivotUtils';
8
8
  const log = Log.module('@deephaven/js-plugin-ag-grid/ViewportDatasource');
9
9
  /**
10
10
  * Class that takes the input table and provides a viewport data source for AG Grid.
@@ -19,6 +19,9 @@ export class DeephavenViewportDatasource {
19
19
  constructor(dh, table) {
20
20
  this.dh = dh;
21
21
  this.table = table;
22
+ /** Store the column keys from the last snapshot. This way we can tell when we need to update the pivot result columns. */
23
+ this.lastSnapshotColumnKeys = [];
24
+ this.handleColumnGroupOpened = this.handleColumnGroupOpened.bind(this);
22
25
  this.handleColumnRowGroupChanged =
23
26
  this.handleColumnRowGroupChanged.bind(this);
24
27
  this.handleColumnValueChanged = this.handleColumnValueChanged.bind(this);
@@ -49,13 +52,27 @@ export class DeephavenViewportDatasource {
49
52
  */
50
53
  setExpanded(row, isExpanded) {
51
54
  log.debug('setExpanded', row);
52
- if (!TableUtils.isTreeTable(this.table)) {
53
- throw new Error('Cannot expand/collapse rows in a non-tree table.');
55
+ if (isTreeTable(this.table)) {
56
+ this.table.setExpanded(row, isExpanded);
57
+ return;
58
+ }
59
+ if (isPivotTable(this.table)) {
60
+ this.table.setRowExpanded(row, isExpanded);
61
+ return;
62
+ }
63
+ throw new Error('Cannot expand/collapse rows in a non-tree table.');
64
+ }
65
+ setColumnExpanded(column, isExpanded) {
66
+ log.debug('setColumnExpanded', column);
67
+ if (isPivotTable(this.table)) {
68
+ this.table.setColumnExpanded(column, isExpanded);
69
+ return;
54
70
  }
55
- this.table.setExpanded(row, isExpanded);
71
+ throw new Error('Cannot expand/collapse columns in a non-pivot table.');
56
72
  }
57
73
  setGridApi(gridApi) {
58
74
  if (this.gridApi != null) {
75
+ this.gridApi.removeEventListener('columnGroupOpened', this.handleColumnGroupOpened);
59
76
  this.gridApi.removeEventListener('columnRowGroupChanged', this.handleColumnRowGroupChanged);
60
77
  this.gridApi.removeEventListener('columnValueChanged', this.handleColumnValueChanged);
61
78
  this.gridApi.removeEventListener('filterChanged', this.handleFilterChanged);
@@ -63,6 +80,7 @@ export class DeephavenViewportDatasource {
63
80
  }
64
81
  this.pending.cancel();
65
82
  this.gridApi = gridApi;
83
+ gridApi.addEventListener('columnGroupOpened', this.handleColumnGroupOpened);
66
84
  gridApi.addEventListener('columnRowGroupChanged', this.handleColumnRowGroupChanged);
67
85
  gridApi.addEventListener('columnValueChanged', this.handleColumnValueChanged);
68
86
  gridApi.addEventListener('filterChanged', this.handleFilterChanged);
@@ -110,8 +128,31 @@ export class DeephavenViewportDatasource {
110
128
  this.refreshViewport();
111
129
  });
112
130
  }
131
+ handleColumnGroupOpened(event) {
132
+ var _a, _b, _c, _d;
133
+ log.debug('Column group opened', event);
134
+ if (!isPivotTable(this.table)) {
135
+ throw new Error('Cannot expand/collapse columns in a non-pivot table.');
136
+ }
137
+ const context = (_b = (_a = event.columnGroup) === null || _a === void 0 ? void 0 : _a.getColGroupDef()) === null || _b === void 0 ? void 0 : _b.context;
138
+ if (isPivotColumnGroupContext(context)) {
139
+ const isExpanded = (_d = (_c = event.columnGroup) === null || _c === void 0 ? void 0 : _c.isExpanded()) !== null && _d !== void 0 ? _d : true;
140
+ this.table.setColumnExpanded(context.snapshotIndex, isExpanded);
141
+ }
142
+ }
113
143
  handleTableUpdate(event) {
144
+ if (isPivotTable(this.table)) {
145
+ this.handlePivotUpdate(event);
146
+ }
147
+ else {
148
+ this.handleStandardTableUpdate(event);
149
+ }
150
+ }
151
+ handleStandardTableUpdate(event) {
114
152
  var _a, _b;
153
+ if (isPivotTable(this.table)) {
154
+ throw new Error('Cannot handle standard table update for pivot table.');
155
+ }
115
156
  const newData = {};
116
157
  const { detail: data } = event;
117
158
  const { columns, offset } = data;
@@ -119,10 +160,54 @@ export class DeephavenViewportDatasource {
119
160
  const row = data.rows[r];
120
161
  newData[offset + r] = extractViewportRow(row, columns);
121
162
  }
122
- // log.debug2('Updating viewport data', this.table.size);
123
163
  (_a = this.params) === null || _a === void 0 ? void 0 : _a.setRowData(newData);
124
164
  (_b = this.params) === null || _b === void 0 ? void 0 : _b.setRowCount(this.table.size);
125
165
  }
166
+ handlePivotUpdate(event) {
167
+ var _a, _b;
168
+ if (!isPivotTable(this.table)) {
169
+ throw new Error('Cannot handle pivot update for non-pivot table.');
170
+ }
171
+ log.debug2('Pivot update', event);
172
+ const { detail: snapshot } = event;
173
+ const rowData = extractSnapshotRows(snapshot, this.table);
174
+ log.debug2('Pivot row data', rowData);
175
+ (_a = this.params) === null || _a === void 0 ? void 0 : _a.setRowData(rowData);
176
+ (_b = this.params) === null || _b === void 0 ? void 0 : _b.setRowCount(snapshot.rows.totalCount + 1); // +1 for totals row
177
+ this.updatePivotColumnsIfNecessary(snapshot);
178
+ }
179
+ updatePivotColumnsIfNecessary(snapshot) {
180
+ var _a, _b, _c;
181
+ if (!isPivotTable(this.table)) {
182
+ throw new Error('Cannot update pivot columns for non-pivot table.');
183
+ }
184
+ const snapshotColumnKeys = [];
185
+ for (let c = 0; c < snapshot.columns.count; c += 1) {
186
+ snapshotColumnKeys.push(toGroupKeyString(snapshot.columns.getKeys(c)));
187
+ }
188
+ if (this.lastSnapshotColumnKeys.length === snapshotColumnKeys.length &&
189
+ this.lastSnapshotColumnKeys.every((value, index) => value === snapshotColumnKeys[index])) {
190
+ // No change in columns, no need to update
191
+ return;
192
+ }
193
+ this.lastSnapshotColumnKeys = snapshotColumnKeys;
194
+ const pivotResultColumns = getPivotResultColumns(snapshot.columns, this.table.valueSources);
195
+ log.debug2('Updating pivot columns', pivotResultColumns);
196
+ // We track the old pivot result column IDs so we can auto-size any new ones that were added
197
+ const oldIds = new Set((_b = (_a = this.gridApi.getPivotResultColumns()) === null || _a === void 0 ? void 0 : _a.map(c => c.getColId())) !== null && _b !== void 0 ? _b : []);
198
+ this.gridApi.setPivotResultColumns(pivotResultColumns);
199
+ const newIds = [];
200
+ const pivotColumns = (_c = this.gridApi.getPivotResultColumns()) !== null && _c !== void 0 ? _c : [];
201
+ for (let i = 0; i < pivotColumns.length; i += 1) {
202
+ const col = pivotColumns[i];
203
+ if (!oldIds.has(col.getColId())) {
204
+ newIds.push(col.getColId());
205
+ }
206
+ }
207
+ if (newIds.length > 1) {
208
+ this.gridApi.autoSizeColumns(newIds);
209
+ }
210
+ }
126
211
  // eslint-disable-next-line class-methods-use-this
127
212
  handleTableDisconnect() {
128
213
  log.info('Table disconnected.');
@@ -132,16 +217,37 @@ export class DeephavenViewportDatasource {
132
217
  return this.pending.add(Promise.all(currentOperations).then(operation));
133
218
  }
134
219
  applySort(sortModel) {
220
+ if (isPivotTable(this.table)) {
221
+ throw new Error('Pivot table sort not yet implemented.');
222
+ }
135
223
  log.debug('Applying sort model', sortModel);
136
224
  this.table.applySort(AgGridSortUtils.parseSortModel(this.table, sortModel));
137
225
  }
138
226
  applyFilter(filterModel) {
227
+ if (isPivotTable(this.table)) {
228
+ throw new Error('Pivot table filter not yet implemented.');
229
+ }
139
230
  log.debug('Applying filter', filterModel);
140
231
  this.table.applyFilter(AgGridFilterUtils.parseFilterModel(this.dh, this.table, this.gridApi.getFilterModel()));
141
232
  }
142
233
  applyViewport(firstRow, lastRow) {
143
234
  log.debug('Applying viewport', firstRow, lastRow);
144
- this.table.setViewport(firstRow, lastRow);
235
+ if (isPivotTable(this.table)) {
236
+ const rows = this.dh.RangeSet.ofRange(firstRow, lastRow);
237
+ // TODO: DH-20288: Viewport the pivot columns properly, instead of requesting just the first 1000.
238
+ // AG Grid does not have a good way of identifying which columns are visible, so we request all of them.
239
+ // In theory we could have placeholder columns for each column that isn't visible, but then AG Grid scrolling gets screwy. We'd need to know the width of each column to do that properly, which we can't do unless there's data.
240
+ // So, just request the first 1000 columns for now.
241
+ const columns = this.dh.RangeSet.ofRange(0, 1000);
242
+ this.table.setViewport({
243
+ rows,
244
+ columns,
245
+ sources: this.table.valueSources,
246
+ });
247
+ }
248
+ else {
249
+ this.table.setViewport(firstRow, lastRow);
250
+ }
145
251
  }
146
252
  refreshViewport() {
147
253
  log.debug('Refreshing viewport');
@@ -162,12 +268,14 @@ export class DeephavenViewportDatasource {
162
268
  */
163
269
  async updateGridState() {
164
270
  log.debug('Updating grid state');
165
- if (!TableUtils.isTreeTable(this.originalTable)) {
271
+ if (isTable(this.originalTable)) {
166
272
  // Start by updating the aggregations. This may produce a new table which filters may or may not apply to.
167
273
  await this.updateAggregations();
168
274
  }
169
- this.updateFilter();
170
- this.updateSort();
275
+ if (!isPivotTable(this.originalTable)) {
276
+ this.updateFilter();
277
+ this.updateSort();
278
+ }
171
279
  this.refreshViewport();
172
280
  }
173
281
  /** Syncs the filter with the GridApi */
@@ -200,6 +308,9 @@ export class DeephavenViewportDatasource {
200
308
  if (TableUtils.isTreeTable(this.originalTable)) {
201
309
  throw new Error('Cannot apply aggregations to a tree table.');
202
310
  }
311
+ if (isPivotTable(this.originalTable)) {
312
+ throw new Error('Cannot apply aggregations to a pivot table.');
313
+ }
203
314
  const treeTable = await this.originalTable.rollup(rollupConfig);
204
315
  this.setTable(treeTable);
205
316
  this.updateFilter();
@@ -1 +1 @@
1
- {"version":3,"file":"DeephavenViewportDatasource.js","sourceRoot":"","sources":["../../src/datasources/DeephavenViewportDatasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeephavenViewportDatasource.js","sourceRoot":"","sources":["../../src/datasources/DeephavenViewportDatasource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { dh as DhType } from '@deephaven/jsapi-types';
2
+ import type { dh as CorePlusDhType } from '@deephaven-enterprise/jsapi-coreplus-types';
3
+ import { AgGridTableType } from '../types';
4
+ export declare function useWidgetFetch(dh: typeof DhType | typeof CorePlusDhType, fetch: () => Promise<DhType.Widget>): AgGridTableType | undefined;
5
+ export default useWidgetFetch;
6
+ //# sourceMappingURL=useWidgetFetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWidgetFetch.d.ts","sourceRoot":"","sources":["../../src/hooks/useWidgetFetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAIvF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3C,wBAAgB,cAAc,CAC5B,EAAE,EAAE,OAAO,MAAM,GAAG,OAAO,cAAc,EACzC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAClC,eAAe,GAAG,SAAS,CAsD7B;AAED,eAAe,cAAc,CAAC"}