@finos/legend-cube-builder 0.0.4 → 0.0.6
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 +9 -3
- package/docs/adding-an-operation.md +24 -12
- 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 +83 -5
- package/docs/testing.md +32 -0
- package/lib/__lib__/LegendCubeCommand.d.ts +2 -0
- package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeCommand.js +7 -0
- package/lib/__lib__/LegendCubeCommand.js.map +1 -1
- 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 +16 -2
- package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
- package/lib/__lib__/LegendCubeLabels.d.ts +130 -9
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +169 -17
- package/lib/__lib__/LegendCubeLabels.js.map +1 -1
- package/lib/__lib__/LegendCubeNavigation.d.ts +23 -0
- package/lib/__lib__/LegendCubeNavigation.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeNavigation.js +33 -0
- package/lib/__lib__/LegendCubeNavigation.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 +10 -1
- package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeTesting.js +9 -0
- package/lib/__lib__/LegendCubeTesting.js.map +1 -1
- package/lib/__lib__/LegendCubeTour.d.ts +62 -0
- package/lib/__lib__/LegendCubeTour.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeTour.js +149 -0
- package/lib/__lib__/LegendCubeTour.js.map +1 -0
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.js +2 -2
- package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
- package/lib/__test-utils__/CubeExampleTestUtils.d.ts +34 -0
- package/lib/__test-utils__/CubeExampleTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeExampleTestUtils.js +72 -0
- package/lib/__test-utils__/CubeExampleTestUtils.js.map +1 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +8 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.js +20 -3
- package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -1
- 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__/CubePageTestUtils.d.ts +6 -0
- package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.js +21 -0
- package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts +9 -0
- package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.js +16 -0
- package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
- package/lib/__test-utils__/CubeVariantTestUtils.d.ts +16 -0
- package/lib/__test-utils__/CubeVariantTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeVariantTestUtils.js +66 -0
- package/lib/__test-utils__/CubeVariantTestUtils.js.map +1 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts +5 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
- package/lib/__test-utils__/FakeCubeEngine.js +17 -0
- package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +7 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.js +16 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -1
- 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.map +1 -1
- package/lib/components/CubeAddItems.js +11 -7
- package/lib/components/CubeAddItems.js.map +1 -1
- 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 +12 -1
- package/lib/components/CubeEditor.d.ts.map +1 -1
- package/lib/components/CubeEditor.js +22 -14
- package/lib/components/CubeEditor.js.map +1 -1
- package/lib/components/CubeFileMenu.d.ts +28 -0
- package/lib/components/CubeFileMenu.d.ts.map +1 -0
- package/lib/components/CubeFileMenu.js +78 -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 +6 -1
- package/lib/components/CubeNodeIcon.js.map +1 -1
- package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -1
- package/lib/components/CubeSchemaColumnsTable.js +2 -2
- package/lib/components/CubeSchemaColumnsTable.js.map +1 -1
- package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvas.js +40 -6
- package/lib/components/canvas/CubeCanvas.js.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.js +2 -1
- package/lib/components/canvas/CubeCanvasContextMenu.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 +58 -3
- 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 +11 -4
- package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
- 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 +54 -0
- package/lib/components/dev-settings/CubeDevSettings.js.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -1
- package/lib/components/editors/CubeColumnChecklist.js +2 -2
- package/lib/components/editors/CubeColumnChecklist.js.map +1 -1
- package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
- package/lib/components/editors/CubeColumnPicker.js +6 -4
- package/lib/components/editors/CubeColumnPicker.js.map +1 -1
- package/lib/components/editors/CubeConcatEditor.js +2 -2
- package/lib/components/editors/CubeConcatEditor.js.map +1 -1
- package/lib/components/editors/CubeExplodeEditor.d.ts +26 -0
- package/lib/components/editors/CubeExplodeEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExplodeEditor.js +61 -0
- package/lib/components/editors/CubeExplodeEditor.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 +86 -0
- package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -0
- package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeExtendEditor.js +13 -12
- package/lib/components/editors/CubeExtendEditor.js.map +1 -1
- package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeFilterEditor.js +13 -2
- 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/CubeJoinEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeJoinEditor.js +16 -4
- package/lib/components/editors/CubeJoinEditor.js.map +1 -1
- package/lib/components/editors/CubeJsonFieldsTree.d.ts +46 -0
- package/lib/components/editors/CubeJsonFieldsTree.d.ts.map +1 -0
- package/lib/components/editors/CubeJsonFieldsTree.js +93 -0
- package/lib/components/editors/CubeJsonFieldsTree.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorPanel.js +18 -8
- package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorPopper.d.ts +5 -1
- package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorPopper.js +10 -2
- package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js +11 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
- 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/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/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 +43 -28
- package/lib/components/grid/CubeGridRegion.js.map +1 -1
- package/lib/components/grid/CubeGridValues.d.ts +36 -4
- package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
- package/lib/components/grid/CubeGridValues.js +116 -4
- package/lib/components/grid/CubeGridValues.js.map +1 -1
- package/lib/components/grid/CubeJsonExplorerDialog.d.ts +27 -0
- package/lib/components/grid/CubeJsonExplorerDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeJsonExplorerDialog.js +102 -0
- package/lib/components/grid/CubeJsonExplorerDialog.js.map +1 -0
- package/lib/components/grid/CubeJsonViewerDialog.d.ts +27 -0
- package/lib/components/grid/CubeJsonViewerDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeJsonViewerDialog.js +68 -0
- package/lib/components/grid/CubeJsonViewerDialog.js.map +1 -0
- package/lib/components/grid/CubeResultGrid.d.ts +81 -6
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +400 -35
- 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 +116 -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 +36 -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.map +1 -1
- package/lib/components/source-picker/CubeDataProductTab.js +37 -16
- package/lib/components/source-picker/CubeDataProductTab.js.map +1 -1
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeDirectConnectionTab.js +6 -4
- package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -1
- 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 +2 -2
- package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeIngestTab.js +49 -20
- package/lib/components/source-picker/CubeIngestTab.js.map +1 -1
- package/lib/components/source-picker/CubeInlineModelTab.d.ts +3 -2
- package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeInlineModelTab.js +23 -13
- package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -1
- 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/CubeProjectTab.d.ts +4 -3
- package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -1
- package/lib/components/source-picker/CubeProjectTab.js +7 -4
- package/lib/components/source-picker/CubeProjectTab.js.map +1 -1
- 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.map +1 -1
- package/lib/components/source-picker/CubeSourcePicker.js +16 -3
- 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/components/tour/CubeTour.d.ts +36 -0
- package/lib/components/tour/CubeTour.d.ts.map +1 -0
- package/lib/components/tour/CubeTour.js +183 -0
- package/lib/components/tour/CubeTour.js.map +1 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts +10 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -1
- package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -1
- package/lib/graph-manager/CubeEngine.d.ts +46 -1
- package/lib/graph-manager/CubeEngine.d.ts.map +1 -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 +5 -0
- package/lib/graph-manager/CubeIngest.d.ts.map +1 -1
- package/lib/graph-manager/CubeIngest.js +10 -0
- package/lib/graph-manager/CubeIngest.js.map +1 -1
- package/lib/graph-manager/CubeIngestCatalog.d.ts +26 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -1
- package/lib/graph-manager/CubeIngestCatalog.js +6 -0
- package/lib/graph-manager/CubeIngestCatalog.js.map +1 -1
- 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/CubeProjectCatalog.d.ts +3 -3
- 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 +52 -5
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +63 -5
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +9 -6
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +12 -8
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -1
- 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.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +18 -9
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +4 -9
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +2 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -1
- 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 +49 -10
- 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_LegendCubeConnectionExplorer.d.ts +2 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +2 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +18 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +74 -6
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +7 -4
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -1
- 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_CubeEngineTestUtils.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +6 -2
- 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 +13 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +11 -1
- package/lib/index.js.map +1 -1
- package/lib/stores/CubeAddPlacement.d.ts +10 -3
- package/lib/stores/CubeAddPlacement.d.ts.map +1 -1
- package/lib/stores/CubeAddPlacement.js +16 -5
- package/lib/stores/CubeAddPlacement.js.map +1 -1
- 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 +189 -43
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +532 -117
- 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/CubeExamples.d.ts.map +1 -1
- package/lib/stores/CubeExamples.js +136 -2
- package/lib/stores/CubeExamples.js.map +1 -1
- package/lib/stores/CubeExamplesState.d.ts +1 -1
- package/lib/stores/CubeExamplesState.d.ts.map +1 -1
- package/lib/stores/CubeExamplesState.js +6 -3
- package/lib/stores/CubeExamplesState.js.map +1 -1
- package/lib/stores/CubeExecutionState.d.ts.map +1 -1
- package/lib/stores/CubeExecutionState.js +24 -33
- 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 +6 -14
- package/lib/stores/CubeExtendTyping.d.ts.map +1 -1
- package/lib/stores/CubeExtendTyping.js +6 -33
- package/lib/stores/CubeExtendTyping.js.map +1 -1
- 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 +25 -6
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
- package/lib/stores/CubeGridQuickActions.js +52 -23
- 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 +42 -0
- package/lib/stores/CubeHost.d.ts.map +1 -1
- package/lib/stores/CubeHost.js +4 -0
- package/lib/stores/CubeHost.js.map +1 -1
- 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/CubePureText.d.ts +20 -0
- package/lib/stores/CubePureText.d.ts.map +1 -0
- package/lib/stores/CubePureText.js +24 -0
- package/lib/stores/CubePureText.js.map +1 -0
- 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 +14 -1
- package/lib/stores/CubeShowPureState.d.ts.map +1 -1
- package/lib/stores/CubeShowPureState.js +41 -11
- package/lib/stores/CubeShowPureState.js.map +1 -1
- package/lib/stores/CubeSourcePickerState.d.ts +20 -4
- package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
- package/lib/stores/CubeSourcePickerState.js +75 -14
- package/lib/stores/CubeSourcePickerState.js.map +1 -1
- package/lib/stores/CubeTourState.d.ts +49 -0
- package/lib/stores/CubeTourState.d.ts.map +1 -0
- package/lib/stores/CubeTourState.js +92 -0
- package/lib/stores/CubeTourState.js.map +1 -0
- package/lib/stores/LegendCubeHost.d.ts +88 -0
- package/lib/stores/LegendCubeHost.d.ts.map +1 -0
- package/lib/stores/LegendCubeHost.js +149 -0
- package/lib/stores/LegendCubeHost.js.map +1 -0
- package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
- package/lib/stores/LocalModelCatalog.js +3 -1
- package/lib/stores/LocalModelCatalog.js.map +1 -1
- package/lib/stores/editors/CubeExplodeDraft.d.ts +87 -0
- package/lib/stores/editors/CubeExplodeDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExplodeDraft.js +221 -0
- package/lib/stores/editors/CubeExplodeDraft.js.map +1 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts +94 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js +258 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts +9 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeExtendDraft.js +26 -0
- package/lib/stores/editors/CubeExtendDraft.js.map +1 -1
- 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/CubeNodeDraftRegistry.d.ts +4 -2
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js +25 -3
- package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
- 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/fixtures/CubeSalesDuckDbModel.d.ts +27 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js +52 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts +4 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -1
- package/lib/stores/fixtures/CubeTradesModel.js +31 -1
- package/lib/stores/fixtures/CubeTradesModel.js.map +1 -1
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts +34 -5
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeDataProductTabState.js +111 -26
- package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -1
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +25 -2
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js +183 -31
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -1
- package/lib/stores/source-picker/CubeIngestTabState.d.ts +62 -15
- package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeIngestTabState.js +212 -60
- package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -1
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +100 -4
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeInlineModelTabState.js +415 -28
- package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -1
- package/lib/stores/source-picker/CubeProjectTabState.d.ts +18 -3
- package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeProjectTabState.js +26 -1
- package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -1
- 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 +15 -3
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeSourcePickerTab.js +21 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -1
- package/lib/stores/variant/CubeJson.d.ts +48 -0
- package/lib/stores/variant/CubeJson.d.ts.map +1 -0
- package/lib/stores/variant/CubeJson.js +207 -0
- package/lib/stores/variant/CubeJson.js.map +1 -0
- package/lib/stores/variant/CubeJsonExplorerState.d.ts +88 -0
- package/lib/stores/variant/CubeJsonExplorerState.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonExplorerState.js +297 -0
- package/lib/stores/variant/CubeJsonExplorerState.js.map +1 -0
- package/lib/stores/variant/CubeJsonFieldsState.d.ts +83 -0
- package/lib/stores/variant/CubeJsonFieldsState.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonFieldsState.js +207 -0
- package/lib/stores/variant/CubeJsonFieldsState.js.map +1 -0
- package/lib/stores/variant/CubeJsonOffers.d.ts +76 -0
- package/lib/stores/variant/CubeJsonOffers.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonOffers.js +250 -0
- package/lib/stores/variant/CubeJsonOffers.js.map +1 -0
- package/lib/stores/variant/CubeJsonParse.d.ts +28 -0
- package/lib/stores/variant/CubeJsonParse.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonParse.js +53 -0
- package/lib/stores/variant/CubeJsonParse.js.map +1 -0
- package/lib/stores/variant/CubeJsonSampling.d.ts +41 -0
- package/lib/stores/variant/CubeJsonSampling.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonSampling.js +59 -0
- package/lib/stores/variant/CubeJsonSampling.js.map +1 -0
- package/lib/stores/variant/CubeJsonShape.d.ts +87 -0
- package/lib/stores/variant/CubeJsonShape.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonShape.js +209 -0
- package/lib/stores/variant/CubeJsonShape.js.map +1 -0
- package/lib/stores/variant/CubeJsonViewerState.d.ts +33 -0
- package/lib/stores/variant/CubeJsonViewerState.d.ts.map +1 -0
- package/lib/stores/variant/CubeJsonViewerState.js +53 -0
- package/lib/stores/variant/CubeJsonViewerState.js.map +1 -0
- package/package.json +10 -9
- package/src/__lib__/LegendCubeCommand.ts +7 -0
- package/src/__lib__/LegendCubeFunctionLabels.ts +41 -0
- package/src/__lib__/LegendCubeHelpText.ts +27 -1
- package/src/__lib__/LegendCubeLabels.ts +225 -16
- package/src/__lib__/LegendCubeNavigation.ts +48 -0
- package/src/__lib__/LegendCubeProjectSourceLabels.ts +26 -0
- package/src/__lib__/LegendCubeServiceLabels.ts +41 -0
- package/src/__lib__/LegendCubeTesting.ts +9 -0
- package/src/__lib__/LegendCubeTour.ts +173 -0
- package/src/__test-utils__/CubeEngineTestSupport.ts +2 -1
- package/src/__test-utils__/CubeExampleTestUtils.ts +119 -0
- package/src/__test-utils__/CubeExpressionTestUtils.ts +29 -2
- package/src/__test-utils__/CubeFunctionTestOutline.ts +78 -0
- package/src/__test-utils__/CubeLambdaCorpus.ts +137 -0
- package/src/__test-utils__/CubePageTestUtils.tsx +34 -0
- package/src/__test-utils__/CubeTestApplication.ts +25 -0
- package/src/__test-utils__/CubeVariantTestUtils.ts +103 -0
- package/src/__test-utils__/FakeCubeEngine.ts +27 -0
- package/src/__test-utils__/FakeCubeIngestCatalog.ts +18 -0
- package/src/__test-utils__/FakeCubeServiceCatalog.ts +57 -0
- package/src/components/CubeAddItems.tsx +15 -6
- package/src/components/CubeDialogTheme.ts +25 -0
- package/src/components/CubeEditor.tsx +170 -129
- package/src/components/CubeFileMenu.tsx +129 -0
- package/src/components/CubeLambdaImportBanner.tsx +97 -0
- package/src/components/CubeNodeIcon.tsx +9 -0
- package/src/components/CubeSchemaColumnsTable.tsx +7 -2
- package/src/components/canvas/CubeCanvas.tsx +65 -10
- package/src/components/canvas/CubeCanvasContextMenu.tsx +33 -2
- package/src/components/canvas/CubeCanvasElements.ts +76 -3
- package/src/components/canvas/CubeCanvasLayout.ts +1 -1
- package/src/components/canvas/CubeCanvasNode.tsx +37 -3
- package/src/components/dev-settings/CubeDevSettings.tsx +169 -0
- package/src/components/editors/CubeColumnChecklist.tsx +8 -2
- package/src/components/editors/CubeColumnPicker.tsx +9 -3
- package/src/components/editors/CubeConcatEditor.tsx +2 -2
- package/src/components/editors/CubeExplodeEditor.tsx +207 -0
- package/src/components/editors/CubeExpressionFilterEditor.tsx +210 -0
- package/src/components/editors/CubeExtendEditor.tsx +34 -21
- package/src/components/editors/CubeFilterEditor.tsx +13 -1
- package/src/components/editors/CubeFunctionSourceEditor.tsx +140 -0
- package/src/components/editors/CubeJoinEditor.tsx +23 -4
- package/src/components/editors/CubeJsonFieldsTree.tsx +316 -0
- package/src/components/editors/CubeNodeEditorPanel.tsx +22 -10
- package/src/components/editors/CubeNodeEditorPopper.tsx +9 -1
- package/src/components/editors/CubeNodeEditorRegistry.ts +15 -0
- package/src/components/editors/CubePivotEditor.tsx +277 -0
- package/src/components/editors/CubeRestrictEditor.tsx +8 -2
- package/src/components/editors/CubeServiceSourceEditor.tsx +77 -0
- package/src/components/grid/CubeColumnFormatDialog.tsx +289 -0
- package/src/components/grid/CubeDrilldownBar.tsx +219 -0
- package/src/components/grid/CubeGridRegion.tsx +190 -56
- package/src/components/grid/CubeGridValues.ts +154 -4
- package/src/components/grid/CubeJsonExplorerDialog.tsx +304 -0
- package/src/components/grid/CubeJsonViewerDialog.tsx +190 -0
- package/src/components/grid/CubeResultGrid.tsx +586 -42
- package/src/components/grid/CubeRunStatsPanel.tsx +156 -0
- package/src/components/grid/CubeServerSideGrid.tsx +213 -0
- package/src/components/grid/CubeSqlDialog.tsx +90 -0
- package/src/components/grid/CubeSqlFormat.ts +37 -0
- package/src/components/palette/CubePalette.tsx +54 -12
- package/src/components/show-pure/CubeShowPureDialog.tsx +19 -5
- package/src/components/source-picker/CubeDataProductTab.tsx +169 -75
- package/src/components/source-picker/CubeDirectConnectionTab.tsx +42 -30
- package/src/components/source-picker/CubeFunctionSteps.tsx +244 -0
- package/src/components/source-picker/CubeIngestTab.tsx +195 -83
- package/src/components/source-picker/CubeInlineModelTab.tsx +110 -81
- package/src/components/source-picker/CubePickerListItem.tsx +118 -0
- package/src/components/source-picker/CubeProjectTab.tsx +6 -3
- package/src/components/source-picker/CubeServiceTab.tsx +151 -0
- package/src/components/source-picker/CubeSourcePicker.tsx +54 -18
- 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 +21 -8
- package/src/components/tour/CubeTour.tsx +317 -0
- package/src/graph-manager/CubeDataProductCatalog.ts +11 -0
- package/src/graph-manager/CubeEngine.ts +51 -1
- package/src/graph-manager/CubeEngineClientSettings.ts +64 -0
- package/src/graph-manager/CubeIngest.ts +15 -0
- package/src/graph-manager/CubeIngestCatalog.ts +33 -0
- package/src/graph-manager/CubeLakehouseRuntime.ts +43 -0
- package/src/graph-manager/CubeProjectCatalog.ts +3 -3
- package/src/graph-manager/CubeService.ts +29 -0
- package/src/graph-manager/CubeServiceCatalog.ts +35 -0
- package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +115 -5
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +13 -7
- package/src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts +312 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +35 -9
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +6 -15
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.ts +471 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +70 -15
- package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +3 -1
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +7 -1
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +122 -7
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +9 -4
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.ts +92 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +6 -1
- package/src/index.ts +39 -2
- package/src/stores/CubeAddPlacement.ts +25 -5
- package/src/stores/CubeDevSettingsState.ts +117 -0
- package/src/stores/CubeEditorState.ts +722 -201
- package/src/stores/CubeEngineChecks.ts +240 -0
- package/src/stores/CubeExamples.ts +188 -1
- package/src/stores/CubeExamplesState.ts +13 -3
- package/src/stores/CubeExecutionState.ts +26 -57
- package/src/stores/CubeExportState.ts +196 -0
- package/src/stores/CubeExpressionFilterCheck.ts +218 -0
- package/src/stores/CubeExtendTyping.ts +6 -46
- package/src/stores/CubeFunctionRecheck.ts +97 -0
- package/src/stores/CubeGridFetcher.ts +302 -0
- package/src/stores/CubeGridQuickActions.ts +56 -23
- package/src/stores/CubeGridState.ts +450 -0
- package/src/stores/CubeHost.ts +48 -0
- package/src/stores/CubeLambdaImportState.ts +434 -0
- package/src/stores/CubeLambdaSources.ts +390 -0
- package/src/stores/CubePureText.ts +28 -0
- 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 +51 -12
- package/src/stores/CubeSourcePickerState.ts +89 -13
- package/src/stores/CubeTourState.ts +116 -0
- package/src/stores/LegendCubeHost.ts +243 -0
- package/src/stores/LocalModelCatalog.ts +6 -1
- package/src/stores/editors/CubeExplodeDraft.ts +272 -0
- package/src/stores/editors/CubeExpressionFilterDraft.ts +389 -0
- package/src/stores/editors/CubeExtendDraft.ts +29 -0
- package/src/stores/editors/CubeFunctionDraft.ts +92 -0
- package/src/stores/editors/CubeNodeDraftRegistry.ts +34 -2
- package/src/stores/editors/CubePivotDraft.ts +355 -0
- package/src/stores/fixtures/CubeSalesDuckDbModel.ts +60 -0
- package/src/stores/fixtures/CubeTradesModel.ts +36 -1
- package/src/stores/source-picker/CubeDataProductTabState.ts +162 -35
- package/src/stores/source-picker/CubeDirectConnectionTabState.ts +246 -47
- package/src/stores/source-picker/CubeIngestTabState.ts +331 -106
- package/src/stores/source-picker/CubeInlineModelTabState.ts +514 -34
- package/src/stores/source-picker/CubeProjectTabState.ts +35 -3
- package/src/stores/source-picker/CubeServiceTabState.ts +288 -0
- package/src/stores/source-picker/CubeSourcePickerTab.ts +31 -2
- package/src/stores/variant/CubeJson.ts +229 -0
- package/src/stores/variant/CubeJsonExplorerState.ts +378 -0
- package/src/stores/variant/CubeJsonFieldsState.ts +252 -0
- package/src/stores/variant/CubeJsonOffers.ts +359 -0
- package/src/stores/variant/CubeJsonParse.ts +75 -0
- package/src/stores/variant/CubeJsonSampling.ts +90 -0
- package/src/stores/variant/CubeJsonShape.ts +279 -0
- package/src/stores/variant/CubeJsonViewerState.ts +59 -0
- package/tsconfig.json +72 -1
|
@@ -0,0 +1,25 @@
|
|
|
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 { PlainObject } from '@finos/legend-shared';
|
|
17
|
+
import type { CubeEditorState } from './CubeEditorState.js';
|
|
18
|
+
/**
|
|
19
|
+
* The query of the step that runs, as a lambda for a host to keep, e.g. as
|
|
20
|
+
* a materialized view of a Studio ingest definition: written for the
|
|
21
|
+
* database it runs on, as Execute writes it, but with no runtime and no row
|
|
22
|
+
* limit, which whoever runs it adds. Fails when Execute can't run.
|
|
23
|
+
*/
|
|
24
|
+
export declare const buildCubeRunningStepLambda: (editorState: CubeEditorState) => Promise<PlainObject>;
|
|
25
|
+
//# sourceMappingURL=CubeRunningStepLambda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeRunningStepLambda.d.ts","sourceRoot":"","sources":["../../src/stores/CubeRunningStepLambda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACrC,aAAa,eAAe,KAC3B,OAAO,CAAC,WAAW,CA8BrB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 { lambda, needsDatabaseType } from '@finos/legend-cube';
|
|
17
|
+
import { flowResult } from 'mobx';
|
|
18
|
+
import { formatDisabledReasons } from '../__lib__/LegendCubeLabels.js';
|
|
19
|
+
import { serializeCubeLambdaForHost } from '../graph-manager/protocol/pure/CubeEngineBuilder.js';
|
|
20
|
+
/**
|
|
21
|
+
* The query of the step that runs, as a lambda for a host to keep, e.g. as
|
|
22
|
+
* a materialized view of a Studio ingest definition: written for the
|
|
23
|
+
* database it runs on, as Execute writes it, but with no runtime and no row
|
|
24
|
+
* limit, which whoever runs it adds. Fails when Execute can't run.
|
|
25
|
+
*/
|
|
26
|
+
export const buildCubeRunningStepLambda = async (editorState) => {
|
|
27
|
+
const { execution, document, emitter } = editorState;
|
|
28
|
+
const { query, context } = document;
|
|
29
|
+
const captureId = query.selected;
|
|
30
|
+
const runtime = context?.runtime;
|
|
31
|
+
const model = context?.model;
|
|
32
|
+
if (!execution.canExecute ||
|
|
33
|
+
captureId === undefined ||
|
|
34
|
+
runtime === undefined ||
|
|
35
|
+
model === undefined) {
|
|
36
|
+
throw new Error(formatDisabledReasons(execution.disabledReasons));
|
|
37
|
+
}
|
|
38
|
+
let databaseType;
|
|
39
|
+
if (needsDatabaseType(query, captureId)) {
|
|
40
|
+
await flowResult(editorState.loadModelOutline(model));
|
|
41
|
+
databaseType = editorState.getRunDatabaseType(query, captureId, model, runtime);
|
|
42
|
+
}
|
|
43
|
+
return serializeCubeLambdaForHost(lambda([], [emitter.emitRelation(captureId, { withRowOrder: true, databaseType })]));
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=CubeRunningStepLambda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeRunningStepLambda.js","sourceRoot":"","sources":["../../src/stores/CubeRunningStepLambda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AAGjG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,WAA4B,EACN,EAAE;IACxB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IACrD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC7B,IACE,CAAC,SAAS,CAAC,UAAU;QACrB,SAAS,KAAK,SAAS;QACvB,OAAO,KAAK,SAAS;QACrB,KAAK,KAAK,SAAS,EACnB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,YAAgC,CAAC;IACrC,IAAI,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAC3C,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,CACR,CAAC;IACJ,CAAC;IACD,OAAO,0BAA0B,CAC/B,MAAM,CACJ,EAAE,EACF,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CACxE,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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 { ModelContext, Schema, ServiceSource } from '@finos/legend-cube';
|
|
17
|
+
import { CubeEngineError, type NodeId } from '../graph-manager/CubeEngine.js';
|
|
18
|
+
import type { CubeServiceCatalog } from '../graph-manager/CubeServiceCatalog.js';
|
|
19
|
+
/**
|
|
20
|
+
* Types a cube's services (PLAN §6.4), when they are added and whenever
|
|
21
|
+
* they are read again. One answer per source, failures included; never
|
|
22
|
+
* rejects.
|
|
23
|
+
*
|
|
24
|
+
* TODO: type each service, e.g. through the engine with the lambda its
|
|
25
|
+
* emitter will write (`#SQL{select * from service('/pattern')}#`). Until
|
|
26
|
+
* then every service fails, with why, so it is invalid and nothing runs.
|
|
27
|
+
*/
|
|
28
|
+
export declare const recheckCubeServiceSources: (catalog: CubeServiceCatalog | undefined, model: ModelContext, sources: readonly ServiceSource[]) => Promise<Map<NodeId, Schema | CubeEngineError>>;
|
|
29
|
+
//# sourceMappingURL=CubeServiceRecheck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeServiceRecheck.d.ts","sourceRoot":"","sources":["../../src/stores/CubeServiceRecheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,EACL,eAAe,EAEf,KAAK,MAAM,EACZ,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,kBAAkB,GAAG,SAAS,EACvC,OAAO,YAAY,EACnB,SAAS,SAAS,aAAa,EAAE,KAChC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,CAc7C,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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 { CUBE_SERVICE_MESSAGE } from '../__lib__/LegendCubeServiceLabels.js';
|
|
17
|
+
import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
|
|
18
|
+
/**
|
|
19
|
+
* Types a cube's services (PLAN §6.4), when they are added and whenever
|
|
20
|
+
* they are read again. One answer per source, failures included; never
|
|
21
|
+
* rejects.
|
|
22
|
+
*
|
|
23
|
+
* TODO: type each service, e.g. through the engine with the lambda its
|
|
24
|
+
* emitter will write (`#SQL{select * from service('/pattern')}#`). Until
|
|
25
|
+
* then every service fails, with why, so it is invalid and nothing runs.
|
|
26
|
+
*/
|
|
27
|
+
export const recheckCubeServiceSources = (catalog, model, sources) => Promise.resolve(new Map(sources.map((source) => [
|
|
28
|
+
source.id,
|
|
29
|
+
new CubeEngineError(CubeEngineErrorKind.UNSUPPORTED_MODEL, catalog
|
|
30
|
+
? CUBE_SERVICE_MESSAGE.NOT_READABLE
|
|
31
|
+
: CUBE_SERVICE_MESSAGE.NO_CATALOG, source.id),
|
|
32
|
+
])));
|
|
33
|
+
//# sourceMappingURL=CubeServiceRecheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeServiceRecheck.js","sourceRoot":"","sources":["../../src/stores/CubeServiceRecheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EACL,eAAe,EACf,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AAGxC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,OAAuC,EACvC,KAAmB,EACnB,OAAiC,EACe,EAAE,CAClD,OAAO,CAAC,OAAO,CACb,IAAI,GAAG,CACL,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE;IACT,IAAI,eAAe,CACjB,mBAAmB,CAAC,iBAAiB,EACrC,OAAO;QACL,CAAC,CAAC,oBAAoB,CAAC,YAAY;QACnC,CAAC,CAAC,oBAAoB,CAAC,UAAU,EACnC,MAAM,CAAC,EAAE,CACV;CACF,CAAC,CACH,CACF,CAAC"}
|
|
@@ -16,17 +16,21 @@
|
|
|
16
16
|
import type { GeneratorFn } from '@finos/legend-shared';
|
|
17
17
|
import { CubeEngineError } from '../graph-manager/CubeEngine.js';
|
|
18
18
|
import type { CubeEditorState } from './CubeEditorState.js';
|
|
19
|
+
import type { CubeRunStat } from './CubeRunStatsState.js';
|
|
19
20
|
/**
|
|
20
21
|
* Show Pure: the Pure text of what Execute would run, the capture node's
|
|
21
22
|
* execution lambda, as the engine renders it. It leaves out the row limit
|
|
22
23
|
* Execute adds (`limit(rowLimit + 1)`, how the grid knows there are more
|
|
23
24
|
* rows), as Legend Query's own Show Pure does: only a Take or Drop the user
|
|
24
25
|
* added shows (user, 2026-10-10). For display only: the text is never parsed
|
|
25
|
-
* back (PLAN §8.7).
|
|
26
|
+
* back (PLAN §8.7). It also shows a run's lambda from the Runs panel as it
|
|
27
|
+
* ran, its row limit included, for debugging (PLAN §11.16).
|
|
26
28
|
*/
|
|
27
29
|
export declare class CubeShowPureState {
|
|
28
30
|
readonly editorState: CubeEditorState;
|
|
29
31
|
isOpen: boolean;
|
|
32
|
+
/** The run shown, by its label; `undefined` for the cube's query */
|
|
33
|
+
run: string | undefined;
|
|
30
34
|
text: string | undefined;
|
|
31
35
|
/** Why the engine couldn't render the query; shown in the dialog */
|
|
32
36
|
error: CubeEngineError | undefined;
|
|
@@ -39,6 +43,15 @@ export declare class CubeShowPureState {
|
|
|
39
43
|
* on, as Execute writes it; does nothing when Execute can't run
|
|
40
44
|
*/
|
|
41
45
|
open(): GeneratorFn<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Opens the dialog on a run of the Runs panel and renders the lambda it
|
|
48
|
+
* sent, as it ran (PLAN §11.16); does nothing for a run that failed before
|
|
49
|
+
* one was written
|
|
50
|
+
*/
|
|
51
|
+
openRun(run: CubeRunStat): GeneratorFn<void>;
|
|
52
|
+
private start;
|
|
53
|
+
/** Renders the text, unless the dialog was closed or opened again meanwhile */
|
|
54
|
+
private render;
|
|
42
55
|
close(): void;
|
|
43
56
|
}
|
|
44
57
|
//# sourceMappingURL=CubeShowPureState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeShowPureState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeShowPureState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CubeShowPureState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeShowPureState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAEtC,MAAM,UAAS;IACf,oEAAoE;IACpE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,oEAAoE;IACpE,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC,WAAW,UAAS;IACpB,8EAA8E;IAC9E,OAAO,CAAC,OAAO,CAAK;gBAER,WAAW,EAAE,eAAe;IAcxC;;;OAGG;IACF,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;IAgC1B;;;;OAIG;IACF,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IAW7C,OAAO,CAAC,KAAK;IAUb,+EAA+E;IAC/E,OAAO,CAAE,MAAM;IA0Bf,KAAK,IAAI,IAAI;CAQd"}
|
|
@@ -22,11 +22,14 @@ import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngi
|
|
|
22
22
|
* Execute adds (`limit(rowLimit + 1)`, how the grid knows there are more
|
|
23
23
|
* rows), as Legend Query's own Show Pure does: only a Take or Drop the user
|
|
24
24
|
* added shows (user, 2026-10-10). For display only: the text is never parsed
|
|
25
|
-
* back (PLAN §8.7).
|
|
25
|
+
* back (PLAN §8.7). It also shows a run's lambda from the Runs panel as it
|
|
26
|
+
* ran, its row limit included, for debugging (PLAN §11.16).
|
|
26
27
|
*/
|
|
27
28
|
export class CubeShowPureState {
|
|
28
29
|
editorState;
|
|
29
30
|
isOpen = false;
|
|
31
|
+
/** The run shown, by its label; `undefined` for the cube's query */
|
|
32
|
+
run;
|
|
30
33
|
text;
|
|
31
34
|
/** Why the engine couldn't render the query; shown in the dialog */
|
|
32
35
|
error;
|
|
@@ -36,10 +39,12 @@ export class CubeShowPureState {
|
|
|
36
39
|
constructor(editorState) {
|
|
37
40
|
makeObservable(this, {
|
|
38
41
|
isOpen: observable,
|
|
42
|
+
run: observable,
|
|
39
43
|
text: observable,
|
|
40
44
|
error: observable.ref,
|
|
41
45
|
isRendering: observable,
|
|
42
46
|
open: flow,
|
|
47
|
+
openRun: flow,
|
|
43
48
|
close: action,
|
|
44
49
|
});
|
|
45
50
|
this.editorState = editorState;
|
|
@@ -58,23 +63,47 @@ export class CubeShowPureState {
|
|
|
58
63
|
if (!execution.canExecute || runtime === undefined || model === undefined) {
|
|
59
64
|
return;
|
|
60
65
|
}
|
|
61
|
-
const request =
|
|
62
|
-
this.
|
|
63
|
-
this.text = undefined;
|
|
64
|
-
this.error = undefined;
|
|
65
|
-
this.isRendering = true;
|
|
66
|
-
try {
|
|
66
|
+
const request = this.start(undefined);
|
|
67
|
+
yield* this.render(request, async () => {
|
|
67
68
|
let databaseType;
|
|
68
69
|
if (needsDatabaseType(query, captureId)) {
|
|
69
|
-
|
|
70
|
+
await flowResult(this.editorState.loadModelOutline(model));
|
|
70
71
|
// closed, or opened again, while the outline loaded
|
|
71
72
|
if (request !== this.request) {
|
|
72
|
-
return;
|
|
73
|
+
return undefined;
|
|
73
74
|
}
|
|
74
75
|
databaseType = this.editorState.getRunDatabaseType(query, captureId, model, runtime);
|
|
75
76
|
}
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
return host.engine.renderPure(emitter.emitExecutionLambda({ runtime, databaseType }));
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Opens the dialog on a run of the Runs panel and renders the lambda it
|
|
82
|
+
* sent, as it ran (PLAN §11.16); does nothing for a run that failed before
|
|
83
|
+
* one was written
|
|
84
|
+
*/
|
|
85
|
+
*openRun(run) {
|
|
86
|
+
const { lambda } = run;
|
|
87
|
+
if (lambda === undefined) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const request = this.start(run.label);
|
|
91
|
+
yield* this.render(request, () => this.editorState.host.engine.renderPure(lambda));
|
|
92
|
+
}
|
|
93
|
+
start(run) {
|
|
94
|
+
const request = ++this.request;
|
|
95
|
+
this.isOpen = true;
|
|
96
|
+
this.run = run;
|
|
97
|
+
this.text = undefined;
|
|
98
|
+
this.error = undefined;
|
|
99
|
+
this.isRendering = true;
|
|
100
|
+
return request;
|
|
101
|
+
}
|
|
102
|
+
/** Renders the text, unless the dialog was closed or opened again meanwhile */
|
|
103
|
+
*render(request, rendering) {
|
|
104
|
+
try {
|
|
105
|
+
const text = (yield rendering());
|
|
106
|
+
if (request === this.request && text !== undefined) {
|
|
78
107
|
this.text = text;
|
|
79
108
|
}
|
|
80
109
|
}
|
|
@@ -96,6 +125,7 @@ export class CubeShowPureState {
|
|
|
96
125
|
this.request++;
|
|
97
126
|
this.isOpen = false;
|
|
98
127
|
this.isRendering = false;
|
|
128
|
+
this.run = undefined;
|
|
99
129
|
this.text = undefined;
|
|
100
130
|
this.error = undefined;
|
|
101
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeShowPureState.js","sourceRoot":"","sources":["../../src/stores/CubeShowPureState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"CubeShowPureState.js","sourceRoot":"","sources":["../../src/stores/CubeShowPureState.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,9 @@ import type { CubeEditorState } from './CubeEditorState.js';
|
|
|
18
18
|
import { CubeDataProductTabState } from './source-picker/CubeDataProductTabState.js';
|
|
19
19
|
import { CubeDirectConnectionTabState } from './source-picker/CubeDirectConnectionTabState.js';
|
|
20
20
|
import { CubeIngestTabState } from './source-picker/CubeIngestTabState.js';
|
|
21
|
-
import { CubeProjectTabState } from './source-picker/CubeProjectTabState.js';
|
|
21
|
+
import { CubeProjectFunctionTabState, CubeProjectTabState } from './source-picker/CubeProjectTabState.js';
|
|
22
22
|
import { CubeInlineModelTabState } from './source-picker/CubeInlineModelTabState.js';
|
|
23
|
+
import { CubeServiceTabState } from './source-picker/CubeServiceTabState.js';
|
|
23
24
|
import { type CubeSourcePickerTab, CubeSourcePickerTabKey } from './source-picker/CubeSourcePickerTab.js';
|
|
24
25
|
/**
|
|
25
26
|
* The source dialog (PLAN §6.1, §6.8): a tab per way to find a source, the
|
|
@@ -34,10 +35,14 @@ export declare class CubeSourcePickerState {
|
|
|
34
35
|
readonly dataProductTab: CubeDataProductTabState;
|
|
35
36
|
readonly ingestTab: CubeIngestTabState;
|
|
36
37
|
readonly projectTab: CubeProjectTabState;
|
|
38
|
+
readonly projectFunctionTab: CubeProjectFunctionTabState;
|
|
39
|
+
readonly serviceTab: CubeServiceTabState;
|
|
37
40
|
isOpen: boolean;
|
|
38
41
|
activeTabKey: CubeSourcePickerTabKey;
|
|
39
42
|
/** Open with no tab chosen yet, from the empty canvas's link (U4(b)) */
|
|
40
43
|
isChoosingTab: boolean;
|
|
44
|
+
/** Opened from the Examples dialog's dataset, so it offers a way back to it */
|
|
45
|
+
isFromExamples: boolean;
|
|
41
46
|
constructor(editorState: CubeEditorState);
|
|
42
47
|
/** The tabs that add their own kind of source, each from its palette item */
|
|
43
48
|
private get dedicatedTabs();
|
|
@@ -48,16 +53,23 @@ export declare class CubeSourcePickerState {
|
|
|
48
53
|
* serve; the Sample Data tab takes any context no tab claims
|
|
49
54
|
*/
|
|
50
55
|
get fixedTab(): CubeSourcePickerTab | undefined;
|
|
56
|
+
/** The tab open last, else the first the host serves */
|
|
51
57
|
get activeTab(): CubeSourcePickerTab;
|
|
52
58
|
/**
|
|
53
|
-
* The tab a palette item opens (DP-3): a data product's
|
|
54
|
-
* set's own tab, when the host serves it; for a table, the table tab the
|
|
59
|
+
* The tab a palette item opens (DP-3): a data product's, an ingest data
|
|
60
|
+
* set's or a service's own tab, when the host serves it; for a table, the table tab the
|
|
55
61
|
* cube uses, else the table tab open last, else the Sample Data tab
|
|
56
62
|
*/
|
|
57
63
|
tabForSourceType(type: string): CubeSourcePickerTab | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* Opens the dialog on the tab a palette item's type opens; a model's tab
|
|
66
|
+
* reads tables or functions as the item asks
|
|
67
|
+
*/
|
|
68
|
+
openForSourceType(type: string): void;
|
|
58
69
|
/**
|
|
59
70
|
* A cube with a fixed context takes sources from its own tab only, and
|
|
60
|
-
* none when the host doesn't serve that tab
|
|
71
|
+
* none when the host doesn't serve that tab; a project cube from both of
|
|
72
|
+
* its tabs, Project Database and Project Function (PLAN §6.5)
|
|
61
73
|
*/
|
|
62
74
|
isTabEnabled(tab: CubeSourcePickerTab): boolean;
|
|
63
75
|
/**
|
|
@@ -79,6 +91,10 @@ export declare class CubeSourcePickerState {
|
|
|
79
91
|
openToChoose(): void;
|
|
80
92
|
/** Switches to an enabled tab; the tab left drops what it was waiting for */
|
|
81
93
|
selectTab(tabKey: CubeSourcePickerTabKey): void;
|
|
94
|
+
/** Opens on a tab, as `open` does, offering a way back to the Examples dialog */
|
|
95
|
+
openFromExamples(tabKey: CubeSourcePickerTabKey): void;
|
|
96
|
+
/** Closes the dialog and reopens the Examples dialog it came from */
|
|
97
|
+
backToExamples(): void;
|
|
82
98
|
/** Closes the dialog; a source still being typed is not added */
|
|
83
99
|
close(): void;
|
|
84
100
|
/** Adds the open tab's source, then closes the dialog */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeSourcePickerState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeSourcePickerState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"CubeSourcePickerState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeSourcePickerState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAaxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,uBAAuB,EAExB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EACxB,sBAAsB,EACvB,MAAM,wCAAwC,CAAC;AAEhD;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,4BAA4B,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,uBAAuB,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAEzC,MAAM,UAAS;IACf,YAAY,yBAAgC;IAC5C,wEAAwE;IACxE,aAAa,UAAS;IACtB,+EAA+E;IAC/E,cAAc,UAAS;gBAEX,WAAW,EAAE,eAAe;IA8BxC,6EAA6E;IAC7E,OAAO,KAAK,aAAa,GAMxB;IAED,yCAAyC;IACzC,IAAI,IAAI,IAAI,SAAS,mBAAmB,EAAE,CAUzC;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,mBAAmB,GAAG,SAAS,CAY9C;IAED,wDAAwD;IACxD,IAAI,SAAS,IAAI,mBAAmB,CAMnC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAwB/D;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAYrC;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO;IAc/C;;;OAGG;IACH,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAQvC;IAED,IAAI,UAAU,IAAI,OAAO,CAMxB;IAED;;;OAGG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,IAAI;IAgB3C;;;;OAIG;IACH,YAAY,IAAI,IAAI;IASpB,6EAA6E;IAC7E,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAgB/C,iFAAiF;IACjF,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAKtD,qEAAqE;IACrE,cAAc,IAAI,IAAI;IAKtB,iEAAiE;IACjE,KAAK,IAAI,IAAI;IAab,yDAAyD;IACxD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC;CAW9B"}
|
|
@@ -13,14 +13,15 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { DataProductAccessPointSource, IngestDatasetSource, RelationalTableSource, } from '@finos/legend-cube';
|
|
16
|
+
import { DataProductAccessPointSource, FunctionSource, IngestDatasetSource, RelationalTableSource, ServiceSource, } from '@finos/legend-cube';
|
|
17
17
|
import { action, computed, flow, flowResult, makeObservable, observable, } from 'mobx';
|
|
18
18
|
import { READ_ONLY_CUBE_TITLE, UNSERVED_SOURCE_KIND_TITLE, } from '../__lib__/LegendCubeLabels.js';
|
|
19
19
|
import { CubeDataProductTabState } from './source-picker/CubeDataProductTabState.js';
|
|
20
20
|
import { CubeDirectConnectionTabState } from './source-picker/CubeDirectConnectionTabState.js';
|
|
21
21
|
import { CubeIngestTabState } from './source-picker/CubeIngestTabState.js';
|
|
22
|
-
import { CubeProjectTabState } from './source-picker/CubeProjectTabState.js';
|
|
23
|
-
import { CubeInlineModelTabState } from './source-picker/CubeInlineModelTabState.js';
|
|
22
|
+
import { CubeProjectFunctionTabState, CubeProjectTabState, } from './source-picker/CubeProjectTabState.js';
|
|
23
|
+
import { CubeInlineModelTabState, CubeModelReadKind, } from './source-picker/CubeInlineModelTabState.js';
|
|
24
|
+
import { CubeServiceTabState } from './source-picker/CubeServiceTabState.js';
|
|
24
25
|
import { CubeSourcePickerTabKey, } from './source-picker/CubeSourcePickerTab.js';
|
|
25
26
|
/**
|
|
26
27
|
* The source dialog (PLAN §6.1, §6.8): a tab per way to find a source, the
|
|
@@ -35,15 +36,20 @@ export class CubeSourcePickerState {
|
|
|
35
36
|
dataProductTab;
|
|
36
37
|
ingestTab;
|
|
37
38
|
projectTab;
|
|
39
|
+
projectFunctionTab;
|
|
40
|
+
serviceTab;
|
|
38
41
|
isOpen = false;
|
|
39
42
|
activeTabKey = CubeSourcePickerTabKey.MODEL;
|
|
40
43
|
/** Open with no tab chosen yet, from the empty canvas's link (U4(b)) */
|
|
41
44
|
isChoosingTab = false;
|
|
45
|
+
/** Opened from the Examples dialog's dataset, so it offers a way back to it */
|
|
46
|
+
isFromExamples = false;
|
|
42
47
|
constructor(editorState) {
|
|
43
48
|
makeObservable(this, {
|
|
44
49
|
isOpen: observable,
|
|
45
50
|
activeTabKey: observable,
|
|
46
51
|
isChoosingTab: observable,
|
|
52
|
+
isFromExamples: observable,
|
|
47
53
|
tabs: computed,
|
|
48
54
|
fixedTab: computed,
|
|
49
55
|
activeTab: computed,
|
|
@@ -51,6 +57,9 @@ export class CubeSourcePickerState {
|
|
|
51
57
|
canConfirm: computed,
|
|
52
58
|
open: action,
|
|
53
59
|
openToChoose: action,
|
|
60
|
+
openForSourceType: action,
|
|
61
|
+
openFromExamples: action,
|
|
62
|
+
backToExamples: action,
|
|
54
63
|
selectTab: action,
|
|
55
64
|
close: action,
|
|
56
65
|
confirm: flow,
|
|
@@ -61,12 +70,15 @@ export class CubeSourcePickerState {
|
|
|
61
70
|
this.dataProductTab = new CubeDataProductTabState(editorState);
|
|
62
71
|
this.ingestTab = new CubeIngestTabState(editorState);
|
|
63
72
|
this.projectTab = new CubeProjectTabState(editorState);
|
|
73
|
+
this.projectFunctionTab = new CubeProjectFunctionTabState(editorState);
|
|
74
|
+
this.serviceTab = new CubeServiceTabState(editorState);
|
|
64
75
|
}
|
|
65
76
|
/** The tabs that add their own kind of source, each from its palette item */
|
|
66
77
|
get dedicatedTabs() {
|
|
67
78
|
return new Map([
|
|
68
79
|
[DataProductAccessPointSource.TYPE, this.dataProductTab],
|
|
69
80
|
[IngestDatasetSource.TYPE, this.ingestTab],
|
|
81
|
+
[ServiceSource.TYPE, this.serviceTab],
|
|
70
82
|
]);
|
|
71
83
|
}
|
|
72
84
|
/** The tabs the host serves, in order */
|
|
@@ -74,9 +86,11 @@ export class CubeSourcePickerState {
|
|
|
74
86
|
return [
|
|
75
87
|
this.modelTab,
|
|
76
88
|
this.projectTab,
|
|
89
|
+
this.projectFunctionTab,
|
|
77
90
|
this.directTab,
|
|
78
91
|
this.dataProductTab,
|
|
79
92
|
this.ingestTab,
|
|
93
|
+
this.serviceTab,
|
|
80
94
|
].filter((tab) => tab.isAvailable);
|
|
81
95
|
}
|
|
82
96
|
/**
|
|
@@ -88,18 +102,23 @@ export class CubeSourcePickerState {
|
|
|
88
102
|
return context
|
|
89
103
|
? ([
|
|
90
104
|
this.projectTab,
|
|
105
|
+
this.projectFunctionTab,
|
|
91
106
|
this.directTab,
|
|
92
107
|
this.dataProductTab,
|
|
93
108
|
this.ingestTab,
|
|
109
|
+
this.serviceTab,
|
|
94
110
|
].find((tab) => tab.ownsContext(context)) ?? this.modelTab)
|
|
95
111
|
: undefined;
|
|
96
112
|
}
|
|
113
|
+
/** The tab open last, else the first the host serves */
|
|
97
114
|
get activeTab() {
|
|
98
|
-
return (this.tabs.find((tab) => tab.key === this.activeTabKey) ??
|
|
115
|
+
return (this.tabs.find((tab) => tab.key === this.activeTabKey) ??
|
|
116
|
+
this.tabs[0] ??
|
|
117
|
+
this.modelTab);
|
|
99
118
|
}
|
|
100
119
|
/**
|
|
101
|
-
* The tab a palette item opens (DP-3): a data product's
|
|
102
|
-
* set's own tab, when the host serves it; for a table, the table tab the
|
|
120
|
+
* The tab a palette item opens (DP-3): a data product's, an ingest data
|
|
121
|
+
* set's or a service's own tab, when the host serves it; for a table, the table tab the
|
|
103
122
|
* cube uses, else the table tab open last, else the Sample Data tab
|
|
104
123
|
*/
|
|
105
124
|
tabForSourceType(type) {
|
|
@@ -107,22 +126,50 @@ export class CubeSourcePickerState {
|
|
|
107
126
|
if (dedicated) {
|
|
108
127
|
return dedicated.isAvailable ? dedicated : undefined;
|
|
109
128
|
}
|
|
110
|
-
if (type !== RelationalTableSource.TYPE) {
|
|
129
|
+
if (type !== RelationalTableSource.TYPE && type !== FunctionSource.TYPE) {
|
|
111
130
|
return undefined;
|
|
112
131
|
}
|
|
113
132
|
const dedicatedTabs = [...this.dedicatedTabs.values()];
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
?
|
|
118
|
-
|
|
133
|
+
// a table comes from a model or a connection, a function from a model:
|
|
134
|
+
// a project's tables and functions each have their own tab
|
|
135
|
+
const readers = this.tabs.filter((tab) => type === FunctionSource.TYPE
|
|
136
|
+
? tab instanceof CubeInlineModelTabState &&
|
|
137
|
+
tab.readKinds.includes(CubeModelReadKind.FUNCTION)
|
|
138
|
+
: !dedicatedTabs.includes(tab) &&
|
|
139
|
+
(!(tab instanceof CubeInlineModelTabState) ||
|
|
140
|
+
tab.readKinds.includes(CubeModelReadKind.TABLE)));
|
|
141
|
+
return this.fixedTab
|
|
142
|
+
? readers.find((tab) => this.isTabEnabled(tab))
|
|
143
|
+
: (readers.find((tab) => tab === this.activeTab) ?? readers[0]);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Opens the dialog on the tab a palette item's type opens; a model's tab
|
|
147
|
+
* reads tables or functions as the item asks
|
|
148
|
+
*/
|
|
149
|
+
openForSourceType(type) {
|
|
150
|
+
const tab = this.tabForSourceType(type);
|
|
151
|
+
if (tab instanceof CubeInlineModelTabState) {
|
|
152
|
+
tab.setReadKind(type === FunctionSource.TYPE
|
|
153
|
+
? CubeModelReadKind.FUNCTION
|
|
154
|
+
: CubeModelReadKind.TABLE);
|
|
155
|
+
}
|
|
156
|
+
this.open(tab?.key);
|
|
119
157
|
}
|
|
120
158
|
/**
|
|
121
159
|
* A cube with a fixed context takes sources from its own tab only, and
|
|
122
|
-
* none when the host doesn't serve that tab
|
|
160
|
+
* none when the host doesn't serve that tab; a project cube from both of
|
|
161
|
+
* its tabs, Project Database and Project Function (PLAN §6.5)
|
|
123
162
|
*/
|
|
124
163
|
isTabEnabled(tab) {
|
|
125
|
-
|
|
164
|
+
const { fixedTab } = this;
|
|
165
|
+
const { context } = this.editorState.document;
|
|
166
|
+
return (tab.isAvailable &&
|
|
167
|
+
(fixedTab === undefined ||
|
|
168
|
+
tab === fixedTab ||
|
|
169
|
+
// a project cube's tables and functions, each from its tab
|
|
170
|
+
(context !== undefined &&
|
|
171
|
+
tab !== this.modelTab &&
|
|
172
|
+
tab.ownsContext(context))));
|
|
126
173
|
}
|
|
127
174
|
/**
|
|
128
175
|
* Why the dialog can't open, else undefined: the cube is read-only, or the
|
|
@@ -153,6 +200,7 @@ export class CubeSourcePickerState {
|
|
|
153
200
|
const { fixedTab } = this;
|
|
154
201
|
this.isOpen = true;
|
|
155
202
|
this.isChoosingTab = false;
|
|
203
|
+
this.isFromExamples = false;
|
|
156
204
|
const tab = fixedTab ??
|
|
157
205
|
this.tabs.find((candidate) => candidate.key === tabKey) ??
|
|
158
206
|
this.activeTab;
|
|
@@ -187,15 +235,28 @@ export class CubeSourcePickerState {
|
|
|
187
235
|
tab.open();
|
|
188
236
|
}
|
|
189
237
|
}
|
|
238
|
+
/** Opens on a tab, as `open` does, offering a way back to the Examples dialog */
|
|
239
|
+
openFromExamples(tabKey) {
|
|
240
|
+
this.open(tabKey);
|
|
241
|
+
this.isFromExamples = this.isOpen;
|
|
242
|
+
}
|
|
243
|
+
/** Closes the dialog and reopens the Examples dialog it came from */
|
|
244
|
+
backToExamples() {
|
|
245
|
+
this.close();
|
|
246
|
+
this.editorState.examples.open();
|
|
247
|
+
}
|
|
190
248
|
/** Closes the dialog; a source still being typed is not added */
|
|
191
249
|
close() {
|
|
192
250
|
this.isOpen = false;
|
|
251
|
+
this.isFromExamples = false;
|
|
193
252
|
this.isChoosingTab = false;
|
|
194
253
|
this.modelTab.close();
|
|
195
254
|
this.directTab.close();
|
|
196
255
|
this.dataProductTab.close();
|
|
197
256
|
this.ingestTab.close();
|
|
198
257
|
this.projectTab.close();
|
|
258
|
+
this.projectFunctionTab.close();
|
|
259
|
+
this.serviceTab.close();
|
|
199
260
|
}
|
|
200
261
|
/** Adds the open tab's source, then closes the dialog */
|
|
201
262
|
*confirm() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeSourcePickerState.js","sourceRoot":"","sources":["../../src/stores/CubeSourcePickerState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"CubeSourcePickerState.js","sourceRoot":"","sources":["../../src/stores/CubeSourcePickerState.ts"],"names":[],"mappings":"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"}
|