@finos/legend-cube-builder 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -20
- package/docs/adding-an-operation.md +112 -13
- package/docs/demo/DEMO-FAST-NOTES.md +67 -0
- package/docs/demo/README.md +102 -0
- package/docs/demo/specs/duckdb-sales-pivot.cube.json +110 -0
- package/docs/demo/specs/trades-desks-1-joined.cube.json +123 -0
- package/docs/demo/specs/trades-desks-2-grouped.cube.json +140 -0
- package/docs/demo/specs/trades-desks-3-ranked.cube.json +158 -0
- package/docs/demo/specs/trades-desks-4-extended.cube.json +208 -0
- package/docs/demo/specs/trades-desks-5-final.cube.json +248 -0
- package/docs/hosting.md +132 -7
- package/docs/testing.md +146 -9
- package/lib/__lib__/LegendCubeCommand.d.ts +4 -1
- package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeCommand.js +12 -0
- package/lib/__lib__/LegendCubeCommand.js.map +1 -1
- package/lib/__lib__/LegendCubeDataProductLabels.d.ts +45 -0
- package/lib/__lib__/LegendCubeDataProductLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeDataProductLabels.js +60 -0
- package/lib/__lib__/LegendCubeDataProductLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts +56 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.js +76 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeFunctionLabels.d.ts +29 -0
- package/lib/__lib__/LegendCubeFunctionLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeFunctionLabels.js +31 -0
- package/lib/__lib__/LegendCubeFunctionLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeHelpText.d.ts +5 -1
- package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeHelpText.js +25 -3
- package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
- package/lib/__lib__/LegendCubeIngestLabels.d.ts +25 -0
- package/lib/__lib__/LegendCubeIngestLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeIngestLabels.js +29 -0
- package/lib/__lib__/LegendCubeIngestLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeLabels.d.ts +171 -6
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +226 -13
- package/lib/__lib__/LegendCubeLabels.js.map +1 -1
- package/lib/__lib__/LegendCubeProjectLabels.d.ts +22 -0
- package/lib/__lib__/LegendCubeProjectLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeProjectLabels.js +23 -0
- package/lib/__lib__/LegendCubeProjectLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts +26 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.js +26 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeServiceLabels.d.ts +27 -0
- package/lib/__lib__/LegendCubeServiceLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeServiceLabels.js +32 -0
- package/lib/__lib__/LegendCubeServiceLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeTesting.d.ts +8 -0
- package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeTesting.js +8 -0
- package/lib/__lib__/LegendCubeTesting.js.map +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.js +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeConnectionTestSupport.d.ts +22 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.d.ts.map +1 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.js +30 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.js.map +1 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts +31 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts.map +1 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.js +63 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.js.map +1 -0
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts +13 -1
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.js +23 -2
- package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +44 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.js +100 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.d.ts +26 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.d.ts.map +1 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.js +56 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.js.map +1 -0
- package/lib/__test-utils__/CubeLambdaCorpus.d.ts +36 -0
- package/lib/__test-utils__/CubeLambdaCorpus.d.ts.map +1 -0
- package/lib/__test-utils__/CubeLambdaCorpus.js +83 -0
- package/lib/__test-utils__/CubeLambdaCorpus.js.map +1 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.d.ts +25 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubeOperationsTestUtils.js +56 -10
- package/lib/__test-utils__/CubeOperationsTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.d.ts +18 -0
- package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.js +46 -1
- package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts +14 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.js +25 -1
- package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
- package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts +33 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.js +67 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.js.map +1 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts +45 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.js +137 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts +7 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
- package/lib/__test-utils__/FakeCubeEngine.js +31 -1
- package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +41 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js +123 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts +30 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.js +64 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts +26 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.js +40 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.js.map +1 -0
- package/lib/components/CubeAddItems.d.ts +35 -0
- package/lib/components/CubeAddItems.d.ts.map +1 -0
- package/lib/components/CubeAddItems.js +85 -0
- package/lib/components/CubeAddItems.js.map +1 -0
- package/lib/components/CubeDialogTheme.d.ts +25 -0
- package/lib/components/CubeDialogTheme.d.ts.map +1 -0
- package/lib/components/CubeDialogTheme.js +25 -0
- package/lib/components/CubeDialogTheme.js.map +1 -0
- package/lib/components/CubeEditor.d.ts +17 -2
- package/lib/components/CubeEditor.d.ts.map +1 -1
- package/lib/components/CubeEditor.js +39 -17
- package/lib/components/CubeEditor.js.map +1 -1
- package/lib/components/CubeEntrySourceBanner.d.ts +23 -0
- package/lib/components/CubeEntrySourceBanner.d.ts.map +1 -0
- package/lib/components/CubeEntrySourceBanner.js +32 -0
- package/lib/components/CubeEntrySourceBanner.js.map +1 -0
- package/lib/components/CubeFileMenu.d.ts +28 -0
- package/lib/components/CubeFileMenu.d.ts.map +1 -0
- package/lib/components/CubeFileMenu.js +77 -0
- package/lib/components/CubeFileMenu.js.map +1 -0
- package/lib/components/CubeLambdaImportBanner.d.ts +26 -0
- package/lib/components/CubeLambdaImportBanner.d.ts.map +1 -0
- package/lib/components/CubeLambdaImportBanner.js +47 -0
- package/lib/components/CubeLambdaImportBanner.js.map +1 -0
- package/lib/components/CubeNodeIcon.d.ts.map +1 -1
- package/lib/components/CubeNodeIcon.js +12 -1
- package/lib/components/CubeNodeIcon.js.map +1 -1
- package/lib/components/CubeSchemaColumnsTable.d.ts +21 -0
- package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -0
- package/lib/components/CubeSchemaColumnsTable.js +6 -0
- package/lib/components/CubeSchemaColumnsTable.js.map +1 -0
- package/lib/components/canvas/CubeCanvas.d.ts +4 -3
- package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvas.js +68 -16
- package/lib/components/canvas/CubeCanvas.js.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts +8 -4
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.js +20 -9
- package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
- package/lib/components/canvas/CubeCanvasDnd.d.ts +7 -5
- package/lib/components/canvas/CubeCanvasDnd.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasDnd.js +14 -9
- package/lib/components/canvas/CubeCanvasDnd.js.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.d.ts +18 -1
- package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.js +63 -5
- package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
- package/lib/components/canvas/CubeCanvasLayout.js +1 -1
- package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.js +35 -21
- package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
- package/lib/components/canvas/CubeCanvasNodeFocus.d.ts +22 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.d.ts.map +1 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.js +31 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.js.map +1 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.d.ts +44 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.d.ts.map +1 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.js +51 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.js.map +1 -0
- package/lib/components/dev-settings/CubeDevSettings.d.ts +35 -0
- package/lib/components/dev-settings/CubeDevSettings.d.ts.map +1 -0
- package/lib/components/dev-settings/CubeDevSettings.js +50 -0
- package/lib/components/dev-settings/CubeDevSettings.js.map +1 -0
- package/lib/components/editors/CubeAggregationRowEditor.d.ts +48 -0
- package/lib/components/editors/CubeAggregationRowEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeAggregationRowEditor.js +72 -0
- package/lib/components/editors/CubeAggregationRowEditor.js.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts +42 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.js +41 -0
- package/lib/components/editors/CubeColumnChecklist.js.map +1 -0
- package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
- package/lib/components/editors/CubeColumnPicker.js +3 -3
- package/lib/components/editors/CubeColumnPicker.js.map +1 -1
- package/lib/components/editors/CubeConcatEditor.d.ts +33 -0
- package/lib/components/editors/CubeConcatEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeConcatEditor.js +147 -0
- package/lib/components/editors/CubeConcatEditor.js.map +1 -0
- package/lib/components/editors/CubeDataProductSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeDataProductSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDataProductSourceEditor.js +53 -0
- package/lib/components/editors/CubeDataProductSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeDifferenceEditor.d.ts +25 -0
- package/lib/components/editors/CubeDifferenceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDifferenceEditor.js +29 -0
- package/lib/components/editors/CubeDifferenceEditor.js.map +1 -0
- package/lib/components/editors/CubeExpressionFilterEditor.d.ts +25 -0
- package/lib/components/editors/CubeExpressionFilterEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExpressionFilterEditor.js +83 -0
- package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -0
- package/lib/components/editors/CubeExtendEditor.d.ts +27 -0
- package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExtendEditor.js +86 -0
- package/lib/components/editors/CubeExtendEditor.js.map +1 -0
- package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeFilterEditor.js +15 -4
- package/lib/components/editors/CubeFilterEditor.js.map +1 -1
- package/lib/components/editors/CubeFunctionSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeFunctionSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeFunctionSourceEditor.js +55 -0
- package/lib/components/editors/CubeFunctionSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeGroupEditor.d.ts +28 -0
- package/lib/components/editors/CubeGroupEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeGroupEditor.js +70 -0
- package/lib/components/editors/CubeGroupEditor.js.map +1 -0
- package/lib/components/editors/CubeIngestSourceEditor.d.ts +26 -0
- package/lib/components/editors/CubeIngestSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeIngestSourceEditor.js +47 -0
- package/lib/components/editors/CubeIngestSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeJoinEditor.d.ts +2 -4
- package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeJoinEditor.js +21 -39
- package/lib/components/editors/CubeJoinEditor.js.map +1 -1
- package/lib/components/editors/CubeJoinKeyRows.d.ts +34 -0
- package/lib/components/editors/CubeJoinKeyRows.d.ts.map +1 -0
- package/lib/components/editors/CubeJoinKeyRows.js +65 -0
- package/lib/components/editors/CubeJoinKeyRows.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorPanel.d.ts +7 -5
- package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorPanel.js +64 -16
- package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorPopper.d.ts +44 -0
- package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -0
- package/lib/components/editors/CubeNodeEditorPopper.js +133 -0
- package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js +23 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
- package/lib/components/editors/CubePartitionEditor.d.ts +30 -0
- package/lib/components/editors/CubePartitionEditor.d.ts.map +1 -0
- package/lib/components/editors/CubePartitionEditor.js +93 -0
- package/lib/components/editors/CubePartitionEditor.js.map +1 -0
- package/lib/components/editors/CubePivotEditor.d.ts +26 -0
- package/lib/components/editors/CubePivotEditor.d.ts.map +1 -0
- package/lib/components/editors/CubePivotEditor.js +93 -0
- package/lib/components/editors/CubePivotEditor.js.map +1 -0
- package/lib/components/editors/CubeRenameEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeRenameEditor.js +6 -4
- package/lib/components/editors/CubeRenameEditor.js.map +1 -1
- package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeRestrictEditor.js +2 -2
- package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
- package/lib/components/editors/CubeServiceSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeServiceSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeServiceSourceEditor.js +41 -0
- package/lib/components/editors/CubeServiceSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeSortEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeSortEditor.js +10 -37
- package/lib/components/editors/CubeSortEditor.js.map +1 -1
- package/lib/components/editors/CubeSortRowEditor.d.ts +47 -0
- package/lib/components/editors/CubeSortRowEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeSortRowEditor.js +62 -0
- package/lib/components/editors/CubeSortRowEditor.js.map +1 -0
- package/lib/components/editors/CubeSourceEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeSourceEditor.js +18 -5
- package/lib/components/editors/CubeSourceEditor.js.map +1 -1
- package/lib/components/editors/CubeWarehouseControl.d.ts +30 -0
- package/lib/components/editors/CubeWarehouseControl.d.ts.map +1 -0
- package/lib/components/editors/CubeWarehouseControl.js +44 -0
- package/lib/components/editors/CubeWarehouseControl.js.map +1 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.d.ts +31 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.d.ts.map +1 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.js +83 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.js.map +1 -0
- package/lib/components/examples/CubeExamplesDialog.d.ts +26 -0
- package/lib/components/examples/CubeExamplesDialog.d.ts.map +1 -0
- package/lib/components/examples/CubeExamplesDialog.js +68 -0
- package/lib/components/examples/CubeExamplesDialog.js.map +1 -0
- package/lib/components/grid/CubeColumnFormatDialog.d.ts +28 -0
- package/lib/components/grid/CubeColumnFormatDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeColumnFormatDialog.js +94 -0
- package/lib/components/grid/CubeColumnFormatDialog.js.map +1 -0
- package/lib/components/grid/CubeDrilldownBar.d.ts +37 -0
- package/lib/components/grid/CubeDrilldownBar.d.ts.map +1 -0
- package/lib/components/grid/CubeDrilldownBar.js +77 -0
- package/lib/components/grid/CubeDrilldownBar.js.map +1 -0
- package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
- package/lib/components/grid/CubeGridRegion.js +56 -31
- package/lib/components/grid/CubeGridRegion.js.map +1 -1
- package/lib/components/grid/CubeGridValues.d.ts +47 -1
- package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
- package/lib/components/grid/CubeGridValues.js +152 -1
- package/lib/components/grid/CubeGridValues.js.map +1 -1
- package/lib/components/grid/CubeResultGrid.d.ts +68 -5
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +316 -31
- package/lib/components/grid/CubeResultGrid.js.map +1 -1
- package/lib/components/grid/CubeRunStatsPanel.d.ts +28 -0
- package/lib/components/grid/CubeRunStatsPanel.d.ts.map +1 -0
- package/lib/components/grid/CubeRunStatsPanel.js +61 -0
- package/lib/components/grid/CubeRunStatsPanel.js.map +1 -0
- package/lib/components/grid/CubeServerSideGrid.d.ts +36 -0
- package/lib/components/grid/CubeServerSideGrid.d.ts.map +1 -0
- package/lib/components/grid/CubeServerSideGrid.js +114 -0
- package/lib/components/grid/CubeServerSideGrid.js.map +1 -0
- package/lib/components/grid/CubeSqlDialog.d.ts +24 -0
- package/lib/components/grid/CubeSqlDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeSqlDialog.js +39 -0
- package/lib/components/grid/CubeSqlDialog.js.map +1 -0
- package/lib/components/grid/CubeSqlFormat.d.ts +20 -0
- package/lib/components/grid/CubeSqlFormat.d.ts.map +1 -0
- package/lib/components/grid/CubeSqlFormat.js +32 -0
- package/lib/components/grid/CubeSqlFormat.js.map +1 -0
- package/lib/components/palette/CubePalette.d.ts.map +1 -1
- package/lib/components/palette/CubePalette.js +44 -14
- package/lib/components/palette/CubePalette.js.map +1 -1
- package/lib/components/show-pure/CubeShowPureDialog.d.ts +4 -1
- package/lib/components/show-pure/CubeShowPureDialog.d.ts.map +1 -1
- package/lib/components/show-pure/CubeShowPureDialog.js +8 -4
- package/lib/components/show-pure/CubeShowPureDialog.js.map +1 -1
- package/lib/components/source-picker/CubeDataProductTab.d.ts +27 -0
- package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeDataProductTab.js +123 -0
- package/lib/components/source-picker/CubeDataProductTab.js.map +1 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts +27 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.js +89 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -0
- package/lib/components/source-picker/CubeFunctionSteps.d.ts +36 -0
- package/lib/components/source-picker/CubeFunctionSteps.d.ts.map +1 -0
- package/lib/components/source-picker/CubeFunctionSteps.js +76 -0
- package/lib/components/source-picker/CubeFunctionSteps.js.map +1 -0
- package/lib/components/source-picker/CubeIngestTab.d.ts +28 -0
- package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeIngestTab.js +89 -0
- package/lib/components/source-picker/CubeIngestTab.js.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts +38 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.js +81 -0
- package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -0
- package/lib/components/source-picker/CubePickerListItem.d.ts +47 -0
- package/lib/components/source-picker/CubePickerListItem.d.ts.map +1 -0
- package/lib/components/source-picker/CubePickerListItem.js +62 -0
- package/lib/components/source-picker/CubePickerListItem.js.map +1 -0
- package/lib/components/source-picker/CubePickerStep.d.ts +27 -0
- package/lib/components/source-picker/CubePickerStep.d.ts.map +1 -0
- package/lib/components/source-picker/CubePickerStep.js +23 -0
- package/lib/components/source-picker/CubePickerStep.js.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts +28 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.js +53 -0
- package/lib/components/source-picker/CubeProjectTab.js.map +1 -0
- package/lib/components/source-picker/CubeServiceTab.d.ts +27 -0
- package/lib/components/source-picker/CubeServiceTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeServiceTab.js +36 -0
- package/lib/components/source-picker/CubeServiceTab.js.map +1 -0
- package/lib/components/source-picker/CubeSourcePicker.d.ts +6 -0
- package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
- package/lib/components/source-picker/CubeSourcePicker.js +33 -58
- package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
- package/lib/components/source-picker/CubeTablePreview.d.ts +29 -0
- package/lib/components/source-picker/CubeTablePreview.d.ts.map +1 -0
- package/lib/components/source-picker/CubeTablePreview.js +10 -0
- package/lib/components/source-picker/CubeTablePreview.js.map +1 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.d.ts +27 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.d.ts.map +1 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.js +38 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.js.map +1 -0
- package/lib/components/spec-transfer/CubeSpecTransferDialog.d.ts.map +1 -1
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js +9 -3
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
- package/lib/graph-manager/CubeConnectionExplorer.d.ts +90 -0
- package/lib/graph-manager/CubeConnectionExplorer.d.ts.map +1 -0
- package/lib/graph-manager/CubeConnectionExplorer.js +34 -0
- package/lib/graph-manager/CubeConnectionExplorer.js.map +1 -0
- package/lib/graph-manager/CubeDataProduct.d.ts +66 -0
- package/lib/graph-manager/CubeDataProduct.d.ts.map +1 -0
- package/lib/graph-manager/CubeDataProduct.js +102 -0
- package/lib/graph-manager/CubeDataProduct.js.map +1 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts +177 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeDataProductCatalog.js +116 -0
- package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -0
- package/lib/graph-manager/CubeDirectConnection.d.ts +38 -0
- package/lib/graph-manager/CubeDirectConnection.d.ts.map +1 -0
- package/lib/graph-manager/CubeDirectConnection.js +48 -0
- package/lib/graph-manager/CubeDirectConnection.js.map +1 -0
- package/lib/graph-manager/CubeEngine.d.ts +83 -3
- package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/CubeEngine.js +4 -1
- package/lib/graph-manager/CubeEngine.js.map +1 -1
- package/lib/graph-manager/CubeEngineClientSettings.d.ts +43 -0
- package/lib/graph-manager/CubeEngineClientSettings.d.ts.map +1 -0
- package/lib/graph-manager/CubeEngineClientSettings.js +51 -0
- package/lib/graph-manager/CubeEngineClientSettings.js.map +1 -0
- package/lib/graph-manager/CubeIngest.d.ts +55 -0
- package/lib/graph-manager/CubeIngest.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngest.js +98 -0
- package/lib/graph-manager/CubeIngest.js.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts +142 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.js +86 -0
- package/lib/graph-manager/CubeIngestCatalog.js.map +1 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.d.ts +26 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.d.ts.map +1 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.js +17 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.js.map +1 -0
- package/lib/graph-manager/CubeLakehouseRuntime.d.ts +29 -0
- package/lib/graph-manager/CubeLakehouseRuntime.d.ts.map +1 -0
- package/lib/graph-manager/CubeLakehouseRuntime.js +40 -0
- package/lib/graph-manager/CubeLakehouseRuntime.js.map +1 -0
- package/lib/graph-manager/CubeProject.d.ts +41 -0
- package/lib/graph-manager/CubeProject.d.ts.map +1 -0
- package/lib/graph-manager/CubeProject.js +84 -0
- package/lib/graph-manager/CubeProject.js.map +1 -0
- package/lib/graph-manager/CubeProjectCatalog.d.ts +35 -0
- package/lib/graph-manager/CubeProjectCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeProjectCatalog.js +17 -0
- package/lib/graph-manager/CubeProjectCatalog.js.map +1 -0
- package/lib/graph-manager/CubeService.d.ts +20 -0
- package/lib/graph-manager/CubeService.d.ts.map +1 -0
- package/lib/graph-manager/CubeService.js +22 -0
- package/lib/graph-manager/CubeService.js.map +1 -0
- package/lib/graph-manager/CubeServiceCatalog.d.ts +31 -0
- package/lib/graph-manager/CubeServiceCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeServiceCatalog.js +17 -0
- package/lib/graph-manager/CubeServiceCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +111 -2
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +108 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts +44 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js +192 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +32 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +88 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts +41 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js +246 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts +43 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js +112 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js +30 -4
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts +23 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js +68 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts +30 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js +229 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts +30 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +149 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +57 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +120 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts +33 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js +94 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts +34 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js +332 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +111 -13
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js +3 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts +67 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js +238 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +35 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +65 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts +104 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js +484 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +115 -3
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +654 -21
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts +69 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js +270 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts +35 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +94 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts +31 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js +69 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts +25 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js +47 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts +28 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js +310 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts +33 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js +188 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +33 -3
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +22 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +19 -1
- package/lib/index.js.map +1 -1
- package/lib/stores/CubeAddPlacement.d.ts +39 -0
- package/lib/stores/CubeAddPlacement.d.ts.map +1 -0
- package/lib/stores/CubeAddPlacement.js +51 -0
- package/lib/stores/CubeAddPlacement.js.map +1 -0
- package/lib/stores/CubeDataProductRecheck.d.ts +27 -0
- package/lib/stores/CubeDataProductRecheck.d.ts.map +1 -0
- package/lib/stores/CubeDataProductRecheck.js +54 -0
- package/lib/stores/CubeDataProductRecheck.js.map +1 -0
- package/lib/stores/CubeDataProductRuntimeState.d.ts +88 -0
- package/lib/stores/CubeDataProductRuntimeState.d.ts.map +1 -0
- package/lib/stores/CubeDataProductRuntimeState.js +190 -0
- package/lib/stores/CubeDataProductRuntimeState.js.map +1 -0
- package/lib/stores/CubeDataProductWarehouse.d.ts +19 -0
- package/lib/stores/CubeDataProductWarehouse.d.ts.map +1 -0
- package/lib/stores/CubeDataProductWarehouse.js +25 -0
- package/lib/stores/CubeDataProductWarehouse.js.map +1 -0
- package/lib/stores/CubeDevSettingsState.d.ts +47 -0
- package/lib/stores/CubeDevSettingsState.d.ts.map +1 -0
- package/lib/stores/CubeDevSettingsState.js +99 -0
- package/lib/stores/CubeDevSettingsState.js.map +1 -0
- package/lib/stores/CubeEditorState.d.ts +242 -28
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +751 -66
- package/lib/stores/CubeEditorState.js.map +1 -1
- package/lib/stores/CubeEngineChecks.d.ts +59 -0
- package/lib/stores/CubeEngineChecks.d.ts.map +1 -0
- package/lib/stores/CubeEngineChecks.js +100 -0
- package/lib/stores/CubeEngineChecks.js.map +1 -0
- package/lib/stores/CubeEntrySource.d.ts +78 -0
- package/lib/stores/CubeEntrySource.d.ts.map +1 -0
- package/lib/stores/CubeEntrySource.js +200 -0
- package/lib/stores/CubeEntrySource.js.map +1 -0
- package/lib/stores/CubeExamples.d.ts +43 -0
- package/lib/stores/CubeExamples.d.ts.map +1 -0
- package/lib/stores/CubeExamples.js +333 -0
- package/lib/stores/CubeExamples.js.map +1 -0
- package/lib/stores/CubeExamplesState.d.ts +45 -0
- package/lib/stores/CubeExamplesState.d.ts.map +1 -0
- package/lib/stores/CubeExamplesState.js +81 -0
- package/lib/stores/CubeExamplesState.js.map +1 -0
- package/lib/stores/CubeExecutionState.d.ts +6 -2
- package/lib/stores/CubeExecutionState.d.ts.map +1 -1
- package/lib/stores/CubeExecutionState.js +39 -38
- package/lib/stores/CubeExecutionState.js.map +1 -1
- package/lib/stores/CubeExportState.d.ts +41 -0
- package/lib/stores/CubeExportState.d.ts.map +1 -0
- package/lib/stores/CubeExportState.js +134 -0
- package/lib/stores/CubeExportState.js.map +1 -0
- package/lib/stores/CubeExpressionFilterCheck.d.ts +51 -0
- package/lib/stores/CubeExpressionFilterCheck.d.ts.map +1 -0
- package/lib/stores/CubeExpressionFilterCheck.js +134 -0
- package/lib/stores/CubeExpressionFilterCheck.js.map +1 -0
- package/lib/stores/CubeExtendTyping.d.ts +64 -0
- package/lib/stores/CubeExtendTyping.d.ts.map +1 -0
- package/lib/stores/CubeExtendTyping.js +149 -0
- package/lib/stores/CubeExtendTyping.js.map +1 -0
- package/lib/stores/CubeFunctionRecheck.d.ts +30 -0
- package/lib/stores/CubeFunctionRecheck.d.ts.map +1 -0
- package/lib/stores/CubeFunctionRecheck.js +67 -0
- package/lib/stores/CubeFunctionRecheck.js.map +1 -0
- package/lib/stores/CubeGridFetcher.d.ts +75 -0
- package/lib/stores/CubeGridFetcher.d.ts.map +1 -0
- package/lib/stores/CubeGridFetcher.js +197 -0
- package/lib/stores/CubeGridFetcher.js.map +1 -0
- package/lib/stores/CubeGridQuickActions.d.ts +27 -7
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
- package/lib/stores/CubeGridQuickActions.js +79 -21
- package/lib/stores/CubeGridQuickActions.js.map +1 -1
- package/lib/stores/CubeGridState.d.ts +136 -0
- package/lib/stores/CubeGridState.d.ts.map +1 -0
- package/lib/stores/CubeGridState.js +317 -0
- package/lib/stores/CubeGridState.js.map +1 -0
- package/lib/stores/CubeHost.d.ts +74 -1
- package/lib/stores/CubeHost.d.ts.map +1 -1
- package/lib/stores/CubeHost.js +25 -1
- package/lib/stores/CubeHost.js.map +1 -1
- package/lib/stores/CubeIngestRecheck.d.ts +26 -0
- package/lib/stores/CubeIngestRecheck.d.ts.map +1 -0
- package/lib/stores/CubeIngestRecheck.js +53 -0
- package/lib/stores/CubeIngestRecheck.js.map +1 -0
- package/lib/stores/CubeLambdaImportState.d.ts +118 -0
- package/lib/stores/CubeLambdaImportState.d.ts.map +1 -0
- package/lib/stores/CubeLambdaImportState.js +302 -0
- package/lib/stores/CubeLambdaImportState.js.map +1 -0
- package/lib/stores/CubeLambdaSources.d.ts +45 -0
- package/lib/stores/CubeLambdaSources.d.ts.map +1 -0
- package/lib/stores/CubeLambdaSources.js +261 -0
- package/lib/stores/CubeLambdaSources.js.map +1 -0
- package/lib/stores/CubeNodeEditorState.d.ts +101 -5
- package/lib/stores/CubeNodeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeNodeEditorState.js +221 -10
- package/lib/stores/CubeNodeEditorState.js.map +1 -1
- package/lib/stores/CubeQueryRun.d.ts +59 -0
- package/lib/stores/CubeQueryRun.d.ts.map +1 -0
- package/lib/stores/CubeQueryRun.js +101 -0
- package/lib/stores/CubeQueryRun.js.map +1 -0
- package/lib/stores/CubeRunStatsState.d.ts +61 -0
- package/lib/stores/CubeRunStatsState.d.ts.map +1 -0
- package/lib/stores/CubeRunStatsState.js +54 -0
- package/lib/stores/CubeRunStatsState.js.map +1 -0
- package/lib/stores/CubeRunningStepLambda.d.ts +25 -0
- package/lib/stores/CubeRunningStepLambda.d.ts.map +1 -0
- package/lib/stores/CubeRunningStepLambda.js +45 -0
- package/lib/stores/CubeRunningStepLambda.js.map +1 -0
- package/lib/stores/CubeServiceRecheck.d.ts +29 -0
- package/lib/stores/CubeServiceRecheck.d.ts.map +1 -0
- package/lib/stores/CubeServiceRecheck.js +33 -0
- package/lib/stores/CubeServiceRecheck.js.map +1 -0
- package/lib/stores/CubeShowPureState.d.ts +18 -2
- package/lib/stores/CubeShowPureState.d.ts.map +1 -1
- package/lib/stores/CubeShowPureState.js +46 -13
- package/lib/stores/CubeShowPureState.js.map +1 -1
- package/lib/stores/CubeSourcePickerState.d.ts +70 -65
- package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
- package/lib/stores/CubeSourcePickerState.js +207 -267
- package/lib/stores/CubeSourcePickerState.js.map +1 -1
- package/lib/stores/CubeSpecTransferState.d.ts +2 -2
- package/lib/stores/CubeSpecTransferState.js +2 -2
- package/lib/stores/LocalModelCatalog.d.ts +2 -0
- package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
- package/lib/stores/LocalModelCatalog.js +19 -3
- package/lib/stores/LocalModelCatalog.js.map +1 -1
- package/lib/stores/editors/CubeAggregationRows.d.ts +80 -0
- package/lib/stores/editors/CubeAggregationRows.d.ts.map +1 -0
- package/lib/stores/editors/CubeAggregationRows.js +164 -0
- package/lib/stores/editors/CubeAggregationRows.js.map +1 -0
- package/lib/stores/editors/CubeConcatDraft.d.ts +30 -0
- package/lib/stores/editors/CubeConcatDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeConcatDraft.js +44 -0
- package/lib/stores/editors/CubeConcatDraft.js.map +1 -0
- package/lib/stores/editors/CubeDifferenceDraft.d.ts +49 -0
- package/lib/stores/editors/CubeDifferenceDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeDifferenceDraft.js +111 -0
- package/lib/stores/editors/CubeDifferenceDraft.js.map +1 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts +91 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js +254 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts +110 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExtendDraft.js +359 -0
- package/lib/stores/editors/CubeExtendDraft.js.map +1 -0
- package/lib/stores/editors/CubeFunctionDraft.d.ts +34 -0
- package/lib/stores/editors/CubeFunctionDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeFunctionDraft.js +69 -0
- package/lib/stores/editors/CubeFunctionDraft.js.map +1 -0
- package/lib/stores/editors/CubeGroupDraft.d.ts +61 -0
- package/lib/stores/editors/CubeGroupDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeGroupDraft.js +106 -0
- package/lib/stores/editors/CubeGroupDraft.js.map +1 -0
- package/lib/stores/editors/CubeJoinDraft.d.ts +9 -10
- package/lib/stores/editors/CubeJoinDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeJoinDraft.js +92 -21
- package/lib/stores/editors/CubeJoinDraft.js.map +1 -1
- package/lib/stores/editors/CubeJoinKeyPairs.d.ts +38 -0
- package/lib/stores/editors/CubeJoinKeyPairs.d.ts.map +1 -0
- package/lib/stores/editors/CubeJoinKeyPairs.js +33 -0
- package/lib/stores/editors/CubeJoinKeyPairs.js.map +1 -0
- package/lib/stores/editors/CubeNodeDraft.d.ts +20 -6
- package/lib/stores/editors/CubeNodeDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraft.js +23 -5
- package/lib/stores/editors/CubeNodeDraft.js.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts +4 -2
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js +39 -3
- package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
- package/lib/stores/editors/CubePartitionDraft.d.ts +70 -0
- package/lib/stores/editors/CubePartitionDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubePartitionDraft.js +154 -0
- package/lib/stores/editors/CubePartitionDraft.js.map +1 -0
- package/lib/stores/editors/CubePivotDraft.d.ts +93 -0
- package/lib/stores/editors/CubePivotDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubePivotDraft.js +267 -0
- package/lib/stores/editors/CubePivotDraft.js.map +1 -0
- package/lib/stores/editors/CubeSortDraft.d.ts +2 -10
- package/lib/stores/editors/CubeSortDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeSortDraft.js +9 -35
- package/lib/stores/editors/CubeSortDraft.js.map +1 -1
- package/lib/stores/editors/CubeSortRows.d.ts +34 -0
- package/lib/stores/editors/CubeSortRows.d.ts.map +1 -0
- package/lib/stores/editors/CubeSortRows.js +50 -0
- package/lib/stores/editors/CubeSortRows.js.map +1 -0
- package/lib/stores/fixtures/CubeNorthwindModel.d.ts +7 -0
- package/lib/stores/fixtures/CubeNorthwindModel.d.ts.map +1 -1
- package/lib/stores/fixtures/CubeNorthwindModel.js +99 -87
- package/lib/stores/fixtures/CubeNorthwindModel.js.map +1 -1
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts +26 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js +46 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -0
- package/lib/stores/fixtures/CubeSampleSql.d.ts +34 -0
- package/lib/stores/fixtures/CubeSampleSql.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSampleSql.js +64 -0
- package/lib/stores/fixtures/CubeSampleSql.js.map +1 -0
- package/lib/stores/fixtures/CubeSportsModel.d.ts +27 -0
- package/lib/stores/fixtures/CubeSportsModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSportsModel.js +158 -0
- package/lib/stores/fixtures/CubeSportsModel.js.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts +33 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.js +227 -0
- package/lib/stores/fixtures/CubeTradesModel.js.map +1 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.d.ts +71 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.js +392 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.js.map +1 -0
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts +215 -0
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js +766 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +163 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js +668 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts +127 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.js +510 -0
- package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +203 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js +734 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts +77 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.js +206 -0
- package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeServiceTabState.d.ts +74 -0
- package/lib/stores/source-picker/CubeServiceTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeServiceTabState.js +216 -0
- package/lib/stores/source-picker/CubeServiceTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +60 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js +45 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -0
- package/package.json +12 -7
- package/src/__lib__/LegendCubeCommand.ts +12 -0
- package/src/__lib__/LegendCubeDataProductLabels.ts +91 -0
- package/src/__lib__/LegendCubeDirectConnectionLabels.ts +111 -0
- package/src/__lib__/LegendCubeFunctionLabels.ts +41 -0
- package/src/__lib__/LegendCubeHelpText.ts +48 -2
- package/src/__lib__/LegendCubeIngestLabels.ts +40 -0
- package/src/__lib__/LegendCubeLabels.ts +327 -12
- package/src/__lib__/LegendCubeProjectLabels.ts +25 -0
- package/src/__lib__/LegendCubeProjectSourceLabels.ts +26 -0
- package/src/__lib__/LegendCubeServiceLabels.ts +41 -0
- package/src/__lib__/LegendCubeTesting.ts +8 -0
- package/src/__test-utils__/CubeCanvasTestUtils.ts +1 -1
- package/src/__test-utils__/CubeConnectionTestSupport.ts +45 -0
- package/src/__test-utils__/CubeDirectConnectionFixtures.ts +70 -0
- package/src/__test-utils__/CubeEngineTestSupport.ts +40 -1
- package/src/__test-utils__/CubeExpressionTestUtils.ts +146 -0
- package/src/__test-utils__/CubeFunctionTestOutline.ts +78 -0
- package/src/__test-utils__/CubeLambdaCorpus.ts +137 -0
- package/src/__test-utils__/CubeOperationsTestUtils.ts +93 -18
- package/src/__test-utils__/CubePageTestUtils.tsx +69 -0
- package/src/__test-utils__/CubeTestApplication.ts +46 -2
- package/src/__test-utils__/FakeCubeConnectionExplorer.ts +111 -0
- package/src/__test-utils__/FakeCubeDataProductCatalog.ts +227 -0
- package/src/__test-utils__/FakeCubeEngine.ts +52 -1
- package/src/__test-utils__/FakeCubeIngestCatalog.ts +198 -0
- package/src/__test-utils__/FakeCubeProjectCatalog.ts +89 -0
- package/src/__test-utils__/FakeCubeServiceCatalog.ts +57 -0
- package/src/components/CubeAddItems.tsx +186 -0
- package/src/components/CubeDialogTheme.ts +25 -0
- package/src/components/CubeEditor.tsx +195 -140
- package/src/components/CubeEntrySourceBanner.tsx +64 -0
- package/src/components/CubeFileMenu.tsx +127 -0
- package/src/components/CubeLambdaImportBanner.tsx +97 -0
- package/src/components/CubeNodeIcon.tsx +20 -0
- package/src/components/CubeSchemaColumnsTable.tsx +54 -0
- package/src/components/canvas/CubeCanvas.tsx +94 -20
- package/src/components/canvas/CubeCanvasContextMenu.tsx +64 -32
- package/src/components/canvas/CubeCanvasDnd.ts +16 -9
- package/src/components/canvas/CubeCanvasElements.ts +84 -5
- package/src/components/canvas/CubeCanvasLayout.ts +1 -1
- package/src/components/canvas/CubeCanvasNode.tsx +88 -43
- package/src/components/canvas/CubeCanvasNodeFocus.ts +37 -0
- package/src/components/canvas/CubeNodeEditorAnchor.ts +82 -0
- package/src/components/dev-settings/CubeDevSettings.tsx +154 -0
- package/src/components/editors/CubeAggregationRowEditor.tsx +224 -0
- package/src/components/editors/CubeColumnChecklist.tsx +136 -0
- package/src/components/editors/CubeColumnPicker.tsx +6 -3
- package/src/components/editors/CubeConcatEditor.tsx +374 -0
- package/src/components/editors/CubeDataProductSourceEditor.tsx +134 -0
- package/src/components/editors/CubeDifferenceEditor.tsx +87 -0
- package/src/components/editors/CubeExpressionFilterEditor.tsx +193 -0
- package/src/components/editors/CubeExtendEditor.tsx +271 -0
- package/src/components/editors/CubeFilterEditor.tsx +20 -1
- package/src/components/editors/CubeFunctionSourceEditor.tsx +140 -0
- package/src/components/editors/CubeGroupEditor.tsx +135 -0
- package/src/components/editors/CubeIngestSourceEditor.tsx +104 -0
- package/src/components/editors/CubeJoinEditor.tsx +34 -135
- package/src/components/editors/CubeJoinKeyRows.tsx +183 -0
- package/src/components/editors/CubeNodeEditorPanel.tsx +111 -36
- package/src/components/editors/CubeNodeEditorPopper.tsx +191 -0
- package/src/components/editors/CubeNodeEditorRegistry.ts +33 -0
- package/src/components/editors/CubePartitionEditor.tsx +208 -0
- package/src/components/editors/CubePivotEditor.tsx +277 -0
- package/src/components/editors/CubeRenameEditor.tsx +10 -5
- package/src/components/editors/CubeRestrictEditor.tsx +9 -3
- package/src/components/editors/CubeServiceSourceEditor.tsx +77 -0
- package/src/components/editors/CubeSortEditor.tsx +20 -142
- package/src/components/editors/CubeSortRowEditor.tsx +176 -0
- package/src/components/editors/CubeSourceEditor.tsx +42 -30
- package/src/components/editors/CubeWarehouseControl.tsx +113 -0
- package/src/components/editors/useCubeNodeEditorDismiss.ts +103 -0
- package/src/components/examples/CubeExamplesDialog.tsx +199 -0
- package/src/components/grid/CubeColumnFormatDialog.tsx +289 -0
- package/src/components/grid/CubeDrilldownBar.tsx +219 -0
- package/src/components/grid/CubeGridRegion.tsx +214 -60
- package/src/components/grid/CubeGridValues.ts +201 -1
- package/src/components/grid/CubeResultGrid.tsx +461 -43
- package/src/components/grid/CubeRunStatsPanel.tsx +156 -0
- package/src/components/grid/CubeServerSideGrid.tsx +200 -0
- package/src/components/grid/CubeSqlDialog.tsx +90 -0
- package/src/components/grid/CubeSqlFormat.ts +37 -0
- package/src/components/palette/CubePalette.tsx +70 -19
- package/src/components/show-pure/CubeShowPureDialog.tsx +19 -5
- package/src/components/source-picker/CubeDataProductTab.tsx +486 -0
- package/src/components/source-picker/CubeDirectConnectionTab.tsx +352 -0
- package/src/components/source-picker/CubeFunctionSteps.tsx +244 -0
- package/src/components/source-picker/CubeIngestTab.tsx +312 -0
- package/src/components/source-picker/CubeInlineModelTab.tsx +220 -0
- package/src/components/source-picker/CubePickerListItem.tsx +118 -0
- package/src/components/source-picker/CubePickerStep.tsx +49 -0
- package/src/components/source-picker/CubeProjectTab.tsx +117 -0
- package/src/components/source-picker/CubeServiceTab.tsx +151 -0
- package/src/components/source-picker/CubeSourcePicker.tsx +99 -228
- package/src/components/source-picker/CubeTablePreview.tsx +49 -0
- package/src/components/spec-transfer/CubeImportPureDialog.tsx +122 -0
- package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +22 -9
- package/src/graph-manager/CubeConnectionExplorer.ts +106 -0
- package/src/graph-manager/CubeDataProduct.ts +150 -0
- package/src/graph-manager/CubeDataProductCatalog.ts +256 -0
- package/src/graph-manager/CubeDirectConnection.ts +67 -0
- package/src/graph-manager/CubeEngine.ts +94 -2
- package/src/graph-manager/CubeEngineClientSettings.ts +64 -0
- package/src/graph-manager/CubeIngest.ts +159 -0
- package/src/graph-manager/CubeIngestCatalog.ts +202 -0
- package/src/graph-manager/CubeLakehouseEnvironment.ts +27 -0
- package/src/graph-manager/CubeLakehouseRuntime.ts +43 -0
- package/src/graph-manager/CubeProject.ts +117 -0
- package/src/graph-manager/CubeProjectCatalog.ts +40 -0
- package/src/graph-manager/CubeService.ts +29 -0
- package/src/graph-manager/CubeServiceCatalog.ts +35 -0
- package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +256 -2
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.ts +251 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +107 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.ts +339 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDirectModel.ts +151 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.ts +45 -4
- package/src/graph-manager/protocol/pure/v1/V1_CubeExpression.ts +89 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts +312 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +227 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +174 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.ts +141 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.ts +471 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +153 -18
- package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +3 -1
- package/src/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.ts +361 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +122 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.ts +744 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +1083 -25
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.ts +459 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +152 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.ts +92 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.ts +61 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.ts +337 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.ts +206 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +48 -2
- package/src/index.ts +52 -2
- package/src/stores/CubeAddPlacement.ts +87 -0
- package/src/stores/CubeDataProductRecheck.ts +93 -0
- package/src/stores/CubeDataProductRuntimeState.ts +256 -0
- package/src/stores/CubeDataProductWarehouse.ts +40 -0
- package/src/stores/CubeDevSettingsState.ts +117 -0
- package/src/stores/CubeEditorState.ts +1030 -92
- package/src/stores/CubeEngineChecks.ts +240 -0
- package/src/stores/CubeEntrySource.ts +278 -0
- package/src/stores/CubeExamples.ts +526 -0
- package/src/stores/CubeExamplesState.ts +110 -0
- package/src/stores/CubeExecutionState.ts +50 -62
- package/src/stores/CubeExportState.ts +196 -0
- package/src/stores/CubeExpressionFilterCheck.ts +218 -0
- package/src/stores/CubeExtendTyping.ts +251 -0
- package/src/stores/CubeFunctionRecheck.ts +97 -0
- package/src/stores/CubeGridFetcher.ts +302 -0
- package/src/stores/CubeGridQuickActions.ts +97 -20
- package/src/stores/CubeGridState.ts +450 -0
- package/src/stores/CubeHost.ts +119 -1
- package/src/stores/CubeIngestRecheck.ts +92 -0
- package/src/stores/CubeLambdaImportState.ts +434 -0
- package/src/stores/CubeLambdaSources.ts +390 -0
- package/src/stores/CubeNodeEditorState.ts +278 -9
- package/src/stores/CubeQueryRun.ts +169 -0
- package/src/stores/CubeRunStatsState.ts +91 -0
- package/src/stores/CubeRunningStepLambda.ts +62 -0
- package/src/stores/CubeServiceRecheck.ts +53 -0
- package/src/stores/CubeShowPureState.ts +57 -15
- package/src/stores/CubeSourcePickerState.ts +231 -325
- package/src/stores/CubeSpecTransferState.ts +2 -2
- package/src/stores/LocalModelCatalog.ts +27 -3
- package/src/stores/editors/CubeAggregationRows.ts +299 -0
- package/src/stores/editors/CubeConcatDraft.ts +49 -0
- package/src/stores/editors/CubeDifferenceDraft.ts +147 -0
- package/src/stores/editors/CubeExpressionFilterDraft.ts +385 -0
- package/src/stores/editors/CubeExtendDraft.ts +532 -0
- package/src/stores/editors/CubeFunctionDraft.ts +92 -0
- package/src/stores/editors/CubeGroupDraft.ts +145 -0
- package/src/stores/editors/CubeJoinDraft.ts +130 -41
- package/src/stores/editors/CubeJoinKeyPairs.ts +68 -0
- package/src/stores/editors/CubeNodeDraft.ts +26 -6
- package/src/stores/editors/CubeNodeDraftRegistry.ts +52 -2
- package/src/stores/editors/CubePartitionDraft.ts +214 -0
- package/src/stores/editors/CubePivotDraft.ts +355 -0
- package/src/stores/editors/CubeSortDraft.ts +17 -54
- package/src/stores/editors/CubeSortRows.ts +84 -0
- package/src/stores/fixtures/CubeNorthwindModel.ts +103 -88
- package/src/stores/fixtures/CubeSalesDuckDbModel.ts +54 -0
- package/src/stores/fixtures/CubeSampleSql.ts +85 -0
- package/src/stores/fixtures/CubeSportsModel.ts +182 -0
- package/src/stores/fixtures/CubeTradesModel.ts +276 -0
- package/src/stores/source-picker/CubeCsvSetupSql.ts +444 -0
- package/src/stores/source-picker/CubeDataProductTabState.ts +966 -0
- package/src/stores/source-picker/CubeDirectConnectionTabState.ts +846 -0
- package/src/stores/source-picker/CubeIngestTabState.ts +625 -0
- package/src/stores/source-picker/CubeInlineModelTabState.ts +928 -0
- package/src/stores/source-picker/CubeProjectTabState.ts +250 -0
- package/src/stores/source-picker/CubeServiceTabState.ts +288 -0
- package/src/stores/source-picker/CubeSourcePickerTab.ts +79 -0
- package/tsconfig.json +139 -0
|
@@ -13,19 +13,47 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import { AggregationFunction, buildDrilldownKeyRule, FilterOperator, Filter, foldColumnName, getAggregationAutoName, Group, isOperatorAvailable, isSortableType, Sort, TypeFamily, } from '@finos/legend-cube';
|
|
17
17
|
import { CUBE_QUICK_ACTION_DISABLED_REASON, FILTER_FLOAT_COMPARISON_HINT, READ_ONLY_CUBE_TITLE, } from '../__lib__/LegendCubeLabels.js';
|
|
18
18
|
/**
|
|
19
|
-
* The
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
* The name of a Group by's Count rows: `Count Rows`, or with a number after it
|
|
20
|
+
* when an input column already has that name in any case, e.g. on a Group of
|
|
21
|
+
* a Group (PLAN §11.5)
|
|
22
|
+
*/
|
|
23
|
+
export const getGroupByCountName = (schema) => {
|
|
24
|
+
const base = getAggregationAutoName(AggregationFunction.COUNT_ROWS, undefined);
|
|
25
|
+
const taken = new Set(schema.names().map(foldColumnName));
|
|
26
|
+
let name = base;
|
|
27
|
+
for (let suffix = 2; taken.has(foldColumnName(name)); suffix += 1) {
|
|
28
|
+
name = `${base} ${suffix}`;
|
|
29
|
+
}
|
|
30
|
+
return name;
|
|
31
|
+
};
|
|
32
|
+
/** What a cell of the grid holds */
|
|
33
|
+
export var CubeGridCellKind;
|
|
34
|
+
(function (CubeGridCellKind) {
|
|
35
|
+
/** A run row's value, or a group row's key */
|
|
36
|
+
CubeGridCellKind["VALUE"] = "value";
|
|
37
|
+
/** A group row's aggregation of its rows' values (PLAN §11.10) */
|
|
38
|
+
CubeGridCellKind["AGGREGATE"] = "aggregate";
|
|
39
|
+
/** A group row's column with no aggregation: nothing */
|
|
40
|
+
CubeGridCellKind["EMPTY"] = "empty";
|
|
41
|
+
})(CubeGridCellKind || (CubeGridCellKind = {}));
|
|
42
|
+
/**
|
|
43
|
+
* The quick actions on a cell of the shown rows (spec §12.4, PLAN §11.4,
|
|
44
|
+
* §11.5 and §11.10): "Sort by" adds an ascending Sort on the cell's column,
|
|
45
|
+
* "Group by" a Group by it with Count rows, and "Filter by" an Equal on its
|
|
46
|
+
* value (Is Empty on a null; on a float, In the value and its 32-bit value
|
|
47
|
+
* when they differ, so a `REAL` value is found, as a drill-down's key is,
|
|
48
|
+
* PLAN §11.14), after the node that runs, which they replace as
|
|
49
|
+
* the node that runs; a group row's cell other than its key has no value of a
|
|
50
|
+
* row, so "Filter by" is disabled there. All need the rows to be from the current query, no run in
|
|
51
|
+
* flight, and a cube that can change; "Sort by" and "Group by" a type that
|
|
52
|
+
* compares, and "Filter by" a value its column's type can compare.
|
|
25
53
|
* Read when the menu opens; `[]` when the position is not a column of the
|
|
26
54
|
* shown rows.
|
|
27
55
|
*/
|
|
28
|
-
export const getCubeGridQuickActions = (editorState, position, cell) => {
|
|
56
|
+
export const getCubeGridQuickActions = (editorState, position, cell, cellKind = CubeGridCellKind.VALUE) => {
|
|
29
57
|
const { execution, document } = editorState;
|
|
30
58
|
const { result } = execution;
|
|
31
59
|
const column = result?.schema.columns[position];
|
|
@@ -35,25 +63,38 @@ export const getCubeGridQuickActions = (editorState, position, cell) => {
|
|
|
35
63
|
const { query } = document;
|
|
36
64
|
const afterId = query.selected;
|
|
37
65
|
const typeName = column.type.displayName;
|
|
38
|
-
const rule =
|
|
66
|
+
const rule = cellKind === CubeGridCellKind.VALUE
|
|
67
|
+
? buildDrilldownKeyRule(column.name, column.type, cell)
|
|
68
|
+
: undefined;
|
|
39
69
|
// what keeps both from being used, in order
|
|
40
|
-
const blocked = result.query !== query
|
|
70
|
+
const blocked = result.query !== query || execution.isStale
|
|
41
71
|
? CUBE_QUICK_ACTION_DISABLED_REASON.STALE_ROWS
|
|
42
|
-
:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
72
|
+
: // choosing would apply the edits first, leaving these rows stale
|
|
73
|
+
editorState.hasEditsToApply || editorState.nodeEditor.hasPendingInput()
|
|
74
|
+
? CUBE_QUICK_ACTION_DISABLED_REASON.EDITING
|
|
75
|
+
: execution.isRunning
|
|
76
|
+
? CUBE_QUICK_ACTION_DISABLED_REASON.RUNNING
|
|
77
|
+
: editorState.readOnly
|
|
78
|
+
? READ_ONLY_CUBE_TITLE
|
|
79
|
+
: undefined;
|
|
47
80
|
const sortReason = blocked ??
|
|
48
81
|
(isSortableType(column.type)
|
|
49
82
|
? undefined
|
|
50
83
|
: CUBE_QUICK_ACTION_DISABLED_REASON.notSortable(typeName));
|
|
84
|
+
const groupReason = blocked ??
|
|
85
|
+
(isSortableType(column.type)
|
|
86
|
+
? undefined
|
|
87
|
+
: CUBE_QUICK_ACTION_DISABLED_REASON.notGroupable(typeName));
|
|
51
88
|
const filterReason = blocked ??
|
|
52
89
|
(rule
|
|
53
90
|
? undefined
|
|
54
|
-
:
|
|
55
|
-
? CUBE_QUICK_ACTION_DISABLED_REASON.
|
|
56
|
-
:
|
|
91
|
+
: cellKind === CubeGridCellKind.AGGREGATE
|
|
92
|
+
? CUBE_QUICK_ACTION_DISABLED_REASON.AGGREGATE_VALUE
|
|
93
|
+
: cellKind === CubeGridCellKind.EMPTY
|
|
94
|
+
? CUBE_QUICK_ACTION_DISABLED_REASON.NO_VALUE
|
|
95
|
+
: isOperatorAvailable(FilterOperator.EQUAL, column.type)
|
|
96
|
+
? CUBE_QUICK_ACTION_DISABLED_REASON.UNREADABLE_VALUE
|
|
97
|
+
: CUBE_QUICK_ACTION_DISABLED_REASON.notComparable(typeName));
|
|
57
98
|
return [
|
|
58
99
|
{
|
|
59
100
|
label: `Sort by "${column.name}"`,
|
|
@@ -61,22 +102,39 @@ export const getCubeGridQuickActions = (editorState, position, cell) => {
|
|
|
61
102
|
hint: undefined,
|
|
62
103
|
apply: () => {
|
|
63
104
|
// as the menu found it: nothing changed since it opened
|
|
64
|
-
if (sortReason === undefined && editorState.document
|
|
105
|
+
if (sortReason === undefined && editorState.document === document) {
|
|
65
106
|
editorState.addConfiguredNode(Sort.byColumn(query.generateId(Sort.TYPE), column.name), afterId);
|
|
66
107
|
}
|
|
67
108
|
},
|
|
68
109
|
},
|
|
110
|
+
{
|
|
111
|
+
label: `Group by "${column.name}"`,
|
|
112
|
+
disabledReason: groupReason,
|
|
113
|
+
hint: undefined,
|
|
114
|
+
apply: () => {
|
|
115
|
+
if (groupReason === undefined && editorState.document === document) {
|
|
116
|
+
editorState.addConfiguredNode(new Group(query.generateId(Group.TYPE), [column.name], [
|
|
117
|
+
{
|
|
118
|
+
column: undefined,
|
|
119
|
+
function: AggregationFunction.COUNT_ROWS,
|
|
120
|
+
name: getGroupByCountName(result.schema),
|
|
121
|
+
},
|
|
122
|
+
]), afterId);
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
},
|
|
69
126
|
{
|
|
70
127
|
label: `Filter by "${column.name}"`,
|
|
71
128
|
disabledReason: filterReason,
|
|
72
|
-
hint: rule?.operator === FilterOperator.EQUAL
|
|
129
|
+
hint: (rule?.operator === FilterOperator.EQUAL ||
|
|
130
|
+
rule?.operator === FilterOperator.IN) &&
|
|
73
131
|
column.type.family === TypeFamily.FLOAT
|
|
74
132
|
? FILTER_FLOAT_COMPARISON_HINT
|
|
75
133
|
: undefined,
|
|
76
134
|
apply: () => {
|
|
77
135
|
if (filterReason === undefined &&
|
|
78
136
|
rule &&
|
|
79
|
-
editorState.document
|
|
137
|
+
editorState.document === document) {
|
|
80
138
|
editorState.addConfiguredNode(new Filter(query.generateId(Filter.TYPE), rule), afterId);
|
|
81
139
|
}
|
|
82
140
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeGridQuickActions.js","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"CubeGridQuickActions.js","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-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 { type AggregationFunction, type CheckedDrilldown, type ColumnFormat, type ColumnDirection, type DrilldownCell } from '@finos/legend-cube';
|
|
17
|
+
import { CubeEngineError, type CubeResultValue } from '../graph-manager/CubeEngine.js';
|
|
18
|
+
import type { CubeEditorState } from './CubeEditorState.js';
|
|
19
|
+
import type { CubeExecutionResult } from './CubeExecutionState.js';
|
|
20
|
+
/** How the grid shows a run (spec §12.1, PLAN §11.10) */
|
|
21
|
+
export declare enum CubeGridMode {
|
|
22
|
+
/** Each sort and drill-down level runs on the engine (the default) */
|
|
23
|
+
SERVER_SIDE = "serverSide",
|
|
24
|
+
/** The run's rows, grouped, pivoted and filtered in the browser */
|
|
25
|
+
LOCAL = "local"
|
|
26
|
+
}
|
|
27
|
+
/** The id ag-grid gives the column of the drill-down's groups */
|
|
28
|
+
export declare const CUBE_GRID_GROUP_COLUMN_ID = "ag-Grid-AutoColumn";
|
|
29
|
+
/** A column's id in the grid: its position, as `c<position>` */
|
|
30
|
+
export declare const CUBE_GRID_COLUMN_ID_PREFIX = "c";
|
|
31
|
+
/** A row of the server-side grid: a group of the drill-down, or a row of the run */
|
|
32
|
+
export interface CubeGridRowData {
|
|
33
|
+
/** Unique among the grid's rows: its group's keys, typed, or its group's and its position */
|
|
34
|
+
readonly id: string;
|
|
35
|
+
/** The keys of its group and the groups around it, outermost first, as the engine returned them */
|
|
36
|
+
readonly keys: readonly DrilldownCell[];
|
|
37
|
+
readonly isGroup: boolean;
|
|
38
|
+
/** Each run column's value, `undefined` where a group row shows none */
|
|
39
|
+
readonly cells: readonly (CubeResultValue | undefined)[];
|
|
40
|
+
/** On a group row, how many of the run's rows it holds */
|
|
41
|
+
readonly count?: number | undefined;
|
|
42
|
+
}
|
|
43
|
+
/** A sort ag-grid asks for: a column's id and its direction */
|
|
44
|
+
export interface CubeGridSortRequest {
|
|
45
|
+
readonly colId: string;
|
|
46
|
+
readonly sort: 'asc' | 'desc';
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The grid's state beyond the run (PLAN §11.10): its mode, remembered for the
|
|
50
|
+
* user, and in server-side mode the rows of each level ag-grid asks for, from
|
|
51
|
+
* the run on screen (`CubeGridFetcher`), with what the levels say: an error,
|
|
52
|
+
* and whether a level was cut at the row limit.
|
|
53
|
+
*/
|
|
54
|
+
export declare class CubeGridState {
|
|
55
|
+
readonly editorState: CubeEditorState;
|
|
56
|
+
mode: CubeGridMode;
|
|
57
|
+
/** The last fetch's error, until the next fetch or a new run */
|
|
58
|
+
fetchError: CubeEngineError | undefined;
|
|
59
|
+
/** Some level shown was cut at the run's row limit */
|
|
60
|
+
hasLimitedLevel: boolean;
|
|
61
|
+
/** Fetches in flight */
|
|
62
|
+
fetching: number;
|
|
63
|
+
/** The grid on screen: answers for an earlier one are left alone */
|
|
64
|
+
private gridToken;
|
|
65
|
+
/** The drill-down's settings dialog is open */
|
|
66
|
+
isSettingsOpen: boolean;
|
|
67
|
+
/** The column whose format the Format Column dialog edits, while it is open */
|
|
68
|
+
formatColumn: string | undefined;
|
|
69
|
+
constructor(editorState: CubeEditorState);
|
|
70
|
+
get isServerSide(): boolean;
|
|
71
|
+
/** The cube's drill-down, checked against the run on screen; none without a run */
|
|
72
|
+
get drilldown(): CheckedDrilldown | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* Shows the run another way. Both modes show the same run, so nothing runs
|
|
75
|
+
* again: local mode shows its rows, server-side mode fetches what it needs
|
|
76
|
+
*/
|
|
77
|
+
setMode(mode: CubeGridMode): void;
|
|
78
|
+
/**
|
|
79
|
+
* Why 'Drilldown by' can't be used on the run's column, if it can't: a
|
|
80
|
+
* type that can't be grouped, a column that is a level already, a cube
|
|
81
|
+
* saved by a newer version
|
|
82
|
+
*/
|
|
83
|
+
getAddLevelBlocker(column: string): string | undefined;
|
|
84
|
+
private setDrilldown;
|
|
85
|
+
/**
|
|
86
|
+
* Adds the column as the drill-down's innermost level, an undo step that
|
|
87
|
+
* leaves the rows current (spec §12.4); the grid shows it server-side,
|
|
88
|
+
* the only mode with levels (spec §12.1)
|
|
89
|
+
*/
|
|
90
|
+
addLevel(column: string): void;
|
|
91
|
+
/** Removes the level at the position: the ones inside it move out */
|
|
92
|
+
removeLevel(index: number): void;
|
|
93
|
+
/** Sets how a group row shows the run's column: a function, or nothing */
|
|
94
|
+
setAggregation(column: string, fn: AggregationFunction | null): void;
|
|
95
|
+
/** Removes the drill-down: its levels and its aggregations */
|
|
96
|
+
clearDrilldown(): void;
|
|
97
|
+
openSettings(): void;
|
|
98
|
+
closeSettings(): void;
|
|
99
|
+
openFormat(column: string): void;
|
|
100
|
+
closeFormat(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Sets a number column's format, or removes it with `undefined`; with no
|
|
103
|
+
* column, the format of every number column (spec §13.1). An undo step
|
|
104
|
+
* that leaves the rows current.
|
|
105
|
+
*/
|
|
106
|
+
setColumnFormat(column: string | undefined, format: ColumnFormat | undefined): void;
|
|
107
|
+
clearFetchError(): void;
|
|
108
|
+
/** A new grid on screen: what earlier levels said is forgotten */
|
|
109
|
+
resetLevels(): void;
|
|
110
|
+
/**
|
|
111
|
+
* A new grid, for a new run or drill-down, taking its token for
|
|
112
|
+
* `loadRows`: the earlier grid's answers, still on their way, are then left
|
|
113
|
+
* alone, saying nothing (PLAN §11.10). Not observable, so a grid takes it
|
|
114
|
+
* as it renders, before its first request.
|
|
115
|
+
*/
|
|
116
|
+
beginGrid(): number;
|
|
117
|
+
/** The drill-down's settings dialog shows: asked for, on a run with a drill-down */
|
|
118
|
+
get isSettingsShown(): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* The sort ag-grid asks for, by the run's column names: a column by its
|
|
121
|
+
* position; the groups' column by the level's own column at a group level,
|
|
122
|
+
* and not at all at the leaf
|
|
123
|
+
*/
|
|
124
|
+
toSorts(result: CubeExecutionResult, sortModel: readonly CubeGridSortRequest[], depth: number): ColumnDirection[];
|
|
125
|
+
/**
|
|
126
|
+
* The rows under a group, by its keys (none for the top level), sorted as
|
|
127
|
+
* ag-grid asks. The run's own rows when nothing is derived (no drill-down
|
|
128
|
+
* level, no sort), else a fetched level. Resolves to `undefined` for rows
|
|
129
|
+
* the grid no longer shows, which are then left alone.
|
|
130
|
+
*/
|
|
131
|
+
loadRows(result: CubeExecutionResult, keys: readonly DrilldownCell[], sortModel: readonly CubeGridSortRequest[], token?: number): Promise<CubeGridRowData[] | undefined>;
|
|
132
|
+
private track;
|
|
133
|
+
private noteLevel;
|
|
134
|
+
private noteError;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=CubeGridState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeGridState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeGridState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-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 { addDrilldownLevel, checkDrilldown, foldColumnName, isDrilldownLevelType, isEmptyDrilldown, removeDrilldownLevel, setColumnFormat, setDrilldownAggregation, SortDirection, } from '@finos/legend-cube';
|
|
17
|
+
import { action, computed, makeObservable, observable, runInAction, } from 'mobx';
|
|
18
|
+
import { CUBE_DRILLDOWN_BLOCKER, LEGEND_CUBE_USER_DATA_KEY, READ_ONLY_CUBE_TITLE, } from '../__lib__/LegendCubeLabels.js';
|
|
19
|
+
import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
|
|
20
|
+
import { CubeGridFetchDropped } from './CubeGridFetcher.js';
|
|
21
|
+
/** How the grid shows a run (spec §12.1, PLAN §11.10) */
|
|
22
|
+
export var CubeGridMode;
|
|
23
|
+
(function (CubeGridMode) {
|
|
24
|
+
/** Each sort and drill-down level runs on the engine (the default) */
|
|
25
|
+
CubeGridMode["SERVER_SIDE"] = "serverSide";
|
|
26
|
+
/** The run's rows, grouped, pivoted and filtered in the browser */
|
|
27
|
+
CubeGridMode["LOCAL"] = "local";
|
|
28
|
+
})(CubeGridMode || (CubeGridMode = {}));
|
|
29
|
+
/** The id ag-grid gives the column of the drill-down's groups */
|
|
30
|
+
export const CUBE_GRID_GROUP_COLUMN_ID = 'ag-Grid-AutoColumn';
|
|
31
|
+
/** A column's id in the grid: its position, as `c<position>` */
|
|
32
|
+
export const CUBE_GRID_COLUMN_ID_PREFIX = 'c';
|
|
33
|
+
const NO_DRILLDOWN = Object.freeze({ columns: [], aggregations: [] });
|
|
34
|
+
/**
|
|
35
|
+
* The grid's state beyond the run (PLAN §11.10): its mode, remembered for the
|
|
36
|
+
* user, and in server-side mode the rows of each level ag-grid asks for, from
|
|
37
|
+
* the run on screen (`CubeGridFetcher`), with what the levels say: an error,
|
|
38
|
+
* and whether a level was cut at the row limit.
|
|
39
|
+
*/
|
|
40
|
+
export class CubeGridState {
|
|
41
|
+
editorState;
|
|
42
|
+
mode;
|
|
43
|
+
/** The last fetch's error, until the next fetch or a new run */
|
|
44
|
+
fetchError;
|
|
45
|
+
/** Some level shown was cut at the run's row limit */
|
|
46
|
+
hasLimitedLevel = false;
|
|
47
|
+
/** Fetches in flight */
|
|
48
|
+
fetching = 0;
|
|
49
|
+
/** The grid on screen: answers for an earlier one are left alone */
|
|
50
|
+
gridToken = 0;
|
|
51
|
+
/** The drill-down's settings dialog is open */
|
|
52
|
+
isSettingsOpen = false;
|
|
53
|
+
/** The column whose format the Format Column dialog edits, while it is open */
|
|
54
|
+
formatColumn;
|
|
55
|
+
constructor(editorState) {
|
|
56
|
+
makeObservable(this, {
|
|
57
|
+
mode: observable,
|
|
58
|
+
fetchError: observable.ref,
|
|
59
|
+
hasLimitedLevel: observable,
|
|
60
|
+
fetching: observable,
|
|
61
|
+
drilldown: computed,
|
|
62
|
+
setMode: action,
|
|
63
|
+
addLevel: action,
|
|
64
|
+
removeLevel: action,
|
|
65
|
+
setAggregation: action,
|
|
66
|
+
clearDrilldown: action,
|
|
67
|
+
openSettings: action,
|
|
68
|
+
closeSettings: action,
|
|
69
|
+
isSettingsOpen: observable,
|
|
70
|
+
isSettingsShown: computed,
|
|
71
|
+
formatColumn: observable,
|
|
72
|
+
openFormat: action,
|
|
73
|
+
closeFormat: action,
|
|
74
|
+
setColumnFormat: action,
|
|
75
|
+
clearFetchError: action,
|
|
76
|
+
resetLevels: action,
|
|
77
|
+
});
|
|
78
|
+
this.editorState = editorState;
|
|
79
|
+
const stored = editorState.host.applicationStore.userDataService.getStringValue(LEGEND_CUBE_USER_DATA_KEY.GRID_MODE);
|
|
80
|
+
this.mode =
|
|
81
|
+
stored === CubeGridMode.LOCAL
|
|
82
|
+
? CubeGridMode.LOCAL
|
|
83
|
+
: CubeGridMode.SERVER_SIDE;
|
|
84
|
+
}
|
|
85
|
+
get isServerSide() {
|
|
86
|
+
return this.mode === CubeGridMode.SERVER_SIDE;
|
|
87
|
+
}
|
|
88
|
+
/** The cube's drill-down, checked against the run on screen; none without a run */
|
|
89
|
+
get drilldown() {
|
|
90
|
+
const { result } = this.editorState.execution;
|
|
91
|
+
return result
|
|
92
|
+
? checkDrilldown(this.editorState.document.meta.drilldown ?? NO_DRILLDOWN, result.schema)
|
|
93
|
+
: undefined;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Shows the run another way. Both modes show the same run, so nothing runs
|
|
97
|
+
* again: local mode shows its rows, server-side mode fetches what it needs
|
|
98
|
+
*/
|
|
99
|
+
setMode(mode) {
|
|
100
|
+
this.mode = mode;
|
|
101
|
+
this.editorState.host.applicationStore.userDataService.persistValue(LEGEND_CUBE_USER_DATA_KEY.GRID_MODE, mode);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Why 'Drilldown by' can't be used on the run's column, if it can't: a
|
|
105
|
+
* type that can't be grouped, a column that is a level already, a cube
|
|
106
|
+
* saved by a newer version
|
|
107
|
+
*/
|
|
108
|
+
getAddLevelBlocker(column) {
|
|
109
|
+
const { editorState } = this;
|
|
110
|
+
const type = editorState.execution.result?.schema.type(column);
|
|
111
|
+
if (editorState.readOnly) {
|
|
112
|
+
return READ_ONLY_CUBE_TITLE;
|
|
113
|
+
}
|
|
114
|
+
if (!type || !isDrilldownLevelType(type)) {
|
|
115
|
+
return CUBE_DRILLDOWN_BLOCKER.notGroupable(type?.displayName ?? '');
|
|
116
|
+
}
|
|
117
|
+
return (editorState.document.meta.drilldown?.columns ?? []).some((level) => foldColumnName(level) === foldColumnName(column))
|
|
118
|
+
? CUBE_DRILLDOWN_BLOCKER.ALREADY_A_LEVEL
|
|
119
|
+
: undefined;
|
|
120
|
+
}
|
|
121
|
+
setDrilldown(drilldown) {
|
|
122
|
+
const { editorState } = this;
|
|
123
|
+
const { meta } = editorState.document;
|
|
124
|
+
const { drilldown: _, ...others } = meta;
|
|
125
|
+
editorState.applyDocument(editorState.document.withMeta(isEmptyDrilldown(drilldown) ? others : { ...meta, drilldown }));
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Adds the column as the drill-down's innermost level, an undo step that
|
|
129
|
+
* leaves the rows current (spec §12.4); the grid shows it server-side,
|
|
130
|
+
* the only mode with levels (spec §12.1)
|
|
131
|
+
*/
|
|
132
|
+
addLevel(column) {
|
|
133
|
+
if (this.getAddLevelBlocker(column) !== undefined) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
this.setDrilldown(addDrilldownLevel(this.editorState.document.meta.drilldown, column));
|
|
137
|
+
if (!this.isServerSide) {
|
|
138
|
+
this.setMode(CubeGridMode.SERVER_SIDE);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** Removes the level at the position: the ones inside it move out */
|
|
142
|
+
removeLevel(index) {
|
|
143
|
+
const { drilldown } = this.editorState.document.meta;
|
|
144
|
+
if (drilldown && !this.editorState.readOnly) {
|
|
145
|
+
this.setDrilldown(removeDrilldownLevel(drilldown, index));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/** Sets how a group row shows the run's column: a function, or nothing */
|
|
149
|
+
setAggregation(column, fn) {
|
|
150
|
+
const type = this.editorState.execution.result?.schema.type(column);
|
|
151
|
+
if (type && !this.editorState.readOnly) {
|
|
152
|
+
this.setDrilldown(setDrilldownAggregation(this.editorState.document.meta.drilldown, column, type, fn));
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/** Removes the drill-down: its levels and its aggregations */
|
|
156
|
+
clearDrilldown() {
|
|
157
|
+
if (!this.editorState.readOnly) {
|
|
158
|
+
this.closeSettings();
|
|
159
|
+
this.setDrilldown(undefined);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
openSettings() {
|
|
163
|
+
this.isSettingsOpen = true;
|
|
164
|
+
}
|
|
165
|
+
closeSettings() {
|
|
166
|
+
this.isSettingsOpen = false;
|
|
167
|
+
}
|
|
168
|
+
openFormat(column) {
|
|
169
|
+
this.formatColumn = column;
|
|
170
|
+
}
|
|
171
|
+
closeFormat() {
|
|
172
|
+
this.formatColumn = undefined;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Sets a number column's format, or removes it with `undefined`; with no
|
|
176
|
+
* column, the format of every number column (spec §13.1). An undo step
|
|
177
|
+
* that leaves the rows current.
|
|
178
|
+
*/
|
|
179
|
+
setColumnFormat(column, format) {
|
|
180
|
+
const { editorState } = this;
|
|
181
|
+
if (editorState.readOnly) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const { meta } = editorState.document;
|
|
185
|
+
editorState.applyDocument(editorState.document.withMeta({
|
|
186
|
+
...meta,
|
|
187
|
+
presentation: {
|
|
188
|
+
...meta.presentation,
|
|
189
|
+
columnHints: setColumnFormat(meta.presentation.columnHints ?? [], column, format),
|
|
190
|
+
},
|
|
191
|
+
}));
|
|
192
|
+
}
|
|
193
|
+
clearFetchError() {
|
|
194
|
+
this.fetchError = undefined;
|
|
195
|
+
}
|
|
196
|
+
/** A new grid on screen: what earlier levels said is forgotten */
|
|
197
|
+
resetLevels() {
|
|
198
|
+
this.fetchError = undefined;
|
|
199
|
+
this.hasLimitedLevel = false;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* A new grid, for a new run or drill-down, taking its token for
|
|
203
|
+
* `loadRows`: the earlier grid's answers, still on their way, are then left
|
|
204
|
+
* alone, saying nothing (PLAN §11.10). Not observable, so a grid takes it
|
|
205
|
+
* as it renders, before its first request.
|
|
206
|
+
*/
|
|
207
|
+
beginGrid() {
|
|
208
|
+
this.gridToken += 1;
|
|
209
|
+
return this.gridToken;
|
|
210
|
+
}
|
|
211
|
+
/** The drill-down's settings dialog shows: asked for, on a run with a drill-down */
|
|
212
|
+
get isSettingsShown() {
|
|
213
|
+
return (this.isSettingsOpen &&
|
|
214
|
+
this.drilldown !== undefined &&
|
|
215
|
+
!isEmptyDrilldown(this.editorState.document.meta.drilldown));
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* The sort ag-grid asks for, by the run's column names: a column by its
|
|
219
|
+
* position; the groups' column by the level's own column at a group level,
|
|
220
|
+
* and not at all at the leaf
|
|
221
|
+
*/
|
|
222
|
+
toSorts(result, sortModel, depth) {
|
|
223
|
+
const levels = this.drilldown?.columns ?? [];
|
|
224
|
+
return sortModel.flatMap(({ colId, sort }) => {
|
|
225
|
+
const direction = sort === 'desc' ? SortDirection.DESC : SortDirection.ASC;
|
|
226
|
+
if (colId === CUBE_GRID_GROUP_COLUMN_ID) {
|
|
227
|
+
const column = levels[depth];
|
|
228
|
+
return column === undefined ? [] : [{ column, direction }];
|
|
229
|
+
}
|
|
230
|
+
const column = colId.startsWith(CUBE_GRID_COLUMN_ID_PREFIX)
|
|
231
|
+
? result.schema.columns[Number(colId.slice(CUBE_GRID_COLUMN_ID_PREFIX.length))]
|
|
232
|
+
: undefined;
|
|
233
|
+
return column ? [{ column: column.name, direction }] : [];
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* The rows under a group, by its keys (none for the top level), sorted as
|
|
238
|
+
* ag-grid asks. The run's own rows when nothing is derived (no drill-down
|
|
239
|
+
* level, no sort), else a fetched level. Resolves to `undefined` for rows
|
|
240
|
+
* the grid no longer shows, which are then left alone.
|
|
241
|
+
*/
|
|
242
|
+
async loadRows(result, keys, sortModel, token = this.gridToken) {
|
|
243
|
+
const parentId = JSON.stringify(keys);
|
|
244
|
+
const sorts = this.toSorts(result, sortModel, keys.length);
|
|
245
|
+
if (!keys.length && !this.drilldown?.columns.length && !sorts.length) {
|
|
246
|
+
return result.rows.map((row, index) => ({
|
|
247
|
+
id: `${parentId}#${index}`,
|
|
248
|
+
keys,
|
|
249
|
+
isGroup: false,
|
|
250
|
+
cells: row,
|
|
251
|
+
}));
|
|
252
|
+
}
|
|
253
|
+
this.track(1);
|
|
254
|
+
try {
|
|
255
|
+
const level = await this.editorState.gridFetcher.fetchLevel(result, keys, sorts);
|
|
256
|
+
if (token !== this.gridToken) {
|
|
257
|
+
return undefined;
|
|
258
|
+
}
|
|
259
|
+
this.noteLevel(level.limited);
|
|
260
|
+
const levels = this.drilldown?.columns ?? [];
|
|
261
|
+
const keyAt = level.level.isLeaf
|
|
262
|
+
? -1
|
|
263
|
+
: result.schema.names().indexOf(levels[keys.length]);
|
|
264
|
+
return level.rows.map((row, index) => {
|
|
265
|
+
if (level.level.isLeaf) {
|
|
266
|
+
return {
|
|
267
|
+
id: `${parentId}#${index}`,
|
|
268
|
+
keys,
|
|
269
|
+
isGroup: false,
|
|
270
|
+
cells: row.cells,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
const groupKeys = [...keys, row.cells[keyAt] ?? null];
|
|
274
|
+
return {
|
|
275
|
+
id: JSON.stringify(groupKeys),
|
|
276
|
+
keys: groupKeys,
|
|
277
|
+
isGroup: true,
|
|
278
|
+
cells: row.cells,
|
|
279
|
+
count: row.count,
|
|
280
|
+
};
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
if (error instanceof CubeGridFetchDropped || token !== this.gridToken) {
|
|
285
|
+
return undefined;
|
|
286
|
+
}
|
|
287
|
+
this.noteError(error instanceof CubeEngineError
|
|
288
|
+
? error
|
|
289
|
+
: new CubeEngineError(CubeEngineErrorKind.EXECUTION, error instanceof Error ? error.message : String(error)));
|
|
290
|
+
throw error;
|
|
291
|
+
}
|
|
292
|
+
finally {
|
|
293
|
+
this.track(-1);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
track(change) {
|
|
297
|
+
runInAction(() => {
|
|
298
|
+
this.fetching += change;
|
|
299
|
+
if (change > 0) {
|
|
300
|
+
this.fetchError = undefined;
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
noteLevel(limited) {
|
|
305
|
+
if (limited) {
|
|
306
|
+
runInAction(() => {
|
|
307
|
+
this.hasLimitedLevel = true;
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
noteError(error) {
|
|
312
|
+
runInAction(() => {
|
|
313
|
+
this.fetchError = error;
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
//# sourceMappingURL=CubeGridState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeGridState.js","sourceRoot":"","sources":["../../src/stores/CubeGridState.ts"],"names":[],"mappings":"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"}
|