@deephaven/js-plugin-ag-grid 0.1.0 → 0.1.2

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 (67) hide show
  1. package/README.md +48 -0
  2. package/dist/AgGridDhTheme.d.ts +9 -0
  3. package/dist/AgGridDhTheme.d.ts.map +1 -0
  4. package/dist/AgGridDhTheme.js +41 -0
  5. package/dist/AgGridDhTheme.js.map +1 -0
  6. package/dist/AgGridPlugin.d.ts +5 -0
  7. package/dist/AgGridPlugin.d.ts.map +1 -0
  8. package/dist/AgGridPlugin.js +16 -0
  9. package/dist/AgGridPlugin.js.map +1 -0
  10. package/dist/AgGridView.d.ts +16 -0
  11. package/dist/AgGridView.d.ts.map +1 -0
  12. package/dist/AgGridView.js +86 -0
  13. package/dist/AgGridView.js.map +1 -0
  14. package/dist/AgGridWidget.d.ts +10 -0
  15. package/dist/AgGridWidget.d.ts.map +1 -0
  16. package/dist/AgGridWidget.js +69 -0
  17. package/dist/AgGridWidget.js.map +1 -0
  18. package/dist/bundle/index.js +60710 -0
  19. package/dist/datasources/DeephavenViewportDatasource.d.ts +66 -0
  20. package/dist/datasources/DeephavenViewportDatasource.d.ts.map +1 -0
  21. package/dist/datasources/DeephavenViewportDatasource.js +225 -0
  22. package/dist/datasources/DeephavenViewportDatasource.js.map +1 -0
  23. package/dist/datasources/index.d.ts +2 -0
  24. package/dist/datasources/index.d.ts.map +1 -0
  25. package/dist/datasources/index.js +2 -0
  26. package/dist/datasources/index.js.map +1 -0
  27. package/dist/index.d.ts +6 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +6 -84928
  30. package/dist/index.js.map +1 -0
  31. package/dist/renderers/TreeCellRenderer.d.ts +9 -0
  32. package/dist/renderers/TreeCellRenderer.d.ts.map +1 -0
  33. package/dist/renderers/TreeCellRenderer.js +35 -0
  34. package/dist/renderers/TreeCellRenderer.js.map +1 -0
  35. package/dist/renderers/index.d.ts +2 -0
  36. package/dist/renderers/index.d.ts.map +1 -0
  37. package/dist/renderers/index.js +2 -0
  38. package/dist/renderers/index.js.map +1 -0
  39. package/dist/utils/AgGridAggUtils.d.ts +23 -0
  40. package/dist/utils/AgGridAggUtils.d.ts.map +1 -0
  41. package/dist/utils/AgGridAggUtils.js +53 -0
  42. package/dist/utils/AgGridAggUtils.js.map +1 -0
  43. package/dist/utils/AgGridColors.d.ts +20 -0
  44. package/dist/utils/AgGridColors.d.ts.map +1 -0
  45. package/dist/utils/AgGridColors.js +26 -0
  46. package/dist/utils/AgGridColors.js.map +1 -0
  47. package/dist/utils/AgGridFilterUtils.d.ts +22 -0
  48. package/dist/utils/AgGridFilterUtils.d.ts.map +1 -0
  49. package/dist/utils/AgGridFilterUtils.js +202 -0
  50. package/dist/utils/AgGridFilterUtils.js.map +1 -0
  51. package/dist/utils/AgGridFormatter.d.ts +12 -0
  52. package/dist/utils/AgGridFormatter.d.ts.map +1 -0
  53. package/dist/utils/AgGridFormatter.js +64 -0
  54. package/dist/utils/AgGridFormatter.js.map +1 -0
  55. package/dist/utils/AgGridSortUtils.d.ts +20 -0
  56. package/dist/utils/AgGridSortUtils.d.ts.map +1 -0
  57. package/dist/utils/AgGridSortUtils.js +45 -0
  58. package/dist/utils/AgGridSortUtils.js.map +1 -0
  59. package/dist/utils/AgGridTableUtils.d.ts +22 -0
  60. package/dist/utils/AgGridTableUtils.d.ts.map +1 -0
  61. package/dist/utils/AgGridTableUtils.js +75 -0
  62. package/dist/utils/AgGridTableUtils.js.map +1 -0
  63. package/dist/utils/index.d.ts +7 -0
  64. package/dist/utils/index.d.ts.map +1 -0
  65. package/dist/utils/index.js +7 -0
  66. package/dist/utils/index.js.map +1 -0
  67. package/package.json +28 -9
