@finos/legend-cube-builder 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -3
- package/docs/adding-an-operation.md +22 -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 +50 -3
- 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 +14 -2
- package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
- package/lib/__lib__/LegendCubeLabels.d.ts +100 -8
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +129 -14
- package/lib/__lib__/LegendCubeLabels.js.map +1 -1
- 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 +7 -0
- package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeTesting.js +7 -0
- package/lib/__lib__/LegendCubeTesting.js.map +1 -1
- 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__/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__/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 +9 -6
- 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 +16 -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 +77 -0
- package/lib/components/CubeFileMenu.js.map +1 -0
- package/lib/components/CubeLambdaImportBanner.d.ts +26 -0
- package/lib/components/CubeLambdaImportBanner.d.ts.map +1 -0
- package/lib/components/CubeLambdaImportBanner.js +47 -0
- package/lib/components/CubeLambdaImportBanner.js.map +1 -0
- package/lib/components/CubeNodeIcon.d.ts.map +1 -1
- package/lib/components/CubeNodeIcon.js +5 -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 +38 -5
- 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 +8 -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 +50 -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 +3 -3
- 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/CubeExpressionFilterEditor.d.ts +25 -0
- package/lib/components/editors/CubeExpressionFilterEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExpressionFilterEditor.js +83 -0
- package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -0
- package/lib/components/editors/CubeExtendEditor.d.ts +2 -0
- package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeExtendEditor.js +3 -3
- 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/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 +9 -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 +40 -26
- package/lib/components/grid/CubeGridRegion.js.map +1 -1
- package/lib/components/grid/CubeGridValues.d.ts +31 -1
- package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
- package/lib/components/grid/CubeGridValues.js +108 -1
- package/lib/components/grid/CubeGridValues.js.map +1 -1
- package/lib/components/grid/CubeResultGrid.d.ts +68 -5
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +308 -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 +114 -0
- package/lib/components/grid/CubeServerSideGrid.js.map +1 -0
- package/lib/components/grid/CubeSqlDialog.d.ts +24 -0
- package/lib/components/grid/CubeSqlDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeSqlDialog.js +39 -0
- package/lib/components/grid/CubeSqlDialog.js.map +1 -0
- package/lib/components/grid/CubeSqlFormat.d.ts +20 -0
- package/lib/components/grid/CubeSqlFormat.d.ts.map +1 -0
- package/lib/components/grid/CubeSqlFormat.js +32 -0
- package/lib/components/grid/CubeSqlFormat.js.map +1 -0
- package/lib/components/palette/CubePalette.d.ts.map +1 -1
- package/lib/components/palette/CubePalette.js +32 -13
- 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.map +1 -1
- package/lib/components/source-picker/CubeIngestTab.js +39 -16
- 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/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 +12 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -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 +173 -43
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +498 -113
- 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 +39 -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 +2 -2
- 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 +18 -6
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
- package/lib/stores/CubeGridQuickActions.js +32 -12
- 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/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/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/CubeExpressionFilterDraft.d.ts +91 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js +254 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -0
- package/lib/stores/editors/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 +20 -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 +26 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js +46 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -0
- package/lib/stores/fixtures/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 +22 -9
- package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -1
- package/lib/stores/source-picker/CubeIngestTabState.js +84 -29
- 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/package.json +10 -9
- package/src/__lib__/LegendCubeCommand.ts +7 -0
- package/src/__lib__/LegendCubeFunctionLabels.ts +41 -0
- package/src/__lib__/LegendCubeHelpText.ts +23 -1
- package/src/__lib__/LegendCubeLabels.ts +170 -13
- package/src/__lib__/LegendCubeProjectSourceLabels.ts +26 -0
- package/src/__lib__/LegendCubeServiceLabels.ts +41 -0
- package/src/__lib__/LegendCubeTesting.ts +7 -0
- package/src/__test-utils__/CubeEngineTestSupport.ts +2 -1
- 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__/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 +13 -6
- package/src/components/CubeDialogTheme.ts +25 -0
- package/src/components/CubeEditor.tsx +155 -129
- package/src/components/CubeFileMenu.tsx +127 -0
- package/src/components/CubeLambdaImportBanner.tsx +97 -0
- package/src/components/CubeNodeIcon.tsx +7 -0
- package/src/components/CubeSchemaColumnsTable.tsx +7 -2
- package/src/components/canvas/CubeCanvas.tsx +52 -13
- 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 +30 -3
- package/src/components/dev-settings/CubeDevSettings.tsx +154 -0
- package/src/components/editors/CubeColumnChecklist.tsx +8 -2
- package/src/components/editors/CubeColumnPicker.tsx +6 -3
- package/src/components/editors/CubeConcatEditor.tsx +2 -2
- package/src/components/editors/CubeExpressionFilterEditor.tsx +193 -0
- package/src/components/editors/CubeExtendEditor.tsx +3 -3
- 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/CubeNodeEditorPanel.tsx +22 -10
- package/src/components/editors/CubeNodeEditorPopper.tsx +9 -1
- package/src/components/editors/CubeNodeEditorRegistry.ts +12 -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 +170 -54
- package/src/components/grid/CubeGridValues.ts +146 -1
- package/src/components/grid/CubeResultGrid.tsx +443 -41
- package/src/components/grid/CubeRunStatsPanel.tsx +156 -0
- package/src/components/grid/CubeServerSideGrid.tsx +200 -0
- package/src/components/grid/CubeSqlDialog.tsx +90 -0
- package/src/components/grid/CubeSqlFormat.ts +37 -0
- package/src/components/palette/CubePalette.tsx +45 -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 +159 -79
- 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/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 +32 -2
- package/src/stores/CubeAddPlacement.ts +25 -5
- package/src/stores/CubeDevSettingsState.ts +117 -0
- package/src/stores/CubeEditorState.ts +687 -197
- package/src/stores/CubeEngineChecks.ts +240 -0
- package/src/stores/CubeExamples.ts +70 -1
- package/src/stores/CubeExamplesState.ts +4 -2
- 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 +33 -11
- 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/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/LocalModelCatalog.ts +6 -1
- package/src/stores/editors/CubeExpressionFilterDraft.ts +385 -0
- package/src/stores/editors/CubeFunctionDraft.ts +92 -0
- package/src/stores/editors/CubeNodeDraftRegistry.ts +27 -2
- package/src/stores/editors/CubePivotDraft.ts +355 -0
- package/src/stores/fixtures/CubeSalesDuckDbModel.ts +54 -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 +112 -38
- 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/tsconfig.json +50 -0
|
@@ -17,7 +17,7 @@ import type { CubeContext } from '@finos/legend-cube';
|
|
|
17
17
|
import { type GeneratorFn } from '@finos/legend-shared';
|
|
18
18
|
import type { CubeProjectSummary } from '../../graph-manager/CubeProjectCatalog.js';
|
|
19
19
|
import type { CubeEditorState } from '../CubeEditorState.js';
|
|
20
|
-
import { CubeInlineModelTabState } from './CubeInlineModelTabState.js';
|
|
20
|
+
import { CubeInlineModelTabState, CubeModelReadKind } from './CubeInlineModelTabState.js';
|
|
21
21
|
import { CubeSourcePickerTabKey } from './CubeSourcePickerTab.js';
|
|
22
22
|
/** A project as the tab keys it: `group:artifact` */
|
|
23
23
|
export declare const getCubeProjectKey: (project: CubeProjectSummary) => string;
|
|
@@ -29,8 +29,8 @@ export declare const getCubeProjectKey: (project: CubeProjectSummary) => string;
|
|
|
29
29
|
* version as the cube's model; every later table comes from it.
|
|
30
30
|
*/
|
|
31
31
|
export declare class CubeProjectTabState extends CubeInlineModelTabState {
|
|
32
|
-
readonly key
|
|
33
|
-
readonly label
|
|
32
|
+
readonly key: CubeSourcePickerTabKey;
|
|
33
|
+
readonly label: string;
|
|
34
34
|
projects: readonly CubeProjectSummary[] | undefined;
|
|
35
35
|
isLoadingProjects: boolean;
|
|
36
36
|
projectKey: string | undefined;
|
|
@@ -41,6 +41,8 @@ export declare class CubeProjectTabState extends CubeInlineModelTabState {
|
|
|
41
41
|
listError: string | undefined;
|
|
42
42
|
constructor(editorState: CubeEditorState);
|
|
43
43
|
get isAvailable(): boolean;
|
|
44
|
+
/** A project's tables; its functions have the Project Function tab */
|
|
45
|
+
get readKinds(): readonly CubeModelReadKind[];
|
|
44
46
|
get isBusy(): boolean;
|
|
45
47
|
/** A cube on a project model is this tab's, whether or not Cube can run it */
|
|
46
48
|
ownsContext(context: CubeContext): boolean;
|
|
@@ -59,4 +61,17 @@ export declare class CubeProjectTabState extends CubeInlineModelTabState {
|
|
|
59
61
|
/** Picks a version and loads its Databases and runtimes */
|
|
60
62
|
selectVersion(versionId: string | undefined): void;
|
|
61
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* The source dialog's Project Function tab (PLAN §6.5): as the Project
|
|
66
|
+
* Database tab, a published project and one of its released versions, then
|
|
67
|
+
* one of the project's own functions that return a relation, its runtime and
|
|
68
|
+
* its values. Its own tab (user, 2026-10-13); a function and the tables of
|
|
69
|
+
* the same project and version still join in one cube, each from its tab.
|
|
70
|
+
*/
|
|
71
|
+
export declare class CubeProjectFunctionTabState extends CubeProjectTabState {
|
|
72
|
+
readonly key = CubeSourcePickerTabKey.PROJECT_FUNCTION;
|
|
73
|
+
readonly label = "Project Function";
|
|
74
|
+
constructor(editorState: CubeEditorState);
|
|
75
|
+
get readKinds(): readonly CubeModelReadKind[];
|
|
76
|
+
}
|
|
62
77
|
//# sourceMappingURL=CubeProjectTabState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeProjectTabState.d.ts","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeProjectTabState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAe3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"CubeProjectTabState.d.ts","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeProjectTabState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAe3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,GAAI,SAAS,kBAAkB,KAAG,MACpB,CAAC;AAO7C;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,uBAAuB;IAC9D,SAAkB,GAAG,EAAE,sBAAsB,CACZ;IACjC,SAAkB,KAAK,EAAE,MAAM,CAAsB;IAErD,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACpD,iBAAiB,UAAS;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,iBAAiB,UAAS;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAElB,WAAW,EAAE,eAAe;IAmBxC,IAAa,WAAW,IAAI,OAAO,CAElC;IAED,sEAAsE;IACtE,IAAa,SAAS,IAAI,SAAS,iBAAiB,EAAE,CAErD;IAED,IAAa,MAAM,IAAI,OAAO,CAE7B;IAED,8EAA8E;IACrE,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAInD,mDAAmD;IACnD,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAIxC;IAED;;;;OAIG;IACM,IAAI,IAAI,IAAI;IA0BrB,yDAAyD;IACxD,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC;IAoBlC,0EAA0E;IACzE,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;IAuC1D,2DAA2D;IAC3D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAqBnD;AAED;;;;;;GAMG;AACH,qBAAa,2BAA4B,SAAQ,mBAAmB;IAClE,SAAkB,GAAG,2CAA2C;IAChE,SAAkB,KAAK,sBAAsB;gBAEjC,WAAW,EAAE,eAAe;IAKxC,IAAa,SAAS,IAAI,SAAS,iBAAiB,EAAE,CAErD;CACF"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { assertErrorThrown } from '@finos/legend-shared';
|
|
17
17
|
import { action, computed, flow, flowResult, makeObservable, observable, override, } from 'mobx';
|
|
18
18
|
import { createCubeProjectModel, getCubeProjectCoordinates, isCubeProjectModel, } from '../../graph-manager/CubeProject.js';
|
|
19
|
-
import { CubeInlineModelTabState } from './CubeInlineModelTabState.js';
|
|
19
|
+
import { CubeInlineModelTabState, CubeModelReadKind, } from './CubeInlineModelTabState.js';
|
|
20
20
|
import { CubeSourcePickerTabKey } from './CubeSourcePickerTab.js';
|
|
21
21
|
/** A project as the tab keys it: `group:artifact` */
|
|
22
22
|
export const getCubeProjectKey = (project) => `${project.groupId}:${project.artifactId}`;
|
|
@@ -63,6 +63,10 @@ export class CubeProjectTabState extends CubeInlineModelTabState {
|
|
|
63
63
|
get isAvailable() {
|
|
64
64
|
return this.editorState.host.projectCatalog !== undefined;
|
|
65
65
|
}
|
|
66
|
+
/** A project's tables; its functions have the Project Function tab */
|
|
67
|
+
get readKinds() {
|
|
68
|
+
return [CubeModelReadKind.TABLE];
|
|
69
|
+
}
|
|
66
70
|
get isBusy() {
|
|
67
71
|
return this.isLoadingProjects || this.isLoadingVersions || super.isBusy;
|
|
68
72
|
}
|
|
@@ -94,6 +98,9 @@ export class CubeProjectTabState extends CubeInlineModelTabState {
|
|
|
94
98
|
if (fixedModel !== this.model || !this.outline) {
|
|
95
99
|
flowResult(this.selectModel(fixedModel)).catch(this.editorState.host.applicationStore.alertUnhandledError);
|
|
96
100
|
}
|
|
101
|
+
else {
|
|
102
|
+
this.followFixedRuntime();
|
|
103
|
+
}
|
|
97
104
|
return;
|
|
98
105
|
}
|
|
99
106
|
if (this.projects === undefined && !this.isLoadingProjects) {
|
|
@@ -178,4 +185,22 @@ export class CubeProjectTabState extends CubeInlineModelTabState {
|
|
|
178
185
|
}))).catch(this.editorState.host.applicationStore.alertUnhandledError);
|
|
179
186
|
}
|
|
180
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* The source dialog's Project Function tab (PLAN §6.5): as the Project
|
|
190
|
+
* Database tab, a published project and one of its released versions, then
|
|
191
|
+
* one of the project's own functions that return a relation, its runtime and
|
|
192
|
+
* its values. Its own tab (user, 2026-10-13); a function and the tables of
|
|
193
|
+
* the same project and version still join in one cube, each from its tab.
|
|
194
|
+
*/
|
|
195
|
+
export class CubeProjectFunctionTabState extends CubeProjectTabState {
|
|
196
|
+
key = CubeSourcePickerTabKey.PROJECT_FUNCTION;
|
|
197
|
+
label = 'Project Function';
|
|
198
|
+
constructor(editorState) {
|
|
199
|
+
super(editorState);
|
|
200
|
+
this.readKind = CubeModelReadKind.FUNCTION;
|
|
201
|
+
}
|
|
202
|
+
get readKinds() {
|
|
203
|
+
return [CubeModelReadKind.FUNCTION];
|
|
204
|
+
}
|
|
205
|
+
}
|
|
181
206
|
//# sourceMappingURL=CubeProjectTabState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeProjectTabState.js","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeProjectTabState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,cAAc,EACd,UAAU,EACV,QAAQ,GACT,MAAM,MAAM,CAAC;AACd,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,
|
|
1
|
+
{"version":3,"file":"CubeProjectTabState.js","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeProjectTabState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
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 CubeContext } from '@finos/legend-cube';
|
|
17
|
+
import type { GeneratorFn } from '@finos/legend-shared';
|
|
18
|
+
import type { CubeServiceCatalog, CubeServiceSummary } from '../../graph-manager/CubeServiceCatalog.js';
|
|
19
|
+
import type { CubeEditorState } from '../CubeEditorState.js';
|
|
20
|
+
import { type CubeSourcePickerTab, CubeSourcePickerTabKey } from './CubeSourcePickerTab.js';
|
|
21
|
+
/** What failed in the tab: its first line, and the rest on demand */
|
|
22
|
+
export interface CubeServiceTabError {
|
|
23
|
+
readonly message: string;
|
|
24
|
+
readonly detail?: string | undefined;
|
|
25
|
+
}
|
|
26
|
+
/** The most services the list shows: a registry can hold thousands */
|
|
27
|
+
export declare const CUBE_SERVICE_LIST_LIMIT = 200;
|
|
28
|
+
/**
|
|
29
|
+
* The source dialog's Service tab (PLAN §6.4), in progress: the deployed
|
|
30
|
+
* services, searched by title, name and pattern. Add puts the picked one on
|
|
31
|
+
* the canvas, typed as services are (`recheckCubeServiceSources`), which for
|
|
32
|
+
* now says it can't be read; the first saves a service model as the cube's.
|
|
33
|
+
*/
|
|
34
|
+
export declare class CubeServiceTabState implements CubeSourcePickerTab {
|
|
35
|
+
readonly key = CubeSourcePickerTabKey.SERVICE;
|
|
36
|
+
readonly label = "Service";
|
|
37
|
+
readonly editorState: CubeEditorState;
|
|
38
|
+
services: readonly CubeServiceSummary[] | undefined;
|
|
39
|
+
search: string;
|
|
40
|
+
/** The picked service's pattern */
|
|
41
|
+
pattern: string | undefined;
|
|
42
|
+
isLoading: boolean;
|
|
43
|
+
isAdding: boolean;
|
|
44
|
+
error: CubeServiceTabError | undefined;
|
|
45
|
+
/** Each counts its calls: a later call, or closing the dialog, drops an earlier answer */
|
|
46
|
+
private listRequest;
|
|
47
|
+
private confirmRequest;
|
|
48
|
+
constructor(editorState: CubeEditorState);
|
|
49
|
+
get catalog(): CubeServiceCatalog | undefined;
|
|
50
|
+
/** Hosts without a service catalog have no services */
|
|
51
|
+
get isAvailable(): boolean;
|
|
52
|
+
get isBusy(): boolean;
|
|
53
|
+
ownsContext(context: CubeContext): boolean;
|
|
54
|
+
/** The services whose title, name or pattern holds the search text */
|
|
55
|
+
get matchingServices(): readonly CubeServiceSummary[];
|
|
56
|
+
/** The first matching services, up to the list's limit */
|
|
57
|
+
get shownServices(): readonly CubeServiceSummary[];
|
|
58
|
+
get service(): CubeServiceSummary | undefined;
|
|
59
|
+
get canConfirm(): boolean;
|
|
60
|
+
setSearch(search: string): void;
|
|
61
|
+
selectService(pattern: string): void;
|
|
62
|
+
/** Reads the list again, after it failed */
|
|
63
|
+
retry(): void;
|
|
64
|
+
/** When the dialog opens on the tab: reads the list, unless it is read or on its way */
|
|
65
|
+
open(): void;
|
|
66
|
+
close(): void;
|
|
67
|
+
loadServices(): GeneratorFn<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Adds the picked service, typed as services are; the first saves a
|
|
70
|
+
* service model as the cube's, in the same undo step
|
|
71
|
+
*/
|
|
72
|
+
confirm(): GeneratorFn<boolean>;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=CubeServiceTabState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeServiceTabState.d.ts","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeServiceTabState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAexD,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EACL,KAAK,mBAAmB,EACxB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAElC,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAY3C;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IAC7D,QAAQ,CAAC,GAAG,kCAAkC;IAC9C,QAAQ,CAAC,KAAK,aAAa;IAC3B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAEtC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACpD,MAAM,SAAM;IACZ,mCAAmC;IACnC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,UAAS;IAClB,QAAQ,UAAS;IACjB,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAEvC,0FAA0F;IAC1F,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAAK;gBAEf,WAAW,EAAE,eAAe;IAyBxC,IAAI,OAAO,IAAI,kBAAkB,GAAG,SAAS,CAE5C;IAED,uDAAuD;IACvD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAI1C,sEAAsE;IACtE,IAAI,gBAAgB,IAAI,SAAS,kBAAkB,EAAE,CAOpD;IAED,0DAA0D;IAC1D,IAAI,aAAa,IAAI,SAAS,kBAAkB,EAAE,CAEjD;IAED,IAAI,OAAO,IAAI,kBAAkB,GAAG,SAAS,CAE5C;IAED,IAAI,UAAU,IAAI,OAAO,CAOxB;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMpC,4CAA4C;IAC5C,KAAK,IAAI,IAAI;IAOb,wFAAwF;IACxF,IAAI,IAAI,IAAI;IASZ,KAAK,IAAI,IAAI;IAOZ,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC;IAyBlC;;;OAGG;IACF,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC;CA+DjC"}
|
|
@@ -0,0 +1,216 @@
|
|
|
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 { SERVICE_SOURCE_DEFINITION, ServiceSource, } from '@finos/legend-cube';
|
|
17
|
+
import { action, computed, flow, flowResult, makeObservable, observable, } from 'mobx';
|
|
18
|
+
import { CUBE_SERVICE_MESSAGE } from '../../__lib__/LegendCubeServiceLabels.js';
|
|
19
|
+
import { CubeEngineError } from '../../graph-manager/CubeEngine.js';
|
|
20
|
+
import { createCubeServiceModel, isCubeServiceModel, } from '../../graph-manager/CubeService.js';
|
|
21
|
+
import { recheckCubeServiceSources } from '../CubeServiceRecheck.js';
|
|
22
|
+
import { CubeSourcePickerTabKey, } from './CubeSourcePickerTab.js';
|
|
23
|
+
/** The most services the list shows: a registry can hold thousands */
|
|
24
|
+
export const CUBE_SERVICE_LIST_LIMIT = 200;
|
|
25
|
+
const toError = (error) => {
|
|
26
|
+
if (error instanceof CubeEngineError) {
|
|
27
|
+
return {
|
|
28
|
+
message: error.firstLine,
|
|
29
|
+
detail: error.detail !== error.firstLine ? error.detail : undefined,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return { message: error instanceof Error ? error.message : String(error) };
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* The source dialog's Service tab (PLAN §6.4), in progress: the deployed
|
|
36
|
+
* services, searched by title, name and pattern. Add puts the picked one on
|
|
37
|
+
* the canvas, typed as services are (`recheckCubeServiceSources`), which for
|
|
38
|
+
* now says it can't be read; the first saves a service model as the cube's.
|
|
39
|
+
*/
|
|
40
|
+
export class CubeServiceTabState {
|
|
41
|
+
key = CubeSourcePickerTabKey.SERVICE;
|
|
42
|
+
label = 'Service';
|
|
43
|
+
editorState;
|
|
44
|
+
services;
|
|
45
|
+
search = '';
|
|
46
|
+
/** The picked service's pattern */
|
|
47
|
+
pattern;
|
|
48
|
+
isLoading = false;
|
|
49
|
+
isAdding = false;
|
|
50
|
+
error;
|
|
51
|
+
/** Each counts its calls: a later call, or closing the dialog, drops an earlier answer */
|
|
52
|
+
listRequest = 0;
|
|
53
|
+
confirmRequest = 0;
|
|
54
|
+
constructor(editorState) {
|
|
55
|
+
makeObservable(this, {
|
|
56
|
+
services: observable.ref,
|
|
57
|
+
search: observable,
|
|
58
|
+
pattern: observable,
|
|
59
|
+
isLoading: observable,
|
|
60
|
+
isAdding: observable,
|
|
61
|
+
error: observable.ref,
|
|
62
|
+
isAvailable: computed,
|
|
63
|
+
isBusy: computed,
|
|
64
|
+
matchingServices: computed,
|
|
65
|
+
shownServices: computed,
|
|
66
|
+
service: computed,
|
|
67
|
+
canConfirm: computed,
|
|
68
|
+
setSearch: action,
|
|
69
|
+
selectService: action,
|
|
70
|
+
retry: action,
|
|
71
|
+
open: action,
|
|
72
|
+
close: action,
|
|
73
|
+
loadServices: flow,
|
|
74
|
+
confirm: flow,
|
|
75
|
+
});
|
|
76
|
+
this.editorState = editorState;
|
|
77
|
+
}
|
|
78
|
+
get catalog() {
|
|
79
|
+
return this.editorState.host.serviceCatalog;
|
|
80
|
+
}
|
|
81
|
+
/** Hosts without a service catalog have no services */
|
|
82
|
+
get isAvailable() {
|
|
83
|
+
return this.catalog !== undefined;
|
|
84
|
+
}
|
|
85
|
+
get isBusy() {
|
|
86
|
+
return this.isLoading || this.isAdding;
|
|
87
|
+
}
|
|
88
|
+
ownsContext(context) {
|
|
89
|
+
return isCubeServiceModel(context.model);
|
|
90
|
+
}
|
|
91
|
+
/** The services whose title, name or pattern holds the search text */
|
|
92
|
+
get matchingServices() {
|
|
93
|
+
const search = this.search.trim().toLowerCase();
|
|
94
|
+
return (this.services ?? []).filter((service) => [service.title ?? '', service.name, service.pattern].some((text) => text.toLowerCase().includes(search)));
|
|
95
|
+
}
|
|
96
|
+
/** The first matching services, up to the list's limit */
|
|
97
|
+
get shownServices() {
|
|
98
|
+
return this.matchingServices.slice(0, CUBE_SERVICE_LIST_LIMIT);
|
|
99
|
+
}
|
|
100
|
+
get service() {
|
|
101
|
+
return this.services?.find((each) => each.pattern === this.pattern);
|
|
102
|
+
}
|
|
103
|
+
get canConfirm() {
|
|
104
|
+
return (this.isAvailable &&
|
|
105
|
+
!this.editorState.readOnly &&
|
|
106
|
+
!this.isAdding &&
|
|
107
|
+
this.service !== undefined);
|
|
108
|
+
}
|
|
109
|
+
setSearch(search) {
|
|
110
|
+
this.search = search;
|
|
111
|
+
}
|
|
112
|
+
selectService(pattern) {
|
|
113
|
+
if (this.services?.some((each) => each.pattern === pattern)) {
|
|
114
|
+
this.pattern = pattern;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/** Reads the list again, after it failed */
|
|
118
|
+
retry() {
|
|
119
|
+
this.error = undefined;
|
|
120
|
+
flowResult(this.loadServices()).catch(this.editorState.host.applicationStore.alertUnhandledError);
|
|
121
|
+
}
|
|
122
|
+
/** When the dialog opens on the tab: reads the list, unless it is read or on its way */
|
|
123
|
+
open() {
|
|
124
|
+
this.error = undefined;
|
|
125
|
+
if (this.services === undefined && !this.isLoading) {
|
|
126
|
+
flowResult(this.loadServices()).catch(this.editorState.host.applicationStore.alertUnhandledError);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
close() {
|
|
130
|
+
this.listRequest++;
|
|
131
|
+
this.confirmRequest++;
|
|
132
|
+
this.isLoading = false;
|
|
133
|
+
this.isAdding = false;
|
|
134
|
+
}
|
|
135
|
+
*loadServices() {
|
|
136
|
+
const { catalog } = this;
|
|
137
|
+
if (!catalog) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const request = ++this.listRequest;
|
|
141
|
+
this.isLoading = true;
|
|
142
|
+
this.error = undefined;
|
|
143
|
+
try {
|
|
144
|
+
const services = (yield catalog.listServices());
|
|
145
|
+
if (request === this.listRequest) {
|
|
146
|
+
this.services = services;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
if (request === this.listRequest) {
|
|
151
|
+
this.error = toError(error);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
finally {
|
|
155
|
+
if (request === this.listRequest) {
|
|
156
|
+
this.isLoading = false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Adds the picked service, typed as services are; the first saves a
|
|
162
|
+
* service model as the cube's, in the same undo step
|
|
163
|
+
*/
|
|
164
|
+
*confirm() {
|
|
165
|
+
if (!this.canConfirm) {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
const { editorState } = this;
|
|
169
|
+
const service = this.service;
|
|
170
|
+
const request = ++this.confirmRequest;
|
|
171
|
+
this.isAdding = true;
|
|
172
|
+
this.error = undefined;
|
|
173
|
+
try {
|
|
174
|
+
const coordinates = { pattern: service.pattern, service: service.name };
|
|
175
|
+
const model = editorState.document.context?.model ?? createCubeServiceModel();
|
|
176
|
+
const answers = (yield recheckCubeServiceSources(this.catalog, model, [
|
|
177
|
+
SERVICE_SOURCE_DEFINITION.fromCoordinates(ServiceSource.TYPE, coordinates),
|
|
178
|
+
]));
|
|
179
|
+
if (request !== this.confirmRequest) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
const [answer] = [...answers.values()];
|
|
183
|
+
// the cube as it is now: it may have changed meanwhile
|
|
184
|
+
const { document } = editorState;
|
|
185
|
+
const node = SERVICE_SOURCE_DEFINITION.resolve(SERVICE_SOURCE_DEFINITION.fromCoordinates(document.query.generateId(ServiceSource.TYPE), coordinates), answer === undefined || answer instanceof CubeEngineError
|
|
186
|
+
? {
|
|
187
|
+
kind: 'failed',
|
|
188
|
+
message: answer?.detail ?? CUBE_SERVICE_MESSAGE.NOT_READABLE,
|
|
189
|
+
}
|
|
190
|
+
: { kind: 'resolved', schema: answer });
|
|
191
|
+
if ((document.context !== undefined &&
|
|
192
|
+
!isCubeServiceModel(document.context.model)) ||
|
|
193
|
+
!document.query.canAdd(node)) {
|
|
194
|
+
throw new Error(CUBE_SERVICE_MESSAGE.CUBE_CHANGED);
|
|
195
|
+
}
|
|
196
|
+
const query = document.query.add(node);
|
|
197
|
+
editorState.applyDocument(document.context
|
|
198
|
+
? document.withQuery(query)
|
|
199
|
+
: document.withContext({ model }).withQuery(query));
|
|
200
|
+
this.pattern = undefined;
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
if (request === this.confirmRequest) {
|
|
205
|
+
this.error = toError(error);
|
|
206
|
+
}
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
finally {
|
|
210
|
+
if (request === this.confirmRequest) {
|
|
211
|
+
this.isAdding = false;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=CubeServiceTabState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeServiceTabState.js","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeServiceTabState.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,14 +13,16 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type { CubeContext } from '@finos/legend-cube';
|
|
16
|
+
import type { CubeContext, Query } from '@finos/legend-cube';
|
|
17
17
|
import type { GeneratorFn } from '@finos/legend-shared';
|
|
18
18
|
export declare enum CubeSourcePickerTabKey {
|
|
19
19
|
MODEL = "model",
|
|
20
20
|
DIRECT_CONNECTION = "directConnection",
|
|
21
21
|
DATA_PRODUCT = "dataProduct",
|
|
22
22
|
INGEST = "ingest",
|
|
23
|
-
PROJECT = "project"
|
|
23
|
+
PROJECT = "project",
|
|
24
|
+
PROJECT_FUNCTION = "projectFunction",
|
|
25
|
+
SERVICE = "service"
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* A tab of the source dialog (PLAN §6.1, §6.8): one way to find a source,
|
|
@@ -42,7 +44,17 @@ export interface CubeSourcePickerTab {
|
|
|
42
44
|
open(): void;
|
|
43
45
|
/** When the dialog closes: answers still on their way are dropped */
|
|
44
46
|
close(): void;
|
|
45
|
-
/**
|
|
47
|
+
/** How many sources Add adds, when the tab picks several at once; one when left out */
|
|
48
|
+
readonly pickedCount?: number;
|
|
49
|
+
/** Adds the picked sources; gives whether every one was added */
|
|
46
50
|
confirm(): GeneratorFn<boolean>;
|
|
47
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Ids for several new nodes of a type, none taken by the query nor by each
|
|
54
|
+
* other: `generateId` sees only the query's nodes, so asking it again gives
|
|
55
|
+
* the same id
|
|
56
|
+
*/
|
|
57
|
+
export declare const generateCubeNodeIds: (query: Query, type: string, count: number) => string[];
|
|
58
|
+
/** How long the clicks on a list's tables pause before the table picked last is previewed */
|
|
59
|
+
export declare const CUBE_TABLE_PREVIEW_DELAY_MS = 250;
|
|
48
60
|
//# sourceMappingURL=CubeSourcePickerTab.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeSourcePickerTab.d.ts","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeSourcePickerTab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"CubeSourcePickerTab.d.ts","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeSourcePickerTab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,oBAAY,sBAAsB;IAChC,KAAK,UAAU;IACf,iBAAiB,qBAAqB;IACtC,YAAY,gBAAgB;IAC5B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,gBAAgB,oBAAoB;IACpC,OAAO,YAAY;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,8EAA8E;IAC9E,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAC3C,mEAAmE;IACnE,IAAI,IAAI,IAAI,CAAC;IACb,qEAAqE;IACrE,KAAK,IAAI,IAAI,CAAC;IACd,uFAAuF;IACvF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,iEAAiE;IACjE,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,KAAK,EACZ,MAAM,MAAM,EACZ,OAAO,MAAM,KACZ,MAAM,EAWR,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,MAAM,CAAC"}
|
|
@@ -20,5 +20,26 @@ export var CubeSourcePickerTabKey;
|
|
|
20
20
|
CubeSourcePickerTabKey["DATA_PRODUCT"] = "dataProduct";
|
|
21
21
|
CubeSourcePickerTabKey["INGEST"] = "ingest";
|
|
22
22
|
CubeSourcePickerTabKey["PROJECT"] = "project";
|
|
23
|
+
CubeSourcePickerTabKey["PROJECT_FUNCTION"] = "projectFunction";
|
|
24
|
+
CubeSourcePickerTabKey["SERVICE"] = "service";
|
|
23
25
|
})(CubeSourcePickerTabKey || (CubeSourcePickerTabKey = {}));
|
|
26
|
+
/**
|
|
27
|
+
* Ids for several new nodes of a type, none taken by the query nor by each
|
|
28
|
+
* other: `generateId` sees only the query's nodes, so asking it again gives
|
|
29
|
+
* the same id
|
|
30
|
+
*/
|
|
31
|
+
export const generateCubeNodeIds = (query, type, count) => {
|
|
32
|
+
const first = query.generateId(type);
|
|
33
|
+
const ids = [first];
|
|
34
|
+
const number = Number(first.slice(type.length));
|
|
35
|
+
for (let next = number + 1; ids.length < count; next += 1) {
|
|
36
|
+
const id = `${type}${next}`;
|
|
37
|
+
if (!query.getNode(id)) {
|
|
38
|
+
ids.push(id);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return ids;
|
|
42
|
+
};
|
|
43
|
+
/** How long the clicks on a list's tables pause before the table picked last is previewed */
|
|
44
|
+
export const CUBE_TABLE_PREVIEW_DELAY_MS = 250;
|
|
24
45
|
//# sourceMappingURL=CubeSourcePickerTab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeSourcePickerTab.js","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeSourcePickerTab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"CubeSourcePickerTab.js","sourceRoot":"","sources":["../../../src/stores/source-picker/CubeSourcePickerTab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,MAAM,CAAN,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,gEAAsC,CAAA;IACtC,sDAA4B,CAAA;IAC5B,2CAAiB,CAAA;IACjB,6CAAmB,CAAA;IACnB,8DAAoC,CAAA;IACpC,6CAAmB,CAAA;AACrB,CAAC,EARW,sBAAsB,KAAtB,sBAAsB,QAQjC;AA4BD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAY,EACZ,IAAY,EACZ,KAAa,EACH,EAAE;IACZ,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-cube-builder",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "Legend Cube builder: the canvas UI and the Legend engine adapter of the Legend Cube query builder",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@dagrejs/dagre": "1.1.4",
|
|
48
|
-
"@finos/legend-application": "16.0.
|
|
49
|
-
"@finos/legend-art": "7.1.
|
|
50
|
-
"@finos/legend-cube": "0.0.
|
|
51
|
-
"@finos/legend-graph": "32.
|
|
52
|
-
"@finos/legend-lego": "2.0.
|
|
48
|
+
"@finos/legend-application": "16.0.129",
|
|
49
|
+
"@finos/legend-art": "7.1.169",
|
|
50
|
+
"@finos/legend-cube": "0.0.5",
|
|
51
|
+
"@finos/legend-graph": "32.8.0",
|
|
52
|
+
"@finos/legend-lego": "2.0.231",
|
|
53
53
|
"@finos/legend-server-depot": "6.1.24",
|
|
54
|
-
"@finos/legend-server-lakehouse": "0.
|
|
55
|
-
"@finos/legend-server-marketplace": "0.2.
|
|
54
|
+
"@finos/legend-server-lakehouse": "0.4.0",
|
|
55
|
+
"@finos/legend-server-marketplace": "0.2.18",
|
|
56
56
|
"@finos/legend-shared": "11.0.32",
|
|
57
57
|
"@finos/legend-storage": "3.0.154",
|
|
58
58
|
"@types/react": "19.0.10",
|
|
@@ -63,7 +63,8 @@
|
|
|
63
63
|
"react": "19.0.1",
|
|
64
64
|
"react-dnd": "16.0.1",
|
|
65
65
|
"react-dom": "19.0.1",
|
|
66
|
-
"serializr": "3.0.3"
|
|
66
|
+
"serializr": "3.0.3",
|
|
67
|
+
"sql-formatter": "15.4.11"
|
|
67
68
|
},
|
|
68
69
|
"devDependencies": {
|
|
69
70
|
"@finos/legend-dev-utils": "2.2.9",
|
|
@@ -24,6 +24,7 @@ import type { CommandConfigData } from '@finos/legend-application';
|
|
|
24
24
|
export enum LEGEND_CUBE_COMMAND_KEY {
|
|
25
25
|
EXECUTE = 'legend-cube.execute',
|
|
26
26
|
UNDO = 'legend-cube.undo',
|
|
27
|
+
REDO = 'legend-cube.redo',
|
|
27
28
|
VALIDATE_EXPRESSIONS = 'legend-cube.validate-expressions',
|
|
28
29
|
}
|
|
29
30
|
|
|
@@ -38,6 +39,11 @@ export const LEGEND_CUBE_COMMAND_CONFIG: CommandConfigData = {
|
|
|
38
39
|
defaultKeyboardShortcut: 'Control+KeyZ',
|
|
39
40
|
additionalKeyboardShortcuts: ['Meta+KeyZ'],
|
|
40
41
|
},
|
|
42
|
+
[LEGEND_CUBE_COMMAND_KEY.REDO]: {
|
|
43
|
+
title: 'Redo the last change undone',
|
|
44
|
+
defaultKeyboardShortcut: 'Control+Shift+KeyZ',
|
|
45
|
+
additionalKeyboardShortcuts: ['Meta+Shift+KeyZ', 'Control+KeyY'],
|
|
46
|
+
},
|
|
41
47
|
[LEGEND_CUBE_COMMAND_KEY.VALIDATE_EXPRESSIONS]: {
|
|
42
48
|
title: "Validate the Extend's expressions",
|
|
43
49
|
defaultKeyboardShortcut: 'F10',
|
|
@@ -47,3 +53,4 @@ export const LEGEND_CUBE_COMMAND_CONFIG: CommandConfigData = {
|
|
|
47
53
|
/** How the buttons' tooltips name the shortcuts */
|
|
48
54
|
export const EXECUTE_SHORTCUT_LABEL = 'F9';
|
|
49
55
|
export const UNDO_SHORTCUT_LABEL = 'Ctrl+Z / Cmd+Z';
|
|
56
|
+
export const REDO_SHORTCUT_LABEL = 'Ctrl+Shift+Z / Cmd+Shift+Z';
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
|
|
17
|
+
import type { SchemaDiff } from '@finos/legend-cube';
|
|
18
|
+
import { getSchemaChangeList } from './LegendCubeLabels.js';
|
|
19
|
+
|
|
20
|
+
// The text of function sources (PLAN §6.5): the source dialog's Project
|
|
21
|
+
// tab, when it reads functions, and a function's panel
|
|
22
|
+
|
|
23
|
+
export const getFunctionDriftWarning = (diff: SchemaDiff): string =>
|
|
24
|
+
`This function's columns changed since the cube was saved: ${getSchemaChangeList(diff)}`;
|
|
25
|
+
|
|
26
|
+
export const getFunctionRecheckWarning = (firstLine: string): string =>
|
|
27
|
+
`Could not re-check this function, so it keeps its saved columns: ${firstLine}`;
|
|
28
|
+
|
|
29
|
+
export const CUBE_FUNCTION_MESSAGE = {
|
|
30
|
+
NO_ANSWER: 'The engine gave no columns for this function',
|
|
31
|
+
/** Under a function with its own runtime */
|
|
32
|
+
RUNS_ON: (runtime: string): string =>
|
|
33
|
+
`Runs on ${runtime}, set by the function`,
|
|
34
|
+
/** A function with its own runtime, on a cube that runs on another */
|
|
35
|
+
OTHER_RUNTIME: (runtime: string, cubeRuntime: string): string =>
|
|
36
|
+
`It reads through ${runtime}, but the cube runs on ${cubeRuntime}`,
|
|
37
|
+
NONE: 'This version has no function that returns a relation.',
|
|
38
|
+
NO_MATCH: 'No function matches the search.',
|
|
39
|
+
CUBE_CHANGED:
|
|
40
|
+
'The cube changed while the function was being added; pick it again.',
|
|
41
|
+
} as const;
|