@finos/legend-cube-builder 0.0.2 → 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 +93 -1
- package/docs/adding-an-operation.md +181 -0
- package/docs/hosting.md +157 -0
- package/docs/testing.md +188 -0
- 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 +21 -3
- 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 +95 -3
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +121 -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 +18 -0
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.js +51 -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 +67 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.js +138 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.js.map +1 -0
- 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 +21 -2
- 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 +19 -2
- 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 +33 -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 +2 -0
- package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.js +8 -4
- 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 -17
- 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/CubeColumnPicker.d.ts +9 -2
- package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
- package/lib/components/editors/CubeColumnPicker.js +9 -4
- package/lib/components/editors/CubeColumnPicker.js.map +1 -1
- 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/CubeDistinctEditor.d.ts +23 -0
- package/lib/components/editors/CubeDistinctEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDistinctEditor.js +24 -0
- package/lib/components/editors/CubeDistinctEditor.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/CubeIntegerField.d.ts +29 -0
- package/lib/components/editors/CubeIntegerField.d.ts.map +1 -0
- package/lib/components/editors/CubeIntegerField.js +30 -0
- package/lib/components/editors/CubeIntegerField.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 +15 -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 +53 -14
- 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 +28 -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 +26 -0
- package/lib/components/editors/CubeRenameEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeRenameEditor.js +60 -0
- package/lib/components/editors/CubeRenameEditor.js.map +1 -0
- package/lib/components/editors/CubeRestrictEditor.d.ts +26 -0
- package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeRestrictEditor.js +23 -0
- package/lib/components/editors/CubeRestrictEditor.js.map +1 -0
- package/lib/components/editors/CubeRowCountEditor.d.ts +25 -0
- package/lib/components/editors/CubeRowCountEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeRowCountEditor.js +38 -0
- package/lib/components/editors/CubeRowCountEditor.js.map +1 -0
- package/lib/components/editors/CubeSliceEditor.d.ts +25 -0
- package/lib/components/editors/CubeSliceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeSliceEditor.js +40 -0
- package/lib/components/editors/CubeSliceEditor.js.map +1 -0
- package/lib/components/editors/CubeSortEditor.d.ts +27 -0
- package/lib/components/editors/CubeSortEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeSortEditor.js +45 -0
- package/lib/components/editors/CubeSortEditor.js.map +1 -0
- 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 -6
- package/lib/components/editors/CubeSourceEditor.js.map +1 -1
- package/lib/components/editors/CubeValueEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeValueEditor.js +2 -1
- package/lib/components/editors/CubeValueEditor.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 +20 -9
- 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 +14 -1
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +55 -7
- 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 +50 -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/CubeModelOutlineHelper.d.ts +8 -0
- package/lib/graph-manager/CubeModelOutlineHelper.d.ts.map +1 -1
- package/lib/graph-manager/CubeModelOutlineHelper.js +21 -0
- package/lib/graph-manager/CubeModelOutlineHelper.js.map +1 -1
- 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_CubeModelOutlineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js +56 -3
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.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 +30 -4
- 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 +133 -19
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +433 -52
- 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 +34 -8
- 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 +48 -0
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -0
- package/lib/stores/CubeGridQuickActions.js +124 -0
- package/lib/stores/CubeGridQuickActions.js.map +1 -0
- 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 +120 -6
- package/lib/stores/CubeNodeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeNodeEditorState.js +275 -9
- package/lib/stores/CubeNodeEditorState.js.map +1 -1
- package/lib/stores/CubeShowPureState.d.ts +9 -3
- package/lib/stores/CubeShowPureState.d.ts.map +1 -1
- package/lib/stores/CubeShowPureState.js +28 -8
- 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/CubeIntegerText.d.ts +24 -0
- package/lib/stores/editors/CubeIntegerText.d.ts.map +1 -0
- package/lib/stores/editors/CubeIntegerText.js +33 -0
- package/lib/stores/editors/CubeIntegerText.js.map +1 -0
- package/lib/stores/editors/CubeJoinDraft.d.ts +20 -13
- package/lib/stores/editors/CubeJoinDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeJoinDraft.js +109 -29
- 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 +6 -0
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js +42 -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/CubeRenameDraft.d.ts +44 -0
- package/lib/stores/editors/CubeRenameDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeRenameDraft.js +79 -0
- package/lib/stores/editors/CubeRenameDraft.js.map +1 -0
- package/lib/stores/editors/CubeRestrictDraft.d.ts +37 -0
- package/lib/stores/editors/CubeRestrictDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeRestrictDraft.js +73 -0
- package/lib/stores/editors/CubeRestrictDraft.js.map +1 -0
- package/lib/stores/editors/CubeRowCountDraft.d.ts +42 -0
- package/lib/stores/editors/CubeRowCountDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeRowCountDraft.js +55 -0
- package/lib/stores/editors/CubeRowCountDraft.js.map +1 -0
- package/lib/stores/editors/CubeSliceDraft.d.ts +42 -0
- package/lib/stores/editors/CubeSliceDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeSliceDraft.js +72 -0
- package/lib/stores/editors/CubeSliceDraft.js.map +1 -0
- package/lib/stores/editors/CubeSortDraft.d.ts +41 -0
- package/lib/stores/editors/CubeSortDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeSortDraft.js +73 -0
- package/lib/stores/editors/CubeSortDraft.js.map +1 -0
- 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 +12 -8
- 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 +46 -2
- package/src/__lib__/LegendCubeIngestLabels.ts +40 -0
- package/src/__lib__/LegendCubeLabels.ts +192 -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 +73 -0
- package/src/__test-utils__/CubeExpressionTestUtils.ts +119 -0
- package/src/__test-utils__/CubeOperationsTestUtils.ts +252 -0
- 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 +32 -2
- 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 +31 -1
- package/src/components/CubeSchemaColumnsTable.tsx +49 -0
- package/src/components/canvas/CubeCanvas.tsx +51 -14
- package/src/components/canvas/CubeCanvasContextMenu.tsx +31 -30
- package/src/components/canvas/CubeCanvasDnd.ts +16 -9
- package/src/components/canvas/CubeCanvasElements.ts +12 -3
- package/src/components/canvas/CubeCanvasNode.tsx +62 -36
- 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/CubeColumnPicker.tsx +36 -12
- 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/CubeDistinctEditor.tsx +28 -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/CubeIntegerField.tsx +51 -0
- package/src/components/editors/CubeJoinEditor.tsx +34 -131
- package/src/components/editors/CubeJoinKeyRows.tsx +183 -0
- package/src/components/editors/CubeNodeEditorPanel.tsx +103 -29
- package/src/components/editors/CubeNodeEditorPopper.tsx +183 -0
- package/src/components/editors/CubeNodeEditorRegistry.ts +41 -0
- package/src/components/editors/CubePartitionEditor.tsx +208 -0
- package/src/components/editors/CubeRenameEditor.tsx +148 -0
- package/src/components/editors/CubeRestrictEditor.tsx +103 -0
- package/src/components/editors/CubeRowCountEditor.tsx +53 -0
- package/src/components/editors/CubeSliceEditor.tsx +69 -0
- package/src/components/editors/CubeSortEditor.tsx +84 -0
- package/src/components/editors/CubeSortRowEditor.tsx +176 -0
- package/src/components/editors/CubeSourceEditor.tsx +42 -40
- package/src/components/editors/CubeValueEditor.tsx +2 -1
- 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 +49 -10
- package/src/components/grid/CubeGridValues.ts +55 -0
- package/src/components/grid/CubeResultGrid.tsx +83 -13
- 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 +57 -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/CubeModelOutlineHelper.ts +26 -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_CubeModelOutlineBuilder.ts +89 -3
- 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 +48 -4
- 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 +621 -68
- 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 +60 -8
- package/src/stores/CubeExtendTyping.ts +291 -0
- package/src/stores/CubeGridQuickActions.ts +184 -0
- package/src/stores/CubeHost.ts +71 -1
- package/src/stores/CubeIngestRecheck.ts +92 -0
- package/src/stores/CubeNodeEditorState.ts +348 -10
- package/src/stores/CubeShowPureState.ts +33 -8
- 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/CubeIntegerText.ts +34 -0
- package/src/stores/editors/CubeJoinDraft.ts +170 -54
- package/src/stores/editors/CubeJoinKeyPairs.ts +68 -0
- package/src/stores/editors/CubeNodeDraft.ts +26 -6
- package/src/stores/editors/CubeNodeDraftRegistry.ts +60 -1
- package/src/stores/editors/CubePartitionDraft.ts +214 -0
- package/src/stores/editors/CubeRenameDraft.ts +110 -0
- package/src/stores/editors/CubeRestrictDraft.ts +83 -0
- package/src/stores/editors/CubeRowCountDraft.ts +69 -0
- package/src/stores/editors/CubeSliceDraft.ts +87 -0
- package/src/stores/editors/CubeSortDraft.ts +98 -0
- 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 +104 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { clsx } from '@finos/legend-art';
|
|
18
|
+
import { observer } from 'mobx-react-lite';
|
|
19
|
+
import { useId } from 'react';
|
|
20
|
+
import { CUBE_ACCESS_POINT_GROUP_ACCESS_LABELS, CUBE_DATA_PRODUCT_ENVIRONMENT_LABELS, CUBE_NO_ACCESS_LABEL, CUBE_SNAPSHOT_VERSION_LABEL, getCubeRequestAccessLabel, } from '../../__lib__/LegendCubeDataProductLabels.js';
|
|
21
|
+
import { CUBE_PENDING_LABEL, NULL_CELL_TEXT, READ_ONLY_CUBE_TITLE, } from '../../__lib__/LegendCubeLabels.js';
|
|
22
|
+
import { CUBE_DATA_PRODUCT_TAB_MESSAGE, } from '../../stores/source-picker/CubeDataProductTabState.js';
|
|
23
|
+
import { CubeButton } from '../CubeButton.js';
|
|
24
|
+
import { CubeSchemaColumnsTable } from '../CubeSchemaColumnsTable.js';
|
|
25
|
+
import { CubePickerStep } from './CubePickerStep.js';
|
|
26
|
+
const INPUT_CLASS = 'h-7 rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] px-1 text-base text-[var(--color-text-primary)] disabled:text-[var(--color-text-secondary)]';
|
|
27
|
+
const LIST_ITEM_CLASS = 'flex w-full items-center gap-2 px-2 py-1 text-left text-base enabled:hover:bg-[var(--color-bg-hover)] disabled:cursor-not-allowed disabled:text-[var(--color-text-disabled)]';
|
|
28
|
+
/** An error as the tab shows it: its first line, the rest on demand, and an action when it has one */
|
|
29
|
+
const CubeDataProductTabAlert = ({ error, children }) => (_jsxs("div", { className: "flex flex-col gap-1 text-base text-[var(--color-status-error)]", role: "alert", children: [_jsx("span", { children: error.message }), error.detail !== undefined && (_jsxs("details", { className: "text-sm", children: [_jsx("summary", { className: "cursor-pointer", children: "Details" }), _jsx("pre", { className: "whitespace-pre-wrap break-words", children: error.detail })] })), children] }));
|
|
30
|
+
/**
|
|
31
|
+
* The viewer's access to a group, once read: granted or on its way, or a
|
|
32
|
+
* link to request it in the marketplace; nothing while unread or unreadable
|
|
33
|
+
*/
|
|
34
|
+
const CubeAccessPointGroupBadge = observer((props) => {
|
|
35
|
+
const { tab, groupId } = props;
|
|
36
|
+
const access = tab.access?.get(groupId);
|
|
37
|
+
if (access === undefined) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const label = CUBE_ACCESS_POINT_GROUP_ACCESS_LABELS[access];
|
|
41
|
+
if (label !== undefined) {
|
|
42
|
+
return (_jsx("span", { className: "shrink-0 rounded-sm bg-[var(--color-bg-panel-header)] px-1", children: label }));
|
|
43
|
+
}
|
|
44
|
+
const link = tab.getAccessPointGroupLink(groupId);
|
|
45
|
+
return link !== undefined ? (_jsx("a", { className: "shrink-0 text-[var(--color-accent)] underline", href: link, target: "_blank", rel: "noopener noreferrer", children: getCubeRequestAccessLabel(undefined, undefined) })) : (_jsx("span", { className: "shrink-0", children: CUBE_NO_ACCESS_LABEL }));
|
|
46
|
+
});
|
|
47
|
+
/** A sample value as the preview shows it; an empty one plainly */
|
|
48
|
+
const CubeSampleValue = ({ value }) => value === null ? (_jsx("span", { className: "text-[var(--color-text-muted)]", children: NULL_CELL_TEXT })) : (_jsx(_Fragment, { children: String(value) }));
|
|
49
|
+
/**
|
|
50
|
+
* The picked access point, from the deployed artifact alone (PLAN §6.8):
|
|
51
|
+
* its description, its columns, up to five of the artifact's sample rows,
|
|
52
|
+
* and its product's page in the marketplace
|
|
53
|
+
*/
|
|
54
|
+
const CubeAccessPointPreview = ({ accessPoint, marketplaceLink }) => (_jsxs("section", { className: "flex flex-col gap-1 rounded-sm border border-[var(--color-border-default)] p-2", "aria-label": "Access point preview", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "min-w-0 flex-1 truncate font-medium", children: accessPoint.title ?? accessPoint.id }), marketplaceLink !== undefined && (_jsx("a", { className: "shrink-0 text-base text-[var(--color-accent)] underline", href: marketplaceLink, target: "_blank", rel: "noopener noreferrer", children: "Open in Marketplace" }))] }), _jsx("span", { className: "text-base text-[var(--color-text-secondary)]", children: accessPoint.description ?? 'No description' }), accessPoint.schema && (_jsx(CubeSchemaColumnsTable, { schema: accessPoint.schema })), accessPoint.sampleRows.length && accessPoint.schema ? (_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "text-base", "aria-label": "Sample rows", children: [_jsx("thead", { children: _jsx("tr", { className: "text-left text-[var(--color-text-secondary)]", children: accessPoint.schema.columns.map((column) => (_jsx("th", { className: "pr-3 font-normal", children: column.name }, column.name))) }) }), _jsx("tbody", { children: accessPoint.sampleRows.map((row, index) => (
|
|
55
|
+
// eslint-disable-next-line react/no-array-index-key -- sample rows have no identity
|
|
56
|
+
_jsx("tr", { children: row.map((value, column) => (
|
|
57
|
+
// eslint-disable-next-line react/no-array-index-key -- by position, as the columns
|
|
58
|
+
_jsx("td", { className: "whitespace-nowrap pr-3", children: _jsx(CubeSampleValue, { value: value }) }, column))) }, index))) })] }) })) : (_jsx("span", { className: "text-base text-[var(--color-text-muted)]", children: "No sample rows in the deployed artifact" }))] }));
|
|
59
|
+
/**
|
|
60
|
+
* The source dialog's Data Product tab (PLAN §6.8), as Data Cube's selection
|
|
61
|
+
* goes: the mode, a deployed data product, one of its access points, and the
|
|
62
|
+
* warehouse. The dialog's Add adds the access point.
|
|
63
|
+
*/
|
|
64
|
+
export const CubeDataProductTab = observer((props) => {
|
|
65
|
+
const { tab } = props;
|
|
66
|
+
const warehouseId = useId();
|
|
67
|
+
const project = tab.fixedProject;
|
|
68
|
+
return (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(CubePickerStep, { label: "Mode", value: tab.environmentType, options: (tab.catalog?.environmentTypes ?? []).map((type) => ({
|
|
69
|
+
value: type,
|
|
70
|
+
label: CUBE_DATA_PRODUCT_ENVIRONMENT_LABELS[type],
|
|
71
|
+
})), disabled: project !== undefined, onChange: (value) => {
|
|
72
|
+
if (value) {
|
|
73
|
+
tab.setEnvironmentType(value);
|
|
74
|
+
}
|
|
75
|
+
} }), project && (_jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: `All of the cube's data products come from ${project.groupId}:${project.artifactId}:${project.versionId}.` })), tab.isSnapshot && (_jsx("span", { className: "text-sm text-[var(--color-status-warn)]", children: CUBE_SNAPSHOT_VERSION_LABEL })), _jsx("input", { className: INPUT_CLASS, placeholder: "Search data products", "aria-label": "Search data products", value: tab.search, onChange: (event) => tab.setSearch(event.target.value) }), project && (_jsx("div", { className: "flex items-center gap-3 text-base", role: "radiogroup", "aria-label": "Data products shown", children: [
|
|
76
|
+
{ label: 'In this project', value: false },
|
|
77
|
+
{ label: 'Search all', value: true },
|
|
78
|
+
].map(({ label, value }) => (_jsxs("label", { className: "flex items-center gap-1", children: [_jsx("input", { type: "radio", name: "cube-data-products-shown", checked: tab.showAllProjects === value, onChange: () => tab.setShowAllProjects(value) }), label] }, label))) })), tab.isListing && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: tab.searchesOnServer
|
|
79
|
+
? 'searching data products'
|
|
80
|
+
: 'listing data products' })), tab.listError !== undefined && (_jsx(CubeDataProductTabAlert, { error: tab.listError, children: _jsx("div", { children: _jsx(CubeButton, { onClick: () => tab.retryListing(), children: "Retry" }) }) })), _jsx("ul", { className: "max-h-40 overflow-auto rounded-sm border border-[var(--color-border-subtle)]", "aria-label": "Data products", children: tab.shownCandidates.map((candidate) => {
|
|
81
|
+
const isPicked = tab.candidate === candidate;
|
|
82
|
+
const reason = tab.getCandidateDisabledReason(candidate);
|
|
83
|
+
return (_jsx("li", { children: _jsxs("button", { type: "button", className: clsx(LIST_ITEM_CLASS, {
|
|
84
|
+
'bg-[var(--color-bg-selected)]': isPicked,
|
|
85
|
+
}), "aria-pressed": isPicked, disabled: reason !== undefined, title: reason ?? candidate.description, onClick: () => tab.selectCandidate(candidate), children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: candidate.title }), _jsx("span", { className: "shrink-0 text-sm text-[var(--color-text-muted)]", children: reason ?? `${candidate.id} · ${candidate.versionId}` })] }) }, `${candidate.id}/${candidate.deploymentId}`));
|
|
86
|
+
}) }), project !== undefined &&
|
|
87
|
+
!tab.showAllProjects &&
|
|
88
|
+
!tab.isListing &&
|
|
89
|
+
tab.listError === undefined &&
|
|
90
|
+
tab.candidates !== undefined &&
|
|
91
|
+
tab.search.trim().length > 0 &&
|
|
92
|
+
!tab.shownCandidates.length && (_jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: CUBE_DATA_PRODUCT_TAB_MESSAGE.NONE_IN_PROJECT })), tab.isTruncated && (_jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: CUBE_DATA_PRODUCT_TAB_MESSAGE.TRUNCATED })), tab.isDescribing && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: "loading access points" })), tab.description && (_jsx("ul", { className: "max-h-56 overflow-auto rounded-sm border border-[var(--color-border-subtle)]", "aria-label": "Access points", children: tab.description.groups.map((group) => (_jsxs("li", { children: [_jsxs("div", { className: "flex items-center gap-2 px-2 pt-1 text-sm text-[var(--color-text-secondary)]", children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: group.title ?? group.id }), _jsx(CubeAccessPointGroupBadge, { tab: tab, groupId: group.id })] }), _jsx("ul", { "aria-label": `Access points of ${group.title ?? group.id}`, children: group.accessPoints.map((point) => {
|
|
93
|
+
const isPicked = tab.accessPointKey?.group === group.id &&
|
|
94
|
+
tab.accessPointKey.id === point.id;
|
|
95
|
+
return (_jsx("li", { children: _jsxs("button", { type: "button", className: clsx(LIST_ITEM_CLASS, {
|
|
96
|
+
'bg-[var(--color-bg-selected)]': isPicked,
|
|
97
|
+
}), "aria-pressed": isPicked, disabled: !point.isPickable, title: point.disabledReason ?? point.description, onClick: () => tab.selectAccessPoint(group.id, point.id), children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: point.title ?? point.id }), _jsx("span", { className: "shrink-0 text-sm text-[var(--color-text-muted)]", children: point.isPickable
|
|
98
|
+
? `${point.schema?.columns.length ?? 0} columns`
|
|
99
|
+
: point.disabledReason })] }) }, point.id));
|
|
100
|
+
}) })] }, group.id))) })), tab.accessPoint?.isPickable === true && (_jsx(CubeAccessPointPreview, { accessPoint: tab.accessPoint, marketplaceLink: tab.marketplaceLink })), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "w-20 shrink-0 text-base", htmlFor: warehouseId, children: "Warehouse" }), _jsx("input", { id: warehouseId, className: clsx(INPUT_CLASS, 'min-w-0 flex-1'), spellCheck: false, disabled: project !== undefined || tab.editorState.readOnly, title: tab.editorState.readOnly ? READ_ONLY_CUBE_TITLE : undefined, value: tab.warehouse, onChange: (event) => tab.setWarehouse(event.target.value) })] }), tab.isAdding && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.RESOLVING_SOURCE })), tab.error !== undefined && (_jsx(CubeDataProductTabAlert, { error: tab.error }))] }));
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=CubeDataProductTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeDataProductTab.js","sourceRoot":"","sources":["../../../src/components/source-picker/CubeDataProductTab.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EACL,qCAAqC,EACrC,oCAAoC,EACpC,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAGL,6BAA6B,GAC9B,MAAM,uDAAuD,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,GACf,mLAAmL,CAAC;AAEtL,MAAM,eAAe,GACnB,8KAA8K,CAAC;AAEjL,sGAAsG;AACtG,MAAM,uBAAuB,GAGxB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC5B,eACE,SAAS,EAAC,gEAAgE,EAC1E,IAAI,EAAC,OAAO,aAEZ,yBAAO,KAAK,CAAC,OAAO,GAAQ,EAC3B,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAC7B,mBAAS,SAAS,EAAC,SAAS,aAC1B,kBAAS,SAAS,EAAC,gBAAgB,wBAAkB,EACrD,cAAK,SAAS,EAAC,iCAAiC,YAAE,KAAK,CAAC,MAAM,GAAO,IAC7D,CACX,EACA,QAAQ,IACL,CACP,CAAC;AAEF;;;GAGG;AACH,MAAM,yBAAyB,GAAG,QAAQ,CACxC,CAAC,KAAwD,EAAE,EAAE;IAC3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,qCAAqC,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CACL,eAAM,SAAS,EAAC,4DAA4D,YACzE,KAAK,GACD,CACR,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAC1B,YACE,SAAS,EAAC,+CAA+C,EACzD,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,YAExB,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,GAC9C,CACL,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,UAAU,YAAE,oBAAoB,GAAQ,CACzD,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,mEAAmE;AACnE,MAAM,eAAe,GAAyC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC1E,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CACf,eAAM,SAAS,EAAC,gCAAgC,YAAE,cAAc,GAAQ,CACzE,CAAC,CAAC,CAAC,CACF,4BAAG,MAAM,CAAC,KAAK,CAAC,GAAI,CACrB,CAAC;AAEJ;;;;GAIG;AACH,MAAM,sBAAsB,GAGvB,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CACzC,mBACE,SAAS,EAAC,gFAAgF,gBAC/E,sBAAsB,aAEjC,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAC,qCAAqC,YAClD,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,EAAE,GAC/B,EACN,eAAe,KAAK,SAAS,IAAI,CAChC,YACE,SAAS,EAAC,yDAAyD,EACnE,IAAI,EAAE,eAAe,EACrB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,oCAGvB,CACL,IACG,EACN,eAAM,SAAS,EAAC,8CAA8C,YAC3D,WAAW,CAAC,WAAW,IAAI,gBAAgB,GACvC,EACN,WAAW,CAAC,MAAM,IAAI,CACrB,KAAC,sBAAsB,IAAC,MAAM,EAAE,WAAW,CAAC,MAAM,GAAI,CACvD,EACA,WAAW,CAAC,UAAU,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CACrD,cAAK,SAAS,EAAC,iBAAiB,YAC9B,iBAAO,SAAS,EAAC,WAAW,gBAAY,aAAa,aACnD,0BACE,aAAI,SAAS,EAAC,8CAA8C,YACzD,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC1C,aAAsB,SAAS,EAAC,kBAAkB,YAC/C,MAAM,CAAC,IAAI,IADL,MAAM,CAAC,IAAI,CAEf,CACN,CAAC,GACC,GACC,EACR,0BACG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;wBAC1C,oFAAoF;wBACpF,uBACG,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;4BAC1B,mFAAmF;4BACnF,aAAiB,SAAS,EAAC,wBAAwB,YACjD,KAAC,eAAe,IAAC,KAAK,EAAE,KAAK,GAAI,IAD1B,MAAM,CAEV,CACN,CAAC,IANK,KAAK,CAOT,CACN,CAAC,GACI,IACF,GACJ,CACP,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,0CAA0C,wDAEnD,CACR,IACO,CACX,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CACxC,CAAC,KAAuC,EAAE,EAAE;IAC1C,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC;IACjC,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aAClC,KAAC,cAAc,IACb,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,GAAG,CAAC,eAAe,EAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC5D,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,oCAAoC,CAAC,IAAI,CAAC;iBAClD,CAAC,CAAC,EACH,QAAQ,EAAE,OAAO,KAAK,SAAS,EAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,IAAI,KAAK,EAAE,CAAC;wBACV,GAAG,CAAC,kBAAkB,CAAC,KAAuC,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC,GACD,EACD,OAAO,IAAI,CACV,eAAM,SAAS,EAAC,wCAAwC,YACrD,6CAA6C,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,GAAG,GACtG,CACR,EACA,GAAG,CAAC,UAAU,IAAI,CACjB,eAAM,SAAS,EAAC,yCAAyC,YACtD,2BAA2B,GACvB,CACR,EACD,gBACE,SAAS,EAAE,WAAW,EACtB,WAAW,EAAC,sBAAsB,gBACvB,sBAAsB,EACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GACtD,EACD,OAAO,IAAI,CACV,cACE,SAAS,EAAC,mCAAmC,EAC7C,IAAI,EAAC,YAAY,gBACN,qBAAqB,YAE/B;oBACC,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC1C,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;iBACrC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC1B,iBAAmB,SAAS,EAAC,yBAAyB,aACpD,gBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,0BAA0B,EAC/B,OAAO,EAAE,GAAG,CAAC,eAAe,KAAK,KAAK,EACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAC7C,EACD,KAAK,KAPI,KAAK,CAQT,CACT,CAAC,GACE,CACP,EACA,GAAG,CAAC,SAAS,IAAI,CAChB,cAAK,SAAS,EAAC,8CAA8C,YAC1D,GAAG,CAAC,gBAAgB;oBACnB,CAAC,CAAC,yBAAyB;oBAC3B,CAAC,CAAC,uBAAuB,GACvB,CACP,EACA,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,CAC9B,KAAC,uBAAuB,IAAC,KAAK,EAAE,GAAG,CAAC,SAAS,YAC3C,wBACE,KAAC,UAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,sBAAoB,GAC7D,GACkB,CAC3B,EACD,aACE,SAAS,EAAC,8EAA8E,gBAC7E,eAAe,YAEzB,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;oBACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC;oBAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;oBACzD,OAAO,CACL,uBACE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE;gCAC/B,+BAA+B,EAAE,QAAQ;6BAC1C,CAAC,kBACY,QAAQ,EACtB,QAAQ,EAAE,MAAM,KAAK,SAAS,EAC9B,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC,WAAW,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,aAE7C,eAAM,SAAS,EAAC,yBAAyB,YACtC,SAAS,CAAC,KAAK,GACX,EACP,eAAM,SAAS,EAAC,iDAAiD,YAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,SAAS,EAAE,GAChD,IACA,IAjBF,GAAG,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,YAAY,EAAE,CAkB/C,CACN,CAAC;gBACJ,CAAC,CAAC,GACC,EACJ,OAAO,KAAK,SAAS;gBACpB,CAAC,GAAG,CAAC,eAAe;gBACpB,CAAC,GAAG,CAAC,SAAS;gBACd,GAAG,CAAC,SAAS,KAAK,SAAS;gBAC3B,GAAG,CAAC,UAAU,KAAK,SAAS;gBAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAC5B,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,IAAI,CAC7B,eAAM,SAAS,EAAC,wCAAwC,YACrD,6BAA6B,CAAC,eAAe,GACzC,CACR,EACF,GAAG,CAAC,WAAW,IAAI,CAClB,eAAM,SAAS,EAAC,wCAAwC,YACrD,6BAA6B,CAAC,SAAS,GACnC,CACR,EACA,GAAG,CAAC,YAAY,IAAI,CACnB,cAAK,SAAS,EAAC,8CAA8C,sCAEvD,CACP,EACA,GAAG,CAAC,WAAW,IAAI,CAClB,aACE,SAAS,EAAC,8EAA8E,gBAC7E,eAAe,YAEzB,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrC,yBACE,eAAK,SAAS,EAAC,8EAA8E,aAC3F,eAAM,SAAS,EAAC,yBAAyB,YACtC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,GACnB,EACP,KAAC,yBAAyB,IAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,GAAI,IACtD,EACN,2BAAgB,oBAAoB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,EAAE,YAC1D,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gCAChC,MAAM,QAAQ,GACZ,GAAG,CAAC,cAAc,EAAE,KAAK,KAAK,KAAK,CAAC,EAAE;oCACtC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;gCACrC,OAAO,CACL,uBACE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE;4CAC/B,+BAA+B,EAAE,QAAQ;yCAC1C,CAAC,kBACY,QAAQ,EACtB,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU,EAC3B,KAAK,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,WAAW,EAChD,OAAO,EAAE,GAAG,EAAE,CACZ,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,aAG3C,eAAM,SAAS,EAAC,yBAAyB,YACtC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,GACnB,EACP,eAAM,SAAS,EAAC,iDAAiD,YAC9D,KAAK,CAAC,UAAU;oDACf,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU;oDAChD,CAAC,CAAC,KAAK,CAAC,cAAc,GACnB,IACA,IArBF,KAAK,CAAC,EAAE,CAsBZ,CACN,CAAC;4BACJ,CAAC,CAAC,GACC,KAtCE,KAAK,CAAC,EAAE,CAuCZ,CACN,CAAC,GACC,CACN,EACA,GAAG,CAAC,WAAW,EAAE,UAAU,KAAK,IAAI,IAAI,CACvC,KAAC,sBAAsB,IACrB,WAAW,EAAE,GAAG,CAAC,WAAW,EAC5B,eAAe,EAAE,GAAG,CAAC,eAAe,GACpC,CACH,EACD,eAAK,SAAS,EAAC,yBAAyB,aACtC,gBAAO,SAAS,EAAC,yBAAyB,EAAC,OAAO,EAAE,WAAW,0BAEvD,EACR,gBACE,EAAE,EAAE,WAAW,EACf,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAC9C,UAAU,EAAE,KAAK,EACjB,QAAQ,EAAE,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,EAC3D,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,EAClE,KAAK,EAAE,GAAG,CAAC,SAAS,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GACzD,IACE,EACL,GAAG,CAAC,QAAQ,IAAI,CACf,cAAK,SAAS,EAAC,8CAA8C,YAC1D,kBAAkB,CAAC,gBAAgB,GAChC,CACP,EACA,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAC1B,KAAC,uBAAuB,IAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAI,CAC9C,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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 CubeDirectConnectionTabState } from '../../stores/source-picker/CubeDirectConnectionTabState.js';
|
|
17
|
+
/**
|
|
18
|
+
* The source picker's database connection tab (PLAN §6.8): a connection,
|
|
19
|
+
* tested by listing its schemas, then a schema's tables. The picker's own
|
|
20
|
+
* Add button adds the picked table.
|
|
21
|
+
*/
|
|
22
|
+
export declare const CubeDirectConnectionTab: ((props: {
|
|
23
|
+
tab: CubeDirectConnectionTabState;
|
|
24
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
25
|
+
displayName: string;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=CubeDirectConnectionTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeDirectConnectionTab.d.ts","sourceRoot":"","sources":["../../../src/components/source-picker/CubeDirectConnectionTab.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,OAAO,EACL,KAAK,4BAA4B,EAElC,MAAM,4DAA4D,CAAC;AAkKpE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,WAC1B;IAAE,GAAG,EAAE,4BAA4B,CAAA;CAAE;;CAwI9C,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { clsx } from '@finos/legend-art';
|
|
18
|
+
import { flowResult } from 'mobx';
|
|
19
|
+
import { observer } from 'mobx-react-lite';
|
|
20
|
+
import { useId } from 'react';
|
|
21
|
+
import { CUBE_CSV_HELP_TEXT, CUBE_DIRECT_HELP_TEXT, CUBE_DIRECT_PENDING_LABEL, getCubeConnectionSummaryLabel, getHiddenColumnsLabel, } from '../../__lib__/LegendCubeDirectConnectionLabels.js';
|
|
22
|
+
import { CUBE_PENDING_LABEL, CUBE_TABLE_FLAG_LABELS, } from '../../__lib__/LegendCubeLabels.js';
|
|
23
|
+
import { CubeDirectDatabaseType } from '../../graph-manager/CubeConnectionExplorer.js';
|
|
24
|
+
import { isExploredTableSelectable, } from '../../stores/source-picker/CubeDirectConnectionTabState.js';
|
|
25
|
+
import { CubeButton } from '../CubeButton.js';
|
|
26
|
+
import { CubePickerStep } from './CubePickerStep.js';
|
|
27
|
+
const INPUT_CLASS = 'rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] px-1 text-base text-[var(--color-text-primary)]';
|
|
28
|
+
/** The databases a direct connection can reach this round, as the form offers them (R44) */
|
|
29
|
+
const DATABASE_TYPE_OPTIONS = [
|
|
30
|
+
{ value: CubeDirectDatabaseType.H2, label: 'H2' },
|
|
31
|
+
{ value: CubeDirectDatabaseType.DUCKDB, label: 'DuckDB' },
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* Loads a CSV, pasted or from a file, into the in-memory DuckDB database:
|
|
35
|
+
* Add writes it into the setup SQL as a table, which the viewer can edit
|
|
36
|
+
*/
|
|
37
|
+
const CubeCsvLoader = observer((props) => {
|
|
38
|
+
const { tab } = props;
|
|
39
|
+
const { applicationStore } = tab.editorState.host;
|
|
40
|
+
const tableNameId = useId();
|
|
41
|
+
const fileId = useId();
|
|
42
|
+
return (_jsxs("details", { className: "flex flex-col gap-1", "aria-label": "Load a CSV", children: [_jsx("summary", { className: "cursor-pointer text-base", children: "Load a CSV" }), _jsxs("div", { className: "mt-1 flex flex-col gap-2", children: [_jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: CUBE_CSV_HELP_TEXT }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "w-20 shrink-0 text-base", htmlFor: fileId, children: "CSV file" }), _jsx("input", { id: fileId, type: "file", accept: ".csv,text/csv,text/plain", className: "min-w-0 flex-1 text-base", onChange: (event) => {
|
|
43
|
+
const file = event.target.files?.[0];
|
|
44
|
+
// choosing the same file again reads it again
|
|
45
|
+
event.target.value = '';
|
|
46
|
+
if (file) {
|
|
47
|
+
flowResult(tab.loadCsvFile(file)).catch(applicationStore.alertUnhandledError);
|
|
48
|
+
}
|
|
49
|
+
} })] }), _jsx("textarea", { "aria-label": "CSV", className: clsx(INPUT_CLASS, 'h-24 w-full resize-y p-1 font-mono text-sm'), placeholder: "Or paste a CSV here, its first row naming the columns", spellCheck: false, value: tab.csvText, onChange: (event) => tab.setCsvText(event.target.value) }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "w-20 shrink-0 text-base", htmlFor: tableNameId, children: "Table" }), _jsx("input", { id: tableNameId, className: clsx(INPUT_CLASS, 'h-7 min-w-0 flex-1'), placeholder: "csv_data", spellCheck: false, value: tab.csvTableName, onChange: (event) => tab.setCsvTableName(event.target.value) }), _jsx(CubeButton, { disabled: !tab.canAddCsv, onClick: () => tab.addCsv(), children: "Add to setup SQL" })] }), tab.csvNote !== undefined && (_jsx("span", { role: "status", className: clsx('text-sm', tab.csvNote.isError
|
|
50
|
+
? 'text-[var(--color-status-error)]'
|
|
51
|
+
: 'text-[var(--color-text-secondary)]'), children: tab.csvNote.message }))] })] }));
|
|
52
|
+
});
|
|
53
|
+
/** The form of a connection the cube doesn't have yet */
|
|
54
|
+
const CubeConnectionForm = observer((props) => {
|
|
55
|
+
const { tab } = props;
|
|
56
|
+
const setupSqlId = useId();
|
|
57
|
+
const pathId = useId();
|
|
58
|
+
return (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(CubePickerStep, { label: "Database", value: tab.databaseType, options: DATABASE_TYPE_OPTIONS, onChange: (value) => {
|
|
59
|
+
if (value) {
|
|
60
|
+
tab.setDatabaseType(value);
|
|
61
|
+
}
|
|
62
|
+
} }), tab.databaseType === CubeDirectDatabaseType.DUCKDB && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "w-20 shrink-0 text-base", htmlFor: pathId, children: "File" }), _jsx("input", { id: pathId, className: clsx(INPUT_CLASS, 'h-7 min-w-0 flex-1'), placeholder: "In memory", title: CUBE_DIRECT_HELP_TEXT.DUCKDB_PATH, spellCheck: false, value: tab.duckDbPath, onChange: (event) => tab.setDuckDbPath(event.target.value) })] })), tab.databaseType === CubeDirectDatabaseType.DUCKDB && (_jsx(CubeCsvLoader, { tab: tab })), _jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("label", { className: "text-base", htmlFor: setupSqlId, children: "Setup SQL" }), _jsx("textarea", { id: setupSqlId, className: clsx(INPUT_CLASS, 'h-32 w-full resize-y p-1 font-mono text-sm'), spellCheck: false, value: tab.setupSqlText, onChange: (event) => tab.setSetupSqlText(event.target.value) }), _jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: CUBE_DIRECT_HELP_TEXT.SETUP_SQL }), tab.formProblem !== undefined && (_jsx("span", { className: "text-sm text-[var(--color-status-warn)]", children: tab.formProblem }))] })] }));
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* The source picker's database connection tab (PLAN §6.8): a connection,
|
|
66
|
+
* tested by listing its schemas, then a schema's tables. The picker's own
|
|
67
|
+
* Add button adds the picked table.
|
|
68
|
+
*/
|
|
69
|
+
export const CubeDirectConnectionTab = observer((props) => {
|
|
70
|
+
const { tab } = props;
|
|
71
|
+
const { applicationStore } = tab.editorState.host;
|
|
72
|
+
const { description, fixedConnection } = tab;
|
|
73
|
+
return (_jsxs("div", { className: "flex flex-col gap-2", children: [fixedConnection ? (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("div", { className: "text-base", "aria-label": "Connection", children: description?.supported
|
|
74
|
+
? getCubeConnectionSummaryLabel(description.summary)
|
|
75
|
+
: "Cube can't use the cube's connection:" }), description && !description.supported && (_jsx("ul", { className: "list-disc pl-5 text-base text-[var(--color-status-error)]", children: description.problems.map((problem) => (_jsx("li", { children: problem }, problem))) })), _jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: CUBE_DIRECT_HELP_TEXT.FIXED_CONNECTION })] })) : (_jsx(CubeConnectionForm, { tab: tab })), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(CubeButton, { disabled: !tab.canTest, onClick: () => {
|
|
76
|
+
flowResult(tab.testConnection()).catch(applicationStore.alertUnhandledError);
|
|
77
|
+
}, children: fixedConnection ? 'List schemas' : 'Test connection' }), tab.isTesting && (_jsx("span", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_DIRECT_PENDING_LABEL.TESTING_CONNECTION }))] }), tab.schemas !== undefined && tab.schemas.length > 0 && (_jsx(CubePickerStep, { label: "Schema", value: tab.schemaName, options: tab.schemas.map((schema) => ({
|
|
78
|
+
value: schema,
|
|
79
|
+
label: schema,
|
|
80
|
+
})), onChange: (name) => tab.selectSchema(name) })), tab.isListing && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_DIRECT_PENDING_LABEL.LISTING_TABLES })), tab.schemaTables !== undefined && (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("input", { className: clsx(INPUT_CLASS, 'h-7'), placeholder: "Search tables", "aria-label": "Search tables", value: tab.tableSearch, onChange: (event) => tab.setTableSearch(event.target.value) }), _jsx("ul", { className: "h-56 overflow-auto rounded-sm border border-[var(--color-border-subtle)]", "aria-label": "Tables", children: tab.tables.map((table) => {
|
|
81
|
+
const selectable = isExploredTableSelectable(table);
|
|
82
|
+
const isPicked = tab.tableName === table.storedName;
|
|
83
|
+
const hidden = getHiddenColumnsLabel(table.hiddenColumnCount);
|
|
84
|
+
return (_jsx("li", { children: _jsxs("button", { type: "button", className: clsx('flex w-full items-center gap-2 px-2 py-1 text-left text-base enabled:hover:bg-[var(--color-bg-hover)] disabled:cursor-not-allowed disabled:text-[var(--color-text-disabled)]', { 'bg-[var(--color-bg-selected)]': isPicked }), "aria-pressed": isPicked, disabled: !selectable, onClick: () => tab.selectTable(table.storedName), children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: table.name }), table.flags.map((flag) => (_jsx("span", { className: "rounded-sm bg-[var(--color-status-warn-bg)] px-1 text-sm text-[var(--color-status-warn)]", title: CUBE_TABLE_FLAG_LABELS[flag].description, children: CUBE_TABLE_FLAG_LABELS[flag].label }, flag))), _jsxs("span", { className: "shrink-0 text-sm text-[var(--color-text-muted)]", children: [table.columnCount, " columns", hidden !== undefined && `, ${hidden}`] })] }) }, table.storedName));
|
|
85
|
+
}) })] })), tab.isResolving && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.RESOLVING_SOURCE })), tab.error !== undefined && (_jsxs("div", { className: "flex flex-col gap-1 text-base text-[var(--color-status-error)]", role: "alert", children: [_jsx("span", { children: tab.error.message }), tab.error.detail !== undefined && (_jsxs("details", { className: "text-sm", children: [_jsx("summary", { className: "cursor-pointer", children: "Details" }), _jsx("pre", { className: "whitespace-pre-wrap break-words", children: tab.error.detail })] }))] }))] }));
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=CubeDirectConnectionTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeDirectConnectionTab.js","sourceRoot":"","sources":["../../../src/components/source-picker/CubeDirectConnectionTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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 { CubeIngestTabState } from '../../stores/source-picker/CubeIngestTabState.js';
|
|
17
|
+
/**
|
|
18
|
+
* The source dialog's Ingest tab (PLAN §6.7): Mode, the viewer's
|
|
19
|
+
* environment (read-only), a producer deployment, one of its definitions,
|
|
20
|
+
* then a data set with its columns. The cube's first data set fixes the
|
|
21
|
+
* Mode, the producer deployment and the warehouse.
|
|
22
|
+
*/
|
|
23
|
+
export declare const CubeIngestTab: ((props: {
|
|
24
|
+
tab: CubeIngestTabState;
|
|
25
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
26
|
+
displayName: string;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=CubeIngestTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeIngestTab.d.ts","sourceRoot":"","sources":["../../../src/components/source-picker/CubeIngestTab.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,kDAAkD,CAAC;AA+B1D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,WAAoB;IAAE,GAAG,EAAE,kBAAkB,CAAA;CAAE;;CAqKvE,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { clsx } from '@finos/legend-art';
|
|
18
|
+
import { observer } from 'mobx-react-lite';
|
|
19
|
+
import { useId } from 'react';
|
|
20
|
+
import { CUBE_DATA_PRODUCT_ENVIRONMENT_LABELS } from '../../__lib__/LegendCubeDataProductLabels.js';
|
|
21
|
+
import { getDroppedDefinitionsLabel } from '../../__lib__/LegendCubeIngestLabels.js';
|
|
22
|
+
import { CUBE_PENDING_LABEL, READ_ONLY_CUBE_TITLE, } from '../../__lib__/LegendCubeLabels.js';
|
|
23
|
+
import { CubeButton } from '../CubeButton.js';
|
|
24
|
+
import { CubeSchemaColumnsTable } from '../CubeSchemaColumnsTable.js';
|
|
25
|
+
import { CubePickerStep } from './CubePickerStep.js';
|
|
26
|
+
const INPUT_CLASS = 'h-7 rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] px-1 text-base text-[var(--color-text-primary)] disabled:text-[var(--color-text-secondary)]';
|
|
27
|
+
const LIST_ITEM_CLASS = 'flex w-full items-center gap-2 px-2 py-1 text-left text-base enabled:hover:bg-[var(--color-bg-hover)] disabled:cursor-not-allowed disabled:text-[var(--color-text-disabled)]';
|
|
28
|
+
/** An error as the tab shows it: its first line, the rest on demand, and an action when it has one */
|
|
29
|
+
const CubeIngestTabAlert = ({ error, children }) => (_jsxs("div", { className: "flex flex-col gap-1 text-base text-[var(--color-status-error)]", role: "alert", children: [_jsx("span", { children: error.message }), error.detail !== undefined && (_jsxs("details", { className: "text-sm", children: [_jsx("summary", { className: "cursor-pointer", children: "Details" }), _jsx("pre", { className: "whitespace-pre-wrap break-words", children: error.detail })] })), children] }));
|
|
30
|
+
/**
|
|
31
|
+
* The source dialog's Ingest tab (PLAN §6.7): Mode, the viewer's
|
|
32
|
+
* environment (read-only), a producer deployment, one of its definitions,
|
|
33
|
+
* then a data set with its columns. The cube's first data set fixes the
|
|
34
|
+
* Mode, the producer deployment and the warehouse.
|
|
35
|
+
*/
|
|
36
|
+
export const CubeIngestTab = observer((props) => {
|
|
37
|
+
const { tab } = props;
|
|
38
|
+
const warehouseId = useId();
|
|
39
|
+
const settings = tab.fixedSettings;
|
|
40
|
+
const dropped = getDroppedDefinitionsLabel(tab.definitionList?.droppedCount ?? 0);
|
|
41
|
+
return (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(CubePickerStep, { label: "Mode", value: tab.environmentType, options: (tab.catalog?.environmentTypes ?? []).map((type) => ({
|
|
42
|
+
value: type,
|
|
43
|
+
label: CUBE_DATA_PRODUCT_ENVIRONMENT_LABELS[type],
|
|
44
|
+
})), disabled: settings !== undefined, onChange: (value) => {
|
|
45
|
+
if (value) {
|
|
46
|
+
tab.setEnvironmentType(value);
|
|
47
|
+
}
|
|
48
|
+
} }), _jsxs("div", { className: "flex items-center gap-2 text-base", children: [_jsx("span", { className: "w-20 shrink-0", children: "Environment" }), _jsx("span", { "aria-label": "Environment", children: tab.environment?.name ??
|
|
49
|
+
(tab.isLoadingEnvironment ? 'reading your environment' : '') })] }), _jsx(CubePickerStep, { label: "Producer", value: tab.producerDeploymentId, options: (tab.producers ?? []).map((producer) => ({
|
|
50
|
+
value: producer.deploymentId,
|
|
51
|
+
label: `Deployment ${producer.deploymentId}`,
|
|
52
|
+
})), disabled: settings !== undefined, onChange: (value) => tab.selectProducer(value) }), settings && (_jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: `All of the cube's data sets come from producer deployment ${settings.producerDeploymentId}.` })), tab.producerDeploymentId !== undefined && (_jsx("input", { className: INPUT_CLASS, placeholder: "Search ingest definitions", "aria-label": "Search ingest definitions", value: tab.definitionSearch, onChange: (event) => tab.setDefinitionSearch(event.target.value) })), tab.isListingDefinitions && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: "listing ingest definitions" })), tab.definitionList && (_jsx("ul", { className: "max-h-40 overflow-auto rounded-sm border border-[var(--color-border-subtle)]", "aria-label": "Ingest definitions", children: tab.shownDefinitions.map((candidate) => {
|
|
53
|
+
const isPicked = tab.definition?.urn === candidate.urn;
|
|
54
|
+
return (_jsx("li", { children: _jsxs("button", { type: "button", className: clsx(LIST_ITEM_CLASS, {
|
|
55
|
+
'bg-[var(--color-bg-selected)]': isPicked,
|
|
56
|
+
}), "aria-pressed": isPicked, title: candidate.definition, onClick: () => tab.selectDefinition(candidate), children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: candidate.name }), _jsx("span", { className: "shrink-0 text-sm text-[var(--color-text-muted)]", children: `${candidate.groupId}:${candidate.artifactId}` })] }) }, candidate.urn));
|
|
57
|
+
}) })), dropped !== undefined && (_jsx("span", { className: "text-sm text-[var(--color-text-muted)]", children: dropped })), tab.isDescribing && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: "reading the definition" })), tab.dataSets && (_jsx("ul", { className: "max-h-40 overflow-auto rounded-sm border border-[var(--color-border-subtle)]", "aria-label": "Data sets", children: tab.dataSets.map((dataSet) => {
|
|
58
|
+
const isPicked = tab.dataSetName === dataSet.name;
|
|
59
|
+
return (_jsx("li", { children: _jsxs("button", { type: "button", className: clsx(LIST_ITEM_CLASS, {
|
|
60
|
+
'bg-[var(--color-bg-selected)]': isPicked,
|
|
61
|
+
}), "aria-pressed": isPicked, disabled: !dataSet.isPickable, title: dataSet.disabledReason, onClick: () => tab.selectDataSet(dataSet.name), children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: dataSet.name }), _jsx("span", { className: "shrink-0 text-sm text-[var(--color-text-muted)]", children: dataSet.isPickable
|
|
62
|
+
? `${dataSet.schema?.columns.length ?? 0} columns`
|
|
63
|
+
: dataSet.disabledReason })] }) }, dataSet.name));
|
|
64
|
+
}) })), tab.dataSet?.schema && (_jsx("section", { "aria-label": "Data set preview", children: _jsx(CubeSchemaColumnsTable, { schema: tab.dataSet.schema }) })), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "w-20 shrink-0 text-base", htmlFor: warehouseId, children: "Warehouse" }), _jsx("input", { id: warehouseId, className: clsx(INPUT_CLASS, 'min-w-0 flex-1'), spellCheck: false, disabled: settings !== undefined || tab.editorState.readOnly, title: tab.editorState.readOnly ? READ_ONLY_CUBE_TITLE : undefined, value: tab.warehouse, onChange: (event) => tab.setWarehouse(event.target.value) })] }), tab.isAdding && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.RESOLVING_SOURCE })), tab.error !== undefined && (_jsx(CubeIngestTabAlert, { error: tab.error, children: _jsx("div", { children: _jsx(CubeButton, { onClick: () => tab.retry(), children: "Retry" }) }) }))] }));
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=CubeIngestTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeIngestTab.js","sourceRoot":"","sources":["../../../src/components/source-picker/CubeIngestTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 CubeInlineModelTabState } from '../../stores/source-picker/CubeInlineModelTabState.js';
|
|
17
|
+
/**
|
|
18
|
+
* The steps after a model is picked, shared by the Sample Data and Project
|
|
19
|
+
* Database tabs: its loading, then a database, a runtime keyed by it, a schema
|
|
20
|
+
* and a table, and why the last step failed
|
|
21
|
+
*/
|
|
22
|
+
export declare const CubeOutlineSteps: ((props: {
|
|
23
|
+
tab: CubeInlineModelTabState;
|
|
24
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
25
|
+
displayName: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The source dialog's Sample Data tab (PLAN §6.2.7, §6.9): a bundled dataset,
|
|
29
|
+
* then a database, a runtime keyed by it, a schema and a table. The dialog's
|
|
30
|
+
* Add adds the table.
|
|
31
|
+
*/
|
|
32
|
+
export declare const CubeInlineModelTab: ((props: {
|
|
33
|
+
tab: CubeInlineModelTabState;
|
|
34
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
35
|
+
displayName: string;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=CubeInlineModelTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeInlineModelTab.d.ts","sourceRoot":"","sources":["../../../src/components/source-picker/CubeInlineModelTab.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,uDAAuD,CAAC;AAG/D;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,WACnB;IAAE,GAAG,EAAE,uBAAuB,CAAA;CAAE;;CAwGzC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,WACrB;IAAE,GAAG,EAAE,uBAAuB,CAAA;CAAE;;CA0CzC,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { clsx } from '@finos/legend-art';
|
|
18
|
+
import { getRelationalDisplayName } from '@finos/legend-cube';
|
|
19
|
+
import { flowResult } from 'mobx';
|
|
20
|
+
import { observer } from 'mobx-react-lite';
|
|
21
|
+
import { CUBE_PENDING_LABEL, CUBE_TABLE_FLAG_LABELS, } from '../../__lib__/LegendCubeLabels.js';
|
|
22
|
+
import { isTableSelectable, } from '../../stores/source-picker/CubeInlineModelTabState.js';
|
|
23
|
+
import { CubePickerStep } from './CubePickerStep.js';
|
|
24
|
+
/**
|
|
25
|
+
* The steps after a model is picked, shared by the Sample Data and Project
|
|
26
|
+
* Database tabs: its loading, then a database, a runtime keyed by it, a schema
|
|
27
|
+
* and a table, and why the last step failed
|
|
28
|
+
*/
|
|
29
|
+
export const CubeOutlineSteps = observer((props) => {
|
|
30
|
+
const { tab } = props;
|
|
31
|
+
return (_jsxs(_Fragment, { children: [tab.isLoadingModel && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.LOADING_MODEL })), _jsx(CubePickerStep, { label: "Database", value: tab.databasePath, options: tab.databases.map((database) => ({
|
|
32
|
+
value: database.path,
|
|
33
|
+
label: database.path,
|
|
34
|
+
})), disabled: tab.fixedDatabasePath !== undefined, onChange: (path) => tab.selectDatabase(path) }), _jsx(CubePickerStep, { label: "Runtime", value: tab.runtimePath, options: tab.runtimes.map((runtime) => ({
|
|
35
|
+
value: runtime.path,
|
|
36
|
+
label: runtime.path,
|
|
37
|
+
})), disabled: tab.fixedContext?.runtime !== undefined, onChange: (path) => tab.selectRuntime(path) }), _jsx(CubePickerStep, { label: "Schema", value: tab.schemaName, options: tab.schemas.map((schema) => ({
|
|
38
|
+
value: schema.name,
|
|
39
|
+
label: getRelationalDisplayName(schema.name),
|
|
40
|
+
})), onChange: (name) => tab.selectSchema(name) }), tab.schemaName !== undefined && (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("input", { className: "h-7 rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] px-1 text-base text-[var(--color-text-primary)]", placeholder: "Search tables", "aria-label": "Search tables", value: tab.tableSearch, onChange: (event) => tab.setTableSearch(event.target.value) }), _jsx("ul", { className: "h-56 overflow-auto rounded-sm border border-[var(--color-border-subtle)]", "aria-label": "Tables", children: tab.tables.map((table) => {
|
|
41
|
+
const selectable = isTableSelectable(table);
|
|
42
|
+
const isPicked = tab.tableName === table.name;
|
|
43
|
+
return (_jsx("li", { children: _jsxs("button", { type: "button", className: clsx('flex w-full items-center gap-2 px-2 py-1 text-left text-base enabled:hover:bg-[var(--color-bg-hover)] disabled:cursor-not-allowed disabled:text-[var(--color-text-disabled)]', { 'bg-[var(--color-bg-selected)]': isPicked }), "aria-pressed": isPicked, disabled: !selectable, onClick: () => tab.selectTable(table.name), children: [_jsx("span", { className: "min-w-0 flex-1 truncate", children: getRelationalDisplayName(table.name) }), table.flags.map((flag) => (_jsx("span", { className: "rounded-sm bg-[var(--color-status-warn-bg)] px-1 text-sm text-[var(--color-status-warn)]", title: CUBE_TABLE_FLAG_LABELS[flag].description, children: CUBE_TABLE_FLAG_LABELS[flag].label }, flag))), _jsxs("span", { className: "shrink-0 text-sm text-[var(--color-text-muted)]", children: [table.columnCount, " columns"] })] }) }, table.name));
|
|
44
|
+
}) })] })), tab.isResolving && (_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: CUBE_PENDING_LABEL.RESOLVING_SOURCE })), tab.error !== undefined && (_jsx("div", { className: "text-base text-[var(--color-status-error)]", role: "alert", children: tab.error }))] }));
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* The source dialog's Sample Data tab (PLAN §6.2.7, §6.9): a bundled dataset,
|
|
48
|
+
* then a database, a runtime keyed by it, a schema and a table. The dialog's
|
|
49
|
+
* Add adds the table.
|
|
50
|
+
*/
|
|
51
|
+
export const CubeInlineModelTab = observer((props) => {
|
|
52
|
+
const { tab } = props;
|
|
53
|
+
const { applicationStore } = tab.editorState.host;
|
|
54
|
+
const isFixed = tab.fixedContext !== undefined;
|
|
55
|
+
const fixedModel = JSON.stringify(tab.fixedContext?.model);
|
|
56
|
+
const fixedModelLabel = tab.models.find((model) => [model.model, ...(model.earlierModels ?? [])].some((candidate) => JSON.stringify(candidate) === fixedModel))?.label ?? "The cube's model";
|
|
57
|
+
return (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(CubePickerStep, { label: "Dataset", value: isFixed
|
|
58
|
+
? 'fixed'
|
|
59
|
+
: tab.models.find((model) => model.model === tab.model)?.id, options: isFixed
|
|
60
|
+
? [{ value: 'fixed', label: fixedModelLabel }]
|
|
61
|
+
: tab.models.map((model) => ({
|
|
62
|
+
value: model.id,
|
|
63
|
+
label: model.label,
|
|
64
|
+
})), disabled: isFixed, onChange: (id) => {
|
|
65
|
+
const model = tab.models.find((candidate) => candidate.id === id);
|
|
66
|
+
if (model) {
|
|
67
|
+
flowResult(tab.selectModel(model.model)).catch(applicationStore.alertUnhandledError);
|
|
68
|
+
}
|
|
69
|
+
} }), _jsx(CubeOutlineSteps, { tab: tab })] }));
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=CubeInlineModelTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeInlineModelTab.js","sourceRoot":"","sources":["../../../src/components/source-picker/CubeInlineModelTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
/** One step of the picker: a labelled list of choices, read-only when the cube fixes it */
|
|
17
|
+
export declare const CubePickerStep: React.FC<{
|
|
18
|
+
label: string;
|
|
19
|
+
value: string | undefined;
|
|
20
|
+
options: readonly {
|
|
21
|
+
value: string;
|
|
22
|
+
label: string;
|
|
23
|
+
}[];
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
onChange: (value: string | undefined) => void;
|
|
26
|
+
}>;
|
|
27
|
+
//# sourceMappingURL=CubePickerStep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubePickerStep.d.ts","sourceRoot":"","sources":["../../../src/components/source-picker/CubePickerStep.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,2FAA2F;AAC3F,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAC/C,CAuBA,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { useId } from 'react';
|
|
18
|
+
/** One step of the picker: a labelled list of choices, read-only when the cube fixes it */
|
|
19
|
+
export const CubePickerStep = ({ label, value, options, disabled, onChange }) => {
|
|
20
|
+
const id = useId();
|
|
21
|
+
return (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "w-20 shrink-0 text-base", htmlFor: id, children: label }), _jsxs("select", { id: id, className: "h-7 min-w-0 flex-1 rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] px-1 text-base text-[var(--color-text-primary)] disabled:text-[var(--color-text-secondary)]", value: value ?? '', disabled: Boolean(disabled) || !options.length, onChange: (event) => onChange(event.target.value || undefined), children: [value === undefined && _jsx("option", { value: "", children: "Choose\u2026" }), options.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value)))] })] }));
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=CubePickerStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubePickerStep.js","sourceRoot":"","sources":["../../../src/components/source-picker/CubePickerStep.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,2FAA2F;AAC3F,MAAM,CAAC,MAAM,cAAc,GAMtB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,gBAAO,SAAS,EAAC,yBAAyB,EAAC,OAAO,EAAE,EAAE,YACnD,KAAK,GACA,EACR,kBACE,EAAE,EAAE,EAAE,EACN,SAAS,EAAC,kMAAkM,EAC5M,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,aAE7D,KAAK,KAAK,SAAS,IAAI,iBAAQ,KAAK,EAAC,EAAE,6BAAiB,EACxD,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,iBAA2B,KAAK,EAAE,MAAM,CAAC,KAAK,YAC3C,MAAM,CAAC,KAAK,IADF,MAAM,CAAC,KAAK,CAEhB,CACV,CAAC,IACK,IACL,CACP,CAAC;AACJ,CAAC,CAAC"}
|