@finos/legend-data-cube 0.0.24 → 0.0.26

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 (89) hide show
  1. package/docs/column-configuration.display-value-as-link.md +6 -0
  2. package/docs/column-configuration.kind.md +14 -0
  3. package/docs/column-configuration.missing-value-format.md +5 -0
  4. package/docs/column-configuration.unit.md +5 -0
  5. package/docs/extended-column.level.md +14 -0
  6. package/docs/grid-configuration.row-limit.md +5 -0
  7. package/lib/__lib__/DataCubeDocumentation.d.ts +5 -3
  8. package/lib/__lib__/DataCubeDocumentation.d.ts.map +1 -1
  9. package/lib/__lib__/DataCubeDocumentation.js +5 -3
  10. package/lib/__lib__/DataCubeDocumentation.js.map +1 -1
  11. package/lib/components/core/DataCubeFormUtils.d.ts +1 -0
  12. package/lib/components/core/DataCubeFormUtils.d.ts.map +1 -1
  13. package/lib/components/core/DataCubeFormUtils.js +4 -3
  14. package/lib/components/core/DataCubeFormUtils.js.map +1 -1
  15. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  16. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js +12 -9
  17. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  18. package/lib/components/view/editor/DataCubeEditorColumnSelector.js +2 -2
  19. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
  20. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js +8 -7
  21. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  22. package/lib/index.css +2 -2
  23. package/lib/index.css.map +1 -1
  24. package/lib/package.json +3 -3
  25. package/lib/stores/core/DataCubeQueryBuilder.d.ts +3 -0
  26. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  27. package/lib/stores/core/DataCubeQueryBuilder.js +8 -1
  28. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  29. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +1 -0
  30. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  31. package/lib/stores/core/DataCubeQueryBuilderUtils.js +14 -7
  32. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  33. package/lib/stores/core/DataCubeQueryEngine.d.ts +6 -0
  34. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  35. package/lib/stores/core/DataCubeQueryEngine.js +7 -0
  36. package/lib/stores/core/DataCubeQueryEngine.js.map +1 -1
  37. package/lib/stores/core/models/DataCubeConfiguration.d.ts +1 -0
  38. package/lib/stores/core/models/DataCubeConfiguration.d.ts.map +1 -1
  39. package/lib/stores/core/models/DataCubeConfiguration.js +2 -0
  40. package/lib/stores/core/models/DataCubeConfiguration.js.map +1 -1
  41. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +2 -2
  42. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  43. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +4 -3
  44. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  45. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +1 -0
  46. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  47. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +5 -0
  48. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  49. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +14 -2
  50. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  51. package/lib/stores/view/grid/DataCubeGridClientEngine.js +48 -42
  52. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  53. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +20 -3
  54. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  55. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +89 -40
  56. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  57. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +1 -1
  58. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  59. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +13 -4
  60. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  61. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +40 -9
  62. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  63. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts +2 -2
  64. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  65. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js +30 -14
  66. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  67. package/lib/stores/view/grid/DataCubeGridState.d.ts +2 -0
  68. package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
  69. package/lib/stores/view/grid/DataCubeGridState.js +5 -1
  70. package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
  71. package/package.json +8 -8
  72. package/src/__lib__/DataCubeDocumentation.ts +5 -3
  73. package/src/components/core/DataCubeFormUtils.tsx +5 -1
  74. package/src/components/view/editor/DataCubeEditorColumnPropertiesPanel.tsx +40 -14
  75. package/src/components/view/editor/DataCubeEditorColumnSelector.tsx +2 -2
  76. package/src/components/view/editor/DataCubeEditorGeneralPropertiesPanel.tsx +41 -30
  77. package/src/stores/core/DataCubeQueryBuilder.ts +13 -0
  78. package/src/stores/core/DataCubeQueryBuilderUtils.ts +32 -6
  79. package/src/stores/core/DataCubeQueryEngine.ts +8 -0
  80. package/src/stores/core/models/DataCubeConfiguration.ts +2 -0
  81. package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +5 -4
  82. package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +7 -0
  83. package/src/stores/view/grid/DataCubeGridClientEngine.ts +67 -52
  84. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +99 -42
  85. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +1 -1
  86. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +71 -15
  87. package/src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts +40 -20
  88. package/src/stores/view/grid/DataCubeGridState.ts +12 -1
  89. package/tsconfig.json +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeGridQueryBuilder.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridQueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataCubeGridQueryBuilder.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridQueryBuilder.ts"],"names":[],"mappings":"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"}
