@finos/legend-data-cube 0.1.3 → 0.1.5
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/lib/__lib__/DataCubeSetting.d.ts +2 -0
- package/lib/__lib__/DataCubeSetting.d.ts.map +1 -1
- package/lib/__lib__/DataCubeSetting.js +2 -0
- package/lib/__lib__/DataCubeSetting.js.map +1 -1
- package/lib/components/DataCube.d.ts +2 -2
- package/lib/components/DataCube.d.ts.map +1 -1
- package/lib/components/DataCube.js +12 -11
- package/lib/components/DataCube.js.map +1 -1
- package/lib/components/DataCubePlaceholder.d.ts +2 -2
- package/lib/components/DataCubePlaceholder.d.ts.map +1 -1
- package/lib/components/DataCubePlaceholder.js.map +1 -1
- package/lib/components/DataCubeTitleBar.d.ts +3 -2
- package/lib/components/DataCubeTitleBar.d.ts.map +1 -1
- package/lib/components/DataCubeTitleBar.js +29 -9
- package/lib/components/DataCubeTitleBar.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/DataCubeAPI.d.ts +17 -4
- package/lib/stores/DataCubeAPI.d.ts.map +1 -1
- package/lib/stores/DataCubeAPI.js +9 -3
- package/lib/stores/DataCubeAPI.js.map +1 -1
- package/lib/stores/DataCubeOptions.d.ts +11 -8
- package/lib/stores/DataCubeOptions.d.ts.map +1 -1
- package/lib/stores/DataCubeOptions.js +4 -1
- package/lib/stores/DataCubeOptions.js.map +1 -1
- package/lib/stores/DataCubeState.d.ts +3 -3
- package/lib/stores/DataCubeState.d.ts.map +1 -1
- package/lib/stores/DataCubeState.js +3 -3
- package/lib/stores/DataCubeState.js.map +1 -1
- package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +3 -3
- package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
- package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
- package/lib/stores/core/DataCubeEngine.d.ts +5 -5
- package/lib/stores/core/DataCubeEngine.d.ts.map +1 -1
- package/lib/stores/core/DataCubeEngine.js +6 -6
- package/lib/stores/core/DataCubeEngine.js.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilder.d.ts +4 -4
- package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilder.js +2 -2
- package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +5 -5
- package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilderUtils.js +2 -2
- package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
- package/lib/stores/core/{DataCubeQuerySnapshot.d.ts → DataCubeSnapshot.d.ts} +28 -28
- package/lib/stores/core/DataCubeSnapshot.d.ts.map +1 -0
- package/lib/stores/core/{DataCubeQuerySnapshot.js → DataCubeSnapshot.js} +5 -5
- package/lib/stores/core/DataCubeSnapshot.js.map +1 -0
- package/lib/stores/core/{DataCubeQuerySnapshotBuilder.d.ts → DataCubeSnapshotBuilder.d.ts} +8 -8
- package/lib/stores/core/DataCubeSnapshotBuilder.d.ts.map +1 -0
- package/lib/stores/core/{DataCubeQuerySnapshotBuilder.js → DataCubeSnapshotBuilder.js} +12 -12
- package/lib/stores/core/DataCubeSnapshotBuilder.js.map +1 -0
- package/lib/stores/core/{DataCubeQuerySnapshotBuilderUtils.d.ts → DataCubeSnapshotBuilderUtils.d.ts} +6 -6
- package/lib/stores/core/DataCubeSnapshotBuilderUtils.d.ts.map +1 -0
- package/lib/stores/core/{DataCubeQuerySnapshotBuilderUtils.js → DataCubeSnapshotBuilderUtils.js} +16 -10
- package/lib/stores/core/DataCubeSnapshotBuilderUtils.js.map +1 -0
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +3 -3
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.js.map +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js +1 -1
- package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js +2 -2
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +4 -4
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
- package/lib/stores/core/model/DataCubeConfiguration.d.ts +1 -1
- package/lib/stores/core/model/DataCubeConfiguration.js +1 -1
- package/lib/stores/core/model/{DataCubeQuery.d.ts → DataCubeSpecification.d.ts} +8 -3
- package/lib/stores/core/model/DataCubeSpecification.d.ts.map +1 -0
- package/lib/stores/core/model/{DataCubeQuery.js → DataCubeSpecification.js} +12 -4
- package/lib/stores/core/model/DataCubeSpecification.js.map +1 -0
- package/lib/stores/services/DataCubeSettingService.d.ts +1 -0
- package/lib/stores/services/DataCubeSettingService.d.ts.map +1 -1
- package/lib/stores/services/DataCubeSettingService.js +22 -0
- package/lib/stores/services/DataCubeSettingService.js.map +1 -1
- package/lib/stores/services/DataCubeSnapshotService.d.ts +59 -0
- package/lib/stores/services/DataCubeSnapshotService.d.ts.map +1 -0
- package/lib/stores/services/{DataCubeQuerySnapshotService.js → DataCubeSnapshotService.js} +77 -31
- package/lib/stores/services/DataCubeSnapshotService.js.map +1 -0
- package/lib/stores/view/DataCubeInfoState.d.ts +4 -4
- package/lib/stores/view/DataCubeInfoState.d.ts.map +1 -1
- package/lib/stores/view/DataCubeInfoState.js +2 -2
- package/lib/stores/view/DataCubeInfoState.js.map +1 -1
- package/lib/stores/view/DataCubeViewState.d.ts +12 -9
- package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
- package/lib/stores/view/DataCubeViewState.js +107 -19
- package/lib/stores/view/DataCubeViewState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +3 -3
- package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +1 -1
- package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts +3 -3
- package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js +1 -1
- package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +3 -3
- package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +1 -1
- package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +3 -3
- package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js +1 -1
- package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +2 -2
- package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +1 -1
- package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts +3 -3
- package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts +3 -3
- package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js +2 -2
- package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts +3 -3
- package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js +1 -1
- package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorState.d.ts +6 -6
- package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorState.js +3 -3
- package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +3 -3
- package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js +1 -1
- package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
- package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts +2 -2
- package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
- package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
- package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts +8 -8
- package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -1
- package/lib/stores/view/extend/DataCubeExtendManagerState.js +3 -3
- package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -1
- package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts +4 -4
- package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
- package/lib/stores/view/filter/DataCubeFilterEditorState.js +4 -4
- package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +3 -3
- package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridClientEngine.js +23 -27
- package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +4 -4
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +3 -3
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridControllerState.d.ts +5 -5
- package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridControllerState.js +6 -6
- package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +2 -2
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +9 -8
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
- package/lib/stores/view/grid/{DataCubeGridQuerySnapshotBuilder.d.ts → DataCubeGridSnapshotBuilder.d.ts} +5 -5
- package/lib/stores/view/grid/DataCubeGridSnapshotBuilder.d.ts.map +1 -0
- package/lib/stores/view/grid/{DataCubeGridQuerySnapshotBuilder.js → DataCubeGridSnapshotBuilder.js} +6 -6
- package/lib/stores/view/grid/DataCubeGridSnapshotBuilder.js.map +1 -0
- package/lib/stores/view/grid/DataCubeGridState.d.ts +7 -5
- package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridState.js +7 -6
- package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
- package/package.json +3 -3
- package/src/__lib__/DataCubeSetting.ts +2 -0
- package/src/components/DataCube.tsx +14 -12
- package/src/components/DataCubePlaceholder.tsx +5 -2
- package/src/components/DataCubeTitleBar.tsx +49 -19
- package/src/index.tsx +3 -2
- package/src/stores/DataCubeAPI.ts +25 -6
- package/src/stores/DataCubeOptions.ts +13 -11
- package/src/stores/DataCubeState.tsx +4 -4
- package/src/stores/core/DataCubeConfigurationBuilder.ts +3 -3
- package/src/stores/core/DataCubeEngine.tsx +8 -8
- package/src/stores/core/DataCubeQueryBuilder.ts +4 -4
- package/src/stores/core/DataCubeQueryBuilderUtils.ts +8 -8
- package/src/stores/core/{DataCubeQuerySnapshot.ts → DataCubeSnapshot.ts} +31 -34
- package/src/stores/core/{DataCubeQuerySnapshotBuilder.ts → DataCubeSnapshotBuilder.ts} +22 -22
- package/src/stores/core/{DataCubeQuerySnapshotBuilderUtils.ts → DataCubeSnapshotBuilderUtils.ts} +39 -25
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +3 -3
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +1 -1
- package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +1 -1
- package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +8 -8
- package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +4 -4
- package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +3 -3
- package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +3 -3
- package/src/stores/core/model/DataCubeConfiguration.ts +1 -1
- package/src/stores/core/model/{DataCubeQuery.ts → DataCubeSpecification.ts} +17 -3
- package/src/stores/services/DataCubeSettingService.tsx +23 -0
- package/src/stores/services/{DataCubeQuerySnapshotService.ts → DataCubeSnapshotService.ts} +116 -65
- package/src/stores/view/DataCubeInfoState.ts +5 -5
- package/src/stores/view/DataCubeViewState.ts +143 -23
- package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +3 -6
- package/src/stores/view/editor/DataCubeEditorColumnsPanelState.ts +3 -6
- package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +3 -6
- package/src/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.ts +3 -6
- package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +2 -2
- package/src/stores/view/editor/DataCubeEditorPanelState.ts +4 -4
- package/src/stores/view/editor/DataCubeEditorPivotLayoutPanelState.ts +4 -7
- package/src/stores/view/editor/DataCubeEditorSortsPanelState.ts +3 -6
- package/src/stores/view/editor/DataCubeEditorState.tsx +9 -9
- package/src/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.ts +3 -6
- package/src/stores/view/extend/DataCubeColumnEditorState.tsx +2 -2
- package/src/stores/view/extend/DataCubeExtendManagerState.tsx +11 -11
- package/src/stores/view/filter/DataCubeFilterEditorState.tsx +7 -7
- package/src/stores/view/grid/DataCubeGridClientEngine.ts +39 -39
- package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +12 -12
- package/src/stores/view/grid/DataCubeGridControllerState.ts +12 -12
- package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +15 -9
- package/src/stores/view/grid/{DataCubeGridQuerySnapshotBuilder.ts → DataCubeGridSnapshotBuilder.ts} +6 -6
- package/src/stores/view/grid/DataCubeGridState.ts +15 -9
- package/tsconfig.json +6 -6
- package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +0 -1
- package/lib/stores/core/DataCubeQuerySnapshot.js.map +0 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +0 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +0 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +0 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +0 -1
- package/lib/stores/core/model/DataCubeQuery.d.ts.map +0 -1
- package/lib/stores/core/model/DataCubeQuery.js.map +0 -1
- package/lib/stores/services/DataCubeQuerySnapshotService.d.ts +0 -54
- package/lib/stores/services/DataCubeQuerySnapshotService.d.ts.map +0 -1
- package/lib/stores/services/DataCubeQuerySnapshotService.js.map +0 -1
- package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +0 -1
- package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +0 -1
|
@@ -17,8 +17,8 @@ import { type DebouncedFunc } from '@finos/legend-shared';
|
|
|
17
17
|
import type { GridApi } from 'ag-grid-community';
|
|
18
18
|
import type { DataCubeViewState } from '../DataCubeViewState.js';
|
|
19
19
|
import { DataCubeGridClientServerSideDataSource } from './DataCubeGridClientEngine.js';
|
|
20
|
-
import {
|
|
21
|
-
import type {
|
|
20
|
+
import { DataCubeSnapshotController } from '../../services/DataCubeSnapshotService.js';
|
|
21
|
+
import type { DataCubeSnapshot } from '../../core/DataCubeSnapshot.js';
|
|
22
22
|
import { DataCubeConfiguration } from '../../core/model/DataCubeConfiguration.js';
|
|
23
23
|
import { DataCubeGridControllerState } from './DataCubeGridControllerState.js';
|
|
24
24
|
import { DataCubeGridClientExportEngine } from './DataCubeGridClientExportEngine.js';
|
|
@@ -37,7 +37,7 @@ import { DataCubeGridClientExportEngine } from './DataCubeGridClientExportEngine
|
|
|
37
37
|
* row model datasource, so without the companion grid controller, these changes will not
|
|
38
38
|
* trigger publishing a new snapshot, hence not propagated.
|
|
39
39
|
*/
|
|
40
|
-
export declare class DataCubeGridState extends
|
|
40
|
+
export declare class DataCubeGridState extends DataCubeSnapshotController {
|
|
41
41
|
private readonly _view;
|
|
42
42
|
readonly controller: DataCubeGridControllerState;
|
|
43
43
|
readonly exportEngine: DataCubeGridClientExportEngine;
|
|
@@ -51,12 +51,14 @@ export declare class DataCubeGridState extends DataCubeQuerySnapshotController {
|
|
|
51
51
|
debouncedAutoResizeColumns?: DebouncedFunc<() => void>;
|
|
52
52
|
constructor(view: DataCubeViewState);
|
|
53
53
|
setPaginationEnabled(val: boolean): void;
|
|
54
|
-
setCachingEnabled(val: boolean
|
|
54
|
+
setCachingEnabled(val: boolean, options?: {
|
|
55
|
+
suppressWarning?: boolean | undefined;
|
|
56
|
+
}): Promise<void>;
|
|
55
57
|
setScrollHintText(val: string | undefined): void;
|
|
56
58
|
get isClientConfigured(): boolean;
|
|
57
59
|
get client(): GridApi<any>;
|
|
58
60
|
configureClient(val: GridApi | undefined): void;
|
|
59
61
|
getSnapshotSubscriberName(): string;
|
|
60
|
-
applySnapshot(snapshot:
|
|
62
|
+
applySnapshot(snapshot: DataCubeSnapshot, previousSnapshot: DataCubeSnapshot | undefined): Promise<void>;
|
|
61
63
|
}
|
|
62
64
|
//# sourceMappingURL=DataCubeGridState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,sCAAsC,EAOvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE
|
|
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,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,sCAAsC,EAOvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAKrF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAkB,SAAQ,0BAA0B;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAE1C,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;IAEjD,QAAQ,CAAC,YAAY,EAAE,8BAA8B,CAAC;IACtD,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,gBAAgB,EAAE,sCAAsC,CAAC;IAEzD,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,UAAmD;IACtE,gBAAgB,UAAgD;IAChE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGpC,0BAA0B,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;gBAE3C,IAAI,EAAE,iBAAiB;IAgCnC,oBAAoB,CAAC,GAAG,EAAE,OAAO;IAoB3B,iBAAiB,CACrB,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACvC;IA8FH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAIzC,IAAI,kBAAkB,YAErB;IAED,IAAI,MAAM,iBAET;IAED,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS;IAQ/B,yBAAyB;IAInB,aAAa,CAC1B,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,EAAE,gBAAgB,GAAG,SAAS;CAoDjD"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { debounce, guaranteeNonNullable, } from '@finos/legend-shared';
|
|
17
17
|
import { action, makeObservable, observable, runInAction } 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, INTERNAL__GRID_CLIENT_DEFAULT_ENABLE_CACHING, } from './DataCubeGridClientEngine.js';
|
|
19
|
-
import {
|
|
19
|
+
import { DataCubeSnapshotController } from '../../services/DataCubeSnapshotService.js';
|
|
20
20
|
import { generateGridOptionsFromSnapshot } from './DataCubeGridConfigurationBuilder.js';
|
|
21
21
|
import { DataCubeConfiguration } from '../../core/model/DataCubeConfiguration.js';
|
|
22
22
|
import { DataCubeGridControllerState } from './DataCubeGridControllerState.js';
|
|
@@ -39,7 +39,7 @@ import { AlertType } from '../../services/DataCubeAlertService.js';
|
|
|
39
39
|
* row model datasource, so without the companion grid controller, these changes will not
|
|
40
40
|
* trigger publishing a new snapshot, hence not propagated.
|
|
41
41
|
*/
|
|
42
|
-
export class DataCubeGridState extends
|
|
42
|
+
export class DataCubeGridState extends DataCubeSnapshotController {
|
|
43
43
|
_view;
|
|
44
44
|
controller;
|
|
45
45
|
exportEngine;
|
|
@@ -88,7 +88,7 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
|
|
|
88
88
|
: INTERNAL__GRID_CLIENT_MAX_CACHE_BLOCK_SIZE,
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
|
-
async setCachingEnabled(val) {
|
|
91
|
+
async setCachingEnabled(val, options) {
|
|
92
92
|
if (val === this.isCachingEnabled) {
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
@@ -117,10 +117,11 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
|
|
|
117
117
|
// TODO?: we might want to do a quick check here for the amount of data the cache
|
|
118
118
|
// will handle, so maybe fire a COUNT query to check for the number of records
|
|
119
119
|
// and check that against a threshold, we will need to alter the prompt below accordingly.
|
|
120
|
-
if (this._settingService.getBooleanValue(DataCubeSettingKey.GRID_CLIENT__SHOW_CACHE_PERFORMANCE_WARNING)
|
|
120
|
+
if (this._settingService.getBooleanValue(DataCubeSettingKey.GRID_CLIENT__SHOW_CACHE_PERFORMANCE_WARNING) &&
|
|
121
|
+
!options?.suppressWarning) {
|
|
121
122
|
this._view.alertService.alert({
|
|
122
123
|
message: `Confirm you want to proceed with caching`,
|
|
123
|
-
text: `When enabled, the source dataset will be cached locally in order to boost query performance. But depending on computational resource available to your environment, sometimes, caching can negatively impact the overall performance, and can even lead to crashes.\nDo you still want to proceed?`,
|
|
124
|
+
text: `When enabled, the source dataset will be cached locally in order to boost query performance. But depending on computational resource available to your environment, sometimes, caching can negatively impact the overall performance, and can even lead to crashes.\n\nOverall, caching is still an experimental feature where we only support queries with simple execution plans, certain queries might not work, in which case, you can abort by turning off caching.\n\nDo you still want to proceed?`,
|
|
124
125
|
type: AlertType.WARNING,
|
|
125
126
|
actions: [
|
|
126
127
|
{
|
|
@@ -144,7 +145,7 @@ export class DataCubeGridState extends DataCubeQuerySnapshotController {
|
|
|
144
145
|
windowConfig: {
|
|
145
146
|
...DEFAULT_ALERT_WINDOW_CONFIG,
|
|
146
147
|
width: 600,
|
|
147
|
-
height:
|
|
148
|
+
height: 300,
|
|
148
149
|
minWidth: 300,
|
|
149
150
|
minHeight: 150,
|
|
150
151
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCubeGridState.js","sourceRoot":"","sources":["../../../../src/stores/view/grid/DataCubeGridState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,QAAQ,EACR,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAGvE,OAAO,EACL,sCAAsC,EACtC,8CAA8C,EAC9C,yDAAyD,EACzD,0CAA0C,EAC1C,+CAA+C,EAC/C,wCAAwC,EACxC,4CAA4C,GAC7C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE
|
|
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.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Legend DataCube",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@finos/legend-art": "7.1.81",
|
|
46
|
-
"@finos/legend-code-editor": "2.0.
|
|
47
|
-
"@finos/legend-graph": "32.1.
|
|
46
|
+
"@finos/legend-code-editor": "2.0.45",
|
|
47
|
+
"@finos/legend-graph": "32.1.3",
|
|
48
48
|
"@finos/legend-shared": "11.0.3",
|
|
49
49
|
"@types/react": "19.0.8",
|
|
50
50
|
"ag-grid-community": "33.0.4",
|
|
@@ -15,11 +15,13 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
export enum DataCubeSettingKey {
|
|
18
|
+
EDITOR__MAX_HISTORY_STACK_SIZE = 'dataCube.editor.maxHistoryStackSize',
|
|
18
19
|
DEBUGGER__ENABLE_DEBUG_MODE = 'dataCube.debugger.enableDebugMode',
|
|
19
20
|
DEBUGGER__USE_DEV_CLIENT_PROTOCOL_VERSION = 'dataCube.debugger.useDevClientProtocolVersion',
|
|
20
21
|
DEBUGGER__ACTION__RELOAD = 'dataCube.debugger.action.reload',
|
|
21
22
|
GRID_CLIENT__ROW_BUFFER = 'dataCube.grid.rowBuffer',
|
|
22
23
|
GRID_CLIENT__PURGE_CLOSED_ROW_NODES = 'dataCube.grid.purgeClosedRowNodes',
|
|
24
|
+
GRID_CLIENT__SHOW_AUTO_ENABLE_CACHE_PERFORMANCE_WARNING = 'dataCube.grid.showAutoEnableCachePerformanceWarning',
|
|
23
25
|
GRID_CLIENT__SHOW_CACHE_PERFORMANCE_WARNING = 'dataCube.grid.showCachePerformanceWarning',
|
|
24
26
|
GRID_CLIENT__SUPPRESS_LARGE_DATASET_WARNING = 'dataCube.grid.suppressLargeDatasetWarning',
|
|
25
27
|
GRID_CLIENT__ACTION__RETRY_FAILED_DATA_FETCHES = 'dataCube.grid.action.retryFailedDataFetches',
|
|
@@ -23,7 +23,7 @@ import type { DataCubeEngine } from '../stores/core/DataCubeEngine.js';
|
|
|
23
23
|
import { DataCubeState } from '../stores/DataCubeState.js';
|
|
24
24
|
import { type DataCubeOptions } from '../stores/DataCubeOptions.js';
|
|
25
25
|
import { DataCubeContextProvider, useDataCube } from './DataCubeProvider.js';
|
|
26
|
-
import type {
|
|
26
|
+
import type { DataCubeSpecification } from '../stores/core/model/DataCubeSpecification.js';
|
|
27
27
|
import { DataCubeTitleBar } from './DataCubeTitleBar.js';
|
|
28
28
|
import { DEFAULT_REPORT_NAME } from '../stores/core/DataCubeQueryEngine.js';
|
|
29
29
|
import {
|
|
@@ -37,7 +37,7 @@ const DataCubeRoot = observer(() => {
|
|
|
37
37
|
|
|
38
38
|
useEffect(() => {
|
|
39
39
|
dataCube.view
|
|
40
|
-
.initialize(dataCube.
|
|
40
|
+
.initialize(dataCube.specification)
|
|
41
41
|
.catch((error) => dataCube.logService.logUnhandledError(error));
|
|
42
42
|
}, [dataCube]);
|
|
43
43
|
|
|
@@ -47,19 +47,21 @@ const DataCubeRoot = observer(() => {
|
|
|
47
47
|
title={view.info.name}
|
|
48
48
|
menuItems={[
|
|
49
49
|
{
|
|
50
|
-
label: '
|
|
51
|
-
action: () =>
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
label: 'Undo',
|
|
51
|
+
action: () => dataCube.view.snapshotService.undo(),
|
|
52
|
+
disabled: !dataCube.view.snapshotService.canUndo,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
label: 'Redo',
|
|
56
|
+
action: () => dataCube.view.snapshotService.redo(),
|
|
57
|
+
disabled: !dataCube.view.snapshotService.canRedo,
|
|
57
58
|
},
|
|
58
59
|
{
|
|
59
60
|
label: 'Settings...',
|
|
60
61
|
action: () => dataCube.settingService.display.open(),
|
|
61
62
|
},
|
|
62
63
|
]}
|
|
64
|
+
getMenuItems={dataCube.options?.getHeaderMenuItems}
|
|
63
65
|
>
|
|
64
66
|
{dataCube.options?.innerHeaderRenderer?.({ api: dataCube.api }) ?? null}
|
|
65
67
|
</DataCubeTitleBar>
|
|
@@ -74,13 +76,13 @@ const DataCubeRoot = observer(() => {
|
|
|
74
76
|
|
|
75
77
|
export const DataCube = observer(
|
|
76
78
|
(props: {
|
|
77
|
-
|
|
79
|
+
specification: DataCubeSpecification;
|
|
78
80
|
engine: DataCubeEngine;
|
|
79
81
|
options?: DataCubeOptions | undefined;
|
|
80
82
|
}) => {
|
|
81
|
-
const {
|
|
83
|
+
const { specification, engine, options } = props;
|
|
82
84
|
const dataCube = useLocalObservable(
|
|
83
|
-
() => new DataCubeState(
|
|
85
|
+
() => new DataCubeState(specification, engine, options),
|
|
84
86
|
);
|
|
85
87
|
|
|
86
88
|
useEffect(() => {
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { observer } from 'mobx-react-lite';
|
|
18
|
-
import type {
|
|
18
|
+
import type {
|
|
19
|
+
DataCubeMenuItem,
|
|
20
|
+
DataCubeNativeMenuItem,
|
|
21
|
+
} from '../stores/DataCubeOptions.js';
|
|
19
22
|
import { DataCubeTitleBar } from './DataCubeTitleBar.js';
|
|
20
23
|
import { DataCubeStatusBar } from './DataCubeStatusBar.js';
|
|
21
24
|
import type { LayoutManager } from '../stores/services/DataCubeLayoutService.js';
|
|
@@ -67,7 +70,7 @@ export const DataCubePlaceholder = observer(
|
|
|
67
70
|
children?: React.ReactNode | undefined;
|
|
68
71
|
title: string;
|
|
69
72
|
headerContent?: React.ReactNode | undefined;
|
|
70
|
-
menuItems?: DataCubeMenuItem[] | undefined;
|
|
73
|
+
menuItems?: (DataCubeMenuItem | DataCubeNativeMenuItem)[] | undefined;
|
|
71
74
|
layoutManager?: LayoutManager | undefined;
|
|
72
75
|
taskManager?: TaskManager | undefined;
|
|
73
76
|
}) => {
|
|
@@ -21,17 +21,26 @@ import {
|
|
|
21
21
|
DropdownMenuItem,
|
|
22
22
|
} from '@finos/legend-art';
|
|
23
23
|
import { observer } from 'mobx-react-lite';
|
|
24
|
-
import
|
|
24
|
+
import {
|
|
25
|
+
DataCubeNativeMenuItem,
|
|
26
|
+
type DataCubeMenuItem,
|
|
27
|
+
} from '../stores/DataCubeOptions.js';
|
|
28
|
+
import { useState } from 'react';
|
|
29
|
+
import { isObject } from '@finos/legend-shared';
|
|
25
30
|
|
|
26
31
|
export const DataCubeTitleBar = observer(
|
|
27
32
|
(props: {
|
|
28
33
|
children: React.ReactNode;
|
|
29
34
|
title: string;
|
|
30
|
-
menuItems?: DataCubeMenuItem[] | undefined;
|
|
35
|
+
menuItems?: (DataCubeMenuItem | DataCubeNativeMenuItem)[] | undefined;
|
|
36
|
+
getMenuItems?:
|
|
37
|
+
| (() => (DataCubeMenuItem | DataCubeNativeMenuItem)[])
|
|
38
|
+
| undefined;
|
|
31
39
|
}) => {
|
|
32
|
-
const { children, title, menuItems } = props;
|
|
40
|
+
const { children, title, menuItems, getMenuItems } = props;
|
|
33
41
|
const [openMenuDropdown, closeMenuDropdown, menuDropdownProps] =
|
|
34
42
|
useDropdownMenu();
|
|
43
|
+
const [items, setItems] = useState([...(menuItems ?? [])]);
|
|
35
44
|
|
|
36
45
|
return (
|
|
37
46
|
<div className="flex h-7 justify-between bg-neutral-100">
|
|
@@ -43,7 +52,14 @@ export const DataCubeTitleBar = observer(
|
|
|
43
52
|
{children}
|
|
44
53
|
<button
|
|
45
54
|
className="flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400"
|
|
46
|
-
onClick={
|
|
55
|
+
onClick={(event) => {
|
|
56
|
+
const extraItems = getMenuItems?.() ?? [];
|
|
57
|
+
if (extraItems.length) {
|
|
58
|
+
extraItems.unshift(DataCubeNativeMenuItem.SEPARATOR);
|
|
59
|
+
}
|
|
60
|
+
setItems([...(menuItems ?? []), ...extraItems]);
|
|
61
|
+
openMenuDropdown(event);
|
|
62
|
+
}}
|
|
47
63
|
disabled={!menuItems?.length}
|
|
48
64
|
>
|
|
49
65
|
<DataCubeIcon.Menu />
|
|
@@ -55,24 +71,38 @@ export const DataCubeTitleBar = observer(
|
|
|
55
71
|
transformOrigin: { vertical: 'top', horizontal: 'left' },
|
|
56
72
|
classes: {
|
|
57
73
|
paper: 'rounded-none mt-[1px]',
|
|
58
|
-
list: 'w-40 p-0 rounded-none border border-neutral-400 bg-white
|
|
74
|
+
list: 'w-40 p-0 rounded-none border border-neutral-400 bg-white overflow-y-auto py-0.5',
|
|
59
75
|
},
|
|
60
76
|
}}
|
|
61
77
|
>
|
|
62
|
-
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
78
|
+
{items.map((item, idx) => {
|
|
79
|
+
if (isObject(item)) {
|
|
80
|
+
return (
|
|
81
|
+
<DropdownMenuItem
|
|
82
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
83
|
+
key={idx}
|
|
84
|
+
className="flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100"
|
|
85
|
+
onClick={() => {
|
|
86
|
+
item.action();
|
|
87
|
+
closeMenuDropdown();
|
|
88
|
+
}}
|
|
89
|
+
disabled={Boolean(item.disabled)}
|
|
90
|
+
>
|
|
91
|
+
{item.label}
|
|
92
|
+
</DropdownMenuItem>
|
|
93
|
+
);
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
95
|
+
} else if (item === DataCubeNativeMenuItem.SEPARATOR) {
|
|
96
|
+
return (
|
|
97
|
+
<div
|
|
98
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
99
|
+
key={idx}
|
|
100
|
+
className="my-1 h-[1px] w-full bg-neutral-200"
|
|
101
|
+
/>
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
})}
|
|
76
106
|
</DropdownMenu>
|
|
77
107
|
</div>
|
|
78
108
|
</div>
|
package/src/index.tsx
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
export * from './stores/core/model/
|
|
17
|
+
export * from './stores/core/model/DataCubeSpecification.js';
|
|
18
18
|
export * from './stores/core/model/DataCubeSource.js';
|
|
19
19
|
export { type DataCubeColumn } from './stores/core/model/DataCubeColumn.js';
|
|
20
20
|
export * from './stores/core/model/DataCubeConfiguration.js';
|
|
@@ -23,7 +23,7 @@ export { CachedDataCubeSource } from './stores/core/model/CachedDataCubeSource.j
|
|
|
23
23
|
|
|
24
24
|
export * from './stores/core/DataCubeEngine.js';
|
|
25
25
|
export * from './stores/core/DataCubeQueryEngine.js';
|
|
26
|
-
export {
|
|
26
|
+
export { DataCubeSnapshot } from './stores/core/DataCubeSnapshot.js';
|
|
27
27
|
|
|
28
28
|
export {
|
|
29
29
|
type DataCubeSetting,
|
|
@@ -34,6 +34,7 @@ export {
|
|
|
34
34
|
export {
|
|
35
35
|
DataCubeLayoutService,
|
|
36
36
|
WindowState,
|
|
37
|
+
type WindowConfiguration,
|
|
37
38
|
DisplayState,
|
|
38
39
|
LayoutConfiguration,
|
|
39
40
|
DEFAULT_TOOL_PANEL_WINDOW_CONFIG,
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import type {
|
|
17
|
+
import type { DataCubeSpecification } from './core/model/DataCubeSpecification.js';
|
|
18
18
|
import type { DataCubeSource } from './core/model/DataCubeSource.js';
|
|
19
19
|
import type { DataCubeState } from './DataCubeState.js';
|
|
20
20
|
import type { DataCubeViewState } from './view/DataCubeViewState.js';
|
|
@@ -29,10 +29,21 @@ export interface DataCubeAPI {
|
|
|
29
29
|
*/
|
|
30
30
|
getProcessedSource(): DataCubeSource | undefined;
|
|
31
31
|
/**
|
|
32
|
-
* Generates the
|
|
32
|
+
* Generates the specification (including the query, configuration, and source)
|
|
33
33
|
* from the latest state of the DataCube.
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
generateSpecification(): Promise<DataCubeSpecification>;
|
|
36
|
+
/**
|
|
37
|
+
* Updates the name of the DataCube main view.
|
|
38
|
+
*/
|
|
39
|
+
updateName(name: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Applies the specification to the DataCube, i.e. update the query, configuration.
|
|
42
|
+
*
|
|
43
|
+
* Note that source cannot be updated via this method, providing a different source
|
|
44
|
+
* than the one the DataCube has will result in an error.
|
|
45
|
+
*/
|
|
46
|
+
applySpecification(specification: DataCubeSpecification): Promise<void>;
|
|
36
47
|
/**
|
|
37
48
|
* Retries all failed data fetches and rerender the grid.
|
|
38
49
|
*/
|
|
@@ -67,11 +78,19 @@ export class INTERNAL__DataCubeAPI implements DataCubeAPI {
|
|
|
67
78
|
// ----------------------------- API -----------------------------
|
|
68
79
|
|
|
69
80
|
getProcessedSource() {
|
|
70
|
-
return this._dataCube.view.
|
|
81
|
+
return this._dataCube.view.getInitialSource();
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
generateSpecification() {
|
|
85
|
+
return this._dataCube.view.generateSpecification();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
updateName(name: string) {
|
|
89
|
+
this._dataCube.view.updateName(name);
|
|
71
90
|
}
|
|
72
91
|
|
|
73
|
-
|
|
74
|
-
|
|
92
|
+
async applySpecification(specification: DataCubeSpecification) {
|
|
93
|
+
await this._dataCube.view.applySpecification(specification);
|
|
75
94
|
}
|
|
76
95
|
|
|
77
96
|
retryFailedDataFetches() {
|
|
@@ -48,6 +48,9 @@ export type DataCubeMenuItem = {
|
|
|
48
48
|
disabled?: boolean | undefined;
|
|
49
49
|
action: () => void;
|
|
50
50
|
};
|
|
51
|
+
export enum DataCubeNativeMenuItem {
|
|
52
|
+
SEPARATOR = 'separator',
|
|
53
|
+
}
|
|
51
54
|
|
|
52
55
|
type DataCubeOptionsBaseParams = {
|
|
53
56
|
api: DataCubeAPI;
|
|
@@ -75,6 +78,10 @@ export type DataCubeOptions = {
|
|
|
75
78
|
onViewInitialized?:
|
|
76
79
|
| ((event: DataCubeViewInitializedEvent) => void)
|
|
77
80
|
| undefined;
|
|
81
|
+
/**
|
|
82
|
+
* Enables caching to suppport local query execution.
|
|
83
|
+
*/
|
|
84
|
+
enableCache?: boolean | undefined;
|
|
78
85
|
|
|
79
86
|
// ------------------------------ GRID ------------------------------
|
|
80
87
|
|
|
@@ -103,6 +110,12 @@ export type DataCubeOptions = {
|
|
|
103
110
|
innerHeaderRenderer?:
|
|
104
111
|
| ((params: DataCubeInnerHeaderComponentParams) => React.ReactNode)
|
|
105
112
|
| undefined;
|
|
113
|
+
/**
|
|
114
|
+
* Provides a list of items to be displayed in the header dropdown menu.
|
|
115
|
+
*/
|
|
116
|
+
getHeaderMenuItems?:
|
|
117
|
+
| (() => (DataCubeMenuItem | DataCubeNativeMenuItem)[])
|
|
118
|
+
| undefined;
|
|
106
119
|
|
|
107
120
|
// ------------------------------ SETTINGS ------------------------------
|
|
108
121
|
|
|
@@ -119,15 +132,4 @@ export type DataCubeOptions = {
|
|
|
119
132
|
onSettingsChanged?:
|
|
120
133
|
| ((event: DataCubeSettingsChangedEvent) => void)
|
|
121
134
|
| undefined;
|
|
122
|
-
|
|
123
|
-
// ------------------------------ DOCUMENTATION ------------------------------
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* URL to the documentation website.
|
|
127
|
-
*/
|
|
128
|
-
documentationUrl?: string | undefined;
|
|
129
|
-
/**
|
|
130
|
-
* Enables caching to suppport local query execution.
|
|
131
|
-
*/
|
|
132
|
-
enableCache?: boolean | undefined;
|
|
133
135
|
};
|
|
@@ -21,7 +21,7 @@ import { action, makeObservable, observable } from 'mobx';
|
|
|
21
21
|
import { DataCubeSettingService } from './services/DataCubeSettingService.js';
|
|
22
22
|
import { INTERNAL__DataCubeAPI } from './DataCubeAPI.js';
|
|
23
23
|
import type { DataCubeOptions } from './DataCubeOptions.js';
|
|
24
|
-
import type {
|
|
24
|
+
import type { DataCubeSpecification } from './core/model/DataCubeSpecification.js';
|
|
25
25
|
import { LicenseManager } from 'ag-grid-enterprise';
|
|
26
26
|
import {
|
|
27
27
|
configureCodeEditor,
|
|
@@ -47,7 +47,7 @@ export class DataCubeState {
|
|
|
47
47
|
readonly navigationService: DataCubeNavigationService;
|
|
48
48
|
readonly telemetryService: DataCubeTelemetryService;
|
|
49
49
|
|
|
50
|
-
readonly
|
|
50
|
+
readonly specification: DataCubeSpecification;
|
|
51
51
|
readonly options?: DataCubeOptions | undefined;
|
|
52
52
|
|
|
53
53
|
readonly initializeState = ActionState.create();
|
|
@@ -59,7 +59,7 @@ export class DataCubeState {
|
|
|
59
59
|
view: DataCubeViewState;
|
|
60
60
|
|
|
61
61
|
constructor(
|
|
62
|
-
|
|
62
|
+
specification: DataCubeSpecification,
|
|
63
63
|
engine: DataCubeEngine,
|
|
64
64
|
options?: DataCubeOptions | undefined,
|
|
65
65
|
) {
|
|
@@ -90,7 +90,7 @@ export class DataCubeState {
|
|
|
90
90
|
this.telemetryService = new DataCubeTelemetryService(this.engine);
|
|
91
91
|
|
|
92
92
|
this.api = new INTERNAL__DataCubeAPI(this);
|
|
93
|
-
this.
|
|
93
|
+
this.specification = specification;
|
|
94
94
|
this.options = options;
|
|
95
95
|
|
|
96
96
|
this.view = new DataCubeViewState(this);
|
|
@@ -25,12 +25,12 @@ import {
|
|
|
25
25
|
DataCubeFontTextAlignment,
|
|
26
26
|
} from './DataCubeQueryEngine.js';
|
|
27
27
|
import { _findCol, type DataCubeColumn } from './model/DataCubeColumn.js';
|
|
28
|
-
import type {
|
|
28
|
+
import type { DataCubeSnapshotProcessingContext } from './DataCubeSnapshot.js';
|
|
29
29
|
import { at } from '@finos/legend-shared';
|
|
30
30
|
|
|
31
31
|
export function newColumnConfiguration(
|
|
32
32
|
column: DataCubeColumn,
|
|
33
|
-
context?:
|
|
33
|
+
context?: DataCubeSnapshotProcessingContext | undefined,
|
|
34
34
|
): DataCubeColumnConfiguration {
|
|
35
35
|
const { name, type } = column;
|
|
36
36
|
const config = new DataCubeColumnConfiguration(name, type);
|
|
@@ -108,7 +108,7 @@ export function newColumnConfiguration(
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
export function newConfiguration(
|
|
111
|
-
context:
|
|
111
|
+
context: DataCubeSnapshotProcessingContext,
|
|
112
112
|
): DataCubeConfiguration {
|
|
113
113
|
const { snapshot, groupBySortColumns } = context;
|
|
114
114
|
const data = snapshot.data;
|
|
@@ -67,7 +67,7 @@ import { DataCubeQueryFilterOperation__EndWithCaseInsensitive } from './filter/D
|
|
|
67
67
|
import { DataCubeQueryFilterOperation__NotEndWith } from './filter/DataCubeQueryFilterOperation__NotEndWith.js';
|
|
68
68
|
import { DataCubeQueryFilterOperation__IsNull } from './filter/DataCubeQueryFilterOperation__IsNull.js';
|
|
69
69
|
import { DataCubeQueryFilterOperation__IsNotNull } from './filter/DataCubeQueryFilterOperation__IsNotNull.js';
|
|
70
|
-
import {
|
|
70
|
+
import { DataCubeSnapshot } from './DataCubeSnapshot.js';
|
|
71
71
|
import { buildExecutableQuery } from './DataCubeQueryBuilder.js';
|
|
72
72
|
import { _toCol, type DataCubeColumn } from './model/DataCubeColumn.js';
|
|
73
73
|
import {
|
|
@@ -84,7 +84,7 @@ import {
|
|
|
84
84
|
type PlainObject,
|
|
85
85
|
} from '@finos/legend-shared';
|
|
86
86
|
import type { CachedDataCubeSource } from './model/CachedDataCubeSource.js';
|
|
87
|
-
import {
|
|
87
|
+
import { DataCubeSpecification } from './model/DataCubeSpecification.js';
|
|
88
88
|
import { newConfiguration } from './DataCubeConfigurationBuilder.js';
|
|
89
89
|
|
|
90
90
|
export type CompletionItem = {
|
|
@@ -197,7 +197,7 @@ export abstract class DataCubeEngine {
|
|
|
197
197
|
* Then remove this dummy value from the final code.
|
|
198
198
|
*/
|
|
199
199
|
async getPartialQueryCode(
|
|
200
|
-
snapshot:
|
|
200
|
+
snapshot: DataCubeSnapshot,
|
|
201
201
|
pretty?: boolean | undefined,
|
|
202
202
|
) {
|
|
203
203
|
const source = new INTERNAL__DataCubeSource();
|
|
@@ -212,14 +212,14 @@ export abstract class DataCubeEngine {
|
|
|
212
212
|
).substring(`''->`.length);
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
async
|
|
216
|
-
const source = await this.
|
|
217
|
-
const query = new
|
|
215
|
+
async generateBaseSpecification(sourceData: PlainObject) {
|
|
216
|
+
const source = await this.processSource(sourceData);
|
|
217
|
+
const query = new DataCubeSpecification();
|
|
218
218
|
query.source = sourceData;
|
|
219
219
|
query.query = await this.getValueSpecificationCode(
|
|
220
220
|
_selectFunction(source.columns),
|
|
221
221
|
);
|
|
222
|
-
const snapshot =
|
|
222
|
+
const snapshot = DataCubeSnapshot.create({});
|
|
223
223
|
snapshot.data.sourceColumns = source.columns.map(_toCol);
|
|
224
224
|
snapshot.data.selectColumns = source.columns.map(_toCol);
|
|
225
225
|
const configuration = newConfiguration({
|
|
@@ -231,7 +231,7 @@ export abstract class DataCubeEngine {
|
|
|
231
231
|
|
|
232
232
|
// ---------------------------------- PROCESSOR ----------------------------------
|
|
233
233
|
|
|
234
|
-
abstract
|
|
234
|
+
abstract processSource(sourceData: PlainObject): Promise<DataCubeSource>;
|
|
235
235
|
|
|
236
236
|
abstract parseValueSpecification(
|
|
237
237
|
code: string,
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* [CORE]
|
|
19
19
|
*
|
|
20
20
|
* This and its corresponding utilitites are used to build the executable query from
|
|
21
|
-
* the
|
|
21
|
+
* the snapshot. The executable query is then used to fetch data.
|
|
22
22
|
***************************************************************************************/
|
|
23
23
|
|
|
24
24
|
import {
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
V1_Lambda,
|
|
27
27
|
type V1_AppliedFunction,
|
|
28
28
|
} from '@finos/legend-graph';
|
|
29
|
-
import { type
|
|
29
|
+
import { type DataCubeSnapshot } from './DataCubeSnapshot.js';
|
|
30
30
|
import { at, guaranteeType } from '@finos/legend-shared';
|
|
31
31
|
import {
|
|
32
32
|
DataCubeFunction,
|
|
@@ -55,12 +55,12 @@ import { _findCol } from './model/DataCubeColumn.js';
|
|
|
55
55
|
import type { DataCubeEngine } from './DataCubeEngine.js';
|
|
56
56
|
|
|
57
57
|
export function buildExecutableQuery(
|
|
58
|
-
snapshot:
|
|
58
|
+
snapshot: DataCubeSnapshot,
|
|
59
59
|
source: DataCubeSource,
|
|
60
60
|
engine: DataCubeEngine,
|
|
61
61
|
options?: {
|
|
62
62
|
postProcessor?: (
|
|
63
|
-
snapshot:
|
|
63
|
+
snapshot: DataCubeSnapshot,
|
|
64
64
|
sequence: V1_AppliedFunction[],
|
|
65
65
|
funcMap: DataCubeQueryFunctionMap,
|
|
66
66
|
configuration: DataCubeConfiguration,
|