@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.
- package/docs/column-configuration.display-value-as-link.md +6 -0
- package/docs/column-configuration.kind.md +14 -0
- package/docs/column-configuration.missing-value-format.md +5 -0
- package/docs/column-configuration.unit.md +5 -0
- package/docs/extended-column.level.md +14 -0
- package/docs/grid-configuration.row-limit.md +5 -0
- package/lib/__lib__/DataCubeDocumentation.d.ts +5 -3
- package/lib/__lib__/DataCubeDocumentation.d.ts.map +1 -1
- package/lib/__lib__/DataCubeDocumentation.js +5 -3
- package/lib/__lib__/DataCubeDocumentation.js.map +1 -1
- package/lib/components/core/DataCubeFormUtils.d.ts +1 -0
- package/lib/components/core/DataCubeFormUtils.d.ts.map +1 -1
- package/lib/components/core/DataCubeFormUtils.js +4 -3
- package/lib/components/core/DataCubeFormUtils.js.map +1 -1
- package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
- package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js +12 -9
- package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
- package/lib/components/view/editor/DataCubeEditorColumnSelector.js +2 -2
- package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
- package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js +8 -7
- package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +3 -3
- package/lib/stores/core/DataCubeQueryBuilder.d.ts +3 -0
- package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilder.js +8 -1
- package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +1 -0
- package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilderUtils.js +14 -7
- package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
- package/lib/stores/core/DataCubeQueryEngine.d.ts +6 -0
- package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryEngine.js +7 -0
- package/lib/stores/core/DataCubeQueryEngine.js.map +1 -1
- package/lib/stores/core/models/DataCubeConfiguration.d.ts +1 -0
- package/lib/stores/core/models/DataCubeConfiguration.d.ts.map +1 -1
- package/lib/stores/core/models/DataCubeConfiguration.js +2 -0
- package/lib/stores/core/models/DataCubeConfiguration.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +2 -2
- package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +4 -3
- package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +1 -0
- package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +5 -0
- package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +14 -2
- package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridClientEngine.js +48 -42
- package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +20 -3
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +89 -40
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +1 -1
- package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +13 -4
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +40 -9
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts +2 -2
- package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js +30 -14
- package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridState.d.ts +2 -0
- package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridState.js +5 -1
- package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
- package/package.json +8 -8
- package/src/__lib__/DataCubeDocumentation.ts +5 -3
- package/src/components/core/DataCubeFormUtils.tsx +5 -1
- package/src/components/view/editor/DataCubeEditorColumnPropertiesPanel.tsx +40 -14
- package/src/components/view/editor/DataCubeEditorColumnSelector.tsx +2 -2
- package/src/components/view/editor/DataCubeEditorGeneralPropertiesPanel.tsx +41 -30
- package/src/stores/core/DataCubeQueryBuilder.ts +13 -0
- package/src/stores/core/DataCubeQueryBuilderUtils.ts +32 -6
- package/src/stores/core/DataCubeQueryEngine.ts +8 -0
- package/src/stores/core/models/DataCubeConfiguration.ts +2 -0
- package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +5 -4
- package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +7 -0
- package/src/stores/view/grid/DataCubeGridClientEngine.ts +67 -52
- package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +99 -42
- package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +1 -1
- package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +71 -15
- package/src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts +40 -20
- package/src/stores/view/grid/DataCubeGridState.ts +12 -1
- package/tsconfig.json +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCubeGridQueryBuilder.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridQueryBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,cAAc,EACd,
|
|
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:
|
|
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,
|
|
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 {
|
|
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.
|
|
34
|
-
...
|
|
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.
|
|
44
|
+
snapshot.data.pivot = request.pivotColumns.length
|
|
38
45
|
? {
|
|
39
|
-
columns: request.
|
|
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 =
|
|
53
|
+
snapshot.data.groupBy = rowGroupColumns.length
|
|
47
54
|
? {
|
|
48
|
-
columns:
|
|
55
|
+
columns: rowGroupColumns.map((col) => _toCol(getColumnConfiguration(col, configuration))),
|
|
49
56
|
}
|
|
50
57
|
: undefined;
|
|
51
58
|
// --------------------------------- SORT ---------------------------------
|
|
52
|
-
snapshot.data.sortColumns = request.
|
|
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) =>
|
|
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.
|
|
61
|
-
type: getColumnConfiguration(isPivotResultColumnName(item.
|
|
62
|
-
? getPivotResultColumnBaseColumnName(item.
|
|
63
|
-
: item.
|
|
64
|
-
direction: item.
|
|
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":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
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;
|
|
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":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
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.
|
|
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.
|
|
60
|
-
"@finos/legend-code-editor": "2.0.
|
|
61
|
-
"@finos/legend-graph": "31.10.
|
|
62
|
-
"@finos/legend-shared": "10.0.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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 ??
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 ??
|
|
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 ??
|
|
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.
|
|
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
|
-
|
|
489
|
+
Missing Value Format:
|
|
465
490
|
<FormDocumentation
|
|
466
491
|
className="ml-1"
|
|
467
492
|
documentationKey={
|
|
468
|
-
DocumentationKey.
|
|
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=
|
|
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 ??
|
|
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 ??
|
|
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)
|
|
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)
|
|
226
|
+
* Dragging (multiple) rows to specific position have been
|
|
227
227
|
* handled by ag-grid.
|
|
228
228
|
*/
|
|
229
229
|
const onSelectedColumnsDragEnd = useCallback(
|