@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,49 @@
|
|
|
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 CubeTourStep } from '../__lib__/LegendCubeTour.js';
|
|
17
|
+
import type { CubeEditorState } from './CubeEditorState.js';
|
|
18
|
+
/** Whether a step can be shown: its controls are on the page */
|
|
19
|
+
export type CubeTourStepShown = (step: CubeTourStep) => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The editor's guided tour (PLAN §11.21): one step at a time, each pointing
|
|
22
|
+
* at its controls; a step whose controls aren't on the page is skipped. It
|
|
23
|
+
* starts on the cube as it is, the node editor's edits applied first; on an
|
|
24
|
+
* empty cube, where examples are offered, it opens one to show (one undo
|
|
25
|
+
* step). Nothing starts it but the user.
|
|
26
|
+
*/
|
|
27
|
+
export declare class CubeTourState {
|
|
28
|
+
readonly editorState: CubeEditorState;
|
|
29
|
+
readonly steps: readonly CubeTourStep[];
|
|
30
|
+
isOpen: boolean;
|
|
31
|
+
/** The step shown, an index into `steps` */
|
|
32
|
+
index: number;
|
|
33
|
+
/** Whether this tour opened its example */
|
|
34
|
+
openedExample: boolean;
|
|
35
|
+
constructor(editorState: CubeEditorState);
|
|
36
|
+
get step(): CubeTourStep | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Starts the tour at its first step; not while the node editor keeps its
|
|
39
|
+
* edits open, as other actions wait for it
|
|
40
|
+
*/
|
|
41
|
+
start(): void;
|
|
42
|
+
/**
|
|
43
|
+
* The step `by` steps on (1) or back (-1), skipping those not shown; past
|
|
44
|
+
* the last, the tour ends; before the first, it stays
|
|
45
|
+
*/
|
|
46
|
+
move(by: 1 | -1, isShown: CubeTourStepShown): void;
|
|
47
|
+
close(): void;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=CubeTourState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeTourState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeTourState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC;AAEhE;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAoB;IAE3D,MAAM,UAAS;IACf,4CAA4C;IAC5C,KAAK,SAAK;IACV,2CAA2C;IAC3C,aAAa,UAAS;gBAEV,WAAW,EAAE,eAAe;IAaxC,IAAI,IAAI,IAAI,YAAY,GAAG,SAAS,CAEnC;IAED;;;OAGG;IACH,KAAK,IAAI,IAAI;IAwBb;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAiBlD,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,92 @@
|
|
|
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 { action, computed, flowResult, makeObservable, observable } from 'mobx';
|
|
17
|
+
import { CUBE_EDITOR_TOUR, CUBE_TOUR_EXAMPLE_ID, } from '../__lib__/LegendCubeTour.js';
|
|
18
|
+
import { isCubeSampleDataOffered } from './CubeHost.js';
|
|
19
|
+
/**
|
|
20
|
+
* The editor's guided tour (PLAN §11.21): one step at a time, each pointing
|
|
21
|
+
* at its controls; a step whose controls aren't on the page is skipped. It
|
|
22
|
+
* starts on the cube as it is, the node editor's edits applied first; on an
|
|
23
|
+
* empty cube, where examples are offered, it opens one to show (one undo
|
|
24
|
+
* step). Nothing starts it but the user.
|
|
25
|
+
*/
|
|
26
|
+
export class CubeTourState {
|
|
27
|
+
editorState;
|
|
28
|
+
steps = CUBE_EDITOR_TOUR;
|
|
29
|
+
isOpen = false;
|
|
30
|
+
/** The step shown, an index into `steps` */
|
|
31
|
+
index = 0;
|
|
32
|
+
/** Whether this tour opened its example */
|
|
33
|
+
openedExample = false;
|
|
34
|
+
constructor(editorState) {
|
|
35
|
+
makeObservable(this, {
|
|
36
|
+
isOpen: observable,
|
|
37
|
+
index: observable,
|
|
38
|
+
openedExample: observable,
|
|
39
|
+
step: computed,
|
|
40
|
+
start: action,
|
|
41
|
+
move: action,
|
|
42
|
+
close: action,
|
|
43
|
+
});
|
|
44
|
+
this.editorState = editorState;
|
|
45
|
+
}
|
|
46
|
+
get step() {
|
|
47
|
+
return this.isOpen ? this.steps[this.index] : undefined;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Starts the tour at its first step; not while the node editor keeps its
|
|
51
|
+
* edits open, as other actions wait for it
|
|
52
|
+
*/
|
|
53
|
+
start() {
|
|
54
|
+
const { editorState } = this;
|
|
55
|
+
if (this.isOpen || !editorState.nodeEditor.finish()) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const example = editorState.document.query.isEmpty &&
|
|
59
|
+
!editorState.readOnly &&
|
|
60
|
+
isCubeSampleDataOffered(editorState.host)
|
|
61
|
+
? editorState.examples.examples.find((candidate) => candidate.id === CUBE_TOUR_EXAMPLE_ID)
|
|
62
|
+
: undefined;
|
|
63
|
+
this.openedExample = example !== undefined;
|
|
64
|
+
this.index = 0;
|
|
65
|
+
this.isOpen = true;
|
|
66
|
+
if (example) {
|
|
67
|
+
// the tour goes on while it opens and runs: its steps show as they can
|
|
68
|
+
flowResult(editorState.examples.openExample(example)).catch(editorState.host.applicationStore.alertUnhandledError);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The step `by` steps on (1) or back (-1), skipping those not shown; past
|
|
73
|
+
* the last, the tour ends; before the first, it stays
|
|
74
|
+
*/
|
|
75
|
+
move(by, isShown) {
|
|
76
|
+
for (let index = this.index + by; index >= 0 && index < this.steps.length; index += by) {
|
|
77
|
+
const step = this.steps[index];
|
|
78
|
+
if (step && isShown(step)) {
|
|
79
|
+
this.index = index;
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (by === 1) {
|
|
84
|
+
this.close();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
close() {
|
|
88
|
+
this.isOpen = false;
|
|
89
|
+
this.index = 0;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=CubeTourState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeTourState.js","sourceRoot":"","sources":["../../src/stores/CubeTourState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
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 { GenericLegendApplicationStore } from '@finos/legend-application';
|
|
17
|
+
import type { CubeConnectionExplorer } from '../graph-manager/CubeConnectionExplorer.js';
|
|
18
|
+
import type { CubeDataProductCatalog } from '../graph-manager/CubeDataProductCatalog.js';
|
|
19
|
+
import type { CubeEngine } from '../graph-manager/CubeEngine.js';
|
|
20
|
+
import { CubeEngineClientSettings } from '../graph-manager/CubeEngineClientSettings.js';
|
|
21
|
+
import type { CubeIngestCatalog } from '../graph-manager/CubeIngestCatalog.js';
|
|
22
|
+
import type { CubeProjectCatalog } from '../graph-manager/CubeProjectCatalog.js';
|
|
23
|
+
import type { CubeServiceCatalog } from '../graph-manager/CubeServiceCatalog.js';
|
|
24
|
+
import { type CubeEngineConfig, type CubeLakehouseServices } from '../graph-manager/protocol/pure/CubeEngineBuilder.js';
|
|
25
|
+
import type { CubeHost } from './CubeHost.js';
|
|
26
|
+
import { LocalModelCatalog } from './LocalModelCatalog.js';
|
|
27
|
+
/**
|
|
28
|
+
* The servers of a Legend deployment hosting the Cube page, as its config
|
|
29
|
+
* names them (PLAN §11.18): the engine, and each of the others only where the
|
|
30
|
+
* deployment has one. Legend Query and Legend Analytics each read theirs from
|
|
31
|
+
* their own config.
|
|
32
|
+
*/
|
|
33
|
+
export interface LegendCubeHostConfig {
|
|
34
|
+
readonly engine: CubeEngineConfig;
|
|
35
|
+
/** Published projects (PLAN §6.3) and, with a lakehouse, the data products' models */
|
|
36
|
+
readonly depotServerUrl?: string | undefined;
|
|
37
|
+
/** The lakehouse's contracts: data products need it, and a depot (PLAN §6.8) */
|
|
38
|
+
readonly lakehouseContractUrl?: string | undefined;
|
|
39
|
+
/** The lakehouse platform, which names the ingest servers: ingest data sets need it (PLAN §6.7) */
|
|
40
|
+
readonly lakehousePlatformUrl?: string | undefined;
|
|
41
|
+
/** The marketplace server, whose search the data product tab uses */
|
|
42
|
+
readonly marketplaceServerUrl?: string | undefined;
|
|
43
|
+
/** Legend Marketplace, which a production data product links to */
|
|
44
|
+
readonly marketplaceApplicationUrl?: string | undefined;
|
|
45
|
+
/** Legend Marketplace's production-parallel deployment, which a production-parallel data product links to */
|
|
46
|
+
readonly marketplaceProductionParallelUrl?: string | undefined;
|
|
47
|
+
/** The stereotype marking access point groups open to everyone, as Studio and Marketplace configure it */
|
|
48
|
+
readonly enterpriseStereotype?: CubeLakehouseServices['enterpriseStereotype'];
|
|
49
|
+
/** The lakehouse environment the host remembers for the viewer */
|
|
50
|
+
readonly getPreferredEnvironment?: (() => string | undefined) | undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* What Cube needs to read and run data products (PLAN §6.8), with the
|
|
54
|
+
* deployment's lakehouse and depot: none without both, so a deployment
|
|
55
|
+
* without them offers no data products. With a marketplace server too, its
|
|
56
|
+
* search is used; with the lakehouse platform, ingest data sets are offered.
|
|
57
|
+
*/
|
|
58
|
+
export declare const buildLegendCubeLakehouseServices: (applicationStore: GenericLegendApplicationStore, config: LegendCubeHostConfig) => CubeLakehouseServices | undefined;
|
|
59
|
+
/** The published projects in the deployment's depot, or none without a depot */
|
|
60
|
+
export declare const buildLegendCubeProjectCatalog: (applicationStore: GenericLegendApplicationStore, config: LegendCubeHostConfig) => CubeProjectCatalog | undefined;
|
|
61
|
+
/** What tests give the host in place of what it would build */
|
|
62
|
+
export interface LegendCubeHostParts {
|
|
63
|
+
readonly engine?: CubeEngine | undefined;
|
|
64
|
+
readonly connectionExplorer?: CubeConnectionExplorer | undefined;
|
|
65
|
+
readonly projectCatalog?: CubeProjectCatalog | undefined;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A Legend deployment as the host of the Cube page (PLAN §3.5, §11.18): the
|
|
69
|
+
* application's store, the engine and the bundled models, direct database
|
|
70
|
+
* connections read through the engine, the services in its registry, and
|
|
71
|
+
* the deployment's projects, data products and ingest data sets where it has
|
|
72
|
+
* the servers for them. Legend Query and Legend Analytics each build one per
|
|
73
|
+
* visit to the page, from their own config.
|
|
74
|
+
*/
|
|
75
|
+
export declare class LegendCubeHost implements CubeHost {
|
|
76
|
+
readonly applicationStore: GenericLegendApplicationStore;
|
|
77
|
+
readonly engine: CubeEngine;
|
|
78
|
+
readonly modelCatalog: LocalModelCatalog;
|
|
79
|
+
readonly connectionExplorer: CubeConnectionExplorer;
|
|
80
|
+
readonly dataProductCatalog: CubeDataProductCatalog | undefined;
|
|
81
|
+
readonly ingestCatalog: CubeIngestCatalog | undefined;
|
|
82
|
+
readonly projectCatalog: CubeProjectCatalog | undefined;
|
|
83
|
+
readonly serviceCatalog: CubeServiceCatalog;
|
|
84
|
+
/** The engine URL and compression Cube's engine clients share, which Dev Settings changes */
|
|
85
|
+
readonly engineClientSettings: CubeEngineClientSettings;
|
|
86
|
+
constructor(applicationStore: GenericLegendApplicationStore, config: LegendCubeHostConfig, parts?: LegendCubeHostParts);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=LegendCubeHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendCubeHost.d.ts","sourceRoot":"","sources":["../../src/stores/LegendCubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAS/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAQL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC3B,MAAM,qDAAqD,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,sFAAsF;IACtF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,gFAAgF;IAChF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,mGAAmG;IACnG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,qEAAqE;IACrE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,mEAAmE;IACnE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxD,6GAA6G;IAC7G,QAAQ,CAAC,gCAAgC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/D,0GAA0G;IAC1G,QAAQ,CAAC,oBAAoB,CAAC,EAAE,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;IAC9E,kEAAkE;IAClE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CAC3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,GAC3C,kBAAkB,6BAA6B,EAC/C,QAAQ,oBAAoB,KAC3B,qBAAqB,GAAG,SA6D1B,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,GACxC,kBAAkB,6BAA6B,EAC/C,QAAQ,oBAAoB,KAC3B,kBAAkB,GAAG,SASvB,CAAC;AAEF,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC1D;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC5C,6FAA6F;IAC7F,QAAQ,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;gBAGtD,gBAAgB,EAAE,6BAA6B,EAC/C,MAAM,EAAE,oBAAoB,EAC5B,KAAK,CAAC,EAAE,mBAAmB;CAmD9B"}
|
|
@@ -0,0 +1,149 @@
|
|
|
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 { DepotServerClient } from '@finos/legend-server-depot';
|
|
17
|
+
import { LakehouseContractServerClient, LakehouseIngestServerClient, LakehousePlatformServerClient, } from '@finos/legend-server-lakehouse';
|
|
18
|
+
import { MarketplaceServerClient } from '@finos/legend-server-marketplace';
|
|
19
|
+
import { EXTERNAL_APPLICATION_NAVIGATION__generateCubeMarketplaceDataProductUrl } from '../__lib__/LegendCubeNavigation.js';
|
|
20
|
+
import { CubeDataProductEnvironmentType } from '../graph-manager/CubeDataProduct.js';
|
|
21
|
+
import { CubeEngineClientSettings } from '../graph-manager/CubeEngineClientSettings.js';
|
|
22
|
+
import { buildCubeConnectionExplorer, buildCubeDataProductCatalog, buildCubeEngine, buildCubeIngestCatalog, buildCubeLakehouseEnvironment, buildCubeProjectCatalog, buildCubeServiceCatalog, } from '../graph-manager/protocol/pure/CubeEngineBuilder.js';
|
|
23
|
+
import { getCubeRememberedWarehouse } from './CubeDataProductWarehouse.js';
|
|
24
|
+
import { LocalModelCatalog } from './LocalModelCatalog.js';
|
|
25
|
+
/**
|
|
26
|
+
* What Cube needs to read and run data products (PLAN §6.8), with the
|
|
27
|
+
* deployment's lakehouse and depot: none without both, so a deployment
|
|
28
|
+
* without them offers no data products. With a marketplace server too, its
|
|
29
|
+
* search is used; with the lakehouse platform, ingest data sets are offered.
|
|
30
|
+
*/
|
|
31
|
+
export const buildLegendCubeLakehouseServices = (applicationStore, config) => {
|
|
32
|
+
const { tracerService } = applicationStore;
|
|
33
|
+
if (!config.lakehouseContractUrl || !config.depotServerUrl) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
const contractServerClient = new LakehouseContractServerClient({
|
|
37
|
+
baseUrl: config.lakehouseContractUrl,
|
|
38
|
+
});
|
|
39
|
+
contractServerClient.setTracerService(tracerService);
|
|
40
|
+
const depotServerClient = new DepotServerClient({
|
|
41
|
+
serverUrl: config.depotServerUrl,
|
|
42
|
+
});
|
|
43
|
+
depotServerClient.setTracerService(tracerService);
|
|
44
|
+
let marketplaceServerClient;
|
|
45
|
+
if (config.marketplaceServerUrl) {
|
|
46
|
+
marketplaceServerClient = new MarketplaceServerClient({
|
|
47
|
+
serverUrl: config.marketplaceServerUrl,
|
|
48
|
+
// the client only stores it, never reading it, and Cube calls no subscription route
|
|
49
|
+
subscriptionUrl: '',
|
|
50
|
+
});
|
|
51
|
+
marketplaceServerClient.setTracerService(tracerService);
|
|
52
|
+
}
|
|
53
|
+
// ingest data sets need the platform, which names the ingest servers; the
|
|
54
|
+
// ingest client has no server of its own: each call names one
|
|
55
|
+
let platformServerClient;
|
|
56
|
+
let ingestServerClient;
|
|
57
|
+
if (config.lakehousePlatformUrl) {
|
|
58
|
+
platformServerClient = new LakehousePlatformServerClient(config.lakehousePlatformUrl);
|
|
59
|
+
platformServerClient.setTracerService(tracerService);
|
|
60
|
+
ingestServerClient = new LakehouseIngestServerClient(undefined);
|
|
61
|
+
ingestServerClient.setTracerService(tracerService);
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
platformServerClient,
|
|
65
|
+
ingestServerClient,
|
|
66
|
+
contractServerClient,
|
|
67
|
+
depotServerClient,
|
|
68
|
+
marketplaceServerClient,
|
|
69
|
+
getAccessToken: () => applicationStore.getAccessToken(),
|
|
70
|
+
getCurrentUser: () => applicationStore.identityService.currentUser,
|
|
71
|
+
getPreferredEnvironment: config.getPreferredEnvironment,
|
|
72
|
+
enterpriseStereotype: config.enterpriseStereotype,
|
|
73
|
+
// the marketplace of the deployment's class, where its deployment is
|
|
74
|
+
getMarketplaceLink: (target) => {
|
|
75
|
+
const marketplaceUrl = target.environmentType ===
|
|
76
|
+
CubeDataProductEnvironmentType.PRODUCTION_PARALLEL
|
|
77
|
+
? config.marketplaceProductionParallelUrl
|
|
78
|
+
: config.marketplaceApplicationUrl;
|
|
79
|
+
return marketplaceUrl
|
|
80
|
+
? EXTERNAL_APPLICATION_NAVIGATION__generateCubeMarketplaceDataProductUrl(marketplaceUrl, target.dataProductId, target.deploymentId, target.accessPointGroup)
|
|
81
|
+
: undefined;
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
/** The published projects in the deployment's depot, or none without a depot */
|
|
86
|
+
export const buildLegendCubeProjectCatalog = (applicationStore, config) => {
|
|
87
|
+
if (!config.depotServerUrl) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
const depotServerClient = new DepotServerClient({
|
|
91
|
+
serverUrl: config.depotServerUrl,
|
|
92
|
+
});
|
|
93
|
+
depotServerClient.setTracerService(applicationStore.tracerService);
|
|
94
|
+
return buildCubeProjectCatalog(depotServerClient);
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* A Legend deployment as the host of the Cube page (PLAN §3.5, §11.18): the
|
|
98
|
+
* application's store, the engine and the bundled models, direct database
|
|
99
|
+
* connections read through the engine, the services in its registry, and
|
|
100
|
+
* the deployment's projects, data products and ingest data sets where it has
|
|
101
|
+
* the servers for them. Legend Query and Legend Analytics each build one per
|
|
102
|
+
* visit to the page, from their own config.
|
|
103
|
+
*/
|
|
104
|
+
export class LegendCubeHost {
|
|
105
|
+
applicationStore;
|
|
106
|
+
engine;
|
|
107
|
+
modelCatalog;
|
|
108
|
+
connectionExplorer;
|
|
109
|
+
dataProductCatalog;
|
|
110
|
+
ingestCatalog;
|
|
111
|
+
projectCatalog;
|
|
112
|
+
serviceCatalog;
|
|
113
|
+
/** The engine URL and compression Cube's engine clients share, which Dev Settings changes */
|
|
114
|
+
engineClientSettings;
|
|
115
|
+
constructor(applicationStore, config, parts) {
|
|
116
|
+
this.applicationStore = applicationStore;
|
|
117
|
+
const { tracerService } = applicationStore;
|
|
118
|
+
this.engineClientSettings = new CubeEngineClientSettings(config.engine);
|
|
119
|
+
const lakehouse = buildLegendCubeLakehouseServices(applicationStore, config);
|
|
120
|
+
this.ingestCatalog = lakehouse
|
|
121
|
+
? buildCubeIngestCatalog(config.engine, tracerService, lakehouse, this.engineClientSettings)
|
|
122
|
+
: undefined;
|
|
123
|
+
this.engine =
|
|
124
|
+
parts?.engine ??
|
|
125
|
+
buildCubeEngine(config.engine, tracerService, {
|
|
126
|
+
ingestCatalog: this.ingestCatalog,
|
|
127
|
+
lakehouseEnvironment: lakehouse
|
|
128
|
+
? buildCubeLakehouseEnvironment(lakehouse)
|
|
129
|
+
: undefined,
|
|
130
|
+
getRememberedWarehouse: () => getCubeRememberedWarehouse(applicationStore.userDataService),
|
|
131
|
+
clientSettings: this.engineClientSettings,
|
|
132
|
+
});
|
|
133
|
+
this.dataProductCatalog = lakehouse
|
|
134
|
+
? buildCubeDataProductCatalog(lakehouse)
|
|
135
|
+
: undefined;
|
|
136
|
+
this.modelCatalog = new LocalModelCatalog(this.engine);
|
|
137
|
+
// its own client, configured as the engine's
|
|
138
|
+
this.connectionExplorer =
|
|
139
|
+
parts?.connectionExplorer ??
|
|
140
|
+
buildCubeConnectionExplorer(config.engine, tracerService, this.engineClientSettings);
|
|
141
|
+
// it reads nothing until the source dialog's Project tab opens
|
|
142
|
+
this.projectCatalog =
|
|
143
|
+
parts?.projectCatalog ??
|
|
144
|
+
buildLegendCubeProjectCatalog(applicationStore, config);
|
|
145
|
+
// in progress (PLAN §6.4); it reads nothing until the Service tab opens
|
|
146
|
+
this.serviceCatalog = buildCubeServiceCatalog(config.engine, tracerService, this.engineClientSettings);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=LegendCubeHost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendCubeHost.js","sourceRoot":"","sources":["../../src/stores/LegendCubeHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalModelCatalog.d.ts","sourceRoot":"","sources":["../../src/stores/LocalModelCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalModelCatalog.d.ts","sourceRoot":"","sources":["../../src/stores/LocalModelCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AAexC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAClD;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAoBhD,CAAC;AAEH,4CAA4C;AAC5C,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,YACP,CAAC;AAEzC;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,MAAM,0BAAkB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgD;gBAE7D,MAAM,EAAE,UAAU;IAI9B,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAW5D"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { CUBE_NORTHWIND_MODEL, CUBE_NORTHWIND_SAMPLE_MODEL, } from './fixtures/CubeNorthwindModel.js';
|
|
17
17
|
import { CUBE_SPORTS_MODEL } from './fixtures/CubeSportsModel.js';
|
|
18
|
-
import { CUBE_TRADES_MODEL } from './fixtures/CubeTradesModel.js';
|
|
18
|
+
import { CUBE_TRADES_MODEL, CUBE_TRADES_MODEL_BEFORE_FUNCTIONS, } from './fixtures/CubeTradesModel.js';
|
|
19
19
|
export const BUNDLED_MODELS = Object.freeze([
|
|
20
20
|
{
|
|
21
21
|
id: 'cube-northwind',
|
|
@@ -33,6 +33,8 @@ export const BUNDLED_MODELS = Object.freeze([
|
|
|
33
33
|
id: 'cube-sample-trades',
|
|
34
34
|
label: 'Trades',
|
|
35
35
|
model: CUBE_TRADES_MODEL,
|
|
36
|
+
// before its functions (PLAN §6.5)
|
|
37
|
+
earlierModels: [CUBE_TRADES_MODEL_BEFORE_FUNCTIONS],
|
|
36
38
|
},
|
|
37
39
|
]);
|
|
38
40
|
/** The model context of pasted Pure text */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalModelCatalog.js","sourceRoot":"","sources":["../../src/stores/LocalModelCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EACL,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"LocalModelCatalog.js","sourceRoot":"","sources":["../../src/stores/LocalModelCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EACL,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,kCAAkC,GACnC,MAAM,+BAA+B,CAAC;AAcvC,MAAM,CAAC,MAAM,cAAc,GAA4B,MAAM,CAAC,MAAM,CAAC;IACnE;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,2BAA2B;QAClC,sEAAsE;QACtE,aAAa,EAAE,CAAC,oBAAoB,CAAC;KACtC;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,iBAAiB;QACxB,mCAAmC;QACnC,aAAa,EAAE,CAAC,kCAAkC,CAAC;KACpD;CACF,CAAC,CAAC;AAEH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAgB,EAAE,CAC5D,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzC;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACnB,MAAM,GAAG,cAAc,CAAC;IAChB,MAAM,CAAa;IACnB,QAAQ,GAAG,IAAI,GAAG,EAAqC,CAAC;IAEzE,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,KAAmB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvC,yCAAyC;YACzC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1,87 @@
|
|
|
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 Explode } from '@finos/legend-cube';
|
|
17
|
+
import { type GeneratorFn } from '@finos/legend-shared';
|
|
18
|
+
import type { CubeEditorState } from '../CubeEditorState.js';
|
|
19
|
+
import type { CubeJsonSample } from '../variant/CubeJsonShape.js';
|
|
20
|
+
import { CubeNodeDraft } from './CubeNodeDraft.js';
|
|
21
|
+
/** An array a sample of the column holds, to explode */
|
|
22
|
+
export interface CubeExplodeArray {
|
|
23
|
+
/** The keys from the column to it, empty for the column itself */
|
|
24
|
+
readonly path: readonly string[];
|
|
25
|
+
/** What it held, e.g. `list of object` */
|
|
26
|
+
readonly description: string;
|
|
27
|
+
/** Its share, 0 to 1, of the places it could be */
|
|
28
|
+
readonly presence: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The Explode Array editor's draft (PLAN §11.20): the Variant column, the
|
|
32
|
+
* keys to its array and the new column's name. The arrays to pick from come
|
|
33
|
+
* from a sample of the column's documents, read after the node's input as
|
|
34
|
+
* Explore JSON reads them. Until a name is typed, the name follows the
|
|
35
|
+
* column and keys (`<last key>_element`, free in the input); picking another
|
|
36
|
+
* column drops the keys and the sample, which were the other column's.
|
|
37
|
+
*/
|
|
38
|
+
export declare class CubeExplodeDraft extends CubeNodeDraft<Explode> {
|
|
39
|
+
readonly editorState: CubeEditorState;
|
|
40
|
+
column: string;
|
|
41
|
+
path: readonly string[];
|
|
42
|
+
name: string;
|
|
43
|
+
/** What a sample of the column held, once read */
|
|
44
|
+
sample: {
|
|
45
|
+
readonly column: string;
|
|
46
|
+
readonly sample: CubeJsonSample;
|
|
47
|
+
} | undefined;
|
|
48
|
+
isSampling: boolean;
|
|
49
|
+
/** Why the sample couldn't be read */
|
|
50
|
+
sampleError: string | undefined;
|
|
51
|
+
/** The name follows the column and keys until one is typed */
|
|
52
|
+
private namedByDefault;
|
|
53
|
+
private controller;
|
|
54
|
+
/** Anything was changed; until then, `build()` gives the original back */
|
|
55
|
+
private touched;
|
|
56
|
+
constructor(original: Explode, editorState: CubeEditorState);
|
|
57
|
+
/** The element's default name for a column and keys: `<last key>_element`, free in the input */
|
|
58
|
+
private defaultName;
|
|
59
|
+
/**
|
|
60
|
+
* Why Find arrays can't read the column: the database the node's input
|
|
61
|
+
* runs on has no JSON functions; `undefined` when it can, or isn't known
|
|
62
|
+
*/
|
|
63
|
+
get sampleProblem(): string | undefined;
|
|
64
|
+
/** The node's input: its id and schema, once known */
|
|
65
|
+
private get input();
|
|
66
|
+
/** The arrays the sample found, if it was of the picked column */
|
|
67
|
+
get arrays(): CubeExplodeArray[] | undefined;
|
|
68
|
+
private edited;
|
|
69
|
+
/** Picks the column; another column's keys and sample are dropped */
|
|
70
|
+
setColumn(column: string): void;
|
|
71
|
+
setKey(index: number, key: string): void;
|
|
72
|
+
addKey(): void;
|
|
73
|
+
removeKey(index: number): void;
|
|
74
|
+
/** Takes the keys of an array the sample found */
|
|
75
|
+
pickArray(path: readonly string[]): void;
|
|
76
|
+
/** Types the name: it no longer follows the column and keys */
|
|
77
|
+
setName(name: string): void;
|
|
78
|
+
stopSample(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Reads the picked column's first values after the node's input, as
|
|
81
|
+
* Explore JSON does (listed in Runs, can be stopped), for the arrays they
|
|
82
|
+
* hold; picking another column abandons it
|
|
83
|
+
*/
|
|
84
|
+
readSample(): GeneratorFn<void>;
|
|
85
|
+
build(): Explode;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=CubeExplodeDraft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeExplodeDraft.d.ts","sourceRoot":"","sources":["../../../src/stores/editors/CubeExplodeDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,OAAO,EAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAS7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAgBD;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,OAAO,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,MAAM,EACF;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;KAAE,GAC5D,SAAS,CAAC;IACd,UAAU,UAAS;IACnB,sCAAsC;IACtC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,8DAA8D;IAC9D,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,UAAU,CAA8B;IAChD,0EAA0E;IAC1E,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe;IAgC3D,gGAAgG;IAChG,OAAO,CAAC,WAAW;IASnB;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAatC;IAED,sDAAsD;IACtD,OAAO,KAAK,KAAK,GAKhB;IAED,kEAAkE;IAClE,IAAI,MAAM,IAAI,gBAAgB,EAAE,GAAG,SAAS,CAK3C;IAED,OAAO,CAAC,MAAM;IAOd,qEAAqE;IACrE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAY/B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAKxC,MAAM,IAAI,IAAI;IAKd,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,kDAAkD;IAClD,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAKxC,+DAA+D;IAC/D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM3B,UAAU,IAAI,IAAI;IAMlB;;;;OAIG;IACF,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC;IAuChC,KAAK,IAAI,OAAO;CASjB"}
|