@finos/legend-application-repl 0.0.47 → 0.0.49
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/components/dataCube/DataCube.d.ts.map +1 -1
- package/lib/components/dataCube/DataCube.js +14 -11
- package/lib/components/dataCube/DataCube.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditor.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditor.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditor.js +6 -7
- package/lib/components/dataCube/editor/DataCubeEditor.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js +2 -12
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js +57 -51
- package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js +3 -4
- package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js +3 -4
- package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js +289 -10
- package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js +30 -30
- package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.js +3 -4
- package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js +19 -20
- package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.d.ts +4 -1
- package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.js +3 -4
- package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.js.map +1 -1
- package/lib/components/dataCube/grid/DataCubeGrid.d.ts +7 -2
- package/lib/components/dataCube/grid/DataCubeGrid.d.ts.map +1 -1
- package/lib/components/dataCube/grid/DataCubeGrid.js +53 -54
- package/lib/components/dataCube/grid/DataCubeGrid.js.map +1 -1
- package/lib/components/repl/Form.d.ts +4 -2
- package/lib/components/repl/Form.d.ts.map +1 -1
- package/lib/components/repl/Form.js +55 -19
- package/lib/components/repl/Form.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +4 -3
- package/lib/stores/dataCube/DataCubeEngine.d.ts +30 -0
- package/lib/stores/dataCube/DataCubeEngine.d.ts.map +1 -1
- package/lib/stores/dataCube/DataCubeEngine.js +60 -1
- package/lib/stores/dataCube/DataCubeEngine.js.map +1 -1
- package/lib/stores/dataCube/DataCubeState.d.ts +2 -2
- package/lib/stores/dataCube/DataCubeState.d.ts.map +1 -1
- package/lib/stores/dataCube/DataCubeState.js +11 -5
- package/lib/stores/dataCube/DataCubeState.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts +0 -1
- package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeConfiguration.js +0 -2
- package/lib/stores/dataCube/core/DataCubeConfiguration.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.d.ts +8 -17
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.js +16 -230
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.d.ts +44 -0
- package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.d.ts.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.js +220 -0
- package/lib/stores/dataCube/core/DataCubeQueryBuilderUtils.js.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts +41 -20
- package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQueryEngine.js +70 -46
- package/lib/stores/dataCube/core/DataCubeQueryEngine.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts +7 -5
- package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.d.ts +4 -4
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js +18 -135
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.d.ts +31 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.js +142 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.d.ts +16 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js +25 -3
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js.map +1 -1
- package/lib/stores/dataCube/core/{DataCubeCoreState.d.ts → DataCubeStaticContentDisplayState.d.ts} +3 -4
- package/lib/stores/dataCube/core/DataCubeStaticContentDisplayState.d.ts.map +1 -0
- package/lib/stores/dataCube/core/{DataCubeCoreState.js → DataCubeStaticContentDisplayState.js} +3 -6
- package/lib/stores/dataCube/core/DataCubeStaticContentDisplayState.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.d.ts +36 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.js +151 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.d.ts +32 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.js +64 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +64 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +64 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.js +126 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +64 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +64 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +60 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +60 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +60 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +31 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +54 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +31 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.js +54 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +60 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +60 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +64 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +64 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +60 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.js +59 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +34 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +64 -0
- package/lib/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js +2 -2
- package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeEditorFilterPanelState.d.ts +58 -0
- package/lib/stores/dataCube/editor/DataCubeEditorFilterPanelState.d.ts.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorFilterPanelState.js +205 -0
- package/lib/stores/dataCube/editor/DataCubeEditorFilterPanelState.js.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts +4 -4
- package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js +2 -2
- package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts +5 -4
- package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeEditorState.js +9 -7
- package/lib/stores/dataCube/editor/DataCubeEditorState.js.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts +5 -4
- package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js +6 -5
- package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts +2 -8
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js +3 -10
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.js +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.js +16 -40
- package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridControllerState.d.ts +17 -7
- package/lib/stores/dataCube/grid/DataCubeGridControllerState.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridControllerState.js +59 -6
- package/lib/stores/dataCube/grid/DataCubeGridControllerState.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.js +157 -53
- package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.d.ts +2 -1
- package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js +7 -7
- package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js +4 -4
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridState.d.ts +2 -3
- package/lib/stores/dataCube/grid/DataCubeGridState.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridState.js +10 -6
- package/lib/stores/dataCube/grid/DataCubeGridState.js.map +1 -1
- package/package.json +10 -9
- package/src/components/dataCube/DataCube.tsx +20 -13
- package/src/components/dataCube/editor/DataCubeEditor.tsx +15 -15
- package/src/components/dataCube/editor/DataCubeEditorCodePanel.tsx +72 -80
- package/src/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.tsx +1020 -950
- package/src/components/dataCube/editor/DataCubeEditorColumnsPanel.tsx +46 -44
- package/src/components/dataCube/editor/DataCubeEditorColumnsSelector.tsx +1 -1
- package/src/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.tsx +20 -18
- package/src/components/dataCube/editor/DataCubeEditorFilterPanel.tsx +862 -19
- package/src/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.tsx +687 -667
- package/src/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.tsx +20 -18
- package/src/components/dataCube/editor/DataCubeEditorSortsPanel.tsx +71 -62
- package/src/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.tsx +19 -17
- package/src/components/dataCube/grid/DataCubeGrid.tsx +144 -140
- package/src/components/repl/Form.tsx +145 -98
- package/src/stores/dataCube/DataCubeEngine.ts +69 -1
- package/src/stores/dataCube/DataCubeState.ts +13 -9
- package/src/stores/dataCube/core/DataCubeConfiguration.ts +1 -3
- package/src/stores/dataCube/core/DataCubeQueryBuilder.ts +43 -355
- package/src/stores/dataCube/core/DataCubeQueryBuilderUtils.ts +353 -0
- package/src/stores/dataCube/core/DataCubeQueryEngine.ts +46 -21
- package/src/stores/dataCube/core/DataCubeQuerySnapshot.ts +8 -12
- package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilder.ts +25 -194
- package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilderUtils.ts +211 -0
- package/src/stores/dataCube/core/DataCubeQuerySnapshotManager.ts +50 -1
- package/src/stores/dataCube/core/{DataCubeCoreState.ts → DataCubeStaticContentDisplayState.ts} +2 -6
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterEditorState.ts +227 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation.ts +105 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Contain.tsx +87 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +93 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +87 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +93 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__Equal.tsx +159 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +93 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +93 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +89 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +87 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +89 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +87 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +89 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +83 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +80 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +87 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +89 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +87 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +89 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +90 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +90 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +90 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +96 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +96 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +92 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +90 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +87 -0
- package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +93 -0
- package/src/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.ts +2 -2
- package/src/stores/dataCube/editor/DataCubeEditorFilterPanelState.ts +295 -0
- package/src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts +5 -9
- package/src/stores/dataCube/editor/DataCubeEditorState.tsx +9 -8
- package/src/stores/dataCube/editor/DataCubeMutableConfiguration.ts +10 -10
- package/src/stores/dataCube/grid/DataCubeGridClientEngine.ts +22 -23
- package/src/stores/dataCube/grid/DataCubeGridClientExportEngine.ts +1 -1
- package/src/stores/dataCube/grid/DataCubeGridConfigurationBuilder.tsx +16 -43
- package/src/stores/dataCube/grid/DataCubeGridControllerState.ts +91 -10
- package/src/stores/dataCube/grid/DataCubeGridMenuBuilder.tsx +218 -53
- package/src/stores/dataCube/grid/DataCubeGridQueryBuilder.ts +66 -61
- package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.ts +4 -4
- package/src/stores/dataCube/grid/DataCubeGridState.ts +10 -6
- package/tsconfig.json +33 -2
- package/lib/stores/dataCube/core/DataCubeCoreState.d.ts.map +0 -1
- package/lib/stores/dataCube/core/DataCubeCoreState.js.map +0 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts +0 -30
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts.map +0 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js +0 -41
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js.map +0 -1
- package/src/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.ts +0 -62
package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { type V1_AppliedFunction } from '@finos/legend-graph';
|
|
18
|
+
import {
|
|
19
|
+
DataCubeQueryFilterOperation,
|
|
20
|
+
generateDefaultFilterConditionPrimitiveTypeValue,
|
|
21
|
+
ofType,
|
|
22
|
+
} from './DataCubeQueryFilterOperation.js';
|
|
23
|
+
import type {
|
|
24
|
+
DataCubeQuerySnapshotColumn,
|
|
25
|
+
DataCubeQuerySnapshotFilterCondition,
|
|
26
|
+
} from '../DataCubeQuerySnapshot.js';
|
|
27
|
+
import {
|
|
28
|
+
DataCubeFunction,
|
|
29
|
+
DataCubeQueryFilterOperator,
|
|
30
|
+
type DataCubeOperationValue,
|
|
31
|
+
} from '../DataCubeQueryEngine.js';
|
|
32
|
+
import {
|
|
33
|
+
_function,
|
|
34
|
+
_functionName,
|
|
35
|
+
_property,
|
|
36
|
+
_value,
|
|
37
|
+
_var,
|
|
38
|
+
} from '../DataCubeQueryBuilderUtils.js';
|
|
39
|
+
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
40
|
+
|
|
41
|
+
export class DataCubeQueryFilterOperation__StartWithCaseInsensitive extends DataCubeQueryFilterOperation {
|
|
42
|
+
override get label() {
|
|
43
|
+
return 'starts with (case-insensitive)';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
override get textLabel() {
|
|
47
|
+
return 'startsWith (case-insensitive)';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
override get description(): string {
|
|
51
|
+
return 'starts with (case-insensitive)';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
override get operator(): string {
|
|
55
|
+
return DataCubeQueryFilterOperator.START_WITH_CASE_INSENSITIVE;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
isCompatibleWithColumn(column: DataCubeQuerySnapshotColumn) {
|
|
59
|
+
return ofType(column.type, ['string']);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
63
|
+
return (
|
|
64
|
+
ofType(value.type, ['string']) &&
|
|
65
|
+
value.value !== undefined &&
|
|
66
|
+
!Array.isArray(value.value)
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
generateDefaultValue(column: DataCubeQuerySnapshotColumn) {
|
|
71
|
+
return {
|
|
72
|
+
type: column.type,
|
|
73
|
+
value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
buildConditionSnapshot(expression: V1_AppliedFunction) {
|
|
78
|
+
// TODO: @akphi - implement this for roundtrip testing
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
|
|
83
|
+
const variable = _var();
|
|
84
|
+
return _function(_functionName(DataCubeFunction.STARTS_WITH), [
|
|
85
|
+
_function(_functionName(DataCubeFunction.TO_LOWERCASE), [
|
|
86
|
+
_property(condition.name, variable),
|
|
87
|
+
]),
|
|
88
|
+
_function(_functionName(DataCubeFunction.TO_LOWERCASE), [
|
|
89
|
+
_value(guaranteeNonNullable(condition.value), variable),
|
|
90
|
+
]),
|
|
91
|
+
]);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
} from '@finos/legend-shared';
|
|
31
31
|
import type { DataCubeConfiguration } from '../core/DataCubeConfiguration.js';
|
|
32
32
|
import {
|
|
33
|
-
|
|
33
|
+
DataCubeAggregateOperator,
|
|
34
34
|
DataCubeColumnKind,
|
|
35
35
|
} from '../core/DataCubeQueryEngine.js';
|
|
36
36
|
import { PRIMITIVE_TYPE } from '@finos/legend-graph';
|
|
@@ -123,7 +123,7 @@ export class DataCubeEditorColumnPropertiesPanelState
|
|
|
123
123
|
case PRIMITIVE_TYPE.INTEGER:
|
|
124
124
|
case PRIMITIVE_TYPE.DECIMAL:
|
|
125
125
|
case PRIMITIVE_TYPE.FLOAT: {
|
|
126
|
-
column.setAggregateFunction(
|
|
126
|
+
column.setAggregateFunction(DataCubeAggregateOperator.SUM);
|
|
127
127
|
column.setAggregateFunctionParameters([]);
|
|
128
128
|
break;
|
|
129
129
|
}
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { action, computed, makeObservable, observable } from 'mobx';
|
|
18
|
+
import {
|
|
19
|
+
DataCubeQueryFilterGroupOperator,
|
|
20
|
+
DataCubeQueryFilterOperator,
|
|
21
|
+
} from '../core/DataCubeQueryEngine.js';
|
|
22
|
+
import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
|
|
23
|
+
import {
|
|
24
|
+
deepClone,
|
|
25
|
+
getNonNullableEntry,
|
|
26
|
+
guaranteeNonNullable,
|
|
27
|
+
} from '@finos/legend-shared';
|
|
28
|
+
import type { DataCubeEditorState } from './DataCubeEditorState.js';
|
|
29
|
+
import type { DataCubeState } from '../DataCubeState.js';
|
|
30
|
+
import type { DataCubeQueryEditorPanelState } from './DataCubeEditorPanelState.js';
|
|
31
|
+
import type { DataCubeConfiguration } from '../core/DataCubeConfiguration.js';
|
|
32
|
+
import {
|
|
33
|
+
type DataCubeFilterEditorTree,
|
|
34
|
+
type DataCubeFilterEditorTreeNode,
|
|
35
|
+
DataCubeFilterEditorConditionGroupTreeNode,
|
|
36
|
+
DataCubeFilterEditorConditionTreeNode,
|
|
37
|
+
buildFilterEditorTree,
|
|
38
|
+
buildFilterQuerySnapshot,
|
|
39
|
+
} from '../core/filter/DataCubeQueryFilterEditorState.js';
|
|
40
|
+
|
|
41
|
+
export class DataCubeEditorFilterPanelState
|
|
42
|
+
implements DataCubeQueryEditorPanelState
|
|
43
|
+
{
|
|
44
|
+
readonly dataCube!: DataCubeState;
|
|
45
|
+
readonly editor!: DataCubeEditorState;
|
|
46
|
+
|
|
47
|
+
tree: DataCubeFilterEditorTree;
|
|
48
|
+
selectedNode?: DataCubeFilterEditorTreeNode | undefined;
|
|
49
|
+
|
|
50
|
+
constructor(editor: DataCubeEditorState) {
|
|
51
|
+
makeObservable(this, {
|
|
52
|
+
tree: observable.ref,
|
|
53
|
+
initializeTree: action,
|
|
54
|
+
refreshTree: action,
|
|
55
|
+
|
|
56
|
+
selectedNode: observable,
|
|
57
|
+
selectedGroupNode: computed,
|
|
58
|
+
setSelectedNode: action,
|
|
59
|
+
addFilterNode: action,
|
|
60
|
+
removeFilterNode: action,
|
|
61
|
+
layerFilterNode: action,
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
this.dataCube = editor.dataCube;
|
|
65
|
+
this.editor = editor;
|
|
66
|
+
this.tree = {
|
|
67
|
+
nodes: new Map<string, DataCubeFilterEditorTreeNode>(),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
get columns() {
|
|
72
|
+
// TODO: include leaf-extended columns
|
|
73
|
+
return this.editor.columns.sourceColumns;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
initializeTree() {
|
|
77
|
+
if (this.tree.root === undefined && this.tree.nodes.size === 0) {
|
|
78
|
+
const root = new DataCubeFilterEditorConditionGroupTreeNode(
|
|
79
|
+
undefined,
|
|
80
|
+
DataCubeQueryFilterGroupOperator.AND,
|
|
81
|
+
undefined,
|
|
82
|
+
);
|
|
83
|
+
this.tree.nodes.set(root.uuid, root);
|
|
84
|
+
this.tree.root = root;
|
|
85
|
+
const condition = this.generateNewFilterNode(root);
|
|
86
|
+
if (condition) {
|
|
87
|
+
root.addChild(condition);
|
|
88
|
+
this.tree.nodes.set(condition.uuid, condition);
|
|
89
|
+
}
|
|
90
|
+
this.refreshTree();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
refreshTree() {
|
|
95
|
+
this.tree = { ...this.tree };
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
get selectedGroupNode():
|
|
99
|
+
| DataCubeFilterEditorConditionGroupTreeNode
|
|
100
|
+
| undefined {
|
|
101
|
+
return this.selectedNode instanceof
|
|
102
|
+
DataCubeFilterEditorConditionGroupTreeNode
|
|
103
|
+
? this.selectedNode
|
|
104
|
+
: this.selectedNode?.parent;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
setSelectedNode(node: DataCubeFilterEditorTreeNode | undefined) {
|
|
108
|
+
this.selectedNode = node;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
private generateNewFilterNode(baseNode: DataCubeFilterEditorTreeNode) {
|
|
112
|
+
if (baseNode instanceof DataCubeFilterEditorConditionTreeNode) {
|
|
113
|
+
return new DataCubeFilterEditorConditionTreeNode(
|
|
114
|
+
undefined,
|
|
115
|
+
baseNode.column,
|
|
116
|
+
baseNode.operation,
|
|
117
|
+
deepClone(baseNode.value),
|
|
118
|
+
baseNode.not,
|
|
119
|
+
);
|
|
120
|
+
} else if (baseNode instanceof DataCubeFilterEditorConditionGroupTreeNode) {
|
|
121
|
+
if (this.editor.columnProperties.columns.length !== 0) {
|
|
122
|
+
const columnConfig = getNonNullableEntry(
|
|
123
|
+
this.editor.columnProperties.columns,
|
|
124
|
+
0,
|
|
125
|
+
);
|
|
126
|
+
const column = {
|
|
127
|
+
name: columnConfig.name,
|
|
128
|
+
type: columnConfig.type,
|
|
129
|
+
};
|
|
130
|
+
const operation = this.dataCube.engine.getFilterOperation(
|
|
131
|
+
DataCubeQueryFilterOperator.EQUAL,
|
|
132
|
+
);
|
|
133
|
+
return new DataCubeFilterEditorConditionTreeNode(
|
|
134
|
+
undefined,
|
|
135
|
+
column,
|
|
136
|
+
operation,
|
|
137
|
+
operation.generateDefaultValue(column),
|
|
138
|
+
undefined,
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Add a new filter condition node just after the specified filter node.
|
|
147
|
+
* The added node is a clone of the specified node to make the filter's overall match unaffected,
|
|
148
|
+
* except if the specified node is a group node, then a new (default) condition will be added.
|
|
149
|
+
*/
|
|
150
|
+
addFilterNode(baseNode: DataCubeFilterEditorTreeNode) {
|
|
151
|
+
if (this.tree.root) {
|
|
152
|
+
const node = this.generateNewFilterNode(baseNode);
|
|
153
|
+
const parentNode = baseNode.parent;
|
|
154
|
+
if (parentNode && node) {
|
|
155
|
+
parentNode.addChild(
|
|
156
|
+
node,
|
|
157
|
+
baseNode instanceof DataCubeFilterEditorConditionTreeNode
|
|
158
|
+
? parentNode.children.indexOf(baseNode) + 1
|
|
159
|
+
: undefined,
|
|
160
|
+
);
|
|
161
|
+
|
|
162
|
+
this.tree.nodes.set(node.uuid, node);
|
|
163
|
+
this.refreshTree();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Remove the specified filter node.
|
|
170
|
+
* If its parent node has just one child, then flatten the parent node if:
|
|
171
|
+
* 1. parent node is not the root node and has exactly one child left
|
|
172
|
+
* 2. OR parent node is the root node and has no child left, in this case,
|
|
173
|
+
* flattening means completely remove the filter tree
|
|
174
|
+
*/
|
|
175
|
+
removeFilterNode(nodeToRemove: DataCubeFilterEditorTreeNode) {
|
|
176
|
+
if (this.tree.root) {
|
|
177
|
+
const parentNode = nodeToRemove.parent;
|
|
178
|
+
// skip root node
|
|
179
|
+
if (nodeToRemove !== this.tree.root && parentNode) {
|
|
180
|
+
// remove all nodes in the subtree
|
|
181
|
+
let childNodesToRemove = [nodeToRemove];
|
|
182
|
+
while (childNodesToRemove.length) {
|
|
183
|
+
childNodesToRemove.forEach((node) => {
|
|
184
|
+
if (node instanceof DataCubeFilterEditorConditionGroupTreeNode) {
|
|
185
|
+
node.children.forEach((child) => {
|
|
186
|
+
child.setParent(undefined);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
this.tree.nodes.delete(node.uuid);
|
|
190
|
+
});
|
|
191
|
+
childNodesToRemove = Array.from(this.tree.nodes.values()).filter(
|
|
192
|
+
(node) => node !== this.tree.root && !node.parent,
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// remove node from parent
|
|
197
|
+
parentNode.removeChild(nodeToRemove);
|
|
198
|
+
this.tree.nodes.delete(nodeToRemove.uuid);
|
|
199
|
+
|
|
200
|
+
// flatten parent node if
|
|
201
|
+
// 1. parent node is not the root node and has exactly one child left
|
|
202
|
+
// 2. OR parent node is the root node and has no child left, in this case,
|
|
203
|
+
// flattening means completely remove the filter tree
|
|
204
|
+
if (parentNode.children.length === 1) {
|
|
205
|
+
if (parentNode !== this.tree.root) {
|
|
206
|
+
const childNode = getNonNullableEntry(parentNode.children, 0);
|
|
207
|
+
const grandParentNode = guaranteeNonNullable(parentNode.parent);
|
|
208
|
+
|
|
209
|
+
parentNode.removeChild(childNode);
|
|
210
|
+
|
|
211
|
+
const parentNodeIndex =
|
|
212
|
+
grandParentNode.children.indexOf(parentNode);
|
|
213
|
+
grandParentNode.removeChild(parentNode);
|
|
214
|
+
this.tree.nodes.delete(parentNode.uuid);
|
|
215
|
+
|
|
216
|
+
grandParentNode.addChild(childNode, parentNodeIndex);
|
|
217
|
+
}
|
|
218
|
+
} else if (parentNode.children.length === 0) {
|
|
219
|
+
if (parentNode === this.tree.root) {
|
|
220
|
+
this.tree.root = undefined;
|
|
221
|
+
this.tree.nodes.delete(parentNode.uuid);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
this.refreshTree();
|
|
226
|
+
|
|
227
|
+
if (this.selectedNode === nodeToRemove) {
|
|
228
|
+
this.setSelectedNode(undefined);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Replace the specified filter node with a group which contains
|
|
236
|
+
* the specified node and a new condition node.
|
|
237
|
+
* The added node is a clone of the specified node to make the filter's overall match unaffected,
|
|
238
|
+
* except if the specified node is a group node, then a new (default) condition will be added.
|
|
239
|
+
*/
|
|
240
|
+
layerFilterNode(baseNode: DataCubeFilterEditorTreeNode) {
|
|
241
|
+
if (this.tree.root) {
|
|
242
|
+
const node = this.generateNewFilterNode(baseNode);
|
|
243
|
+
const parentNode = baseNode.parent;
|
|
244
|
+
if (parentNode && node) {
|
|
245
|
+
const baseNodeIndex = parentNode.children.indexOf(baseNode);
|
|
246
|
+
parentNode.removeChild(baseNode);
|
|
247
|
+
|
|
248
|
+
const subGroupNode = new DataCubeFilterEditorConditionGroupTreeNode(
|
|
249
|
+
undefined,
|
|
250
|
+
// Use OR condition when we create sub-group to relax filtering
|
|
251
|
+
DataCubeQueryFilterGroupOperator.OR,
|
|
252
|
+
undefined,
|
|
253
|
+
);
|
|
254
|
+
|
|
255
|
+
subGroupNode.addChild(baseNode);
|
|
256
|
+
subGroupNode.addChild(node);
|
|
257
|
+
parentNode.addChild(subGroupNode, baseNodeIndex);
|
|
258
|
+
|
|
259
|
+
this.tree.nodes.set(subGroupNode.uuid, subGroupNode);
|
|
260
|
+
this.tree.nodes.set(node.uuid, node);
|
|
261
|
+
this.refreshTree();
|
|
262
|
+
|
|
263
|
+
if (this.selectedNode === baseNode) {
|
|
264
|
+
this.setSelectedNode(subGroupNode);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
applySnaphot(
|
|
271
|
+
snapshot: DataCubeQuerySnapshot,
|
|
272
|
+
configuration: DataCubeConfiguration,
|
|
273
|
+
): void {
|
|
274
|
+
this.tree.nodes = new Map<string, DataCubeFilterEditorTreeNode>();
|
|
275
|
+
this.tree.root = snapshot.data.filter
|
|
276
|
+
? buildFilterEditorTree(
|
|
277
|
+
snapshot.data.filter,
|
|
278
|
+
undefined,
|
|
279
|
+
this.tree.nodes,
|
|
280
|
+
(op) => this.dataCube.engine.getFilterOperation(op),
|
|
281
|
+
)
|
|
282
|
+
: undefined;
|
|
283
|
+
this.setSelectedNode(undefined);
|
|
284
|
+
this.refreshTree();
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
buildSnapshot(
|
|
288
|
+
newSnapshot: DataCubeQuerySnapshot,
|
|
289
|
+
baseSnapshot: DataCubeQuerySnapshot,
|
|
290
|
+
): void {
|
|
291
|
+
newSnapshot.data.filter = this.tree.root
|
|
292
|
+
? buildFilterQuerySnapshot(this.tree.root)
|
|
293
|
+
: undefined;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { action, makeObservable, observable } from 'mobx';
|
|
18
18
|
import type { DataCubeState } from '../DataCubeState.js';
|
|
19
19
|
import { type DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
|
|
20
|
-
import {
|
|
20
|
+
import { DataCubeQuerySortOperator } from '../core/DataCubeQueryEngine.js';
|
|
21
21
|
import type { DataCubeQueryEditorPanelState } from './DataCubeEditorPanelState.js';
|
|
22
22
|
import {
|
|
23
23
|
DataCubeEditorColumnsSelectorColumnState,
|
|
@@ -27,13 +27,9 @@ import type { DataCubeEditorState } from './DataCubeEditorState.js';
|
|
|
27
27
|
import type { DataCubeConfiguration } from '../core/DataCubeConfiguration.js';
|
|
28
28
|
|
|
29
29
|
export class DataCubeEditorSortColumnState extends DataCubeEditorColumnsSelectorColumnState {
|
|
30
|
-
operation:
|
|
30
|
+
operation: string;
|
|
31
31
|
|
|
32
|
-
constructor(
|
|
33
|
-
name: string,
|
|
34
|
-
type: string,
|
|
35
|
-
direction: DataCubeQuerySortOperation,
|
|
36
|
-
) {
|
|
32
|
+
constructor(name: string, type: string, direction: string) {
|
|
37
33
|
super(name, type);
|
|
38
34
|
|
|
39
35
|
makeObservable(this, {
|
|
@@ -44,7 +40,7 @@ export class DataCubeEditorSortColumnState extends DataCubeEditorColumnsSelector
|
|
|
44
40
|
this.operation = direction;
|
|
45
41
|
}
|
|
46
42
|
|
|
47
|
-
setOperation(val:
|
|
43
|
+
setOperation(val: DataCubeQuerySortOperator) {
|
|
48
44
|
this.operation = val;
|
|
49
45
|
}
|
|
50
46
|
}
|
|
@@ -64,7 +60,7 @@ export class DataCubeEditorSortColumnsSelectorState extends DataCubeEditorColumn
|
|
|
64
60
|
new DataCubeEditorSortColumnState(
|
|
65
61
|
col.name,
|
|
66
62
|
col.type,
|
|
67
|
-
|
|
63
|
+
DataCubeQuerySortOperator.ASCENDING,
|
|
68
64
|
),
|
|
69
65
|
);
|
|
70
66
|
}
|
|
@@ -18,7 +18,7 @@ import { action, makeObservable, observable } from 'mobx';
|
|
|
18
18
|
import type { DataCubeState } from '../DataCubeState.js';
|
|
19
19
|
import { DataCubeEditorSortsPanelState } from './DataCubeEditorSortsPanelState.js';
|
|
20
20
|
import { DataCubeEditorCodePanelState } from './DataCubeEditorCodePanelState.js';
|
|
21
|
-
import {
|
|
21
|
+
import { DataCubeQuerySnapshotController } from '../core/DataCubeQuerySnapshotManager.js';
|
|
22
22
|
import { type DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
|
|
23
23
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
24
24
|
import { DataCubeEditorGeneralPropertiesPanelState } from './DataCubeEditorGeneralPropertiesPanelState.js';
|
|
@@ -28,12 +28,13 @@ import { DataCubeConfiguration } from '../core/DataCubeConfiguration.js';
|
|
|
28
28
|
import { DataCubeEditorVerticalPivotsPanelState } from './DataCubeEditorVerticalPivotsPanelState.js';
|
|
29
29
|
import { SingletonModeDisplayState } from '../../LayoutManagerState.js';
|
|
30
30
|
import { DataCubeEditor } from '../../../components/dataCube/editor/DataCubeEditor.js';
|
|
31
|
+
import { DataCubeEditorFilterPanelState } from './DataCubeEditorFilterPanelState.js';
|
|
31
32
|
|
|
32
33
|
export enum DataCubeEditorTab {
|
|
33
34
|
GENERAL_PROPERTIES = 'General Properties',
|
|
34
35
|
COLUMN_PROPERTIES = 'Column Properties',
|
|
35
|
-
FILTER = 'Filter',
|
|
36
36
|
EXTENDED_COLUMNS = 'Extended Columns',
|
|
37
|
+
FILTER = 'Filter',
|
|
37
38
|
COLUMNS = 'Columns',
|
|
38
39
|
VERTICAL_PIVOTS = 'Vertical Pivots',
|
|
39
40
|
HORIZONTAL_PIVOTS = 'Horizontal Pivots',
|
|
@@ -41,10 +42,11 @@ export enum DataCubeEditorTab {
|
|
|
41
42
|
CODE = 'Code',
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
export class DataCubeEditorState extends
|
|
45
|
+
export class DataCubeEditorState extends DataCubeQuerySnapshotController {
|
|
45
46
|
readonly display: SingletonModeDisplayState;
|
|
46
47
|
readonly generalProperties: DataCubeEditorGeneralPropertiesPanelState;
|
|
47
48
|
readonly columnProperties: DataCubeEditorColumnPropertiesPanelState;
|
|
49
|
+
readonly filter: DataCubeEditorFilterPanelState;
|
|
48
50
|
readonly columns: DataCubeEditorColumnsPanelState;
|
|
49
51
|
readonly verticalPivots: DataCubeEditorVerticalPivotsPanelState;
|
|
50
52
|
readonly sorts: DataCubeEditorSortsPanelState;
|
|
@@ -65,12 +67,13 @@ export class DataCubeEditorState extends DataCubeQuerySnapshotSubscriber {
|
|
|
65
67
|
this.display = new SingletonModeDisplayState(
|
|
66
68
|
this.dataCube.repl.layout,
|
|
67
69
|
'Properties',
|
|
68
|
-
() => <DataCubeEditor />,
|
|
70
|
+
() => <DataCubeEditor dataCube={this.dataCube} />,
|
|
69
71
|
);
|
|
70
72
|
this.generalProperties = new DataCubeEditorGeneralPropertiesPanelState(
|
|
71
73
|
this,
|
|
72
74
|
);
|
|
73
75
|
this.columnProperties = new DataCubeEditorColumnPropertiesPanelState(this);
|
|
76
|
+
this.filter = new DataCubeEditorFilterPanelState(this);
|
|
74
77
|
this.columns = new DataCubeEditorColumnsPanelState(this);
|
|
75
78
|
this.verticalPivots = new DataCubeEditorVerticalPivotsPanelState(this);
|
|
76
79
|
this.sorts = new DataCubeEditorSortsPanelState(this);
|
|
@@ -91,6 +94,7 @@ export class DataCubeEditorState extends DataCubeQuerySnapshotSubscriber {
|
|
|
91
94
|
this.columns.buildSnapshot(snapshot, baseSnapshot);
|
|
92
95
|
this.verticalPivots.buildSnapshot(snapshot, baseSnapshot);
|
|
93
96
|
this.sorts.buildSnapshot(snapshot, baseSnapshot);
|
|
97
|
+
this.filter.buildSnapshot(snapshot, baseSnapshot);
|
|
94
98
|
|
|
95
99
|
// grid configuration must be processed before processing columns' configuration
|
|
96
100
|
// to properly generate the container configuration
|
|
@@ -114,12 +118,9 @@ export class DataCubeEditorState extends DataCubeQuerySnapshotSubscriber {
|
|
|
114
118
|
this.columns.applySnaphot(snapshot, configuration);
|
|
115
119
|
this.verticalPivots.applySnaphot(snapshot, configuration);
|
|
116
120
|
this.sorts.applySnaphot(snapshot, configuration);
|
|
121
|
+
this.filter.applySnaphot(snapshot, configuration);
|
|
117
122
|
|
|
118
123
|
this.generalProperties.applySnaphot(snapshot, configuration);
|
|
119
124
|
this.columnProperties.applySnaphot(snapshot, configuration);
|
|
120
125
|
}
|
|
121
|
-
|
|
122
|
-
override async initialize() {
|
|
123
|
-
// do nothing
|
|
124
|
-
}
|
|
125
126
|
}
|
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
getDataType,
|
|
19
19
|
type DataCubeColumnKind,
|
|
20
20
|
type DataCubeFont,
|
|
21
|
-
type DataCubeAggregateOperation,
|
|
22
21
|
type DataCubeOperationValue,
|
|
23
22
|
type DataCubeNumberScale,
|
|
24
23
|
type DataCubeSelectionStat,
|
|
@@ -54,9 +53,10 @@ export class DataCubeMutableColumnConfiguration extends DataCubeColumnConfigurat
|
|
|
54
53
|
// NOTE: these configurations are synthesized from the data query, and materialized here
|
|
55
54
|
// to make editing more convenient. They should not be part of the persistent configuration
|
|
56
55
|
// to avoid duplication of information with the data query.
|
|
57
|
-
aggregateFunction?:
|
|
56
|
+
aggregateFunction?: string | undefined;
|
|
58
57
|
aggregateFunctionParameters: DataCubeOperationValue[] = [];
|
|
59
58
|
excludedFromHorizontalPivot = false;
|
|
59
|
+
horizontalPivotSortFunction?: string | undefined;
|
|
60
60
|
|
|
61
61
|
static create(
|
|
62
62
|
json: PlainObject<DataCubeColumnConfiguration>,
|
|
@@ -90,9 +90,6 @@ export class DataCubeMutableColumnConfiguration extends DataCubeColumnConfigurat
|
|
|
90
90
|
missingValueDisplayText: observable,
|
|
91
91
|
setMissingValueDisplayText: action,
|
|
92
92
|
|
|
93
|
-
hPivotSortFunction: observable,
|
|
94
|
-
setHPivotSortFunction: action,
|
|
95
|
-
|
|
96
93
|
fontFamily: observable,
|
|
97
94
|
setFontFamily: action,
|
|
98
95
|
|
|
@@ -176,6 +173,9 @@ export class DataCubeMutableColumnConfiguration extends DataCubeColumnConfigurat
|
|
|
176
173
|
|
|
177
174
|
excludedFromHorizontalPivot: observable,
|
|
178
175
|
setExcludedFromHorizontalPivot: action,
|
|
176
|
+
|
|
177
|
+
horizontalPivotSortFunction: observable,
|
|
178
|
+
setHorizontalPivotSortFunction: action,
|
|
179
179
|
});
|
|
180
180
|
|
|
181
181
|
return configuration;
|
|
@@ -259,10 +259,6 @@ export class DataCubeMutableColumnConfiguration extends DataCubeColumnConfigurat
|
|
|
259
259
|
this.missingValueDisplayText = value;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
setHPivotSortFunction(value: string | undefined) {
|
|
263
|
-
this.hPivotSortFunction = value;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
262
|
setFontFamily(value: DataCubeFont | undefined) {
|
|
267
263
|
this.fontFamily = value;
|
|
268
264
|
}
|
|
@@ -359,7 +355,7 @@ export class DataCubeMutableColumnConfiguration extends DataCubeColumnConfigurat
|
|
|
359
355
|
this.linkLabelParameter = value;
|
|
360
356
|
}
|
|
361
357
|
|
|
362
|
-
setAggregateFunction(value:
|
|
358
|
+
setAggregateFunction(value: string | undefined) {
|
|
363
359
|
this.aggregateFunction = value;
|
|
364
360
|
}
|
|
365
361
|
|
|
@@ -370,6 +366,10 @@ export class DataCubeMutableColumnConfiguration extends DataCubeColumnConfigurat
|
|
|
370
366
|
setAggregateFunctionParameters(value: DataCubeOperationValue[]) {
|
|
371
367
|
this.aggregateFunctionParameters = value;
|
|
372
368
|
}
|
|
369
|
+
|
|
370
|
+
setHorizontalPivotSortFunction(value: string | undefined) {
|
|
371
|
+
this.horizontalPivotSortFunction = value;
|
|
372
|
+
}
|
|
373
373
|
}
|
|
374
374
|
|
|
375
375
|
export class DataCubeMutableConfiguration extends DataCubeConfiguration {
|
|
@@ -52,7 +52,7 @@ export enum DataCubeGridClientExportFormat {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
export enum INTERNAL__GridClientUtilityCssClassName {
|
|
55
|
-
ROOT = 'data-cube-grid.ag-theme-
|
|
55
|
+
ROOT = 'data-cube-grid.ag-theme-quartz',
|
|
56
56
|
HIGHLIGHT_ROW = 'data-cube-grid__utility--highlight-row',
|
|
57
57
|
SHOW_VERTICAL_GRID_LINES = 'data-cube-grid__utility--show-vertical-grid-lines',
|
|
58
58
|
SHOW_HORIZONTAL_GRID_LINES = 'data-cube-grid__utility--show-horizontal-grid-lines',
|
|
@@ -111,6 +111,8 @@ export const INTERNAL__GRID_CLIENT_TOOLTIP_SHOW_DELAY = 1000;
|
|
|
111
111
|
export const INTERNAL__GRID_CLIENT_AUTO_RESIZE_PADDING = 10;
|
|
112
112
|
export const INTERNAL__GRID_CLIENT_MISSING_VALUE = '__MISSING';
|
|
113
113
|
export const INTERNAL__GRID_CLIENT_TREE_COLUMN_ID = 'INTERNAL__tree';
|
|
114
|
+
export const INTERNAL__GRID_CLIENT_FILTER_TRIGGER_COLUMN_ID =
|
|
115
|
+
'INTERNAL__filterTrigger';
|
|
114
116
|
export const INTERNAL__GRID_CLIENT_ROW_GROUPING_COUNT_AGG_COLUMN_ID =
|
|
115
117
|
'INTERNAL__count';
|
|
116
118
|
|
|
@@ -124,14 +126,6 @@ export enum GridClientSortDirection {
|
|
|
124
126
|
DESCENDING = 'desc',
|
|
125
127
|
}
|
|
126
128
|
|
|
127
|
-
export enum GridClientAggregateOperation {
|
|
128
|
-
COUNT = 'count',
|
|
129
|
-
SUM = 'sum',
|
|
130
|
-
MAX = 'max',
|
|
131
|
-
MIN = 'min',
|
|
132
|
-
AVERAGE = 'avg',
|
|
133
|
-
}
|
|
134
|
-
|
|
135
129
|
export function getDataForAllNodes<T>(client: GridApi<T>): T[] {
|
|
136
130
|
const rows: T[] = [];
|
|
137
131
|
client.forEachNode((node: IRowNode<T>) => {
|
|
@@ -221,20 +215,25 @@ export class DataCubeGridClientServerSideDataSource
|
|
|
221
215
|
// ------------------------------ DATA ------------------------------
|
|
222
216
|
|
|
223
217
|
try {
|
|
224
|
-
const executableQuery = buildExecutableQuery(
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
218
|
+
const executableQuery = buildExecutableQuery(
|
|
219
|
+
syncedSnapshot,
|
|
220
|
+
this.grid.dataCube.engine.filterOperations,
|
|
221
|
+
{
|
|
222
|
+
postProcessor:
|
|
223
|
+
generateRowGroupingDrilldownExecutableQueryPostProcessor(
|
|
224
|
+
params.request.groupKeys,
|
|
225
|
+
),
|
|
226
|
+
pagination:
|
|
227
|
+
this.grid.isPaginationEnabled &&
|
|
228
|
+
params.request.startRow !== undefined &&
|
|
229
|
+
params.request.endRow !== undefined
|
|
230
|
+
? {
|
|
231
|
+
start: params.request.startRow,
|
|
232
|
+
end: params.request.endRow,
|
|
233
|
+
}
|
|
234
|
+
: undefined,
|
|
235
|
+
},
|
|
236
|
+
);
|
|
238
237
|
const lambda = new V1_Lambda();
|
|
239
238
|
lambda.body.push(executableQuery);
|
|
240
239
|
const result = await this.grid.dataCube.engine.executeQuery(lambda);
|
|
@@ -90,7 +90,7 @@ export class DataCubeGridClientExportEngine {
|
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
private generateFileName() {
|
|
93
|
-
return `${this.dataCube.
|
|
93
|
+
return `${this.dataCube.staticContent.name} - ${formatDate(new Date(), 'EEE MMM dd yyyy HH_mm_ss')}`;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
exportFile(format: DataCubeGridClientExportFormat) {
|