@@ -19,9 +19,9 @@
19
19
  * These are utilities used to build the query snapshot from the internal state
20
20
  * of the grid client, AG Grid.
21
21
  ***************************************************************************************/
22
- import type { IServerSideGetRowsRequest } from '@ag-grid-community/core';
23
22
  import { type DataCubeQuerySnapshot } from '../../core/DataCubeQuerySnapshot.js';
23
+ import { type DataCubeGridClientDataFetchRequest } from './DataCubeGridClientEngine.js';
24
24
  import { DataCubeConfiguration } from '../../core/models/DataCubeConfiguration.js';
25
25
  export declare function getColumnConfiguration(colName: string, configuration: DataCubeConfiguration): import("../../core/models/DataCubeConfiguration.js").DataCubeColumnConfiguration;
26
- export declare function buildQuerySnapshot(request: IServerSideGetRowsRequest, baseSnapshot: DataCubeQuerySnapshot): DataCubeQuerySnapshot;
26
+ export declare function buildQuerySnapshot(request: DataCubeGridClientDataFetchRequest, baseSnapshot: DataCubeQuerySnapshot): DataCubeQuerySnapshot;
27
27
  //# sourceMappingURL=DataCubeGridQuerySnapshotBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeGridQuerySnapshotBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;yFAKyF;AAEzF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAWjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAInF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,qBAAqB,oFAMrC;AAID,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,EAClC,YAAY,EAAE,qBAAqB,yBAgFpC"}
1
+ {"version":3,"file":"DataCubeGridQuerySnapshotBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;yFAKyF;AAEzF,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,EAIL,KAAK,kCAAkC,EACxC,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAInF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,qBAAqB,oFAMrC;AAID,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,kCAAkC,EAC3C,YAAY,EAAE,qBAAqB,yBAmGpC"}
@@ -13,9 +13,15 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ /***************************************************************************************
17
+ * [GRID]
18
+ *
19
+ * These are utilities used to build the query snapshot from the internal state
20
+ * of the grid client, AG Grid.
21
+ ***************************************************************************************/
16
22
  import {} from '../../core/DataCubeQuerySnapshot.js';
17
23
  import { _toCol } from '../../core/models/DataCubeColumn.js';
18
- import { GridClientSortDirection, INTERNAL__GRID_CLIENT_TREE_COLUMN_ID, } from './DataCubeGridClientEngine.js';
24
+ import { DataCubeGridClientSortDirection, INTERNAL__GRID_CLIENT_ROOT_AGGREGATION_COLUMN_ID, INTERNAL__GRID_CLIENT_TREE_COLUMN_ID, } from './DataCubeGridClientEngine.js';
19
25
  import { DataCubeQuerySortDirection, getPivotResultColumnBaseColumnName, isPivotResultColumnName, } from '../../core/DataCubeQueryEngine.js';
20
26
  import { DataCubeConfiguration } from '../../core/models/DataCubeConfiguration.js';
21
27
  import { guaranteeNonNullable, uniqBy } from '@finos/legend-shared';
