@finos/legend-cube-builder 0.0.3 → 0.0.4
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 +52 -19
- package/docs/adding-an-operation.md +102 -13
- package/docs/hosting.md +82 -4
- package/docs/testing.md +114 -9
- package/lib/__lib__/LegendCubeCommand.d.ts +2 -1
- package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeCommand.js +5 -0
- package/lib/__lib__/LegendCubeCommand.js.map +1 -1
- package/lib/__lib__/LegendCubeDataProductLabels.d.ts +45 -0
- package/lib/__lib__/LegendCubeDataProductLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeDataProductLabels.js +60 -0
- package/lib/__lib__/LegendCubeDataProductLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts +56 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.js +76 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeHelpText.js +12 -2
- package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
- package/lib/__lib__/LegendCubeIngestLabels.d.ts +25 -0
- package/lib/__lib__/LegendCubeIngestLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeIngestLabels.js +29 -0
- package/lib/__lib__/LegendCubeIngestLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeLabels.d.ts +76 -3
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +102 -4
- package/lib/__lib__/LegendCubeLabels.js.map +1 -1
- package/lib/__lib__/LegendCubeProjectLabels.d.ts +22 -0
- package/lib/__lib__/LegendCubeProjectLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeProjectLabels.js +23 -0
- package/lib/__lib__/LegendCubeProjectLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeTesting.d.ts +1 -0
- package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeTesting.js +1 -0
- package/lib/__lib__/LegendCubeTesting.js.map +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.js +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeConnectionTestSupport.d.ts +22 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.d.ts.map +1 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.js +30 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.js.map +1 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts +31 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts.map +1 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.js +63 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.js.map +1 -0
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts +12 -0
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.js +21 -0
- package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +37 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.js +83 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.d.ts +25 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubeOperationsTestUtils.js +56 -10
- package/lib/__test-utils__/CubeOperationsTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.d.ts +12 -0
- package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.js +25 -1
- package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts +5 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.js +9 -1
- package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
- package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts +33 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.js +67 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.js.map +1 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts +45 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.js +137 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts +2 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
- package/lib/__test-utils__/FakeCubeEngine.js +14 -1
- package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +35 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js +107 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts +30 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.js +64 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.js.map +1 -0
- package/lib/components/CubeAddItems.d.ts +35 -0
- package/lib/components/CubeAddItems.d.ts.map +1 -0
- package/lib/components/CubeAddItems.js +82 -0
- package/lib/components/CubeAddItems.js.map +1 -0
- package/lib/components/CubeEditor.d.ts +5 -1
- package/lib/components/CubeEditor.d.ts.map +1 -1
- package/lib/components/CubeEditor.js +33 -13
- package/lib/components/CubeEditor.js.map +1 -1
- package/lib/components/CubeEntrySourceBanner.d.ts +23 -0
- package/lib/components/CubeEntrySourceBanner.d.ts.map +1 -0
- package/lib/components/CubeEntrySourceBanner.js +32 -0
- package/lib/components/CubeEntrySourceBanner.js.map +1 -0
- package/lib/components/CubeNodeIcon.d.ts.map +1 -1
- package/lib/components/CubeNodeIcon.js +8 -1
- package/lib/components/CubeNodeIcon.js.map +1 -1
- package/lib/components/CubeSchemaColumnsTable.d.ts +21 -0
- package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -0
- package/lib/components/CubeSchemaColumnsTable.js +6 -0
- package/lib/components/CubeSchemaColumnsTable.js.map +1 -0
- package/lib/components/canvas/CubeCanvas.d.ts +4 -3
- package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvas.js +31 -12
- package/lib/components/canvas/CubeCanvas.js.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts +8 -4
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.js +19 -9
- package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
- package/lib/components/canvas/CubeCanvasDnd.d.ts +7 -5
- package/lib/components/canvas/CubeCanvasDnd.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasDnd.js +14 -9
- package/lib/components/canvas/CubeCanvasDnd.js.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.js +6 -3
- package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.js +30 -20
- package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
- package/lib/components/canvas/CubeCanvasNodeFocus.d.ts +22 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.d.ts.map +1 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.js +31 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.js.map +1 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.d.ts +44 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.d.ts.map +1 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.js +51 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.js.map +1 -0
- package/lib/components/editors/CubeAggregationRowEditor.d.ts +48 -0
- package/lib/components/editors/CubeAggregationRowEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeAggregationRowEditor.js +72 -0
- package/lib/components/editors/CubeAggregationRowEditor.js.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts +42 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.js +41 -0
- package/lib/components/editors/CubeColumnChecklist.js.map +1 -0
- package/lib/components/editors/CubeConcatEditor.d.ts +33 -0
- package/lib/components/editors/CubeConcatEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeConcatEditor.js +147 -0
- package/lib/components/editors/CubeConcatEditor.js.map +1 -0
- package/lib/components/editors/CubeDataProductSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeDataProductSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDataProductSourceEditor.js +53 -0
- package/lib/components/editors/CubeDataProductSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeDifferenceEditor.d.ts +25 -0
- package/lib/components/editors/CubeDifferenceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDifferenceEditor.js +29 -0
- package/lib/components/editors/CubeDifferenceEditor.js.map +1 -0
- package/lib/components/editors/CubeExtendEditor.d.ts +25 -0
- package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExtendEditor.js +86 -0
- package/lib/components/editors/CubeExtendEditor.js.map +1 -0
- package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeFilterEditor.js +3 -3
- package/lib/components/editors/CubeFilterEditor.js.map +1 -1
- package/lib/components/editors/CubeGroupEditor.d.ts +28 -0
- package/lib/components/editors/CubeGroupEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeGroupEditor.js +70 -0
- package/lib/components/editors/CubeGroupEditor.js.map +1 -0
- package/lib/components/editors/CubeIngestSourceEditor.d.ts +26 -0
- package/lib/components/editors/CubeIngestSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeIngestSourceEditor.js +47 -0
- package/lib/components/editors/CubeIngestSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeJoinEditor.d.ts +2 -4
- package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeJoinEditor.js +7 -37
- package/lib/components/editors/CubeJoinEditor.js.map +1 -1
- package/lib/components/editors/CubeJoinKeyRows.d.ts +34 -0
- package/lib/components/editors/CubeJoinKeyRows.d.ts.map +1 -0
- package/lib/components/editors/CubeJoinKeyRows.js +65 -0
- package/lib/components/editors/CubeJoinKeyRows.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorPanel.d.ts +7 -5
- package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorPanel.js +51 -13
- package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorPopper.d.ts +40 -0
- package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -0
- package/lib/components/editors/CubeNodeEditorPopper.js +125 -0
- package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js +15 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
- package/lib/components/editors/CubePartitionEditor.d.ts +30 -0
- package/lib/components/editors/CubePartitionEditor.d.ts.map +1 -0
- package/lib/components/editors/CubePartitionEditor.js +93 -0
- package/lib/components/editors/CubePartitionEditor.js.map +1 -0
- package/lib/components/editors/CubeRenameEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeRenameEditor.js +6 -4
- package/lib/components/editors/CubeRenameEditor.js.map +1 -1
- package/lib/components/editors/CubeRestrictEditor.js +1 -1
- package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
- package/lib/components/editors/CubeSortEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeSortEditor.js +10 -37
- package/lib/components/editors/CubeSortEditor.js.map +1 -1
- package/lib/components/editors/CubeSortRowEditor.d.ts +47 -0
- package/lib/components/editors/CubeSortRowEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeSortRowEditor.js +62 -0
- package/lib/components/editors/CubeSortRowEditor.js.map +1 -0
- package/lib/components/editors/CubeSourceEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeSourceEditor.js +18 -5
- package/lib/components/editors/CubeSourceEditor.js.map +1 -1
- package/lib/components/editors/CubeWarehouseControl.d.ts +30 -0
- package/lib/components/editors/CubeWarehouseControl.d.ts.map +1 -0
- package/lib/components/editors/CubeWarehouseControl.js +44 -0
- package/lib/components/editors/CubeWarehouseControl.js.map +1 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.d.ts +31 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.d.ts.map +1 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.js +83 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.js.map +1 -0
- package/lib/components/examples/CubeExamplesDialog.d.ts +26 -0
- package/lib/components/examples/CubeExamplesDialog.d.ts.map +1 -0
- package/lib/components/examples/CubeExamplesDialog.js +68 -0
- package/lib/components/examples/CubeExamplesDialog.js.map +1 -0
- package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
- package/lib/components/grid/CubeGridRegion.js +19 -8
- package/lib/components/grid/CubeGridRegion.js.map +1 -1
- package/lib/components/grid/CubeGridValues.d.ts +16 -0
- package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
- package/lib/components/grid/CubeGridValues.js +44 -0
- package/lib/components/grid/CubeGridValues.js.map +1 -1
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +14 -2
- package/lib/components/grid/CubeResultGrid.js.map +1 -1
- package/lib/components/palette/CubePalette.d.ts.map +1 -1
- package/lib/components/palette/CubePalette.js +23 -12
- package/lib/components/palette/CubePalette.js.map +1 -1
- package/lib/components/source-picker/CubeDataProductTab.d.ts +27 -0
- package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeDataProductTab.js +102 -0
- package/lib/components/source-picker/CubeDataProductTab.js.map +1 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts +27 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.js +87 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -0
- package/lib/components/source-picker/CubeIngestTab.d.ts +28 -0
- package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeIngestTab.js +66 -0
- package/lib/components/source-picker/CubeIngestTab.js.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts +37 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.js +71 -0
- package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -0
- package/lib/components/source-picker/CubePickerStep.d.ts +27 -0
- package/lib/components/source-picker/CubePickerStep.d.ts.map +1 -0
- package/lib/components/source-picker/CubePickerStep.js +23 -0
- package/lib/components/source-picker/CubePickerStep.js.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts +27 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.js +50 -0
- package/lib/components/source-picker/CubeProjectTab.js.map +1 -0
- package/lib/components/source-picker/CubeSourcePicker.d.ts +6 -0
- package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
- package/lib/components/source-picker/CubeSourcePicker.js +20 -58
- package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js +1 -1
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
- package/lib/graph-manager/CubeConnectionExplorer.d.ts +90 -0
- package/lib/graph-manager/CubeConnectionExplorer.d.ts.map +1 -0
- package/lib/graph-manager/CubeConnectionExplorer.js +34 -0
- package/lib/graph-manager/CubeConnectionExplorer.js.map +1 -0
- package/lib/graph-manager/CubeDataProduct.d.ts +66 -0
- package/lib/graph-manager/CubeDataProduct.d.ts.map +1 -0
- package/lib/graph-manager/CubeDataProduct.js +102 -0
- package/lib/graph-manager/CubeDataProduct.js.map +1 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts +167 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeDataProductCatalog.js +116 -0
- package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -0
- package/lib/graph-manager/CubeDirectConnection.d.ts +38 -0
- package/lib/graph-manager/CubeDirectConnection.d.ts.map +1 -0
- package/lib/graph-manager/CubeDirectConnection.js +48 -0
- package/lib/graph-manager/CubeDirectConnection.js.map +1 -0
- package/lib/graph-manager/CubeEngine.d.ts +37 -2
- package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/CubeEngine.js +4 -1
- package/lib/graph-manager/CubeEngine.js.map +1 -1
- package/lib/graph-manager/CubeIngest.d.ts +50 -0
- package/lib/graph-manager/CubeIngest.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngest.js +88 -0
- package/lib/graph-manager/CubeIngest.js.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts +116 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.js +80 -0
- package/lib/graph-manager/CubeIngestCatalog.js.map +1 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.d.ts +26 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.d.ts.map +1 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.js +17 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.js.map +1 -0
- package/lib/graph-manager/CubeProject.d.ts +41 -0
- package/lib/graph-manager/CubeProject.d.ts.map +1 -0
- package/lib/graph-manager/CubeProject.js +84 -0
- package/lib/graph-manager/CubeProject.js.map +1 -0
- package/lib/graph-manager/CubeProjectCatalog.d.ts +35 -0
- package/lib/graph-manager/CubeProjectCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeProjectCatalog.js +17 -0
- package/lib/graph-manager/CubeProjectCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +63 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +50 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts +44 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js +192 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +29 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +84 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts +41 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js +246 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts +43 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js +112 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js +30 -4
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts +23 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js +68 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts +30 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +140 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +62 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +119 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts +33 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js +94 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +63 -4
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts +67 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js +238 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +34 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +64 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts +104 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js +484 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +97 -3
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +585 -20
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts +69 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js +270 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts +35 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +91 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts +25 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js +47 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts +28 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js +310 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts +33 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js +188 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +27 -1
- 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 +11 -1
- 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 +32 -0
- package/lib/stores/CubeAddPlacement.d.ts.map +1 -0
- package/lib/stores/CubeAddPlacement.js +40 -0
- package/lib/stores/CubeAddPlacement.js.map +1 -0
- package/lib/stores/CubeDataProductRecheck.d.ts +27 -0
- package/lib/stores/CubeDataProductRecheck.d.ts.map +1 -0
- package/lib/stores/CubeDataProductRecheck.js +54 -0
- package/lib/stores/CubeDataProductRecheck.js.map +1 -0
- package/lib/stores/CubeDataProductRuntimeState.d.ts +88 -0
- package/lib/stores/CubeDataProductRuntimeState.d.ts.map +1 -0
- package/lib/stores/CubeDataProductRuntimeState.js +190 -0
- package/lib/stores/CubeDataProductRuntimeState.js.map +1 -0
- package/lib/stores/CubeDataProductWarehouse.d.ts +19 -0
- package/lib/stores/CubeDataProductWarehouse.d.ts.map +1 -0
- package/lib/stores/CubeDataProductWarehouse.js +25 -0
- package/lib/stores/CubeDataProductWarehouse.js.map +1 -0
- package/lib/stores/CubeEditorState.d.ts +100 -16
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +347 -47
- package/lib/stores/CubeEditorState.js.map +1 -1
- package/lib/stores/CubeEntrySource.d.ts +78 -0
- package/lib/stores/CubeEntrySource.d.ts.map +1 -0
- package/lib/stores/CubeEntrySource.js +200 -0
- package/lib/stores/CubeEntrySource.js.map +1 -0
- package/lib/stores/CubeExamples.d.ts +43 -0
- package/lib/stores/CubeExamples.d.ts.map +1 -0
- package/lib/stores/CubeExamples.js +296 -0
- package/lib/stores/CubeExamples.js.map +1 -0
- package/lib/stores/CubeExamplesState.d.ts +45 -0
- package/lib/stores/CubeExamplesState.d.ts.map +1 -0
- package/lib/stores/CubeExamplesState.js +81 -0
- package/lib/stores/CubeExamplesState.js.map +1 -0
- package/lib/stores/CubeExecutionState.d.ts +6 -2
- package/lib/stores/CubeExecutionState.d.ts.map +1 -1
- package/lib/stores/CubeExecutionState.js +15 -5
- package/lib/stores/CubeExecutionState.js.map +1 -1
- package/lib/stores/CubeExtendTyping.d.ts +72 -0
- package/lib/stores/CubeExtendTyping.d.ts.map +1 -0
- package/lib/stores/CubeExtendTyping.js +176 -0
- package/lib/stores/CubeExtendTyping.js.map +1 -0
- package/lib/stores/CubeGridQuickActions.d.ts +14 -6
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
- package/lib/stores/CubeGridQuickActions.js +53 -15
- package/lib/stores/CubeGridQuickActions.js.map +1 -1
- package/lib/stores/CubeHost.d.ts +32 -1
- package/lib/stores/CubeHost.d.ts.map +1 -1
- package/lib/stores/CubeHost.js +21 -1
- package/lib/stores/CubeHost.js.map +1 -1
- package/lib/stores/CubeIngestRecheck.d.ts +26 -0
- package/lib/stores/CubeIngestRecheck.d.ts.map +1 -0
- package/lib/stores/CubeIngestRecheck.js +53 -0
- package/lib/stores/CubeIngestRecheck.js.map +1 -0
- package/lib/stores/CubeNodeEditorState.d.ts +101 -5
- package/lib/stores/CubeNodeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeNodeEditorState.js +221 -10
- package/lib/stores/CubeNodeEditorState.js.map +1 -1
- package/lib/stores/CubeShowPureState.d.ts +5 -2
- package/lib/stores/CubeShowPureState.d.ts.map +1 -1
- package/lib/stores/CubeShowPureState.js +7 -4
- package/lib/stores/CubeShowPureState.js.map +1 -1
- package/lib/stores/CubeSourcePickerState.d.ts +54 -65
- package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
- package/lib/stores/CubeSourcePickerState.js +155 -276
- package/lib/stores/CubeSourcePickerState.js.map +1 -1
- package/lib/stores/CubeSpecTransferState.d.ts +2 -2
- package/lib/stores/CubeSpecTransferState.js +2 -2
- package/lib/stores/LocalModelCatalog.d.ts +2 -0
- package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
- package/lib/stores/LocalModelCatalog.js +17 -3
- package/lib/stores/LocalModelCatalog.js.map +1 -1
- package/lib/stores/editors/CubeAggregationRows.d.ts +80 -0
- package/lib/stores/editors/CubeAggregationRows.d.ts.map +1 -0
- package/lib/stores/editors/CubeAggregationRows.js +164 -0
- package/lib/stores/editors/CubeAggregationRows.js.map +1 -0
- package/lib/stores/editors/CubeConcatDraft.d.ts +30 -0
- package/lib/stores/editors/CubeConcatDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeConcatDraft.js +44 -0
- package/lib/stores/editors/CubeConcatDraft.js.map +1 -0
- package/lib/stores/editors/CubeDifferenceDraft.d.ts +49 -0
- package/lib/stores/editors/CubeDifferenceDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeDifferenceDraft.js +111 -0
- package/lib/stores/editors/CubeDifferenceDraft.js.map +1 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts +110 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExtendDraft.js +359 -0
- package/lib/stores/editors/CubeExtendDraft.js.map +1 -0
- package/lib/stores/editors/CubeGroupDraft.d.ts +61 -0
- package/lib/stores/editors/CubeGroupDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeGroupDraft.js +106 -0
- package/lib/stores/editors/CubeGroupDraft.js.map +1 -0
- package/lib/stores/editors/CubeJoinDraft.d.ts +9 -10
- package/lib/stores/editors/CubeJoinDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeJoinDraft.js +92 -21
- package/lib/stores/editors/CubeJoinDraft.js.map +1 -1
- package/lib/stores/editors/CubeJoinKeyPairs.d.ts +38 -0
- package/lib/stores/editors/CubeJoinKeyPairs.d.ts.map +1 -0
- package/lib/stores/editors/CubeJoinKeyPairs.js +33 -0
- package/lib/stores/editors/CubeJoinKeyPairs.js.map +1 -0
- package/lib/stores/editors/CubeNodeDraft.d.ts +20 -6
- package/lib/stores/editors/CubeNodeDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraft.js +23 -5
- package/lib/stores/editors/CubeNodeDraft.js.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js +20 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
- package/lib/stores/editors/CubePartitionDraft.d.ts +70 -0
- package/lib/stores/editors/CubePartitionDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubePartitionDraft.js +154 -0
- package/lib/stores/editors/CubePartitionDraft.js.map +1 -0
- package/lib/stores/editors/CubeSortDraft.d.ts +2 -10
- package/lib/stores/editors/CubeSortDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeSortDraft.js +9 -35
- package/lib/stores/editors/CubeSortDraft.js.map +1 -1
- package/lib/stores/editors/CubeSortRows.d.ts +34 -0
- package/lib/stores/editors/CubeSortRows.d.ts.map +1 -0
- package/lib/stores/editors/CubeSortRows.js +50 -0
- package/lib/stores/editors/CubeSortRows.js.map +1 -0
- package/lib/stores/fixtures/CubeNorthwindModel.d.ts +7 -0
- package/lib/stores/fixtures/CubeNorthwindModel.d.ts.map +1 -1
- package/lib/stores/fixtures/CubeNorthwindModel.js +99 -87
- package/lib/stores/fixtures/CubeNorthwindModel.js.map +1 -1
- package/lib/stores/fixtures/CubeSampleSql.d.ts +34 -0
- package/lib/stores/fixtures/CubeSampleSql.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSampleSql.js +64 -0
- package/lib/stores/fixtures/CubeSampleSql.js.map +1 -0
- package/lib/stores/fixtures/CubeSportsModel.d.ts +27 -0
- package/lib/stores/fixtures/CubeSportsModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSportsModel.js +158 -0
- package/lib/stores/fixtures/CubeSportsModel.js.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts +29 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.js +197 -0
- package/lib/stores/fixtures/CubeTradesModel.js.map +1 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.d.ts +71 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.js +392 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.js.map +1 -0
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts +186 -0
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js +681 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +140 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js +516 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts +114 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.js +455 -0
- package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +107 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js +347 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts +62 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.js +181 -0
- package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +48 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js +24 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -0
- package/package.json +10 -6
- package/src/__lib__/LegendCubeCommand.ts +5 -0
- package/src/__lib__/LegendCubeDataProductLabels.ts +91 -0
- package/src/__lib__/LegendCubeDirectConnectionLabels.ts +111 -0
- package/src/__lib__/LegendCubeHelpText.ts +25 -1
- package/src/__lib__/LegendCubeIngestLabels.ts +40 -0
- package/src/__lib__/LegendCubeLabels.ts +162 -4
- package/src/__lib__/LegendCubeProjectLabels.ts +25 -0
- package/src/__lib__/LegendCubeTesting.ts +1 -0
- package/src/__test-utils__/CubeCanvasTestUtils.ts +1 -1
- package/src/__test-utils__/CubeConnectionTestSupport.ts +45 -0
- package/src/__test-utils__/CubeDirectConnectionFixtures.ts +70 -0
- package/src/__test-utils__/CubeEngineTestSupport.ts +38 -0
- package/src/__test-utils__/CubeExpressionTestUtils.ts +119 -0
- package/src/__test-utils__/CubeOperationsTestUtils.ts +93 -18
- package/src/__test-utils__/CubePageTestUtils.tsx +35 -0
- package/src/__test-utils__/CubeTestApplication.ts +21 -2
- package/src/__test-utils__/FakeCubeConnectionExplorer.ts +111 -0
- package/src/__test-utils__/FakeCubeDataProductCatalog.ts +227 -0
- package/src/__test-utils__/FakeCubeEngine.ts +25 -1
- package/src/__test-utils__/FakeCubeIngestCatalog.ts +180 -0
- package/src/__test-utils__/FakeCubeProjectCatalog.ts +89 -0
- package/src/components/CubeAddItems.tsx +179 -0
- package/src/components/CubeEditor.tsx +73 -44
- package/src/components/CubeEntrySourceBanner.tsx +64 -0
- package/src/components/CubeNodeIcon.tsx +13 -0
- package/src/components/CubeSchemaColumnsTable.tsx +49 -0
- package/src/components/canvas/CubeCanvas.tsx +49 -14
- package/src/components/canvas/CubeCanvasContextMenu.tsx +31 -30
- package/src/components/canvas/CubeCanvasDnd.ts +16 -9
- package/src/components/canvas/CubeCanvasElements.ts +8 -2
- package/src/components/canvas/CubeCanvasNode.tsx +61 -43
- package/src/components/canvas/CubeCanvasNodeFocus.ts +37 -0
- package/src/components/canvas/CubeNodeEditorAnchor.ts +82 -0
- package/src/components/editors/CubeAggregationRowEditor.tsx +224 -0
- package/src/components/editors/CubeColumnChecklist.tsx +130 -0
- package/src/components/editors/CubeConcatEditor.tsx +374 -0
- package/src/components/editors/CubeDataProductSourceEditor.tsx +134 -0
- package/src/components/editors/CubeDifferenceEditor.tsx +87 -0
- package/src/components/editors/CubeExtendEditor.tsx +271 -0
- package/src/components/editors/CubeFilterEditor.tsx +7 -0
- package/src/components/editors/CubeGroupEditor.tsx +135 -0
- package/src/components/editors/CubeIngestSourceEditor.tsx +104 -0
- package/src/components/editors/CubeJoinEditor.tsx +12 -132
- package/src/components/editors/CubeJoinKeyRows.tsx +183 -0
- package/src/components/editors/CubeNodeEditorPanel.tsx +91 -28
- package/src/components/editors/CubeNodeEditorPopper.tsx +183 -0
- package/src/components/editors/CubeNodeEditorRegistry.ts +21 -0
- package/src/components/editors/CubePartitionEditor.tsx +208 -0
- package/src/components/editors/CubeRenameEditor.tsx +10 -5
- package/src/components/editors/CubeRestrictEditor.tsx +1 -1
- package/src/components/editors/CubeSortEditor.tsx +20 -142
- package/src/components/editors/CubeSortRowEditor.tsx +176 -0
- package/src/components/editors/CubeSourceEditor.tsx +42 -30
- package/src/components/editors/CubeWarehouseControl.tsx +113 -0
- package/src/components/editors/useCubeNodeEditorDismiss.ts +103 -0
- package/src/components/examples/CubeExamplesDialog.tsx +199 -0
- package/src/components/grid/CubeGridRegion.tsx +48 -10
- package/src/components/grid/CubeGridValues.ts +55 -0
- package/src/components/grid/CubeResultGrid.tsx +24 -8
- package/src/components/palette/CubePalette.tsx +33 -15
- package/src/components/source-picker/CubeDataProductTab.tsx +392 -0
- package/src/components/source-picker/CubeDirectConnectionTab.tsx +340 -0
- package/src/components/source-picker/CubeIngestTab.tsx +232 -0
- package/src/components/source-picker/CubeInlineModelTab.tsx +191 -0
- package/src/components/source-picker/CubePickerStep.tsx +49 -0
- package/src/components/source-picker/CubeProjectTab.tsx +114 -0
- package/src/components/source-picker/CubeSourcePicker.tsx +62 -227
- package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +1 -1
- package/src/graph-manager/CubeConnectionExplorer.ts +106 -0
- package/src/graph-manager/CubeDataProduct.ts +150 -0
- package/src/graph-manager/CubeDataProductCatalog.ts +245 -0
- package/src/graph-manager/CubeDirectConnection.ts +67 -0
- package/src/graph-manager/CubeEngine.ts +43 -1
- package/src/graph-manager/CubeIngest.ts +144 -0
- package/src/graph-manager/CubeIngestCatalog.ts +169 -0
- package/src/graph-manager/CubeLakehouseEnvironment.ts +27 -0
- package/src/graph-manager/CubeProject.ts +117 -0
- package/src/graph-manager/CubeProjectCatalog.ts +40 -0
- package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +145 -1
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.ts +251 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +101 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.ts +339 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDirectModel.ts +151 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.ts +45 -4
- package/src/graph-manager/protocol/pure/v1/V1_CubeExpression.ts +89 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +201 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +183 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.ts +141 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +84 -4
- package/src/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.ts +361 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +116 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.ts +744 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +967 -24
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.ts +459 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +147 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.ts +61 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.ts +337 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.ts +206 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +42 -1
- package/src/index.ts +20 -0
- package/src/stores/CubeAddPlacement.ts +67 -0
- package/src/stores/CubeDataProductRecheck.ts +93 -0
- package/src/stores/CubeDataProductRuntimeState.ts +256 -0
- package/src/stores/CubeDataProductWarehouse.ts +40 -0
- package/src/stores/CubeEditorState.ts +511 -63
- package/src/stores/CubeEntrySource.ts +278 -0
- package/src/stores/CubeExamples.ts +457 -0
- package/src/stores/CubeExamplesState.ts +108 -0
- package/src/stores/CubeExecutionState.ts +24 -5
- package/src/stores/CubeExtendTyping.ts +291 -0
- package/src/stores/CubeGridQuickActions.ts +69 -14
- package/src/stores/CubeHost.ts +71 -1
- package/src/stores/CubeIngestRecheck.ts +92 -0
- package/src/stores/CubeNodeEditorState.ts +278 -9
- package/src/stores/CubeShowPureState.ts +7 -4
- package/src/stores/CubeSourcePickerState.ts +160 -330
- package/src/stores/CubeSpecTransferState.ts +2 -2
- package/src/stores/LocalModelCatalog.ts +22 -3
- package/src/stores/editors/CubeAggregationRows.ts +299 -0
- package/src/stores/editors/CubeConcatDraft.ts +49 -0
- package/src/stores/editors/CubeDifferenceDraft.ts +147 -0
- package/src/stores/editors/CubeExtendDraft.ts +532 -0
- package/src/stores/editors/CubeGroupDraft.ts +145 -0
- package/src/stores/editors/CubeJoinDraft.ts +130 -41
- package/src/stores/editors/CubeJoinKeyPairs.ts +68 -0
- package/src/stores/editors/CubeNodeDraft.ts +26 -6
- package/src/stores/editors/CubeNodeDraftRegistry.ts +25 -0
- package/src/stores/editors/CubePartitionDraft.ts +214 -0
- package/src/stores/editors/CubeSortDraft.ts +17 -54
- package/src/stores/editors/CubeSortRows.ts +84 -0
- package/src/stores/fixtures/CubeNorthwindModel.ts +103 -88
- package/src/stores/fixtures/CubeSampleSql.ts +85 -0
- package/src/stores/fixtures/CubeSportsModel.ts +182 -0
- package/src/stores/fixtures/CubeTradesModel.ts +241 -0
- package/src/stores/source-picker/CubeCsvSetupSql.ts +444 -0
- package/src/stores/source-picker/CubeDataProductTabState.ts +839 -0
- package/src/stores/source-picker/CubeDirectConnectionTabState.ts +647 -0
- package/src/stores/source-picker/CubeIngestTabState.ts +551 -0
- package/src/stores/source-picker/CubeInlineModelTabState.ts +448 -0
- package/src/stores/source-picker/CubeProjectTabState.ts +218 -0
- package/src/stores/source-picker/CubeSourcePickerTab.ts +50 -0
- package/tsconfig.json +89 -0
|
@@ -0,0 +1,106 @@
|
|
|
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 { GROUP_AGGREGATION_USE, } from '@finos/legend-cube';
|
|
17
|
+
import { action, makeObservable, observable } from 'mobx';
|
|
18
|
+
import { aggregationRowsOf, aggregationsOfRows, blankAggregationRow, isBuiltAggregationRow, isSameAggregations, isSameList, toggledColumns, withRowColumn, withRowFunction, withRowName, } from './CubeAggregationRows.js';
|
|
19
|
+
import { CubeNodeDraft } from './CubeNodeDraft.js';
|
|
20
|
+
/**
|
|
21
|
+
* Whether a row builds an aggregation of a Group: it has a column, or it is
|
|
22
|
+
* Count rows, or it holds a function this version doesn't know with no column
|
|
23
|
+
* (a newer client's, or a window function such as Rank), kept as saved (Q4).
|
|
24
|
+
* A blank row, or a column function whose column isn't picked yet, is left
|
|
25
|
+
* out.
|
|
26
|
+
*/
|
|
27
|
+
export const isBuiltGroupRow = (row) => isBuiltAggregationRow(row, GROUP_AGGREGATION_USE);
|
|
28
|
+
/**
|
|
29
|
+
* The Group editor's draft (spec §17.6: a multi-select of keys, then rows of
|
|
30
|
+
* column, function and output name; PLAN §11.5). Picks of keys are stored in
|
|
31
|
+
* the input's order, but a saved order is kept until the picks change (Q2).
|
|
32
|
+
* A row's name follows its column and function until typed (Q3). Picking a
|
|
33
|
+
* column first sets Count; switching to Count rows clears the column, which
|
|
34
|
+
* it can't hold, and back to a column function leaves one to pick. Which
|
|
35
|
+
* rows build is `isBuiltGroupRow`.
|
|
36
|
+
*/
|
|
37
|
+
export class CubeGroupDraft extends CubeNodeDraft {
|
|
38
|
+
columns;
|
|
39
|
+
rows;
|
|
40
|
+
/** Anything was changed; until then, `build()` gives the original back */
|
|
41
|
+
touched = false;
|
|
42
|
+
constructor(original) {
|
|
43
|
+
super(original);
|
|
44
|
+
makeObservable(this, {
|
|
45
|
+
columns: observable.ref,
|
|
46
|
+
rows: observable.ref,
|
|
47
|
+
touched: observable,
|
|
48
|
+
toggleColumn: action,
|
|
49
|
+
clearColumns: action,
|
|
50
|
+
addRow: action,
|
|
51
|
+
removeRow: action,
|
|
52
|
+
setColumn: action,
|
|
53
|
+
setFunction: action,
|
|
54
|
+
setName: action,
|
|
55
|
+
});
|
|
56
|
+
this.columns = original.columns;
|
|
57
|
+
this.rows = aggregationRowsOf(original.aggregations, GROUP_AGGREGATION_USE);
|
|
58
|
+
}
|
|
59
|
+
/** The aggregations the rows build, in order (`isBuiltGroupRow`) */
|
|
60
|
+
get aggregations() {
|
|
61
|
+
return aggregationsOfRows(this.rows, GROUP_AGGREGATION_USE);
|
|
62
|
+
}
|
|
63
|
+
/** Ticks or unticks a key; the keys then follow the input's order (Q2) */
|
|
64
|
+
toggleColumn(name, schema) {
|
|
65
|
+
this.columns = toggledColumns(this.columns, name, schema);
|
|
66
|
+
this.touched = true;
|
|
67
|
+
}
|
|
68
|
+
/** Unticks every key: one group of all the rows */
|
|
69
|
+
clearColumns() {
|
|
70
|
+
this.columns = [];
|
|
71
|
+
this.touched = true;
|
|
72
|
+
}
|
|
73
|
+
addRow() {
|
|
74
|
+
this.rows = [...this.rows, blankAggregationRow()];
|
|
75
|
+
this.touched = true;
|
|
76
|
+
}
|
|
77
|
+
removeRow(key) {
|
|
78
|
+
this.rows = this.rows.filter((row) => row.key !== key);
|
|
79
|
+
this.touched = true;
|
|
80
|
+
}
|
|
81
|
+
update(key, change) {
|
|
82
|
+
this.rows = this.rows.map((row) => (row.key === key ? change(row) : row));
|
|
83
|
+
this.touched = true;
|
|
84
|
+
}
|
|
85
|
+
/** Picks the row's column; with no function yet, Count */
|
|
86
|
+
setColumn(key, column) {
|
|
87
|
+
this.update(key, (row) => withRowColumn(row, column, GROUP_AGGREGATION_USE));
|
|
88
|
+
}
|
|
89
|
+
/** Picks the row's function: Count rows takes no column, the others one */
|
|
90
|
+
setFunction(key, fn) {
|
|
91
|
+
this.update(key, (row) => withRowFunction(row, fn, GROUP_AGGREGATION_USE));
|
|
92
|
+
}
|
|
93
|
+
/** Types the row's name, kept exactly; the auto-name itself follows again */
|
|
94
|
+
setName(key, name) {
|
|
95
|
+
this.update(key, (row) => withRowName(row, name, GROUP_AGGREGATION_USE));
|
|
96
|
+
}
|
|
97
|
+
build() {
|
|
98
|
+
const { original, columns, aggregations } = this;
|
|
99
|
+
return !this.touched ||
|
|
100
|
+
(isSameList(columns, original.columns) &&
|
|
101
|
+
isSameAggregations(aggregations, original.aggregations))
|
|
102
|
+
? original
|
|
103
|
+
: original.withColumns(columns).withAggregations(aggregations);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=CubeGroupDraft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeGroupDraft.js","sourceRoot":"","sources":["../../../src/stores/editors/CubeGroupDraft.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,20 +15,14 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Join, JoinType, type Query, RelationalTableSource, type SchemaInferenceResult } from '@finos/legend-cube';
|
|
17
17
|
import type { CubeModelOutline } from '../../graph-manager/CubeEngine.js';
|
|
18
|
+
import { type CubeJoinKeyPair, type CubeJoinKeysDraft } from './CubeJoinKeyPairs.js';
|
|
18
19
|
import { CubeNodeDraft } from './CubeNodeDraft.js';
|
|
19
|
-
/** One pair of key columns, matched by position; `''` until a column is picked */
|
|
20
|
-
export interface CubeJoinKeyPair {
|
|
21
|
-
/** Identifies the row in the editor */
|
|
22
|
-
readonly key: number;
|
|
23
|
-
readonly left: string;
|
|
24
|
-
readonly right: string;
|
|
25
|
-
}
|
|
26
20
|
/**
|
|
27
21
|
* The Join editor's draft (spec §17.6): the join type and the key column
|
|
28
22
|
* pairs. A pair with no column picked on either side is left out when built,
|
|
29
23
|
* as a Filter's blank rows are (user's choice, 2026-10-07).
|
|
30
24
|
*/
|
|
31
|
-
export declare class CubeJoinDraft extends CubeNodeDraft<Join> {
|
|
25
|
+
export declare class CubeJoinDraft extends CubeNodeDraft<Join> implements CubeJoinKeysDraft {
|
|
32
26
|
joinType: JoinType;
|
|
33
27
|
pairs: CubeJoinKeyPair[];
|
|
34
28
|
/** Anything was changed; until then, `build()` gives the original back */
|
|
@@ -56,8 +50,13 @@ export interface CubeColumnOrigin {
|
|
|
56
50
|
* through the inputs whose output has it, and through a Rename to its old
|
|
57
51
|
* name. A join key of the same name on both sides comes from the side the
|
|
58
52
|
* join keeps (the left for INNER and LEFT OUTER, the right for RIGHT OUTER),
|
|
59
|
-
* and from both for FULL OUTER, which merges them. A
|
|
60
|
-
*
|
|
53
|
+
* and from both for FULL OUTER, which merges them. A Group's key comes from
|
|
54
|
+
* its column, and a Distinct Value, Min or Max from the column it aggregates,
|
|
55
|
+
* as a Partition's do; a Partition's input columns come from its input. A
|
|
56
|
+
* Difference's `x_1` and `x_2` come from `x` on their side. A column the node's
|
|
57
|
+
* output doesn't have, e.g. one a Restrict dropped, or a Group's or
|
|
58
|
+
* Partition's count, sum, average or rank, or a Difference's difference,
|
|
59
|
+
* comes from nowhere.
|
|
61
60
|
*/
|
|
62
61
|
export declare const findColumnOrigins: (query: Query, analysis: SchemaInferenceResult, nodeId: string, columnName: string) => CubeColumnOrigin[];
|
|
63
62
|
/** The table sources a column of a node's output comes from (`findColumnOrigins`) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeJoinDraft.d.ts","sourceRoot":"","sources":["../../../src/stores/editors/CubeJoinDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"CubeJoinDraft.d.ts","sourceRoot":"","sources":["../../../src/stores/editors/CubeJoinDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAOL,IAAI,EACJ,QAAQ,EAER,KAAK,KAAK,EACV,qBAAqB,EAErB,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAGvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,aACX,SAAQ,aAAa,CAAC,IAAI,CAC1B,YAAW,iBAAiB;IAE5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,0EAA0E;IAC1E,OAAO,CAAC,OAAO,CAAS;IACxB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;gBAE3C,QAAQ,EAAE,IAAI;IAiB1B,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKrC,OAAO,IAAI,IAAI;IAKf,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7B,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAO9C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOhD,KAAK,IAAI,IAAI;CAed;AA8ED,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,KAAK,EACZ,UAAU,qBAAqB,EAC/B,QAAQ,MAAM,EACd,YAAY,MAAM,KACjB,gBAAgB,EAsDlB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,KAAK,EACZ,UAAU,qBAAqB,EAC/B,QAAQ,MAAM,EACd,YAAY,MAAM,KACjB,qBAAqB,EAGrB,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,gBAAgB,GAAG,SAAS,EACrC,OAAO,KAAK,EACZ,UAAU,qBAAqB,EAC/B,QAAQ,MAAM,EACd,YAAY,MAAM,KACjB,OASA,CAAC"}
|
|
@@ -13,16 +13,11 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { getSameNamedJoinKeys, Join, JoinType, RelationalTableSource, Rename, } from '@finos/legend-cube';
|
|
16
|
+
import { AggregationFunction, Difference, DifferenceSuffix, getSameNamedJoinKeys, Group, isWindowRowFunction, Join, JoinType, Partition, RelationalTableSource, Rename, } from '@finos/legend-cube';
|
|
17
17
|
import { action, makeObservable, observable } from 'mobx';
|
|
18
|
+
import { isSameList } from './CubeAggregationRows.js';
|
|
19
|
+
import { blankJoinKeyPair, joinKeyListsOf, joinKeyPairsOf, } from './CubeJoinKeyPairs.js';
|
|
18
20
|
import { CubeNodeDraft } from './CubeNodeDraft.js';
|
|
19
|
-
let nextPairKey = 1;
|
|
20
|
-
const isSameList = (a, b) => a.length === b.length && a.every((name, index) => name === b[index]);
|
|
21
|
-
/** The key lists pairs build: a pair with no column picked is left out */
|
|
22
|
-
const toKeyLists = (pairs) => {
|
|
23
|
-
const kept = pairs.filter((pair) => pair.left || pair.right);
|
|
24
|
-
return [kept.map((pair) => pair.left), kept.map((pair) => pair.right)];
|
|
25
|
-
};
|
|
26
21
|
/**
|
|
27
22
|
* The Join editor's draft (spec §17.6): the join type and the key column
|
|
28
23
|
* pairs. A pair with no column picked on either side is left out when built,
|
|
@@ -51,21 +46,15 @@ export class CubeJoinDraft extends CubeNodeDraft {
|
|
|
51
46
|
setRightColumn: action,
|
|
52
47
|
});
|
|
53
48
|
this.joinType = original.joinType;
|
|
54
|
-
this.pairs =
|
|
55
|
-
|
|
56
|
-
}, (_, index) => ({
|
|
57
|
-
key: nextPairKey++,
|
|
58
|
-
left: original.leftColumns[index] ?? '',
|
|
59
|
-
right: original.rightColumns[index] ?? '',
|
|
60
|
-
}));
|
|
61
|
-
this.initialKeyLists = toKeyLists(this.pairs);
|
|
49
|
+
this.pairs = joinKeyPairsOf(original.leftColumns, original.rightColumns);
|
|
50
|
+
this.initialKeyLists = joinKeyListsOf(this.pairs);
|
|
62
51
|
}
|
|
63
52
|
setJoinType(joinType) {
|
|
64
53
|
this.joinType = joinType;
|
|
65
54
|
this.touched = true;
|
|
66
55
|
}
|
|
67
56
|
addPair() {
|
|
68
|
-
this.pairs = [...this.pairs,
|
|
57
|
+
this.pairs = [...this.pairs, blankJoinKeyPair()];
|
|
69
58
|
this.touched = true;
|
|
70
59
|
}
|
|
71
60
|
removePair(key) {
|
|
@@ -81,7 +70,7 @@ export class CubeJoinDraft extends CubeNodeDraft {
|
|
|
81
70
|
this.touched = true;
|
|
82
71
|
}
|
|
83
72
|
build() {
|
|
84
|
-
const [leftColumns, rightColumns] =
|
|
73
|
+
const [leftColumns, rightColumns] = joinKeyListsOf(this.pairs);
|
|
85
74
|
const [initialLeft, initialRight] = this.initialKeyLists;
|
|
86
75
|
const { original } = this;
|
|
87
76
|
return !this.touched ||
|
|
@@ -96,13 +85,74 @@ export class CubeJoinDraft extends CubeNodeDraft {
|
|
|
96
85
|
});
|
|
97
86
|
}
|
|
98
87
|
}
|
|
88
|
+
/** The aggregations whose output is one of their column's values, so typed as it (PLAN §11.5) */
|
|
89
|
+
const VALUE_AGGREGATIONS = [
|
|
90
|
+
AggregationFunction.DISTINCT_VALUE,
|
|
91
|
+
AggregationFunction.MIN,
|
|
92
|
+
AggregationFunction.MAX,
|
|
93
|
+
];
|
|
94
|
+
/**
|
|
95
|
+
* The input column a Group's output column comes from: a key by its name, a
|
|
96
|
+
* Distinct Value, Min or Max by its aggregated column; a count, a sum or an
|
|
97
|
+
* average is no column's value, so it comes from none
|
|
98
|
+
*/
|
|
99
|
+
const groupInputName = (group, columnName) => {
|
|
100
|
+
if (group.columns.includes(columnName)) {
|
|
101
|
+
return columnName;
|
|
102
|
+
}
|
|
103
|
+
const aggregation = group.aggregations.find(({ name }) => name === columnName);
|
|
104
|
+
return aggregation && VALUE_AGGREGATIONS.includes(aggregation.function)
|
|
105
|
+
? aggregation.column
|
|
106
|
+
: undefined;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* The input column a Partition's output column comes from: an input column by
|
|
110
|
+
* its name, a Distinct Value, Min or Max, or a Lag, Lead, First or Last (PLAN
|
|
111
|
+
* §11.9), by its column, whose values it holds; a count, a sum, an average or
|
|
112
|
+
* a rank is no column's value, so it comes from none
|
|
113
|
+
*/
|
|
114
|
+
const partitionInputName = (partition, columnName) => {
|
|
115
|
+
const aggregation = partition.aggregations.find(({ name }) => name === columnName);
|
|
116
|
+
if (!aggregation) {
|
|
117
|
+
return columnName;
|
|
118
|
+
}
|
|
119
|
+
return VALUE_AGGREGATIONS.includes(aggregation.function) ||
|
|
120
|
+
isWindowRowFunction(aggregation.function)
|
|
121
|
+
? aggregation.column
|
|
122
|
+
: undefined;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Where a Difference's output column comes from: `x_1` from the Left input's
|
|
126
|
+
* `x`, `x_2` from the Right input's, a key or another column from the inputs
|
|
127
|
+
* that have it (both for a key of the same name, which the full outer join
|
|
128
|
+
* merges); `x_valueDifference` is no column's value, so it comes from none
|
|
129
|
+
*/
|
|
130
|
+
const differenceInputOf = (difference, columnName) => {
|
|
131
|
+
const of = (suffix) => difference.differenceColumns.find((name) => `${name}${suffix}` === columnName);
|
|
132
|
+
const left = of(DifferenceSuffix.LEFT);
|
|
133
|
+
if (left !== undefined) {
|
|
134
|
+
return { name: left, side: 'left' };
|
|
135
|
+
}
|
|
136
|
+
const right = of(DifferenceSuffix.RIGHT);
|
|
137
|
+
if (right !== undefined) {
|
|
138
|
+
return { name: right, side: 'right' };
|
|
139
|
+
}
|
|
140
|
+
return of(DifferenceSuffix.DIFFERENCE) === undefined
|
|
141
|
+
? { name: columnName }
|
|
142
|
+
: undefined;
|
|
143
|
+
};
|
|
99
144
|
/**
|
|
100
145
|
* The table columns a column of a node's output comes from: followed back
|
|
101
146
|
* through the inputs whose output has it, and through a Rename to its old
|
|
102
147
|
* name. A join key of the same name on both sides comes from the side the
|
|
103
148
|
* join keeps (the left for INNER and LEFT OUTER, the right for RIGHT OUTER),
|
|
104
|
-
* and from both for FULL OUTER, which merges them. A
|
|
105
|
-
*
|
|
149
|
+
* and from both for FULL OUTER, which merges them. A Group's key comes from
|
|
150
|
+
* its column, and a Distinct Value, Min or Max from the column it aggregates,
|
|
151
|
+
* as a Partition's do; a Partition's input columns come from its input. A
|
|
152
|
+
* Difference's `x_1` and `x_2` come from `x` on their side. A column the node's
|
|
153
|
+
* output doesn't have, e.g. one a Restrict dropped, or a Group's or
|
|
154
|
+
* Partition's count, sum, average or rank, or a Difference's difference,
|
|
155
|
+
* comes from nowhere.
|
|
106
156
|
*/
|
|
107
157
|
export const findColumnOrigins = (query, analysis, nodeId, columnName) => {
|
|
108
158
|
const node = query.getNode(nodeId);
|
|
@@ -117,9 +167,30 @@ export const findColumnOrigins = (query, analysis, nodeId, columnName) => {
|
|
|
117
167
|
}
|
|
118
168
|
const inputIds = query.getInputIds(nodeId);
|
|
119
169
|
const [leftId, rightId] = inputIds;
|
|
170
|
+
if (node instanceof Difference) {
|
|
171
|
+
const input = differenceInputOf(node, columnName);
|
|
172
|
+
if (!input) {
|
|
173
|
+
return [];
|
|
174
|
+
}
|
|
175
|
+
const sides = input.side === 'left'
|
|
176
|
+
? [leftId]
|
|
177
|
+
: input.side === 'right'
|
|
178
|
+
? [rightId]
|
|
179
|
+
: inputIds;
|
|
180
|
+
return sides.flatMap((inputId) => inputId !== undefined && analysis.schemas.get(inputId)?.lookup(input.name)
|
|
181
|
+
? findColumnOrigins(query, analysis, inputId, input.name)
|
|
182
|
+
: []);
|
|
183
|
+
}
|
|
120
184
|
const inputName = node instanceof Rename
|
|
121
185
|
? (node.mappings.find(({ to }) => to === columnName)?.from ?? columnName)
|
|
122
|
-
:
|
|
186
|
+
: node instanceof Group
|
|
187
|
+
? groupInputName(node, columnName)
|
|
188
|
+
: node instanceof Partition
|
|
189
|
+
? partitionInputName(node, columnName)
|
|
190
|
+
: columnName;
|
|
191
|
+
if (inputName === undefined) {
|
|
192
|
+
return [];
|
|
193
|
+
}
|
|
123
194
|
const followed = node instanceof Join &&
|
|
124
195
|
node.joinType !== JoinType.FULL_OUTER &&
|
|
125
196
|
getSameNamedJoinKeys(node.leftColumns, node.rightColumns).includes(columnName)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeJoinDraft.js","sourceRoot":"","sources":["../../../src/stores/editors/CubeJoinDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,oBAAoB,EACpB,IAAI,EACJ,QAAQ,
|
|
1
|
+
{"version":3,"file":"CubeJoinDraft.js","sourceRoot":"","sources":["../../../src/stores/editors/CubeJoinDraft.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 { QueryNode } from '@finos/legend-cube';
|
|
17
|
+
/** One pair of key columns, matched by position; `''` until a column is picked */
|
|
18
|
+
export interface CubeJoinKeyPair {
|
|
19
|
+
/** Identifies the row in the editor */
|
|
20
|
+
readonly key: number;
|
|
21
|
+
readonly left: string;
|
|
22
|
+
readonly right: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const blankJoinKeyPair: () => CubeJoinKeyPair;
|
|
25
|
+
/** The pairs of saved key lists, by position; a list longer than the other pairs its extra columns with `''` */
|
|
26
|
+
export declare const joinKeyPairsOf: (leftColumns: readonly string[], rightColumns: readonly string[]) => CubeJoinKeyPair[];
|
|
27
|
+
/** The key lists pairs build: a pair with no column picked is left out */
|
|
28
|
+
export declare const joinKeyListsOf: (pairs: readonly CubeJoinKeyPair[]) => [string[], string[]];
|
|
29
|
+
/** A draft whose node joins its inputs on pairs of key columns: a Join's or a Difference's */
|
|
30
|
+
export interface CubeJoinKeysDraft {
|
|
31
|
+
readonly original: QueryNode;
|
|
32
|
+
readonly pairs: readonly CubeJoinKeyPair[];
|
|
33
|
+
addPair(): void;
|
|
34
|
+
removePair(key: number): void;
|
|
35
|
+
setLeftColumn(key: number, left: string): void;
|
|
36
|
+
setRightColumn(key: number, right: string): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=CubeJoinKeyPairs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeJoinKeyPairs.d.ts","sourceRoot":"","sources":["../../../src/stores/editors/CubeJoinKeyPairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAKpD,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAID,eAAO,MAAM,gBAAgB,QAAO,eAIlC,CAAC;AAEH,gHAAgH;AAChH,eAAO,MAAM,cAAc,GACzB,aAAa,SAAS,MAAM,EAAE,EAC9B,cAAc,SAAS,MAAM,EAAE,KAC9B,eAAe,EAQf,CAAC;AAEJ,0EAA0E;AAC1E,eAAO,MAAM,cAAc,GACzB,OAAO,SAAS,eAAe,EAAE,KAChC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAGrB,CAAC;AAEF,8FAA8F;AAC9F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3C,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
let nextPairKey = 1;
|
|
17
|
+
export const blankJoinKeyPair = () => ({
|
|
18
|
+
key: nextPairKey++,
|
|
19
|
+
left: '',
|
|
20
|
+
right: '',
|
|
21
|
+
});
|
|
22
|
+
/** The pairs of saved key lists, by position; a list longer than the other pairs its extra columns with `''` */
|
|
23
|
+
export const joinKeyPairsOf = (leftColumns, rightColumns) => Array.from({ length: Math.max(leftColumns.length, rightColumns.length) }, (_, index) => ({
|
|
24
|
+
key: nextPairKey++,
|
|
25
|
+
left: leftColumns[index] ?? '',
|
|
26
|
+
right: rightColumns[index] ?? '',
|
|
27
|
+
}));
|
|
28
|
+
/** The key lists pairs build: a pair with no column picked is left out */
|
|
29
|
+
export const joinKeyListsOf = (pairs) => {
|
|
30
|
+
const kept = pairs.filter((pair) => pair.left || pair.right);
|
|
31
|
+
return [kept.map((pair) => pair.left), kept.map((pair) => pair.right)];
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=CubeJoinKeyPairs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeJoinKeyPairs.js","sourceRoot":"","sources":["../../../src/stores/editors/CubeJoinKeyPairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAoB,EAAE,CAAC,CAAC;IACtD,GAAG,EAAE,WAAW,EAAE;IAClB,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;CACV,CAAC,CAAC;AAEH,gHAAgH;AAChH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAA8B,EAC9B,YAA+B,EACZ,EAAE,CACrB,KAAK,CAAC,IAAI,CACR,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,EAC7D,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACb,GAAG,EAAE,WAAW,EAAE;IAClB,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE;IAC9B,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;CACjC,CAAC,CACH,CAAC;AAEJ,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAiC,EACX,EAAE;IACxB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC"}
|
|
@@ -15,14 +15,15 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { QueryNode } from '@finos/legend-cube';
|
|
17
17
|
/**
|
|
18
|
-
* The edits of one node in the
|
|
19
|
-
* spec §17.5). A node type's editor edits its draft,
|
|
20
|
-
*
|
|
21
|
-
*
|
|
18
|
+
* The edits of one node in the node editor, kept until Apply or closing it
|
|
19
|
+
* (PLAN §7.4, §11.8, spec §17.5). A node type's editor edits its draft,
|
|
20
|
+
* never the document: only Apply, or closing the editor any way but Cancel,
|
|
21
|
+
* stores `build()`, as one undo step. A draft is made once each time the
|
|
22
|
+
* editor opens on a node, and again after an Apply.
|
|
22
23
|
*/
|
|
23
24
|
export declare abstract class CubeNodeDraft<N extends QueryNode = QueryNode> {
|
|
24
|
-
/** The node the draft was made from */
|
|
25
|
-
|
|
25
|
+
/** The node the draft was made from; `follow` may move it on */
|
|
26
|
+
original: N;
|
|
26
27
|
constructor(original: N);
|
|
27
28
|
/**
|
|
28
29
|
* The node Apply would store. Return `original` itself while nothing was
|
|
@@ -30,6 +31,19 @@ export declare abstract class CubeNodeDraft<N extends QueryNode = QueryNode> {
|
|
|
30
31
|
* as no change.
|
|
31
32
|
*/
|
|
32
33
|
abstract build(): N;
|
|
34
|
+
/**
|
|
35
|
+
* Why Apply waits, if it does: the panel disables it with this reason and
|
|
36
|
+
* shows it in place of the problems, e.g. an Extend whose expressions
|
|
37
|
+
* aren't validated yet (PLAN §11.7)
|
|
38
|
+
*/
|
|
39
|
+
get applyDisabledReason(): string | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the draft goes on, made from this node, when the node it was
|
|
42
|
+
* made from is replaced underneath it by one that differs in nothing the
|
|
43
|
+
* draft edits, e.g. an Extend the engine typed in the background; else
|
|
44
|
+
* the panel drops the edits (PLAN §7.4)
|
|
45
|
+
*/
|
|
46
|
+
follow(node: QueryNode): boolean;
|
|
33
47
|
}
|
|
34
48
|
/** A node with nothing to edit in the panel, such as a source or an Unknown node */
|
|
35
49
|
export declare class CubeReadOnlyNodeDraft extends CubeNodeDraft {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeNodeDraft.d.ts","sourceRoot":"","sources":["../../../src/stores/editors/CubeNodeDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"CubeNodeDraft.d.ts","sourceRoot":"","sources":["../../../src/stores/editors/CubeNodeDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;GAMG;AACH,8BAAsB,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IACjE,gEAAgE;IAChE,QAAQ,EAAE,CAAC,CAAC;gBAEA,QAAQ,EAAE,CAAC;IAIvB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,IAAI,CAAC;IAEnB;;;;OAIG;IACH,IAAI,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAE5C;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;CAGjC;AAED,oFAAoF;AACpF,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,KAAK,IAAI,SAAS;CAGnB"}
|
|
@@ -14,17 +14,35 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
/**
|
|
17
|
-
* The edits of one node in the
|
|
18
|
-
* spec §17.5). A node type's editor edits its draft,
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* The edits of one node in the node editor, kept until Apply or closing it
|
|
18
|
+
* (PLAN §7.4, §11.8, spec §17.5). A node type's editor edits its draft,
|
|
19
|
+
* never the document: only Apply, or closing the editor any way but Cancel,
|
|
20
|
+
* stores `build()`, as one undo step. A draft is made once each time the
|
|
21
|
+
* editor opens on a node, and again after an Apply.
|
|
21
22
|
*/
|
|
22
23
|
export class CubeNodeDraft {
|
|
23
|
-
/** The node the draft was made from */
|
|
24
|
+
/** The node the draft was made from; `follow` may move it on */
|
|
24
25
|
original;
|
|
25
26
|
constructor(original) {
|
|
26
27
|
this.original = original;
|
|
27
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Why Apply waits, if it does: the panel disables it with this reason and
|
|
31
|
+
* shows it in place of the problems, e.g. an Extend whose expressions
|
|
32
|
+
* aren't validated yet (PLAN §11.7)
|
|
33
|
+
*/
|
|
34
|
+
get applyDisabledReason() {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Whether the draft goes on, made from this node, when the node it was
|
|
39
|
+
* made from is replaced underneath it by one that differs in nothing the
|
|
40
|
+
* draft edits, e.g. an Extend the engine typed in the background; else
|
|
41
|
+
* the panel drops the edits (PLAN §7.4)
|
|
42
|
+
*/
|
|
43
|
+
follow(node) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
28
46
|
}
|
|
29
47
|
/** A node with nothing to edit in the panel, such as a source or an Unknown node */
|
|
30
48
|
export class CubeReadOnlyNodeDraft extends CubeNodeDraft {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeNodeDraft.js","sourceRoot":"","sources":["../../../src/stores/editors/CubeNodeDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH
|
|
1
|
+
{"version":3,"file":"CubeNodeDraft.js","sourceRoot":"","sources":["../../../src/stores/editors/CubeNodeDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;;;GAMG;AACH,MAAM,OAAgB,aAAa;IACjC,gEAAgE;IAChE,QAAQ,CAAI;IAEZ,YAAY,QAAW;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IASD;;;;OAIG;IACH,IAAI,mBAAmB;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAe;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,oFAAoF;AACpF,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IACtD,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeNodeDraftRegistry.d.ts","sourceRoot":"","sources":["../../../src/stores/editors/CubeNodeDraftRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"CubeNodeDraftRegistry.d.ts","sourceRoot":"","sources":["../../../src/stores/editors/CubeNodeDraftRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAWL,KAAK,SAAS,EAKf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAO7D,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAQ/E,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,CACjC,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,eAAe,KACzB,aAAa,CAAC;AAEnB;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CACjD,MAAM,EACN,oBAAoB,CA4BpB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAE7D,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,EACf,aAAa,eAAe,KAC3B,aAE8B,CAAC"}
|
|
@@ -13,11 +13,16 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { Distinct, Drop, Filter, Join, Limit, Rename, Restrict, Slice, Sort, } from '@finos/legend-cube';
|
|
16
|
+
import { Concat, Difference, Distinct, Drop, Extend, Filter, Group, Join, Limit, Partition, Rename, Restrict, Slice, Sort, } from '@finos/legend-cube';
|
|
17
17
|
import { guaranteeType } from '@finos/legend-shared';
|
|
18
|
+
import { CubeConcatDraft } from './CubeConcatDraft.js';
|
|
19
|
+
import { CubeDifferenceDraft } from './CubeDifferenceDraft.js';
|
|
20
|
+
import { CubeExtendDraft } from './CubeExtendDraft.js';
|
|
18
21
|
import { CubeFilterDraft } from './CubeFilterDraft.js';
|
|
22
|
+
import { CubeGroupDraft } from './CubeGroupDraft.js';
|
|
19
23
|
import { CubeJoinDraft } from './CubeJoinDraft.js';
|
|
20
24
|
import { CubeReadOnlyNodeDraft } from './CubeNodeDraft.js';
|
|
25
|
+
import { CubePartitionDraft } from './CubePartitionDraft.js';
|
|
21
26
|
import { CubeRenameDraft } from './CubeRenameDraft.js';
|
|
22
27
|
import { CubeRestrictDraft } from './CubeRestrictDraft.js';
|
|
23
28
|
import { CubeRowCountDraft } from './CubeRowCountDraft.js';
|
|
@@ -30,6 +35,7 @@ import { CubeSortDraft } from './CubeSortDraft.js';
|
|
|
30
35
|
*/
|
|
31
36
|
export const CUBE_NODE_DRAFT_FACTORIES = new Map([
|
|
32
37
|
[Sort.TYPE, (node) => new CubeSortDraft(guaranteeType(node, Sort))],
|
|
38
|
+
[Group.TYPE, (node) => new CubeGroupDraft(guaranteeType(node, Group))],
|
|
33
39
|
[Filter.TYPE, (node) => new CubeFilterDraft(guaranteeType(node, Filter))],
|
|
34
40
|
[
|
|
35
41
|
Restrict.TYPE,
|
|
@@ -40,6 +46,19 @@ export const CUBE_NODE_DRAFT_FACTORIES = new Map([
|
|
|
40
46
|
[Drop.TYPE, (node) => new CubeRowCountDraft(guaranteeType(node, Drop))],
|
|
41
47
|
[Limit.TYPE, (node) => new CubeRowCountDraft(guaranteeType(node, Limit))],
|
|
42
48
|
[Slice.TYPE, (node) => new CubeSliceDraft(guaranteeType(node, Slice))],
|
|
49
|
+
[Concat.TYPE, (node) => new CubeConcatDraft(guaranteeType(node, Concat))],
|
|
50
|
+
[
|
|
51
|
+
Difference.TYPE,
|
|
52
|
+
(node) => new CubeDifferenceDraft(guaranteeType(node, Difference)),
|
|
53
|
+
],
|
|
54
|
+
[
|
|
55
|
+
Partition.TYPE,
|
|
56
|
+
(node) => new CubePartitionDraft(guaranteeType(node, Partition)),
|
|
57
|
+
],
|
|
58
|
+
[
|
|
59
|
+
Extend.TYPE,
|
|
60
|
+
(node, editorState) => new CubeExtendDraft(guaranteeType(node, Extend), editorState),
|
|
61
|
+
],
|
|
43
62
|
]);
|
|
44
63
|
/**
|
|
45
64
|
* The transforms with nothing to set (spec §17.6: Distinct is "description
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeNodeDraftRegistry.js","sourceRoot":"","sources":["../../../src/stores/editors/CubeNodeDraftRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,
|
|
1
|
+
{"version":3,"file":"CubeNodeDraftRegistry.js","sourceRoot":"","sources":["../../../src/stores/editors/CubeNodeDraftRegistry.ts"],"names":[],"mappings":"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"}
|