@finos/legend-application-repl 0.0.48 → 0.0.50
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 +221 -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 +153 -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 +22 -44
- 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.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js +13 -6
- 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 +354 -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 +229 -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 +22 -47
- 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 +20 -10
- 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
|
@@ -0,0 +1,229 @@
|
|
|
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
|
+
import {
|
|
17
|
+
deepClone,
|
|
18
|
+
deleteEntry,
|
|
19
|
+
IllegalStateError,
|
|
20
|
+
uuid,
|
|
21
|
+
} from '@finos/legend-shared';
|
|
22
|
+
import { makeObservable, observable, action, isObservable } from 'mobx';
|
|
23
|
+
import {
|
|
24
|
+
type DataCubeOperationValue,
|
|
25
|
+
DataCubeQueryFilterGroupOperator,
|
|
26
|
+
} from '../DataCubeQueryEngine.js';
|
|
27
|
+
import type {
|
|
28
|
+
DataCubeQuerySnapshotColumn,
|
|
29
|
+
DataCubeQuerySnapshotFilter,
|
|
30
|
+
DataCubeQuerySnapshotFilterCondition,
|
|
31
|
+
} from '../DataCubeQuerySnapshot.js';
|
|
32
|
+
import type { DataCubeQueryFilterOperation } from './DataCubeQueryFilterOperation.js';
|
|
33
|
+
|
|
34
|
+
export abstract class DataCubeFilterEditorTreeNode {
|
|
35
|
+
uuid = uuid();
|
|
36
|
+
parent: DataCubeFilterEditorConditionGroupTreeNode | undefined;
|
|
37
|
+
not = false;
|
|
38
|
+
|
|
39
|
+
constructor(
|
|
40
|
+
parent: DataCubeFilterEditorConditionGroupTreeNode | undefined,
|
|
41
|
+
not: boolean | undefined,
|
|
42
|
+
) {
|
|
43
|
+
makeObservable(this, {
|
|
44
|
+
parent: observable,
|
|
45
|
+
setParent: action,
|
|
46
|
+
|
|
47
|
+
not: observable,
|
|
48
|
+
setNot: action,
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
this.parent = parent;
|
|
52
|
+
this.not = Boolean(not);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
setNot(not: boolean) {
|
|
56
|
+
this.not = not;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
setParent(parent: DataCubeFilterEditorConditionGroupTreeNode | undefined) {
|
|
60
|
+
this.parent = parent;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export class DataCubeFilterEditorConditionTreeNode extends DataCubeFilterEditorTreeNode {
|
|
65
|
+
column: DataCubeQuerySnapshotColumn;
|
|
66
|
+
operation: DataCubeQueryFilterOperation;
|
|
67
|
+
value: DataCubeOperationValue | undefined;
|
|
68
|
+
|
|
69
|
+
constructor(
|
|
70
|
+
parent: DataCubeFilterEditorConditionGroupTreeNode | undefined,
|
|
71
|
+
column: DataCubeQuerySnapshotColumn,
|
|
72
|
+
operation: DataCubeQueryFilterOperation,
|
|
73
|
+
value: DataCubeOperationValue | undefined,
|
|
74
|
+
not: boolean | undefined,
|
|
75
|
+
) {
|
|
76
|
+
super(parent, not);
|
|
77
|
+
|
|
78
|
+
makeObservable(this, {
|
|
79
|
+
column: observable,
|
|
80
|
+
setColumn: action,
|
|
81
|
+
|
|
82
|
+
operation: observable,
|
|
83
|
+
setOperation: action,
|
|
84
|
+
|
|
85
|
+
value: observable.ref,
|
|
86
|
+
setValue: action,
|
|
87
|
+
updateValue: action,
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
this.column = column;
|
|
91
|
+
this.operation = operation;
|
|
92
|
+
this.setValue(value);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
setColumn(col: DataCubeQuerySnapshotColumn) {
|
|
96
|
+
this.column = col;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
setOperation(operation: DataCubeQueryFilterOperation) {
|
|
100
|
+
this.operation = operation;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
setValue(value: DataCubeOperationValue | undefined) {
|
|
104
|
+
this.value = value
|
|
105
|
+
? isObservable(value)
|
|
106
|
+
? makeObservable(value, { value: observable })
|
|
107
|
+
: value
|
|
108
|
+
: undefined;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
updateValue(value: unknown) {
|
|
112
|
+
if (this.value) {
|
|
113
|
+
this.value.value = value;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export class DataCubeFilterEditorConditionGroupTreeNode extends DataCubeFilterEditorTreeNode {
|
|
119
|
+
children: DataCubeFilterEditorTreeNode[] = [];
|
|
120
|
+
operation = DataCubeQueryFilterGroupOperator.AND;
|
|
121
|
+
|
|
122
|
+
constructor(
|
|
123
|
+
parent: DataCubeFilterEditorConditionGroupTreeNode | undefined,
|
|
124
|
+
operation: DataCubeQueryFilterGroupOperator,
|
|
125
|
+
not: boolean | undefined,
|
|
126
|
+
) {
|
|
127
|
+
super(parent, not);
|
|
128
|
+
|
|
129
|
+
makeObservable(this, {
|
|
130
|
+
children: observable,
|
|
131
|
+
removeChild: action,
|
|
132
|
+
addChild: action,
|
|
133
|
+
|
|
134
|
+
operation: observable,
|
|
135
|
+
setOperation: action,
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
this.operation = operation;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
setOperation(operation: DataCubeQueryFilterGroupOperator) {
|
|
142
|
+
this.operation = operation;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
removeChild(node: DataCubeFilterEditorTreeNode): void {
|
|
146
|
+
const found = deleteEntry(this.children, node);
|
|
147
|
+
if (found) {
|
|
148
|
+
node.setParent(undefined);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
addChild(node: DataCubeFilterEditorTreeNode, idx?: number | undefined): void {
|
|
153
|
+
if (!this.children.includes(node)) {
|
|
154
|
+
if (idx !== undefined) {
|
|
155
|
+
idx = Math.max(0, Math.min(idx, this.children.length));
|
|
156
|
+
this.children.splice(idx, 0, node);
|
|
157
|
+
} else {
|
|
158
|
+
this.children.push(node);
|
|
159
|
+
}
|
|
160
|
+
node.setParent(this);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
export function buildFilterQuerySnapshot(
|
|
165
|
+
node: DataCubeFilterEditorConditionGroupTreeNode,
|
|
166
|
+
): DataCubeQuerySnapshotFilter {
|
|
167
|
+
return {
|
|
168
|
+
groupOperator: node.operation,
|
|
169
|
+
not: node.not,
|
|
170
|
+
conditions: node.children.map((childNode) => {
|
|
171
|
+
if (childNode instanceof DataCubeFilterEditorConditionTreeNode) {
|
|
172
|
+
return {
|
|
173
|
+
name: childNode.column.name,
|
|
174
|
+
type: childNode.column.type,
|
|
175
|
+
operation: childNode.operation.operator,
|
|
176
|
+
value: deepClone(childNode.value),
|
|
177
|
+
not: childNode.not,
|
|
178
|
+
} satisfies DataCubeQuerySnapshotFilterCondition;
|
|
179
|
+
} else if (
|
|
180
|
+
childNode instanceof DataCubeFilterEditorConditionGroupTreeNode
|
|
181
|
+
) {
|
|
182
|
+
return buildFilterQuerySnapshot(childNode);
|
|
183
|
+
}
|
|
184
|
+
throw new IllegalStateError('Unknown filter node');
|
|
185
|
+
}),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
export function buildFilterEditorTree(
|
|
189
|
+
_node: DataCubeQuerySnapshotFilter,
|
|
190
|
+
parent: DataCubeFilterEditorConditionGroupTreeNode | undefined,
|
|
191
|
+
nodes: Map<string, DataCubeFilterEditorTreeNode>,
|
|
192
|
+
operationGetter: (operation: string) => DataCubeQueryFilterOperation,
|
|
193
|
+
): DataCubeFilterEditorConditionGroupTreeNode {
|
|
194
|
+
const node = new DataCubeFilterEditorConditionGroupTreeNode(
|
|
195
|
+
parent,
|
|
196
|
+
_node.groupOperator === DataCubeQueryFilterGroupOperator.AND
|
|
197
|
+
? DataCubeQueryFilterGroupOperator.AND
|
|
198
|
+
: DataCubeQueryFilterGroupOperator.OR,
|
|
199
|
+
_node.not,
|
|
200
|
+
);
|
|
201
|
+
_node.conditions.forEach((_childNode) => {
|
|
202
|
+
let childNode: DataCubeFilterEditorTreeNode;
|
|
203
|
+
if ('groupOperator' in _childNode) {
|
|
204
|
+
childNode = buildFilterEditorTree(
|
|
205
|
+
_childNode,
|
|
206
|
+
node,
|
|
207
|
+
nodes,
|
|
208
|
+
operationGetter,
|
|
209
|
+
);
|
|
210
|
+
} else {
|
|
211
|
+
childNode = new DataCubeFilterEditorConditionTreeNode(
|
|
212
|
+
node,
|
|
213
|
+
{ name: _childNode.name, type: _childNode.type },
|
|
214
|
+
operationGetter(_childNode.operation),
|
|
215
|
+
_childNode.value,
|
|
216
|
+
_childNode.not,
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
node.addChild(childNode);
|
|
220
|
+
nodes.set(childNode.uuid, childNode);
|
|
221
|
+
});
|
|
222
|
+
nodes.set(node.uuid, node);
|
|
223
|
+
return node;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export type DataCubeFilterEditorTree = {
|
|
227
|
+
root?: DataCubeFilterEditorConditionGroupTreeNode | undefined;
|
|
228
|
+
nodes: Map<string, DataCubeFilterEditorTreeNode>;
|
|
229
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
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 { formatDate, UnsupportedOperationError } from '@finos/legend-shared';
|
|
18
|
+
import type { DataCubeOperationValue } from '../DataCubeQueryEngine.js';
|
|
19
|
+
import type {
|
|
20
|
+
DataCubeQuerySnapshotColumn,
|
|
21
|
+
DataCubeQuerySnapshotFilterCondition,
|
|
22
|
+
} from '../DataCubeQuerySnapshot.js';
|
|
23
|
+
import {
|
|
24
|
+
DATE_FORMAT,
|
|
25
|
+
DATE_TIME_FORMAT,
|
|
26
|
+
PRIMITIVE_TYPE,
|
|
27
|
+
type V1_AppliedFunction,
|
|
28
|
+
} from '@finos/legend-graph';
|
|
29
|
+
|
|
30
|
+
// --------------------------------- UTILITIES ---------------------------------
|
|
31
|
+
|
|
32
|
+
export function generateDefaultFilterConditionPrimitiveTypeValue(
|
|
33
|
+
type: string,
|
|
34
|
+
): unknown {
|
|
35
|
+
switch (type) {
|
|
36
|
+
case PRIMITIVE_TYPE.STRING:
|
|
37
|
+
return '';
|
|
38
|
+
case PRIMITIVE_TYPE.BOOLEAN:
|
|
39
|
+
return false;
|
|
40
|
+
case PRIMITIVE_TYPE.BYTE:
|
|
41
|
+
return btoa('');
|
|
42
|
+
case PRIMITIVE_TYPE.NUMBER:
|
|
43
|
+
case PRIMITIVE_TYPE.DECIMAL:
|
|
44
|
+
case PRIMITIVE_TYPE.FLOAT:
|
|
45
|
+
case PRIMITIVE_TYPE.INTEGER:
|
|
46
|
+
case PRIMITIVE_TYPE.BINARY:
|
|
47
|
+
return 0;
|
|
48
|
+
case PRIMITIVE_TYPE.DATE:
|
|
49
|
+
case PRIMITIVE_TYPE.STRICTDATE:
|
|
50
|
+
return formatDate(new Date(Date.now()), DATE_FORMAT);
|
|
51
|
+
case PRIMITIVE_TYPE.DATETIME:
|
|
52
|
+
return formatDate(new Date(Date.now()), DATE_TIME_FORMAT);
|
|
53
|
+
default:
|
|
54
|
+
throw new UnsupportedOperationError(
|
|
55
|
+
`Can't generate value for type '${type}'`,
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function ofType(
|
|
61
|
+
type: string,
|
|
62
|
+
targetTypes: ('string' | 'number' | 'boolean' | 'date')[],
|
|
63
|
+
) {
|
|
64
|
+
switch (type) {
|
|
65
|
+
case PRIMITIVE_TYPE.STRING:
|
|
66
|
+
return targetTypes.includes('string');
|
|
67
|
+
case PRIMITIVE_TYPE.BOOLEAN:
|
|
68
|
+
return targetTypes.includes('boolean');
|
|
69
|
+
case PRIMITIVE_TYPE.NUMBER:
|
|
70
|
+
case PRIMITIVE_TYPE.DECIMAL:
|
|
71
|
+
case PRIMITIVE_TYPE.FLOAT:
|
|
72
|
+
case PRIMITIVE_TYPE.INTEGER:
|
|
73
|
+
return targetTypes.includes('number');
|
|
74
|
+
case PRIMITIVE_TYPE.DATE:
|
|
75
|
+
case PRIMITIVE_TYPE.STRICTDATE:
|
|
76
|
+
case PRIMITIVE_TYPE.DATETIME:
|
|
77
|
+
return targetTypes.includes('date');
|
|
78
|
+
default:
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// --------------------------------- CONTRACT ---------------------------------
|
|
84
|
+
|
|
85
|
+
export abstract class DataCubeQueryFilterOperation {
|
|
86
|
+
abstract get label(): React.ReactNode;
|
|
87
|
+
abstract get textLabel(): string;
|
|
88
|
+
abstract get description(): string;
|
|
89
|
+
abstract get operator(): string;
|
|
90
|
+
|
|
91
|
+
abstract isCompatibleWithColumn(column: DataCubeQuerySnapshotColumn): boolean;
|
|
92
|
+
abstract isCompatibleWithValue(value: DataCubeOperationValue): boolean;
|
|
93
|
+
|
|
94
|
+
abstract generateDefaultValue(
|
|
95
|
+
column: DataCubeQuerySnapshotColumn,
|
|
96
|
+
): DataCubeOperationValue | undefined;
|
|
97
|
+
|
|
98
|
+
abstract buildConditionSnapshot(
|
|
99
|
+
expression: V1_AppliedFunction,
|
|
100
|
+
): DataCubeQuerySnapshotFilterCondition | undefined;
|
|
101
|
+
|
|
102
|
+
abstract buildConditionExpression(
|
|
103
|
+
condition: DataCubeQuerySnapshotFilterCondition,
|
|
104
|
+
): V1_AppliedFunction | undefined;
|
|
105
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
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
|
+
} from '../DataCubeQueryBuilderUtils.js';
|
|
38
|
+
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
39
|
+
|
|
40
|
+
export class DataCubeQueryFilterOperation__Contain extends DataCubeQueryFilterOperation {
|
|
41
|
+
override get label() {
|
|
42
|
+
return 'contains';
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
override get textLabel() {
|
|
46
|
+
return 'contains';
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
override get description(): string {
|
|
50
|
+
return 'contains';
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
override get operator(): string {
|
|
54
|
+
return DataCubeQueryFilterOperator.CONTAIN;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
isCompatibleWithColumn(column: DataCubeQuerySnapshotColumn) {
|
|
58
|
+
return ofType(column.type, ['string']);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
62
|
+
return (
|
|
63
|
+
ofType(value.type, ['string']) &&
|
|
64
|
+
value.value !== undefined &&
|
|
65
|
+
!Array.isArray(value.value)
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
generateDefaultValue(column: DataCubeQuerySnapshotColumn) {
|
|
70
|
+
return {
|
|
71
|
+
type: column.type,
|
|
72
|
+
value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
buildConditionSnapshot(expression: V1_AppliedFunction) {
|
|
77
|
+
// TODO: @akphi - implement this for roundtrip testing
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
|
|
82
|
+
return _function(_functionName(DataCubeFunction.CONTAINS), [
|
|
83
|
+
_property(condition.name),
|
|
84
|
+
_value(guaranteeNonNullable(condition.value)),
|
|
85
|
+
]);
|
|
86
|
+
}
|
|
87
|
+
}
|
package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.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__ContainCaseInsensitive extends DataCubeQueryFilterOperation {
|
|
42
|
+
override get label() {
|
|
43
|
+
return 'contains (case-insensitive)';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
override get textLabel() {
|
|
47
|
+
return 'contains (case-insensitive)';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
override get description(): string {
|
|
51
|
+
return 'contains (case-insensitive)';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
override get operator(): string {
|
|
55
|
+
return DataCubeQueryFilterOperator.CONTAIN_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.CONTAINS), [
|
|
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
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
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
|
+
} from '../DataCubeQueryBuilderUtils.js';
|
|
38
|
+
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
39
|
+
|
|
40
|
+
export class DataCubeQueryFilterOperation__EndWith extends DataCubeQueryFilterOperation {
|
|
41
|
+
override get label() {
|
|
42
|
+
return 'ends with';
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
override get textLabel() {
|
|
46
|
+
return '!endsWith';
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
override get description(): string {
|
|
50
|
+
return 'ends with';
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
override get operator(): string {
|
|
54
|
+
return DataCubeQueryFilterOperator.END_WITH;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
isCompatibleWithColumn(column: DataCubeQuerySnapshotColumn) {
|
|
58
|
+
return ofType(column.type, ['string']);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
62
|
+
return (
|
|
63
|
+
ofType(value.type, ['string']) &&
|
|
64
|
+
value.value !== undefined &&
|
|
65
|
+
!Array.isArray(value.value)
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
generateDefaultValue(column: DataCubeQuerySnapshotColumn) {
|
|
70
|
+
return {
|
|
71
|
+
type: column.type,
|
|
72
|
+
value: generateDefaultFilterConditionPrimitiveTypeValue(column.type),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
buildConditionSnapshot(expression: V1_AppliedFunction) {
|
|
77
|
+
// TODO: @akphi - implement this for roundtrip testing
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
|
|
82
|
+
return _function(_functionName(DataCubeFunction.ENDS_WITH), [
|
|
83
|
+
_property(condition.name),
|
|
84
|
+
_value(guaranteeNonNullable(condition.value)),
|
|
85
|
+
]);
|
|
86
|
+
}
|
|
87
|
+
}
|
package/src/stores/dataCube/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.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__EndWithCaseInsensitive extends DataCubeQueryFilterOperation {
|
|
42
|
+
override get label() {
|
|
43
|
+
return 'ends with (case-insensitive)';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
override get textLabel() {
|
|
47
|
+
return 'endsWith (case-insensitive)';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
override get description(): string {
|
|
51
|
+
return 'ends with (case-insensitive)';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
override get operator(): string {
|
|
55
|
+
return DataCubeQueryFilterOperator.END_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.ENDS_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
|
+
}
|