@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
|
@@ -0,0 +1,99 @@
|
|
|
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 { isValidUrl } from '@finos/legend-shared';
|
|
17
|
+
import { action, computed, makeObservable, observable } from 'mobx';
|
|
18
|
+
import { LEGEND_CUBE_USER_DATA_KEY } from '../__lib__/LegendCubeLabels.js';
|
|
19
|
+
/**
|
|
20
|
+
* The page's Dev Settings, opened from the menu at the top left as Legend
|
|
21
|
+
* Query's editor opens its own (PLAN §11.16): the engine's URL, and whether
|
|
22
|
+
* Cube's engine clients compress their requests (uncompressed, the browser's
|
|
23
|
+
* Network tab shows each request's JSON). Compression is kept for the user,
|
|
24
|
+
* on by default; the URL lasts while the application runs, as Query's does.
|
|
25
|
+
* Both change every engine client of Cube's host, from the next request.
|
|
26
|
+
*/
|
|
27
|
+
export class CubeDevSettingsState {
|
|
28
|
+
host;
|
|
29
|
+
settings;
|
|
30
|
+
isOpen = false;
|
|
31
|
+
requestCompression;
|
|
32
|
+
/** The engine URL as typed: it is used once it is a URL */
|
|
33
|
+
baseUrlText;
|
|
34
|
+
constructor(host) {
|
|
35
|
+
makeObservable(this, {
|
|
36
|
+
host: false,
|
|
37
|
+
settings: false,
|
|
38
|
+
isOpen: observable,
|
|
39
|
+
requestCompression: observable,
|
|
40
|
+
baseUrlText: observable,
|
|
41
|
+
baseUrlError: computed,
|
|
42
|
+
open: action,
|
|
43
|
+
close: action,
|
|
44
|
+
setRequestCompression: action,
|
|
45
|
+
setBaseUrlText: action,
|
|
46
|
+
resetBaseUrl: action,
|
|
47
|
+
});
|
|
48
|
+
this.host = host;
|
|
49
|
+
this.settings = host.engineClientSettings;
|
|
50
|
+
const uncompressed = host.applicationStore.userDataService.getBooleanValue(LEGEND_CUBE_USER_DATA_KEY.UNCOMPRESSED_REQUESTS) ?? false;
|
|
51
|
+
if (uncompressed) {
|
|
52
|
+
this.settings?.setRequestCompression(false);
|
|
53
|
+
}
|
|
54
|
+
this.requestCompression = this.settings?.requestCompression ?? true;
|
|
55
|
+
this.baseUrlText = this.settings?.baseUrl ?? '';
|
|
56
|
+
}
|
|
57
|
+
/** Whether the host lets Dev Settings change its engine clients */
|
|
58
|
+
get isAvailable() {
|
|
59
|
+
return this.settings !== undefined;
|
|
60
|
+
}
|
|
61
|
+
/** The URL the host configured */
|
|
62
|
+
get defaultBaseUrl() {
|
|
63
|
+
return this.settings?.defaultBaseUrl;
|
|
64
|
+
}
|
|
65
|
+
/** Why the typed engine URL isn't used, if it isn't */
|
|
66
|
+
get baseUrlError() {
|
|
67
|
+
return isValidUrl(this.baseUrlText) ? undefined : 'Invalid URL';
|
|
68
|
+
}
|
|
69
|
+
open() {
|
|
70
|
+
this.isOpen = true;
|
|
71
|
+
}
|
|
72
|
+
close() {
|
|
73
|
+
this.isOpen = false;
|
|
74
|
+
}
|
|
75
|
+
setRequestCompression(compressed) {
|
|
76
|
+
if (!this.settings) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.requestCompression = compressed;
|
|
80
|
+
this.settings.setRequestCompression(compressed);
|
|
81
|
+
this.host.applicationStore.userDataService.persistValue(LEGEND_CUBE_USER_DATA_KEY.UNCOMPRESSED_REQUESTS, !compressed);
|
|
82
|
+
}
|
|
83
|
+
/** Takes the typed engine URL, and uses it once it is a URL */
|
|
84
|
+
setBaseUrlText(text) {
|
|
85
|
+
this.baseUrlText = text;
|
|
86
|
+
if (this.settings && isValidUrl(text)) {
|
|
87
|
+
this.settings.setBaseUrl(text);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/** Goes back to the engine URL the host configured */
|
|
91
|
+
resetBaseUrl() {
|
|
92
|
+
if (!this.settings) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
this.settings.setBaseUrl(this.settings.defaultBaseUrl);
|
|
96
|
+
this.baseUrlText = this.settings.defaultBaseUrl ?? '';
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=CubeDevSettingsState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeDevSettingsState.js","sourceRoot":"","sources":["../../src/stores/CubeDevSettingsState.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,16 +13,23 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { DataProductAccessPointSource, IngestDatasetSource, CubeDocument,
|
|
16
|
+
import { DataProductAccessPointSource, IngestDatasetSource, CubeDocument, type ModelContext, type NodeRegistry, type Query, QueryEmitter, type QueryNode, RelationalTableSource, type SchemaInferenceResult, ServiceSource, type SourceDefinition, FunctionSource, type CubeContext } from '@finos/legend-cube';
|
|
17
17
|
import type { CommandRegistrar } from '@finos/legend-application';
|
|
18
18
|
import type { GeneratorFn } from '@finos/legend-shared';
|
|
19
19
|
import { CubeEngineError, type CubeModelOutline } from '../graph-manager/CubeEngine.js';
|
|
20
20
|
import { CubeDataProductRuntimeState } from './CubeDataProductRuntimeState.js';
|
|
21
21
|
import { CubeExamplesState } from './CubeExamplesState.js';
|
|
22
|
+
import { CubeExportState } from './CubeExportState.js';
|
|
23
|
+
import { CubeGridFetcher } from './CubeGridFetcher.js';
|
|
24
|
+
import { CubeGridState } from './CubeGridState.js';
|
|
25
|
+
import { CubeDevSettingsState } from './CubeDevSettingsState.js';
|
|
26
|
+
import { CubeRunStatsState } from './CubeRunStatsState.js';
|
|
22
27
|
import { CubeExecutionState } from './CubeExecutionState.js';
|
|
28
|
+
import { type CubeEngineCheckedNode } from './CubeEngineChecks.js';
|
|
23
29
|
import { type CubeHost } from './CubeHost.js';
|
|
24
30
|
import { CubeNodeEditorState } from './CubeNodeEditorState.js';
|
|
25
31
|
import { CubeShowPureState } from './CubeShowPureState.js';
|
|
32
|
+
import { CubeLambdaImportState } from './CubeLambdaImportState.js';
|
|
26
33
|
import { CubeSourcePickerState } from './CubeSourcePickerState.js';
|
|
27
34
|
import { CubeSpecTransferState } from './CubeSpecTransferState.js';
|
|
28
35
|
/** An engine error placed on a node: its first line shows on the node, its detail in the grid */
|
|
@@ -30,8 +37,8 @@ export interface CubeHostIssue {
|
|
|
30
37
|
readonly firstLine: string;
|
|
31
38
|
readonly detail: string;
|
|
32
39
|
}
|
|
33
|
-
/** A source Cube types again to see drift: a table,
|
|
34
|
-
type RecheckedSource = RelationalTableSource | DataProductAccessPointSource | IngestDatasetSource;
|
|
40
|
+
/** A source Cube types again to see drift: a table, a function, an access point, an ingest data set or a service */
|
|
41
|
+
type RecheckedSource = RelationalTableSource | FunctionSource | DataProductAccessPointSource | IngestDatasetSource | ServiceSource;
|
|
35
42
|
/**
|
|
36
43
|
* The state of one Cube page (PLAN §7.8). The document is immutable: every
|
|
37
44
|
* edit makes a new one through `applyDocument`, which keeps the previous one
|
|
@@ -42,19 +49,59 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
42
49
|
readonly host: CubeHost;
|
|
43
50
|
/** One registry for inference, emission and the saved spec */
|
|
44
51
|
readonly registry: NodeRegistry;
|
|
45
|
-
/**
|
|
46
|
-
|
|
52
|
+
/**
|
|
53
|
+
* The editor's own query rule: an Extend typed, or a Filter by Expression
|
|
54
|
+
* checked, for another input than its own waits to be checked again (PLAN
|
|
55
|
+
* §11.7, §11.11)
|
|
56
|
+
*/
|
|
57
|
+
private readonly staleEngineChecks;
|
|
58
|
+
/**
|
|
59
|
+
* The editor's query rule for the database a node runs on: `%` or `_`
|
|
60
|
+
* given to a pattern on DuckDB (PLAN §11.11), once the model's outline
|
|
61
|
+
* tells the database
|
|
62
|
+
*/
|
|
63
|
+
private readonly databaseRefusals;
|
|
47
64
|
readonly execution: CubeExecutionState;
|
|
65
|
+
/** The latest runs, fetches and exports (spec §12.6) */
|
|
66
|
+
readonly runStats: CubeRunStatsState;
|
|
67
|
+
/** The Dev Settings, at the top left (PLAN §11.16) */
|
|
68
|
+
readonly devSettings: CubeDevSettingsState;
|
|
69
|
+
/** The grid's server-side levels (PLAN §11.10) */
|
|
70
|
+
readonly gridFetcher: CubeGridFetcher;
|
|
71
|
+
/** The grid's mode and its server-side levels (PLAN §11.10) */
|
|
72
|
+
readonly grid: CubeGridState;
|
|
73
|
+
/** The results' export (spec §12.5) */
|
|
74
|
+
readonly export: CubeExportState;
|
|
48
75
|
/** Where a lakehouse cube runs, a data product's or an ingest one's: its class and warehouse */
|
|
49
76
|
readonly dataProductRuntime: CubeDataProductRuntimeState;
|
|
50
77
|
readonly sourcePicker: CubeSourcePickerState;
|
|
51
78
|
readonly specTransfer: CubeSpecTransferState;
|
|
52
79
|
readonly examples: CubeExamplesState;
|
|
53
80
|
readonly showPure: CubeShowPureState;
|
|
81
|
+
/** Import Pure: the lambda the page opened on, read into the cube (PLAN §11.18) */
|
|
82
|
+
readonly lambdaImport: CubeLambdaImportState;
|
|
54
83
|
readonly nodeEditor: CubeNodeEditorState;
|
|
55
84
|
document: CubeDocument;
|
|
56
85
|
/** Earlier documents, oldest first */
|
|
57
86
|
history: readonly CubeDocument[];
|
|
87
|
+
/**
|
|
88
|
+
* The step copied last, as it was, with the cube's context then, which a
|
|
89
|
+
* pasted source needs; kept for the page, across cubes
|
|
90
|
+
*/
|
|
91
|
+
copiedNode: {
|
|
92
|
+
readonly node: QueryNode;
|
|
93
|
+
readonly context: CubeContext | undefined;
|
|
94
|
+
} | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* The changes undone, the latest last, to redo; a new change clears them.
|
|
97
|
+
* Each keeps whether it was read-only and whether undoing it left another
|
|
98
|
+
* cube (an import), so a redo restores both
|
|
99
|
+
*/
|
|
100
|
+
redoStack: readonly {
|
|
101
|
+
readonly document: CubeDocument;
|
|
102
|
+
readonly readOnly: boolean;
|
|
103
|
+
readonly opensAnotherCube: boolean;
|
|
104
|
+
}[];
|
|
58
105
|
/** Engine errors by node id: shown with the node's own errors, never part of inference */
|
|
59
106
|
hostIssues: ReadonlyMap<string, CubeHostIssue>;
|
|
60
107
|
/**
|
|
@@ -63,17 +110,28 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
63
110
|
*/
|
|
64
111
|
warnings: ReadonlyMap<number, readonly string[]>;
|
|
65
112
|
/**
|
|
66
|
-
* The outline of each model the cube used,
|
|
67
|
-
*
|
|
68
|
-
*
|
|
113
|
+
* The outline of each model the cube used, by the model's JSON
|
|
114
|
+
* (`modelKey`): loaded when the cube reads a table, or an editor or a run
|
|
115
|
+
* needs it, e.g. for the Join's 'type unknown' warning or the database a
|
|
116
|
+
* node runs on (PLAN §11.12); by reference, never observed deeply
|
|
69
117
|
*/
|
|
70
118
|
private modelOutlines;
|
|
119
|
+
/** Each model's key in `modelOutlines`, its JSON, worked out once per model object */
|
|
120
|
+
private readonly modelKeys;
|
|
121
|
+
/** The outlines on their way, by model key, so a second load waits for the first */
|
|
122
|
+
private readonly loadingOutlines;
|
|
71
123
|
/** Sources sent to the engine to be typed again, until it answers */
|
|
72
124
|
private pendingSources;
|
|
73
|
-
/** Extends sent to the engine to be
|
|
74
|
-
private
|
|
75
|
-
/**
|
|
76
|
-
private readonly
|
|
125
|
+
/** Extends and Filters by Expression sent to the engine to be checked, until it answers (PLAN §11.7, §11.11) */
|
|
126
|
+
private checkingNodes;
|
|
127
|
+
/** Checks the nodes that wait for the engine, whenever one does (PLAN §11.7 Q4) */
|
|
128
|
+
private readonly rechecking;
|
|
129
|
+
/**
|
|
130
|
+
* Loads the model's outline once the cube reads a table, so the database it
|
|
131
|
+
* runs on is known before any run: some nodes are refused there, or written
|
|
132
|
+
* another way (PLAN §11.4, §11.11, §11.12)
|
|
133
|
+
*/
|
|
134
|
+
private readonly outlineLoading;
|
|
77
135
|
/** The rows a run returns; kept per user, never in the cube */
|
|
78
136
|
rowLimit: number;
|
|
79
137
|
/** The palette shows icons only; kept per user, never in the cube */
|
|
@@ -90,8 +148,9 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
90
148
|
constructor(host: CubeHost, document?: CubeDocument);
|
|
91
149
|
/**
|
|
92
150
|
* Each node's schema and errors, query-level rules included, as the
|
|
93
|
-
* emitter sees them
|
|
94
|
-
* waiting
|
|
151
|
+
* emitter sees them; an Extend or a Filter by Expression checked for
|
|
152
|
+
* another input than its own waiting, and a filter its database would
|
|
153
|
+
* misread refused, which only the editor can tell
|
|
95
154
|
*/
|
|
96
155
|
get analysis(): SchemaInferenceResult;
|
|
97
156
|
get emitter(): QueryEmitter;
|
|
@@ -100,27 +159,28 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
100
159
|
/** The source is being typed again by the engine, e.g. after an import */
|
|
101
160
|
isPendingSource(node: QueryNode): boolean;
|
|
102
161
|
/**
|
|
103
|
-
* The Extends of the cube shown that wait for
|
|
104
|
-
*
|
|
105
|
-
* new expressions, or an input that changed
|
|
162
|
+
* The Extends and Filters by Expression of the cube shown that wait for
|
|
163
|
+
* the engine, their input valid, and that aren't being checked (PLAN §11.7,
|
|
164
|
+
* §11.11): new expressions, or an input that changed
|
|
106
165
|
*/
|
|
107
|
-
get
|
|
108
|
-
/** The cube shown has
|
|
109
|
-
get
|
|
110
|
-
/** The node waits for the engine to
|
|
166
|
+
get nodesToCheck(): readonly CubeEngineCheckedNode[];
|
|
167
|
+
/** The cube shown has expressions the engine is checking: an Extend's columns, a filter's condition */
|
|
168
|
+
get isCheckingExpressions(): boolean;
|
|
169
|
+
/** The node waits for the engine to check it, or is being checked: an Extend or a Filter by Expression (PLAN §11.7, §11.11) */
|
|
111
170
|
isTypingNode(node: QueryNode): boolean;
|
|
112
171
|
/**
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* the input is kept, with a
|
|
172
|
+
* Checks expressions with the engine, in one call, outside the undo history
|
|
173
|
+
* (PLAN §11.7 Q4, §11.11): an Extend's columns typed, a Filter by
|
|
174
|
+
* Expression's condition checked, each for the input it has now, after its
|
|
175
|
+
* input's relation, as typing types any node. The check goes in place of
|
|
176
|
+
* the very nodes sent, in the cube shown and the undo snapshots that give
|
|
177
|
+
* the engine the same input; one the user changed meanwhile is left to
|
|
178
|
+
* check again. Each check records the input as the engine was given it
|
|
179
|
+
* (`upstream`). A check the engine couldn't give says why; when the engine
|
|
180
|
+
* can't be reached, a check still current for the input is kept, with a
|
|
181
|
+
* warning, as a source's saved columns are.
|
|
122
182
|
*/
|
|
123
|
-
|
|
183
|
+
checkExpressions(nodes: readonly CubeEngineCheckedNode[]): GeneratorFn<void>;
|
|
124
184
|
/**
|
|
125
185
|
* Warnings worked out from the query, by node id: a Sort whose order is
|
|
126
186
|
* lost before it is used (PLAN §11.4). Never stored and never errors, so
|
|
@@ -140,23 +200,45 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
140
200
|
getNodeErrors(nodeId: string): readonly string[];
|
|
141
201
|
/** The outline of the cube's model, once an editor has loaded it */
|
|
142
202
|
get modelOutline(): CubeModelOutline | undefined;
|
|
203
|
+
/**
|
|
204
|
+
* A model's key for its outline: its JSON, so a cube imported on the same
|
|
205
|
+
* model, a new object with the same content, shares the outline loaded
|
|
206
|
+
*/
|
|
207
|
+
private modelKey;
|
|
143
208
|
/** The outline of a model, once loaded */
|
|
144
209
|
getModelOutline(model: ModelContext): CubeModelOutline | undefined;
|
|
145
210
|
/**
|
|
146
211
|
* The database type a run of the query up to the node needs, with the
|
|
147
|
-
* model's runtime (PLAN §11.4)
|
|
148
|
-
* (
|
|
149
|
-
*
|
|
150
|
-
*
|
|
212
|
+
* model's runtime (PLAN §11.4): for a data product or ingest cube, the
|
|
213
|
+
* database its lakehouse runtime routes to (§11.12); else, from the model's
|
|
214
|
+
* outline once it is loaded (`loadModelOutline`), the type of the runtime's
|
|
215
|
+
* connections to the databases the node reads. None without an outline,
|
|
216
|
+
* which writes every operation the native way.
|
|
151
217
|
*/
|
|
152
218
|
getRunDatabaseType(query: Query, nodeId: string, model: ModelContext, runtime: string): string | undefined;
|
|
153
219
|
/**
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
220
|
+
* A node's problems on the database the query up to it runs on, with the
|
|
221
|
+
* cube's runtime (`getRunDatabaseType`): a Pivot where it can't run (PLAN
|
|
222
|
+
* §11.12); a filter giving `%` or `_` to a pattern on DuckDB, which would
|
|
223
|
+
* match them as wildcards (§11.11). None when the database isn't known.
|
|
224
|
+
*/
|
|
225
|
+
getNodeDatabaseProblems(query: Query, node: QueryNode): string[];
|
|
226
|
+
/**
|
|
227
|
+
* Why a node of the type can't be added after the node, on the database the
|
|
228
|
+
* query up to that node runs on (PLAN §11.12): a Pivot where it can't run.
|
|
229
|
+
* `undefined` when it can, or the database isn't known.
|
|
230
|
+
*/
|
|
231
|
+
getAddDatabaseProblem(type: string, afterId: string | undefined): string | undefined;
|
|
232
|
+
/**
|
|
233
|
+
* Loads the outline of a model, the cube's by default, once per model: a
|
|
234
|
+
* load already on its way is waited for, not started again, e.g. a run's
|
|
235
|
+
* while the cube's opening load is still out. It only adds warnings,
|
|
236
|
+
* database types and a database's refusals (PLAN §11.11, §11.12), so a
|
|
237
|
+
* model that fails to load shows none and runs every operation the native
|
|
238
|
+
* way.
|
|
157
239
|
*/
|
|
158
240
|
loadModelOutline(model?: ModelContext | undefined): GeneratorFn<void>;
|
|
159
|
-
/** One of Cube's dialogs is open: the source picker, Import or Export, Show Pure */
|
|
241
|
+
/** One of Cube's dialogs is open: the source picker, Examples, the group rows' settings, Import or Export, Show Pure */
|
|
160
242
|
get isDialogOpen(): boolean;
|
|
161
243
|
/**
|
|
162
244
|
* The page's keyboard shortcuts, while it is open (spec §17.12). Each does
|
|
@@ -185,6 +267,7 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
185
267
|
undoEdited(): void;
|
|
186
268
|
deregisterCommands(): void;
|
|
187
269
|
get canUndo(): boolean;
|
|
270
|
+
get canRedo(): boolean;
|
|
188
271
|
/** The one way to change the cube; the document before goes to the undo history */
|
|
189
272
|
applyDocument(next: CubeDocument): void;
|
|
190
273
|
/**
|
|
@@ -193,6 +276,20 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
193
276
|
* without applying its edits, and drops the last run's rows and errors,
|
|
194
277
|
* which belong to the cube before. Never runs the cube.
|
|
195
278
|
*/
|
|
279
|
+
/** Whether the cube is a new one: no name, no context, no node */
|
|
280
|
+
get isEmptyCube(): boolean;
|
|
281
|
+
/**
|
|
282
|
+
* Replaces the cube with a new, empty one, as an import does (one undo
|
|
283
|
+
* step, so Undo brings the cube back); a cube already new is left as it is
|
|
284
|
+
*/
|
|
285
|
+
startNewCube(): void;
|
|
286
|
+
/**
|
|
287
|
+
* Opens the page on a cube read for it, as `initialDocument` opens one:
|
|
288
|
+
* no undo step, as there was no cube before it (Import Pure's
|
|
289
|
+
* `initialLambda`, PLAN §11.18). Its sources come typed; its expressions
|
|
290
|
+
* are checked as any are.
|
|
291
|
+
*/
|
|
292
|
+
openDocument(next: CubeDocument): void;
|
|
196
293
|
importDocument(next: CubeDocument, readOnly: boolean): void;
|
|
197
294
|
/**
|
|
198
295
|
* Types the cube's sources again, outside the undo history (PLAN §10.3,
|
|
@@ -242,6 +339,15 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
242
339
|
* import closes the node editor and the picker, as the import did.
|
|
243
340
|
*/
|
|
244
341
|
undo(): void;
|
|
342
|
+
/**
|
|
343
|
+
* Brings back the last change undone, as Ctrl+Shift+Z does: the cube shown
|
|
344
|
+
* goes back to the undo history, and a change that opened another cube
|
|
345
|
+
* (an import, New) closes the editor and the source dialog again
|
|
346
|
+
*/
|
|
347
|
+
redo(): void;
|
|
348
|
+
/** Redo, as its button and Ctrl+Shift+Z do: finishes the node editor first */
|
|
349
|
+
redoEdited(): void;
|
|
350
|
+
/** Keeps the cube shown for undo; a new change, not a redo, drops what was undone */
|
|
245
351
|
private pushHistory;
|
|
246
352
|
/**
|
|
247
353
|
* Engine errors belong to the query and the context they came from, so
|
|
@@ -258,9 +364,10 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
258
364
|
*/
|
|
259
365
|
connect(sourceId: string, targetId: string, port?: string): void;
|
|
260
366
|
/**
|
|
261
|
-
* The kinds of source the host serves: data products
|
|
262
|
-
* only with their catalogs
|
|
263
|
-
* (
|
|
367
|
+
* The kinds of source the host serves: data products, ingest data sets and
|
|
368
|
+
* services only with their catalogs, tables and functions only with a tab
|
|
369
|
+
* that reads them (Studio offers ingest data sets alone). The cube's kind
|
|
370
|
+
* may still disable one (`canAddNode`)
|
|
264
371
|
*/
|
|
265
372
|
get offeredSources(): readonly SourceDefinition[];
|
|
266
373
|
/**
|
|
@@ -277,7 +384,7 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
277
384
|
* after `afterId`; a source opens the source picker, which adds it once
|
|
278
385
|
* the engine has typed it. Does nothing `canAddNode` refuses.
|
|
279
386
|
*/
|
|
280
|
-
addNode(type: string, afterId?: string):
|
|
387
|
+
addNode(type: string, afterId?: string): string | undefined;
|
|
281
388
|
/**
|
|
282
389
|
* Adds a node made elsewhere, with its settings, as the grid's quick
|
|
283
390
|
* actions do (spec §12.4): spliced in after `afterId`, so it becomes the
|
|
@@ -299,6 +406,23 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
299
406
|
* table can come from any model (user's choice, 2026-10-07).
|
|
300
407
|
*/
|
|
301
408
|
removeNode(nodeId: string): void;
|
|
409
|
+
/** Whether a step can be copied: a known type's, so its copy reads back */
|
|
410
|
+
canCopyNode(nodeId: string): boolean;
|
|
411
|
+
/** Copies a step, as Cmd/Ctrl+C on it does, for Paste */
|
|
412
|
+
copyNode(nodeId: string): void;
|
|
413
|
+
/**
|
|
414
|
+
* Whether the step copied can be pasted here: a transform always; a source
|
|
415
|
+
* only into a cube of the same model and runtime, or an empty cube, which
|
|
416
|
+
* takes them, as a first table does
|
|
417
|
+
*/
|
|
418
|
+
get canPaste(): boolean;
|
|
419
|
+
/** Pastes the step copied: after the step given when it takes an input, else on its own; one undo step */
|
|
420
|
+
pasteNode(afterId?: string): void;
|
|
421
|
+
canDuplicateNode(nodeId: string): boolean;
|
|
422
|
+
/** A copy of the step after it, as Cmd/Ctrl+D does, leaving the step copied for Paste as it was */
|
|
423
|
+
duplicateNode(nodeId: string): void;
|
|
424
|
+
private canTakeCopy;
|
|
425
|
+
private addCopy;
|
|
302
426
|
canSwapInputs(nodeId: string): boolean;
|
|
303
427
|
/** Swaps a binary node's two inputs; its settings follow them, e.g. a Join's key columns */
|
|
304
428
|
swapInputs(nodeId: string): void;
|
|
@@ -307,6 +431,12 @@ export declare class CubeEditorState implements CommandRegistrar {
|
|
|
307
431
|
* edit that leaves the query, and so the rows, as they are (M1.8b).
|
|
308
432
|
*/
|
|
309
433
|
setShowGraph(showGraph: boolean): void;
|
|
434
|
+
/**
|
|
435
|
+
* Keeps a grid column's width, which the cube saves (PLAN §11.10): by the
|
|
436
|
+
* column's name, in any case. Presentation the user sets by dragging, so
|
|
437
|
+
* no undo step, and the rows stay current.
|
|
438
|
+
*/
|
|
439
|
+
setColumnWidth(column: string, width: number): void;
|
|
310
440
|
setHostIssue(nodeId: string, error: CubeEngineError): void;
|
|
311
441
|
clearHostIssues(): void;
|
|
312
442
|
/** Sets and remembers the row limit; a value that isn't a whole number of at least 1 is refused */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EAGnB,YAAY,
|
|
1
|
+
{"version":3,"file":"CubeEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeEditorState.ts"],"names":[],"mappings":"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"}
|