@@ -0,0 +1,22 @@
1
+ import type { dh as DhType } from '@deephaven/jsapi-types';
2
+ import { ColDef } from '@ag-grid-community/core';
3
+ export declare const TREE_NODE_KEY = "__dhTreeNodeKey__";
4
+ export type TreeNode = {
5
+ hasChildren: boolean;
6
+ isExpanded: boolean;
7
+ depth: number;
8
+ index: number;
9
+ };
10
+ /**
11
+ * Converts a Deephaven column to an AG Grid ColDef with appropriate properties.
12
+ *
13
+ * @param column Deephaven column to map
14
+ * @param templateColDef Template ColDef to use as a base
15
+ * @returns The equivalent AG Grid ColDef
16
+ */
17
+ export declare function convertColumnToColDef(column: DhType.Column, templateColDef?: Partial<ColDef>): ColDef;
18
+ export declare function getColumnDefs(table: DhType.Table | DhType.TreeTable): ColDef[];
19
+ export declare function extractViewportRow(row: DhType.Row, columns: DhType.Column[]): {
20
+ [key: string]: unknown;
21
+ };
22
+ //# sourceMappingURL=AgGridTableUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgGridTableUtils.d.ts","sourceRoot":"","sources":["../../src/utils/AgGridTableUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAIjD,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAC/B,MAAM,CA4DR;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,GACrC,MAAM,EAAE,CAqBV;AAMD,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,GAAG,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GACvB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAiB5B"}
@@ -0,0 +1,75 @@
1
+ import { TableUtils } from '@deephaven/jsapi-utils';
2
+ import AgGridFormatter from './AgGridFormatter';
3
+ export const TREE_NODE_KEY = '__dhTreeNodeKey__';
4
+ /**
5
+ * Converts a Deephaven column to an AG Grid ColDef with appropriate properties.
6
+ *
7
+ * @param column Deephaven column to map
8
+ * @param templateColDef Template ColDef to use as a base
9
+ * @returns The equivalent AG Grid ColDef
10
+ */
11
+ export function convertColumnToColDef(column, templateColDef) {
12
+ const dataType = TableUtils.getNormalizedType(column.type);
13
+ switch (dataType) {
14
+ case TableUtils.dataType.BOOLEAN:
15
+ return Object.assign(Object.assign({}, templateColDef), { cellDataType: dataType, filter: true,
16
+ // Disable checkmarks: https://github.com/ag-grid/ag-grid/issues/9315
17
+ cellRenderer: null });
18
+ case TableUtils.dataType.CHAR:
19
+ return Object.assign(Object.assign({}, templateColDef), { cellDataType: dataType, filter: 'agNumberColumnFilter', filterParams: {
20
+ allowedCharPattern: 'a-zA-Z',
21
+ buttons: ['reset', 'apply'],
22
+ numberParser: (text) => text != null && text.length === 1 ? text.charCodeAt(0) : null,
23
+ numberFormatter: (value) => value != null ? String.fromCharCode(value) : null,
24
+ } });
25
+ case TableUtils.dataType.DATETIME:
26
+ return Object.assign(Object.assign({}, templateColDef), { cellDataType: dataType, filter: 'agDateColumnFilter', cellStyle: params => AgGridFormatter.styleForDateCell(params) });
27
+ case TableUtils.dataType.DECIMAL:
28
+ return Object.assign(Object.assign({}, templateColDef), { cellDataType: dataType, filter: 'agNumberColumnFilter', cellStyle: params => AgGridFormatter.styleForNumberCell(params) });
29
+ case TableUtils.dataType.INT:
30
+ return Object.assign(Object.assign({}, templateColDef), { cellDataType: dataType, filter: 'agNumberColumnFilter', cellStyle: params => AgGridFormatter.styleForNumberCell(params) });
31
+ case TableUtils.dataType.STRING:
32
+ return Object.assign(Object.assign({}, templateColDef), { cellDataType: dataType, filter: true });
33
+ case TableUtils.dataType.UNKNOWN:
34
+ return Object.assign(Object.assign({}, templateColDef), { cellDataType: TableUtils.dataType.STRING, filter: false });
35
+ }
36
+ }
37
+ export function getColumnDefs(table) {
38
+ var _a;
39
+ const groupedColSet = new Set((TableUtils.isTreeTable(table) ? table.groupedColumns : []).map(c => c.name));
40
+ const newDefs = (_a = table === null || table === void 0 ? void 0 : table.columns.map(c => {
41
+ const templateColDef = groupedColSet.has(c.name)
42
+ ? {
43
+ field: c.name,
44
+ rowGroup: true,
45
+ }
46
+ : {
47
+ field: c.name,
48
+ // TODO: Actually use the table/column information to determine whether we can group/aggregate by it
49
+ enableRowGroup: true,
50
+ enableValue: true,
51
+ };
52
+ return convertColumnToColDef(c, templateColDef);
53
+ })) !== null && _a !== void 0 ? _a : [];
54
+ return newDefs;
55
+ }
56
+ function isTreeRow(row) {
57
+ return 'hasChildren' in row && 'isExpanded' in row && 'depth' in row;
58
+ }
59
+ export function extractViewportRow(row, columns) {
60
+ const data = {};
61
+ for (let c = 0; c < columns.length; c += 1) {
62
+ const column = columns[c];
63
+ data[column.name] = row.get(column);
64
+ }
65
+ if (isTreeRow(row)) {
66
+ data[TREE_NODE_KEY] = {
67
+ hasChildren: row.hasChildren,
68
+ isExpanded: row.isExpanded,
69
+ depth: row.depth,
70
+ index: row.index.asNumber(),
71
+ };
72
+ }
73
+ return data;
74
+ }
75
+ //# sourceMappingURL=AgGridTableUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgGridTableUtils.js","sourceRoot":"","sources":["../../src/utils/AgGridTableUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from './AgGridAggUtils';
2
+ export * from './AgGridColors';
3
+ export * from './AgGridFilterUtils';
4
+ export * from './AgGridFormatter';
5
+ export * from './AgGridSortUtils';
6
+ export * from './AgGridTableUtils';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './AgGridAggUtils';
2
+ export * from './AgGridColors';
3
+ export * from './AgGridFilterUtils';
4
+ export * from './AgGridFormatter';
5
+ export * from './AgGridSortUtils';
6
+ export * from './AgGridTableUtils';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/js-plugin-ag-grid",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Deephaven AG Grid plugin",
5
5
  "keywords": [
6
6
  "Deephaven",
@@ -10,43 +10,62 @@
10
10
  ],
