@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
|
@@ -17,369 +17,51 @@
|
|
|
17
17
|
/***************************************************************************************
|
|
18
18
|
* [CORE]
|
|
19
19
|
*
|
|
20
|
-
*
|
|
21
|
-
* The executable query is then used to fetch data.
|
|
20
|
+
* This and its corresponding utilitites are used to build the executable query from
|
|
21
|
+
* the query snapshot. The executable query is then used to fetch data.
|
|
22
22
|
***************************************************************************************/
|
|
23
23
|
|
|
24
24
|
import {
|
|
25
25
|
PRIMITIVE_TYPE,
|
|
26
|
-
V1_AppliedFunction,
|
|
27
|
-
V1_AppliedProperty,
|
|
28
|
-
V1_CBoolean,
|
|
29
|
-
V1_CDateTime,
|
|
30
|
-
V1_CDecimal,
|
|
31
|
-
V1_CFloat,
|
|
32
|
-
V1_CInteger,
|
|
33
|
-
V1_CStrictDate,
|
|
34
|
-
V1_CStrictTime,
|
|
35
|
-
V1_CString,
|
|
36
|
-
V1_ClassInstance,
|
|
37
|
-
V1_ClassInstanceType,
|
|
38
|
-
V1_ColSpec,
|
|
39
|
-
V1_ColSpecArray,
|
|
40
|
-
V1_Collection,
|
|
41
|
-
V1_Lambda,
|
|
42
|
-
V1_Multiplicity,
|
|
43
|
-
V1_PackageableElementPtr,
|
|
44
|
-
type V1_PrimitiveValueSpecification,
|
|
45
|
-
V1_Variable,
|
|
26
|
+
type V1_AppliedFunction,
|
|
46
27
|
V1_deserializeValueSpecification,
|
|
47
28
|
extractElementNameFromPath as _name,
|
|
48
|
-
type V1_ValueSpecification,
|
|
49
29
|
} from '@finos/legend-graph';
|
|
50
|
-
import {
|
|
51
|
-
|
|
52
|
-
type DataCubeQuerySnapshotFilter,
|
|
53
|
-
type DataCubeQuerySnapshot,
|
|
54
|
-
_findCol,
|
|
55
|
-
type DataCubeQuerySnapshotColumn,
|
|
56
|
-
type DataCubeQuerySnapshotAggregateColumn,
|
|
57
|
-
} from './DataCubeQuerySnapshot.js';
|
|
58
|
-
import {
|
|
59
|
-
guaranteeNonNullable,
|
|
60
|
-
guaranteeIsString,
|
|
61
|
-
guaranteeIsBoolean,
|
|
62
|
-
guaranteeIsNumber,
|
|
63
|
-
UnsupportedOperationError,
|
|
64
|
-
guaranteeType,
|
|
65
|
-
type PlainObject,
|
|
66
|
-
} from '@finos/legend-shared';
|
|
30
|
+
import { type DataCubeQuerySnapshot } from './DataCubeQuerySnapshot.js';
|
|
31
|
+
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
67
32
|
import {
|
|
68
33
|
DataCubeFunction,
|
|
69
|
-
|
|
70
|
-
INTERNAL__FILLER_COUNT_AGG_COLUMN_NAME,
|
|
71
|
-
DataCubeQuerySortOperation,
|
|
72
|
-
DataCubeQueryFilterOperation,
|
|
73
|
-
DataCubeQueryFilterGroupOperation,
|
|
74
|
-
DataCubeAggregateOperation,
|
|
34
|
+
DataCubeQuerySortOperator,
|
|
75
35
|
type DataCubeQueryFunctionMap,
|
|
76
|
-
type DataCubeOperationValue,
|
|
77
36
|
} from './DataCubeQueryEngine.js';
|
|
78
37
|
import { DataCubeConfiguration } from './DataCubeConfiguration.js';
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
property.parameters.push(variable ?? _var());
|
|
96
|
-
return property;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export function _lambda(
|
|
100
|
-
parameters: V1_Variable[],
|
|
101
|
-
body: V1_ValueSpecification[],
|
|
102
|
-
) {
|
|
103
|
-
const lambda = new V1_Lambda();
|
|
104
|
-
lambda.parameters = parameters;
|
|
105
|
-
lambda.body = body;
|
|
106
|
-
return lambda;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
export function _function(
|
|
110
|
-
functionName: string,
|
|
111
|
-
parameters: V1_ValueSpecification[],
|
|
112
|
-
) {
|
|
113
|
-
const func = new V1_AppliedFunction();
|
|
114
|
-
func.function = functionName;
|
|
115
|
-
func.parameters = parameters;
|
|
116
|
-
return func;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function _collection(values: V1_ValueSpecification[]) {
|
|
120
|
-
const collection = new V1_Collection();
|
|
121
|
-
collection.multiplicity = new V1_Multiplicity(values.length, values.length);
|
|
122
|
-
collection.values = values;
|
|
123
|
-
return collection;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function _primitiveValue(type: string, value: unknown) {
|
|
127
|
-
const _val = <T extends V1_PrimitiveValueSpecification & { value: unknown }>(
|
|
128
|
-
primitiveValue: T,
|
|
129
|
-
val: unknown,
|
|
130
|
-
): T => {
|
|
131
|
-
primitiveValue.value = val;
|
|
132
|
-
return primitiveValue;
|
|
133
|
-
};
|
|
134
|
-
switch (type) {
|
|
135
|
-
case PRIMITIVE_TYPE.STRING:
|
|
136
|
-
return _val(new V1_CString(), guaranteeIsString(value));
|
|
137
|
-
case PRIMITIVE_TYPE.BOOLEAN:
|
|
138
|
-
return _val(new V1_CBoolean(), guaranteeIsBoolean(value));
|
|
139
|
-
case PRIMITIVE_TYPE.NUMBER:
|
|
140
|
-
case PRIMITIVE_TYPE.DECIMAL:
|
|
141
|
-
return _val(new V1_CDecimal(), guaranteeIsNumber(value));
|
|
142
|
-
case PRIMITIVE_TYPE.INTEGER:
|
|
143
|
-
return _val(new V1_CInteger(), guaranteeIsNumber(value));
|
|
144
|
-
case PRIMITIVE_TYPE.FLOAT:
|
|
145
|
-
return _val(new V1_CFloat(), guaranteeIsNumber(value));
|
|
146
|
-
case PRIMITIVE_TYPE.DATE:
|
|
147
|
-
case PRIMITIVE_TYPE.DATETIME:
|
|
148
|
-
return _val(new V1_CDateTime(), guaranteeIsString(value));
|
|
149
|
-
case PRIMITIVE_TYPE.STRICTDATE:
|
|
150
|
-
return _val(new V1_CStrictDate(), guaranteeIsString(value));
|
|
151
|
-
case PRIMITIVE_TYPE.STRICTTIME:
|
|
152
|
-
return _val(new V1_CStrictTime(), guaranteeIsString(value));
|
|
153
|
-
default:
|
|
154
|
-
throw new UnsupportedOperationError(`Unsupported value type '${type}'`);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function _elementPtr(fullPath: string) {
|
|
159
|
-
const ptr = new V1_PackageableElementPtr();
|
|
160
|
-
ptr.fullPath = fullPath;
|
|
161
|
-
return ptr;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
function _classInstance(type: string, value: unknown) {
|
|
165
|
-
const instance = new V1_ClassInstance();
|
|
166
|
-
instance.type = type;
|
|
167
|
-
instance.value = value;
|
|
168
|
-
return instance;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export function _colSpec(
|
|
172
|
-
name: string,
|
|
173
|
-
function1?: V1_Lambda | undefined,
|
|
174
|
-
function2?: V1_Lambda | undefined,
|
|
175
|
-
) {
|
|
176
|
-
const colSpec = new V1_ColSpec();
|
|
177
|
-
colSpec.name = name;
|
|
178
|
-
colSpec.function1 = function1;
|
|
179
|
-
colSpec.function2 = function2;
|
|
180
|
-
return colSpec;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
function _parameterValue(value: DataCubeOperationValue) {
|
|
184
|
-
switch (value.type) {
|
|
185
|
-
case PRIMITIVE_TYPE.STRING:
|
|
186
|
-
case PRIMITIVE_TYPE.BOOLEAN:
|
|
187
|
-
case PRIMITIVE_TYPE.NUMBER:
|
|
188
|
-
case PRIMITIVE_TYPE.DECIMAL:
|
|
189
|
-
case PRIMITIVE_TYPE.INTEGER:
|
|
190
|
-
case PRIMITIVE_TYPE.FLOAT:
|
|
191
|
-
case PRIMITIVE_TYPE.DATE:
|
|
192
|
-
case PRIMITIVE_TYPE.DATETIME:
|
|
193
|
-
case PRIMITIVE_TYPE.STRICTDATE:
|
|
194
|
-
case PRIMITIVE_TYPE.STRICTTIME: {
|
|
195
|
-
if (Array.isArray(value.value)) {
|
|
196
|
-
return _collection(
|
|
197
|
-
value.value.map((val) => _primitiveValue(value.type, val)),
|
|
198
|
-
);
|
|
199
|
-
}
|
|
200
|
-
return _primitiveValue(value.type, value.value);
|
|
201
|
-
}
|
|
202
|
-
default:
|
|
203
|
-
throw new UnsupportedOperationError(
|
|
204
|
-
`Unsupported value type '${value.type}'`,
|
|
205
|
-
);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
function _aggFunctionName(operation: DataCubeAggregateOperation) {
|
|
210
|
-
switch (operation) {
|
|
211
|
-
case DataCubeAggregateOperation.SUM:
|
|
212
|
-
return DataCubeFunction.SUM;
|
|
213
|
-
case DataCubeAggregateOperation.AVERAGE:
|
|
214
|
-
return DataCubeFunction.AVERAGE;
|
|
215
|
-
case DataCubeAggregateOperation.COUNT:
|
|
216
|
-
return DataCubeFunction.COUNT;
|
|
217
|
-
case DataCubeAggregateOperation.MIN:
|
|
218
|
-
return DataCubeFunction.MIN;
|
|
219
|
-
case DataCubeAggregateOperation.MAX:
|
|
220
|
-
return DataCubeFunction.MAX;
|
|
221
|
-
case DataCubeAggregateOperation.FIRST:
|
|
222
|
-
return DataCubeFunction.FIRST;
|
|
223
|
-
case DataCubeAggregateOperation.LAST:
|
|
224
|
-
return DataCubeFunction.LAST;
|
|
225
|
-
case DataCubeAggregateOperation.VAR_POP:
|
|
226
|
-
return DataCubeFunction.VAR_POP;
|
|
227
|
-
case DataCubeAggregateOperation.VAR_SAMP:
|
|
228
|
-
return DataCubeFunction.VAR_SAMP;
|
|
229
|
-
case DataCubeAggregateOperation.STDDEV_POP:
|
|
230
|
-
return DataCubeFunction.STDDEV_POP;
|
|
231
|
-
case DataCubeAggregateOperation.STDDEV_SAMP:
|
|
232
|
-
return DataCubeFunction.STDDEV_SAMP;
|
|
233
|
-
default:
|
|
234
|
-
throw new UnsupportedOperationError(
|
|
235
|
-
`Unsupported aggregate operation '${operation}'`,
|
|
236
|
-
);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
function _agg(
|
|
241
|
-
agg: DataCubeQuerySnapshotAggregateColumn,
|
|
242
|
-
variable?: V1_Variable | undefined,
|
|
243
|
-
) {
|
|
244
|
-
const parameters = agg.parameters.map((param) => _parameterValue(param));
|
|
245
|
-
return _function(_aggFunctionName(agg.operation), [
|
|
246
|
-
variable ?? _var(),
|
|
247
|
-
...parameters,
|
|
248
|
-
]);
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
// --------------------------------- BUILDING BLOCKS ---------------------------------
|
|
252
|
-
|
|
253
|
-
export function _col(
|
|
254
|
-
name: string,
|
|
255
|
-
function1?: V1_Lambda | undefined,
|
|
256
|
-
function2?: V1_Lambda | undefined,
|
|
257
|
-
) {
|
|
258
|
-
return _classInstance(
|
|
259
|
-
V1_ClassInstanceType.COL_SPEC,
|
|
260
|
-
_colSpec(name, function1, function2),
|
|
261
|
-
);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
export function _cols(colSpecs: V1_ColSpec[]) {
|
|
265
|
-
const colSpecArray = new V1_ColSpecArray();
|
|
266
|
-
colSpecArray.colSpecs = colSpecs;
|
|
267
|
-
return _classInstance(V1_ClassInstanceType.COL_SPEC_ARRAY, colSpecArray);
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
export function _groupByAggCols(
|
|
271
|
-
columns: DataCubeQuerySnapshotAggregateColumn[],
|
|
272
|
-
) {
|
|
273
|
-
const variable = _var();
|
|
274
|
-
return columns.length
|
|
275
|
-
? columns.map((agg) =>
|
|
276
|
-
_colSpec(
|
|
277
|
-
agg.name,
|
|
278
|
-
_lambda([variable], [_property(agg.name, variable)]),
|
|
279
|
-
_lambda([variable], [_agg(agg)]),
|
|
280
|
-
),
|
|
281
|
-
)
|
|
282
|
-
: // if no aggregates are specified, add a dummy count() aggregate to satisfy compiler
|
|
283
|
-
[
|
|
284
|
-
_colSpec(
|
|
285
|
-
INTERNAL__FILLER_COUNT_AGG_COLUMN_NAME,
|
|
286
|
-
_lambda([variable], [variable]),
|
|
287
|
-
_lambda([variable], [_function(DataCubeFunction.COUNT, [variable])]),
|
|
288
|
-
),
|
|
289
|
-
];
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
export function _filter(
|
|
293
|
-
filter: DataCubeQuerySnapshotFilter | DataCubeQuerySnapshotFilterCondition,
|
|
294
|
-
) {
|
|
295
|
-
if ('groupOperation' in filter) {
|
|
296
|
-
const group = filter;
|
|
297
|
-
const groupOperation =
|
|
298
|
-
group.groupOperation === DataCubeQueryFilterGroupOperation.AND
|
|
299
|
-
? DataCubeFunction.AND
|
|
300
|
-
: DataCubeFunction.OR;
|
|
301
|
-
let conditions: V1_ValueSpecification[] = [];
|
|
302
|
-
group.conditions.forEach((condition) => {
|
|
303
|
-
conditions.push(_filter(condition));
|
|
304
|
-
// NOTE: a group operation (and/or) function can only have 2 parameters, so we
|
|
305
|
-
// have to breakdown the group operation into nested group functions
|
|
306
|
-
if (conditions.length === 2) {
|
|
307
|
-
conditions = [_function(groupOperation, conditions)];
|
|
308
|
-
}
|
|
309
|
-
});
|
|
310
|
-
return guaranteeNonNullable(conditions[0]);
|
|
311
|
-
} else {
|
|
312
|
-
const condition = filter;
|
|
313
|
-
const property = _property(condition.name);
|
|
314
|
-
const _cond = (fn: string, ...p: V1_ValueSpecification[]) =>
|
|
315
|
-
_function(_name(fn), [property, ...p]);
|
|
316
|
-
const _val = () => _parameterValue(guaranteeNonNullable(condition.value));
|
|
317
|
-
const _not = (fn: V1_AppliedFunction) =>
|
|
318
|
-
_function(_name(DataCubeFunction.NOT), [fn]);
|
|
319
|
-
switch (condition.operation) {
|
|
320
|
-
case DataCubeQueryFilterOperation.EQUAL:
|
|
321
|
-
return _cond(DataCubeFunction.EQUAL, _val());
|
|
322
|
-
case DataCubeQueryFilterOperation.GREATER_THAN:
|
|
323
|
-
return _cond(DataCubeFunction.GREATER_THAN, _val());
|
|
324
|
-
case DataCubeQueryFilterOperation.GREATER_THAN_OR_EQUAL:
|
|
325
|
-
return _cond(DataCubeFunction.GREATER_THAN_EQUAL, _val());
|
|
326
|
-
case DataCubeQueryFilterOperation.LESS_THAN:
|
|
327
|
-
return _cond(DataCubeFunction.LESS_THAN, _val());
|
|
328
|
-
case DataCubeQueryFilterOperation.LESS_THAN_OR_EQUAL:
|
|
329
|
-
return _cond(DataCubeFunction.LESS_THAN_EQUAL, _val());
|
|
330
|
-
case DataCubeQueryFilterOperation.CONTAINS:
|
|
331
|
-
return _cond(DataCubeFunction.CONTAINS, _val());
|
|
332
|
-
case DataCubeQueryFilterOperation.ENDS_WITH:
|
|
333
|
-
return _cond(DataCubeFunction.ENDS_WITH, _val());
|
|
334
|
-
case DataCubeQueryFilterOperation.STARTS_WITH:
|
|
335
|
-
return _cond(DataCubeFunction.STARTS_WITH, _val());
|
|
336
|
-
case DataCubeQueryFilterOperation.BLANK:
|
|
337
|
-
return _cond(DataCubeFunction.IS_EMPTY);
|
|
338
|
-
case DataCubeQueryFilterOperation.NOT_EQUAL:
|
|
339
|
-
return _not(_cond(DataCubeFunction.EQUAL, _val()));
|
|
340
|
-
case DataCubeQueryFilterOperation.NOT_BLANK:
|
|
341
|
-
return _not(_cond(DataCubeFunction.IS_EMPTY));
|
|
342
|
-
case DataCubeQueryFilterOperation.NOT_CONTAINS:
|
|
343
|
-
return _not(_cond(DataCubeFunction.CONTAINS, _val()));
|
|
344
|
-
default:
|
|
345
|
-
throw new UnsupportedOperationError(
|
|
346
|
-
`Unsupported filter operation '${condition.operation}'`,
|
|
347
|
-
);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
export function _groupByExtend(
|
|
353
|
-
columns: DataCubeQuerySnapshotColumn[],
|
|
354
|
-
columnsUsedInGroupBy: DataCubeQuerySnapshotColumn[],
|
|
355
|
-
) {
|
|
356
|
-
const missingCols = columns.filter(
|
|
357
|
-
(col) => !_findCol(columnsUsedInGroupBy, col.name),
|
|
358
|
-
);
|
|
359
|
-
return missingCols.length
|
|
360
|
-
? _function(_name(DataCubeFunction.EXTEND), [
|
|
361
|
-
_cols(
|
|
362
|
-
missingCols.map((col) =>
|
|
363
|
-
_colSpec(
|
|
364
|
-
col.name,
|
|
365
|
-
_lambda([_var()], [_primitiveValue(PRIMITIVE_TYPE.STRING, '')]),
|
|
366
|
-
),
|
|
367
|
-
),
|
|
368
|
-
),
|
|
369
|
-
])
|
|
370
|
-
: undefined;
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
// --------------------------------- MAIN ---------------------------------
|
|
38
|
+
import type { DataCubeQueryFilterOperation } from './filter/DataCubeQueryFilterOperation.js';
|
|
39
|
+
import {
|
|
40
|
+
_col,
|
|
41
|
+
_collection,
|
|
42
|
+
_cols,
|
|
43
|
+
_colSpec,
|
|
44
|
+
_deserializeToLambda,
|
|
45
|
+
_elementPtr,
|
|
46
|
+
_filter,
|
|
47
|
+
_function,
|
|
48
|
+
_groupByAggCols,
|
|
49
|
+
_groupByExtend,
|
|
50
|
+
_lambda,
|
|
51
|
+
_primitiveValue,
|
|
52
|
+
_var,
|
|
53
|
+
} from './DataCubeQueryBuilderUtils.js';
|
|
374
54
|
|
|
375
55
|
export function buildExecutableQuery(
|
|
376
56
|
snapshot: DataCubeQuerySnapshot,
|
|
57
|
+
filterOperations: DataCubeQueryFilterOperation[],
|
|
377
58
|
options?: {
|
|
378
59
|
postProcessor?: (
|
|
379
60
|
snapshot: DataCubeQuerySnapshot,
|
|
380
61
|
sequence: V1_AppliedFunction[],
|
|
381
62
|
funcMap: DataCubeQueryFunctionMap,
|
|
382
63
|
configuration: DataCubeConfiguration,
|
|
64
|
+
filterOperations: DataCubeQueryFilterOperation[],
|
|
383
65
|
) => void;
|
|
384
66
|
pagination?:
|
|
385
67
|
| {
|
|
@@ -404,17 +86,6 @@ export function buildExecutableQuery(
|
|
|
404
86
|
funcMap[funcMapKey] = func;
|
|
405
87
|
};
|
|
406
88
|
|
|
407
|
-
// --------------------------------- FILTER ---------------------------------
|
|
408
|
-
|
|
409
|
-
if (data.filter) {
|
|
410
|
-
_process(
|
|
411
|
-
'filter',
|
|
412
|
-
_function(_name(DataCubeFunction.FILTER), [
|
|
413
|
-
_lambda([_var()], [_filter(data.filter)]),
|
|
414
|
-
]),
|
|
415
|
-
);
|
|
416
|
-
}
|
|
417
|
-
|
|
418
89
|
// --------------------------------- LEAF EXTEND ---------------------------------
|
|
419
90
|
|
|
420
91
|
if (data.leafExtendedColumns.length) {
|
|
@@ -430,6 +101,17 @@ export function buildExecutableQuery(
|
|
|
430
101
|
);
|
|
431
102
|
}
|
|
432
103
|
|
|
104
|
+
// --------------------------------- FILTER ---------------------------------
|
|
105
|
+
|
|
106
|
+
if (data.filter) {
|
|
107
|
+
_process(
|
|
108
|
+
'filter',
|
|
109
|
+
_function(_name(DataCubeFunction.FILTER), [
|
|
110
|
+
_lambda([_var()], [_filter(data.filter, filterOperations)]),
|
|
111
|
+
]),
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
433
115
|
// --------------------------------- SELECT ---------------------------------
|
|
434
116
|
|
|
435
117
|
if (data.selectColumns.length) {
|
|
@@ -491,7 +173,7 @@ export function buildExecutableQuery(
|
|
|
491
173
|
data.sortColumns.map((col) =>
|
|
492
174
|
_function(
|
|
493
175
|
_name(
|
|
494
|
-
col.operation ===
|
|
176
|
+
col.operation === DataCubeQuerySortOperator.ASCENDING
|
|
495
177
|
? DataCubeFunction.ASC
|
|
496
178
|
: DataCubeFunction.DESC,
|
|
497
179
|
),
|
|
@@ -533,7 +215,13 @@ export function buildExecutableQuery(
|
|
|
533
215
|
|
|
534
216
|
// --------------------------------- FINALIZE ---------------------------------
|
|
535
217
|
|
|
536
|
-
options?.postProcessor?.(
|
|
218
|
+
options?.postProcessor?.(
|
|
219
|
+
snapshot,
|
|
220
|
+
sequence,
|
|
221
|
+
funcMap,
|
|
222
|
+
configuration,
|
|
223
|
+
filterOperations,
|
|
224
|
+
);
|
|
537
225
|
|
|
538
226
|
if (!sequence.length) {
|
|
539
227
|
return sourceQuery;
|