@@ -27,46 +33,56 @@ export function getColumnConfiguration(colName, configuration) {
27
33
  export function buildQuerySnapshot(request, baseSnapshot) {
28
34
  const snapshot = baseSnapshot.clone();
29
35
  const configuration = DataCubeConfiguration.serialization.fromJson(snapshot.data.configuration);
36
+ const rowGroupColumns = request.rowGroupColumns.filter((col) => col !== INTERNAL__GRID_CLIENT_ROOT_AGGREGATION_COLUMN_ID);
30
37
  // --------------------------------- SELECT ---------------------------------
31
38
  snapshot.data.selectColumns = uniqBy([
32
39
  ...snapshot.data.selectColumns,
33
- ...request.pivotCols.map((col) => getColumnConfiguration(col.id, configuration)),
34
- ...request.rowGroupCols.map((col) => getColumnConfiguration(col.id, configuration)),
40
+ ...request.pivotColumns.map((col) => getColumnConfiguration(col, configuration)),
41
+ ...rowGroupColumns.map((col) => getColumnConfiguration(col, configuration)),
35
42
  ], (col) => col.name).map(_toCol);
36
43
  // --------------------------------- PIVOT ---------------------------------
37
- snapshot.data.pivot = request.pivotCols.length
44
+ snapshot.data.pivot = request.pivotColumns.length
38
45
  ? {
39
- columns: request.pivotCols.map((col) => _toCol(getColumnConfiguration(col.id, configuration))),
46
+ columns: request.pivotColumns.map((col) => _toCol(getColumnConfiguration(col, configuration))),
40
47
  // NOTE: since we re-fetch the cast columns anyway in this flow, we just
41
48
  // reuse the current cast columns
42
49
  castColumns: baseSnapshot.data.pivot?.castColumns ?? [],
43
50
  }
44
51
  : undefined;
45
52
  // --------------------------------- GROUP BY ---------------------------------
46
- snapshot.data.groupBy = request.rowGroupCols.length
53
+ snapshot.data.groupBy = rowGroupColumns.length
47
54
  ? {
48
- columns: request.rowGroupCols.map((col) => _toCol(getColumnConfiguration(col.id, configuration))),
55
+ columns: rowGroupColumns.map((col) => _toCol(getColumnConfiguration(col, configuration))),
49
56
  }
50
57
  : undefined;
51
58
  // --------------------------------- SORT ---------------------------------
52
- snapshot.data.sortColumns = request.sortModel
59
+ snapshot.data.sortColumns = request.sortColumns
53
60
  // Make sure the tree column is not being sorted since it's a synthetic column
54
61
  // the sorting state of this special column is `synthesized` by ag-grid
55
62
  // so when all group by columns are sorted in the same direction, the tree group
56
63
  // column will be sorted in that direction, and vice versa, when user sorts
57
64
  // the tree column, all groupBy columns will be sorted in that direction
58
- .filter((item) => item.colId !== INTERNAL__GRID_CLIENT_TREE_COLUMN_ID)
65
+ .filter((item) => ![
66
+ INTERNAL__GRID_CLIENT_TREE_COLUMN_ID,
67
+ INTERNAL__GRID_CLIENT_ROOT_AGGREGATION_COLUMN_ID,
68
+ ].includes(item.name))
59
69
  .map((item) => ({
60
- name: item.colId,
61
- type: getColumnConfiguration(isPivotResultColumnName(item.colId)
62
- ? getPivotResultColumnBaseColumnName(item.colId)
63
- : item.colId, configuration).type,
64
- direction: item.sort === GridClientSortDirection.ASCENDING
70
+ name: item.name,
71
+ type: getColumnConfiguration(isPivotResultColumnName(item.name)
72
+ ? getPivotResultColumnBaseColumnName(item.name)
73
+ : item.name, configuration).type,
74
+ direction: item.direction === DataCubeGridClientSortDirection.ASCENDING
65
75
  ? DataCubeQuerySortDirection.ASCENDING
66
76
  : DataCubeQuerySortDirection.DESCENDING,
67
77
  }));
68
78
  // --------------------------------- CONFIGURATION ---------------------------------
69
79
  configuration.pivotLayout.expandedPaths = _pruneExpandedPaths(baseSnapshot.data.groupBy?.columns ?? [], snapshot.data.groupBy?.columns ?? [], configuration.pivotLayout.expandedPaths);
80
+ // if root aggregation synthetic column has been removed
81
+ // pdate the configuration to disable root aggregation
82
+ if (!request.rowGroupColumns.includes(INTERNAL__GRID_CLIENT_ROOT_AGGREGATION_COLUMN_ID) &&
83
+ configuration.showRootAggregation) {
84
+ configuration.showRootAggregation = false;
85
+ }
70
86
  snapshot.data.configuration = configuration.serialize();
71
87
  // --------------------------------- FINALIZE ---------------------------------
72
88
  return snapshot;
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeGridQuerySnapshotBuilder.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataCubeGridQuerySnapshotBuilder.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import { type DebouncedFunc } from '@finos/legend-shared';
16
17
  import type { GridApi } from '@ag-grid-community/core';
17
18
  import type { DataCubeViewState } from '../DataCubeViewState.js';
18
19
  import { DataCubeGridClientServerSideDataSource } from './DataCubeGridClientEngine.js';
@@ -45,6 +46,7 @@ export declare class DataCubeGridState extends DataCubeQuerySnapshotController {
45
46
  rowLimit?: number | undefined;
46
47
  isPaginationEnabled: boolean;
47
48
  scrollHintText?: string | undefined;
49
+ debouncedAutoResizeColumns?: DebouncedFunc<() => void>;
48
50
  constructor(view: DataCubeViewState);
49
51
  setPaginationEnabled(val: boolean): void;
50
52
  setScrollHintText(val: string | undefined): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeGridState.d.ts","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,sCAAsC,EAMvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAkB,SAAQ,+BAA+B;IACpE,QAAQ,CAAC,UAAU,EAAG,2BAA2B,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAG,8BAA8B,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAEtC,gBAAgB,EAAE,sCAAsC,CAAC;IAEzD,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,UAAmD;IACtE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAExB,IAAI,EAAE,iBAAiB;IAyBnC,oBAAoB,CAAC,GAAG,EAAE,OAAO;IAiBjC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAIzC,IAAI,MAAM,iBAET;IAED,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS;IAI/B,yBAAyB;IAInB,aAAa,CAC1B,QAAQ,EAAE,qBAAqB,EAC/B,gBAAgB,EAAE,qBAAqB,GAAG,SAAS;CA2CtD"}
1
+ {"version":3,"file":"DataCubeGridState.d.ts","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,sCAAsC,EAMvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAkB,SAAQ,+BAA+B;IACpE,QAAQ,CAAC,UAAU,EAAG,2BAA2B,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAG,8BAA8B,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAEtC,gBAAgB,EAAE,sCAAsC,CAAC;IAEzD,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,UAAmD;IACtE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGpC,0BAA0B,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;gBAE3C,IAAI,EAAE,iBAAiB;IAyBnC,oBAAoB,CAAC,GAAG,EAAE,OAAO;IAiBjC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAIzC,IAAI,MAAM,iBAET;IAED,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS;IAQ/B,yBAAyB;IAInB,aAAa,CAC1B,QAAQ,EAAE,qBAAqB,EAC/B,gBAAgB,EAAE,qBAAqB,GAAG,SAAS;CA2CtD"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { guaranteeNonNullable } from '@finos/legend-shared';
16
+ import { debounce, guaranteeNonNullable, } from '@finos/legend-shared';
17
17
  import { action, makeObservable, observable } from 'mobx';
18
18
  import { DataCubeGridClientServerSideDataSource, INTERNAL__GRID_CLIENT_DEFAULT_CACHE_BLOCK_SIZE, INTERNAL__GRID_CLIENT_DATA_FETCH_MANUAL_TRIGGER_COLUMN_ID, INTERNAL__GRID_CLIENT_MAX_CACHE_BLOCK_SIZE, INTERNAL__GRID_CLIENT_DEFAULT_ENABLE_PAGINATION, computeHashCodeForDataFetchManualTrigger, } from './DataCubeGridClientEngine.js';
19
19
  import { DataCubeQuerySnapshotController } from '../DataCubeQuerySnapshotManager.js';
@@ -45,6 +45,9 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
45
45
  rowLimit;
46
46
  isPaginationEnabled = INTERNAL__GRID_CLIENT_DEFAULT_ENABLE_PAGINATION;
47
47
  scrollHintText;
48
+ // As we resize columns dynamically to fit their content, virtual columns are being rendered
49
+ // and resized as user scrolls horizontally, this can cause performance issues, so we debounce.
50
+ debouncedAutoResizeColumns;
48
51
  constructor(view) {
49
52
  super(view);
50
53
  makeObservable(this, {
@@ -85,6 +88,7 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
85
88
  }
86
89
  configureClient(val) {
87
90
  this._client = val;
91
+ this.debouncedAutoResizeColumns = debounce(() => val?.autoSizeAllColumns(), 100);
88
92
  }
89
93
  getSnapshotSubscriberName() {
90
94
  return 'grid';
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeGridState.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataCubeGridState.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridState.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-data-cube",
3
- "version": "0.0.24",
3
+ "version": "0.0.26",
4
4
  "description": "Legend Data Cube",
5
5
  "keywords": [
6
6
  "legend",
@@ -56,10 +56,10 @@
56
56
  "@ag-grid-enterprise/row-grouping": "32.3.3",
57
57
  "@ag-grid-enterprise/server-side-row-model": "32.3.3",
58
58
  "@ag-grid-enterprise/side-bar": "32.3.3",
59
- "@finos/legend-art": "7.1.68",
60
- "@finos/legend-code-editor": "2.0.19",
61
- "@finos/legend-graph": "31.10.53",
62
- "@finos/legend-shared": "10.0.61",
59
+ "@finos/legend-art": "7.1.69",
60
+ "@finos/legend-code-editor": "2.0.21",
61
+ "@finos/legend-graph": "31.10.55",
62
+ "@finos/legend-shared": "10.0.62",
63
63
  "@types/react": "18.3.12",
64
64
  "mathjs": "14.0.0",
65
65
  "mobx": "6.13.5",
@@ -70,15 +70,15 @@
70
70
  "serializr": "3.0.3"
71
71
  },
72
72
  "devDependencies": {
73
- "@finos/legend-dev-utils": "2.1.29",
73
+ "@finos/legend-dev-utils": "2.1.31",
74
74
  "@jest/globals": "29.7.0",
75
75
  "cross-env": "7.0.3",
76
- "eslint": "9.15.0",
76
+ "eslint": "9.16.0",
77
77
  "jest": "29.7.0",
78
78
  "npm-run-all": "4.1.5",
79
79
  "rimraf": "6.0.1",
80
80
  "sass": "1.81.0",
81
- "typescript": "5.6.3"
81
+ "typescript": "5.7.2"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "react": "^18.0.0"
@@ -16,7 +16,9 @@
16
16
 
17
17
  export enum DocumentationKey {
18
18
  DATA_CUBE_EXTENDED_COLUMN_LEVELS = 'data-cube.extended-column.levels',
19
- DATA_CUBE_COLUMN_KINDS = 'data-cube.column.kinds',
20
- DATA_CUBE_COLUMN_DISPLAY_AS_LINK = 'data-cube.column.display-as-link',
21
- DATA_CUBE_COLUMN_MISSING_VALUE_FORMAT = 'data-cube.column.missing-value-format',
19
+ DATA_CUBE_GRID_CONFIGURATION_ROW_LIMIT = 'data-cube.grid-configuration.row-limit',
20
+ DATA_CUBE_COLUMN_CONFIGURATION_KIND = 'data-cube.column-configuration.kind',
21
+ DATA_CUBE_COLUMN_CONFIGURATION_UNIT = 'data-cube.column-configuration.unit',
22
+ DATA_CUBE_COLUMN_CONFIGURATION_DISPLAY_AS_LINK = 'data-cube.column-configuration.display-value-as-link',
23
+ DATA_CUBE_COLUMN_CONFIGURATION_MISSING_VALUE_FORMAT = 'data-cube.column-configuration.missing-value-format',
22
24
  }
@@ -83,6 +83,7 @@ export const FormNumberInput = forwardRef(function FormNumberInput(
83
83
  defaultValue,
84
84
  disabled,
85
85
  className,
86
+ ...innerProps
86
87
  } = props;
87
88
  const [inputValue, setInputValue] = useState<string | number>(value ?? '');
88
89
  const inputRef = useRef<HTMLInputElement>(null);
@@ -99,6 +100,7 @@ export const FormNumberInput = forwardRef(function FormNumberInput(
99
100
  className,
100
101
  )}
101
102
  ref={handleRef}
103
+ {...innerProps}
102
104
  inputMode="numeric"
103
105
  type="number"
104
106
  min={min}
@@ -247,9 +249,10 @@ export const FormDropdownMenuTrigger = forwardRef<
247
249
  HTMLButtonElement,
248
250
  React.ButtonHTMLAttributes<HTMLButtonElement> & {
249
251
  open?: boolean | undefined;
252
+ showAsPlaceholder?: boolean | undefined;
250
253
  }
251
254
  >(function FormDropdownMenuTrigger(props, ref) {
252
- const { children, className, open, ...otherProps } = props;
255
+ const { children, className, open, showAsPlaceholder, ...otherProps } = props;
253
256
  return (
254
257
  <button
255
258
  ref={ref}
@@ -258,6 +261,7 @@ export const FormDropdownMenuTrigger = forwardRef<
258
261
  {
259
262
  'border-sky-600': Boolean(open),
260
263
  'bg-sky-100': Boolean(open),
264
+ 'text-neutral-400': Boolean(showAsPlaceholder),
261
265
  },
262
266
  className,
263
267
  )}
@@ -42,6 +42,7 @@ import {
42
42
  DEFAULT_COLUMN_MIN_WIDTH,
43
43
  DEFAULT_COLUMN_WIDTH,
44
44
  DEFAULT_URL_LABEL_QUERY_PARAM,
45
+ EMPTY_VALUE_PLACEHOLDER,
45
46
  } from '../../../stores/core/DataCubeQueryEngine.js';
46
47
  import { DocumentationKey } from '../../../__lib__/DataCubeDocumentation.js';
47
48
  import type { DataCubeViewState } from '../../../stores/view/DataCubeViewState.js';
@@ -139,7 +140,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
139
140
  >
140
141
  <div className="flex h-full w-full items-center">
141
142
  <div className="overflow-hidden overflow-ellipsis whitespace-nowrap">
142
- {selectedColumn?.name ?? '(None)'}
143
+ {selectedColumn?.name ?? EMPTY_VALUE_PLACEHOLDER}
143
144
  </div>
144
145
  {selectedColumn && (
145
146
  <>
@@ -217,7 +218,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
217
218
  <FormDocumentation
218
219
  className="ml-1"
219
220
  documentationKey={
220
- DocumentationKey.DATA_CUBE_COLUMN_KINDS
221
+ DocumentationKey.DATA_CUBE_COLUMN_CONFIGURATION_KIND
221
222
  }
222
223
  />
223
224
  </div>
@@ -326,7 +327,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
326
327
 
327
328
  <FormCheckbox
328
329
  className="ml-3"
329
- label="Exclude from H-Pivot"
330
+ label="Exclude from horizontal pivot"
330
331
  checked={selectedColumn.excludedFromPivot}
331
332
  onChange={() =>
332
333
  selectedColumn.setExcludedFromPivot(
@@ -355,7 +356,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
355
356
  }}
356
357
  />
357
358
  <div className="ml-1 flex-shrink-0 text-sm">
358
- Decimal places
359
+ decimal places
359
360
  </div>
360
361
  <FormCheckbox
361
362
  className="ml-3"
@@ -380,15 +381,19 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
380
381
  </div>
381
382
 
382
383
  <div className="mt-2 flex h-5 w-full items-center">
383
- <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
384
- Number Scale:
384
+ <div className="flex h-full w-32 flex-shrink-0 items-center text-sm" />
385
+ <div className="mr-1 flex h-full flex-shrink-0 items-center text-sm">
386
+ Scale:
385
387
  </div>
386
388
  <FormDropdownMenuTrigger
387
389
  className="w-32"
388
390
  onClick={openNumberScaleDropdown}
389
391
  open={numberScaleDropdownPropsOpen}
392
+ showAsPlaceholder={
393
+ selectedColumn.numberScale === undefined
394
+ }
390
395
  >
391
- {selectedColumn.numberScale ?? '(None)'}
396
+ {selectedColumn.numberScale ?? EMPTY_VALUE_PLACEHOLDER}
392
397
  </FormDropdownMenuTrigger>
393
398
  <FormDropdownMenu
394
399
  className="w-32"
@@ -412,10 +417,30 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
412
417
  }}
413
418
  autoFocus={scale === selectedColumn.numberScale}
414
419
  >
415
- {scale ?? '(None)'}
420
+ {scale ?? EMPTY_VALUE_PLACEHOLDER}
416
421
  </FormDropdownMenuItem>
417
422
  ))}
418
423
  </FormDropdownMenu>
424
+ <div className="ml-3 mr-1 flex h-full flex-shrink-0 items-center text-sm">
425
+ Unit:
426
+ <FormDocumentation
427
+ className="ml-1"
428
+ documentationKey={
429
+ DocumentationKey.DATA_CUBE_COLUMN_CONFIGURATION_UNIT
430
+ }
431
+ />
432
+ </div>
433
+ <FormTextInput
434
+ className="w-16"
435
+ value={selectedColumn.unit ?? ''}
436
+ onChange={(event) => {
437
+ const value = event.target.value.trim();
438
+ selectedColumn.setUnit(
439
+ value.trim() !== '' ? value.trim() : undefined,
440
+ );
441
+ }}
442
+ placeholder={EMPTY_VALUE_PLACEHOLDER}
443
+ />
419
444
  </div>
420
445
  </>
421
446
  )}
@@ -428,7 +453,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
428
453
  <FormDocumentation
429
454
  className="ml-1"
430
455
  documentationKey={
431
- DocumentationKey.DATA_CUBE_COLUMN_DISPLAY_AS_LINK
456
+ DocumentationKey.DATA_CUBE_COLUMN_CONFIGURATION_DISPLAY_AS_LINK
432
457
  }
433
458
  />
434
459
  </div>
@@ -461,11 +486,11 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
461
486
 
462
487
  <div className="mt-2 flex h-5 w-full items-center">
463
488
  <div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
464
- {`Missing Value Format:`}
489
+ Missing Value Format:
465
490
  <FormDocumentation
466
491
  className="ml-1"
467
492
  documentationKey={
468
- DocumentationKey.DATA_CUBE_COLUMN_MISSING_VALUE_FORMAT
493
+ DocumentationKey.DATA_CUBE_COLUMN_CONFIGURATION_MISSING_VALUE_FORMAT
469
494
  }
470
495
  />
471
496
  </div>
@@ -478,7 +503,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
478
503
  value !== '' ? value : undefined,
479
504
  );
480
505
  }}
481
- placeholder="(empty)"
506
+ placeholder={EMPTY_VALUE_PLACEHOLDER}
482
507
  />
483
508
  </div>
484
509
 
@@ -514,8 +539,9 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
514
539
  className="w-16"
515
540
  onClick={openColumnPinDropdown}
516
541
  open={columnPinDropdownPropsOpen}
542
+ showAsPlaceholder={selectedColumn.pinned === undefined}
517
543
  >
518
- {selectedColumn.pinned ?? '(None)'}
544
+ {selectedColumn.pinned ?? EMPTY_VALUE_PLACEHOLDER}
519
545
  </FormDropdownMenuTrigger>
520
546
  <FormDropdownMenu
521
547
  className="w-16"
@@ -534,7 +560,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(
534
560
  }}
535
561
  autoFocus={placement === selectedColumn.pinned}
536
562
  >
537
- {placement ?? '(None)'}
563
+ {placement ?? EMPTY_VALUE_PLACEHOLDER}
538
564
  </FormDropdownMenuItem>
539
565
  ))}
540
566
  </FormDropdownMenu>
@@ -195,7 +195,7 @@ export const DataCubeEditorColumnSelector = observer(
195
195
  /**
196
196
  * Since we use managed row dragging for selected columns,
197
197
  * we just need to sync the row data with the state.
198
- * Dragging (multiple) row(s) to specific position have been
198
+ * Dragging (multiple) rows to specific position have been
199
199
  * handled by ag-grid.
200
200
  */
201
201
  const onSelectedColumnsDragStop = useCallback(
@@ -223,7 +223,7 @@ export const DataCubeEditorColumnSelector = observer(
223
223
  /**
224
224
  * Since we use managed row dragging for selected columns,
225
225
  * we just need to sync the row data with the state
226
- * Dragging (multiple) row(s) to specific position have been
226
+ * Dragging (multiple) rows to specific position have been
227
227
  * handled by ag-grid.
228
228
  */
229
229
  const onSelectedColumnsDragEnd = useCallback(