11
11
  "author": "Deephaven Data Labs LLC",
12
12
  "license": "Apache-2.0",
13
- "main": "dist/index.js",
13
+ "main": "dist/bundle/index.js",
14
14
  "repository": {
15
15
  "type": "git",
16
16
  "url": "git+https://github.com/deephaven/deephaven-plugins"
17
17
  },
18
+ "type": "module",
19
+ "exports": {
20
+ ".": {
21
+ "import": "./dist/index.js",
22
+ "require": "./dist/bundle/index.js",
23
+ "default": "./dist/bundle/index.js"
24
+ },
25
+ "./*.js": "./dist/*.js",
26
+ "./*": "./dist/*.js"
27
+ },
18
28
  "bugs": {
19
29
  "url": "https://github.com/deephaven/deephaven-plugins/issues"
20
30
  },
21
31
  "homepage": "https://github.com/deephaven/deephaven-plugins",
22
32
  "scripts": {
23
33
  "start": "vite build --watch",
24
- "build": "vite build"
34
+ "build": "run-s build:*",
35
+ "build:transpile": "tsc",
36
+ "build:bundle": "vite build"
25
37
  },
26
38
  "devDependencies": {
27
- "@deephaven/jsapi-types": "^1.0.0-dev0.37.2",
39
+ "@deephaven/jsapi-types": "^1.0.0-dev0.39.1",
40
+ "@deephaven/test-utils": "^0.106.0",
28
41
  "@types/react": "^17.0.2",
29
42
  "react": "^17.0.2",
30
43
  "react-dom": "^17.0.2",
31
44
  "typescript": "^4.5.4"
32
45
  },
33
46
  "peerDependencies": {
34
- "react": "^17.0.2",
35
- "react-dom": "^17.0.2"
47
+ "react": "^17.0.2 || ^18.0.0 || ^19.0.0",
48
+ "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0"
36
49
  },
37
50
  "dependencies": {
38
51
  "@ag-grid-community/core": "32.3.4",
39
52
  "@ag-grid-community/react": "32.3.4",
40
53
  "@ag-grid-community/styles": "32.3.4",
54
+ "@ag-grid-community/theming": "32.3.4",
55
+ "@ag-grid-enterprise/column-tool-panel": "32.3.4",
41
56
  "@ag-grid-enterprise/core": "32.3.4",
42
- "@ag-grid-enterprise/server-side-row-model": "32.3.4",
57
+ "@ag-grid-enterprise/row-grouping": "32.3.4",
43
58
  "@ag-grid-enterprise/viewport-row-model": "32.3.4",
44
59
  "@deephaven/components": "^0.106.2",
45
60
  "@deephaven/icons": "^0.106.0",
46
61
  "@deephaven/jsapi-bootstrap": "^0.106.2",
62
+ "@deephaven/jsapi-utils": "^0.106.2",
47
63
  "@deephaven/log": "^0.106.2",
48
64
  "@deephaven/plugin": "^0.106.4",
49
- "@deephaven/utils": "^0.106.0"
65
+ "@deephaven/redux": "^0.106.2",
66
+ "@deephaven/utils": "^0.106.0",
67
+ "lodash.throttle": "^4.1.1",
68
+ "react-redux": "^7.x"
50
69
  },
51
70
  "publishConfig": {
52
71
  "access": "public"
@@ -54,5 +73,5 @@
54
73
  "files": [
55
74
  "dist"
56
75
  ],
57
- "gitHead": "e44626c9583ee89add8d2e50a961c241a5e145c8"
76
+ "gitHead": "ade5bd43155e860f1f3e58cd0d61d25f4ca57db2"
58
77
  }