@finos/legend-application-studio 18.1.0 → 19.0.0
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/lib/application/LegendStudio.d.ts.map +1 -1
- package/lib/application/LegendStudio.js +3 -9
- package/lib/application/LegendStudio.js.map +1 -1
- package/lib/components/Core_LegendStudioApplicationPlugin.d.ts +2 -1
- package/lib/components/Core_LegendStudioApplicationPlugin.d.ts.map +1 -1
- package/lib/components/Core_LegendStudioApplicationPlugin.js +5 -1
- package/lib/components/Core_LegendStudioApplicationPlugin.js.map +1 -1
- package/lib/components/EditorComponentTestUtils.d.ts.map +1 -1
- package/lib/components/EditorComponentTestUtils.js +3 -3
- package/lib/components/EditorComponentTestUtils.js.map +1 -1
- package/lib/components/LegendStudioApplication.d.ts.map +1 -1
- package/lib/components/LegendStudioApplication.js +11 -8
- package/lib/components/LegendStudioApplication.js.map +1 -1
- package/lib/components/editor/ActivityBar.d.ts.map +1 -1
- package/lib/components/editor/ActivityBar.js +13 -18
- package/lib/components/editor/ActivityBar.js.map +1 -1
- package/lib/components/editor/Editor.d.ts.map +1 -1
- package/lib/components/editor/Editor.js +58 -95
- package/lib/components/editor/Editor.js.map +1 -1
- package/lib/components/editor/StatusBar.d.ts.map +1 -1
- package/lib/components/editor/StatusBar.js +4 -6
- package/lib/components/editor/StatusBar.js.map +1 -1
- package/lib/components/editor/aux-panel/AuxiliaryPanel.js +1 -1
- package/lib/components/editor/aux-panel/AuxiliaryPanel.js.map +1 -1
- package/lib/components/editor/command-center/ProjectSearchCommand.d.ts.map +1 -1
- package/lib/components/editor/command-center/ProjectSearchCommand.js +1 -1
- package/lib/components/editor/command-center/ProjectSearchCommand.js.map +1 -1
- package/lib/components/editor/edit-panel/EditPanel.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/EditPanel.js +5 -5
- package/lib/components/editor/edit-panel/EditPanel.js.map +1 -1
- package/lib/components/editor/edit-panel/FileGenerationViewer.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/FileGenerationViewer.js +2 -2
- package/lib/components/editor/edit-panel/FileGenerationViewer.js.map +1 -1
- package/lib/components/editor/edit-panel/FunctionEditor.js +2 -2
- package/lib/components/editor/edit-panel/FunctionEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/GrammarTextEditor.js +4 -16
- package/lib/components/editor/edit-panel/GrammarTextEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/ModelImporter.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/ModelImporter.js +6 -32
- package/lib/components/editor/edit-panel/ModelImporter.js.map +1 -1
- package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js +2 -3
- package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js.map +1 -1
- package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js +14 -15
- package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js +12 -6
- package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/data-editor/DataElementEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js +3 -3
- package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js +3 -4
- package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js +7 -8
- package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js +3 -3
- package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.js +4 -5
- package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.js +2 -3
- package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.js.map +1 -1
- package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js +2 -3
- package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js +2 -3
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.js +2 -3
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js +3 -3
- package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js +5 -9
- package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js +12 -15
- package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js +9 -12
- package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js +4 -5
- package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js +4 -4
- package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js +4 -4
- package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js +17 -41
- package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/NewServiceModal.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/NewServiceModal.js +4 -5
- package/lib/components/editor/edit-panel/service-editor/NewServiceModal.js.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js +16 -16
- package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js +6 -7
- package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js +9 -9
- package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.js +5 -5
- package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js +4 -2
- package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/testable/TestAssertionEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/testable/TestAssertionEditor.js +2 -3
- package/lib/components/editor/edit-panel/testable/TestAssertionEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js +7 -5
- package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/ClassEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js +12 -8
- package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js +7 -5
- package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js.map +1 -1
- package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -1
- package/lib/components/editor/side-bar/CreateNewElementModal.js +4 -5
- package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -1
- package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
- package/lib/components/editor/side-bar/Explorer.js +10 -7
- package/lib/components/editor/side-bar/Explorer.js.map +1 -1
- package/lib/components/editor/side-bar/WorkflowManager.js +3 -5
- package/lib/components/editor/side-bar/WorkflowManager.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceReview.d.ts.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceReview.js +5 -32
- package/lib/components/editor/side-bar/WorkspaceReview.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceUpdater.d.ts.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceUpdater.js +2 -26
- package/lib/components/editor/side-bar/WorkspaceUpdater.js.map +1 -1
- package/lib/components/editor/side-bar/testable/GlobalTestRunner.d.ts.map +1 -1
- package/lib/components/editor/side-bar/testable/GlobalTestRunner.js +3 -4
- package/lib/components/editor/side-bar/testable/GlobalTestRunner.js.map +1 -1
- package/lib/components/project-viewer/ProjectViewer.d.ts.map +1 -1
- package/lib/components/project-viewer/ProjectViewer.js +19 -33
- package/lib/components/project-viewer/ProjectViewer.js.map +1 -1
- package/lib/components/shared/DiffView.d.ts.map +1 -1
- package/lib/components/shared/DiffView.js +4 -19
- package/lib/components/shared/DiffView.js.map +1 -1
- package/lib/components/workspace-review/WorkspaceReview.d.ts.map +1 -1
- package/lib/components/workspace-review/WorkspaceReview.js +8 -6
- package/lib/components/workspace-review/WorkspaceReview.js.map +1 -1
- package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +1 -1
- package/lib/components/workspace-review/WorkspaceReviewPanel.js +2 -2
- package/lib/components/workspace-review/WorkspaceReviewPanel.js.map +1 -1
- package/lib/components/workspace-review/WorkspaceReviewSideBar.js +1 -1
- package/lib/components/workspace-review/WorkspaceReviewSideBar.js.map +1 -1
- package/lib/components/workspace-setup/CreateProjectModal.d.ts.map +1 -1
- package/lib/components/workspace-setup/CreateProjectModal.js +10 -6
- package/lib/components/workspace-setup/CreateProjectModal.js.map +1 -1
- package/lib/components/workspace-setup/CreateWorkspaceModal.d.ts.map +1 -1
- package/lib/components/workspace-setup/CreateWorkspaceModal.js +4 -5
- package/lib/components/workspace-setup/CreateWorkspaceModal.js.map +1 -1
- package/lib/components/workspace-setup/WorkspaceSetup.d.ts.map +1 -1
- package/lib/components/workspace-setup/WorkspaceSetup.js +4 -1
- package/lib/components/workspace-setup/WorkspaceSetup.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/package.json +5 -7
- package/lib/stores/EditorConfig.d.ts +0 -28
- package/lib/stores/EditorConfig.d.ts.map +1 -1
- package/lib/stores/EditorConfig.js +0 -29
- package/lib/stores/EditorConfig.js.map +1 -1
- package/lib/stores/EditorGraphState.d.ts.map +1 -1
- package/lib/stores/EditorGraphState.js +8 -8
- package/lib/stores/EditorGraphState.js.map +1 -1
- package/lib/stores/EditorSDLCState.d.ts.map +1 -1
- package/lib/stores/EditorSDLCState.js +4 -2
- package/lib/stores/EditorSDLCState.js.map +1 -1
- package/lib/stores/EditorStore.d.ts +27 -30
- package/lib/stores/EditorStore.d.ts.map +1 -1
- package/lib/stores/EditorStore.js +183 -146
- package/lib/stores/EditorStore.js.map +1 -1
- package/lib/stores/EmbeddedQueryBuilderState.d.ts +1 -1
- package/lib/stores/EmbeddedQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/EmbeddedQueryBuilderState.js +7 -8
- package/lib/stores/EmbeddedQueryBuilderState.js.map +1 -1
- package/lib/stores/LegendStudioBaseStore.d.ts +1 -1
- package/lib/stores/LegendStudioBaseStore.d.ts.map +1 -1
- package/lib/stores/LegendStudioBaseStore.js +25 -17
- package/lib/stores/LegendStudioBaseStore.js.map +1 -1
- package/lib/stores/LegendStudioCommand.d.ts +32 -0
- package/lib/stores/LegendStudioCommand.d.ts.map +1 -0
- package/lib/stores/LegendStudioCommand.js +81 -0
- package/lib/stores/LegendStudioCommand.js.map +1 -0
- package/lib/stores/LegendStudioRouter.d.ts +15 -15
- package/lib/stores/LegendStudioRouter.d.ts.map +1 -1
- package/lib/stores/LegendStudioRouter.js +37 -24
- package/lib/stores/LegendStudioRouter.js.map +1 -1
- package/lib/stores/editor-state/GraphGenerationState.d.ts.map +1 -1
- package/lib/stores/editor-state/GraphGenerationState.js +2 -3
- package/lib/stores/editor-state/GraphGenerationState.js.map +1 -1
- package/lib/stores/editor-state/ModelImporterState.d.ts.map +1 -1
- package/lib/stores/editor-state/ModelImporterState.js +21 -21
- package/lib/stores/editor-state/ModelImporterState.js.map +1 -1
- package/lib/stores/editor-state/ProjectConfigurationEditorState.js +2 -2
- package/lib/stores/editor-state/ProjectConfigurationEditorState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts.map +1 -1
- package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js +1 -3
- package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts.map +1 -1
- package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js +1 -3
- package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -1
- package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js +2 -2
- package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
- package/lib/stores/project-viewer/ProjectViewerStore.d.ts +2 -4
- package/lib/stores/project-viewer/ProjectViewerStore.d.ts.map +1 -1
- package/lib/stores/project-viewer/ProjectViewerStore.js +45 -44
- package/lib/stores/project-viewer/ProjectViewerStore.js.map +1 -1
- package/lib/stores/shared/MockDataUtils.d.ts.map +1 -1
- package/lib/stores/shared/MockDataUtils.js +3 -4
- package/lib/stores/shared/MockDataUtils.js.map +1 -1
- package/lib/stores/shared/testable/TestableUtils.d.ts.map +1 -1
- package/lib/stores/shared/testable/TestableUtils.js +6 -6
- package/lib/stores/shared/testable/TestableUtils.js.map +1 -1
- package/lib/stores/sidebar-state/LocalChangesState.d.ts +1 -0
- package/lib/stores/sidebar-state/LocalChangesState.d.ts.map +1 -1
- package/lib/stores/sidebar-state/LocalChangesState.js +28 -10
- package/lib/stores/sidebar-state/LocalChangesState.js.map +1 -1
- package/lib/stores/sidebar-state/ProjectOverviewState.d.ts.map +1 -1
- package/lib/stores/sidebar-state/ProjectOverviewState.js +3 -2
- package/lib/stores/sidebar-state/ProjectOverviewState.js.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceReviewState.d.ts.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceReviewState.js +10 -10
- package/lib/stores/sidebar-state/WorkspaceReviewState.js.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceSyncState.js +6 -8
- package/lib/stores/sidebar-state/WorkspaceSyncState.js.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.d.ts.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js +20 -17
- package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceUpdaterState.d.ts.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceUpdaterState.js +8 -7
- package/lib/stores/sidebar-state/WorkspaceUpdaterState.js.map +1 -1
- package/lib/stores/workspace-setup/WorkspaceSetupStore.js +6 -6
- package/lib/stores/workspace-setup/WorkspaceSetupStore.js.map +1 -1
- package/package.json +14 -16
- package/src/application/LegendStudio.tsx +3 -9
- package/src/components/Core_LegendStudioApplicationPlugin.tsx +9 -0
- package/src/components/EditorComponentTestUtils.tsx +8 -2
- package/src/components/LegendStudioApplication.tsx +28 -8
- package/src/components/editor/ActivityBar.tsx +35 -73
- package/src/components/editor/Editor.tsx +135 -172
- package/src/components/editor/StatusBar.tsx +16 -13
- package/src/components/editor/aux-panel/AuxiliaryPanel.tsx +1 -1
- package/src/components/editor/command-center/ProjectSearchCommand.tsx +12 -16
- package/src/components/editor/edit-panel/EditPanel.tsx +14 -22
- package/src/components/editor/edit-panel/FileGenerationViewer.tsx +9 -11
- package/src/components/editor/edit-panel/FunctionEditor.tsx +2 -2
- package/src/components/editor/edit-panel/GrammarTextEditor.tsx +2 -18
- package/src/components/editor/edit-panel/ModelImporter.tsx +10 -38
- package/src/components/editor/edit-panel/connection-editor/DatabaseBuilder.tsx +2 -2
- package/src/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.tsx +32 -33
- package/src/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.tsx +28 -23
- package/src/components/editor/edit-panel/data-editor/DataElementEditor.tsx +8 -9
- package/src/components/editor/edit-panel/data-editor/EmbeddedDataEditor.tsx +8 -10
- package/src/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.tsx +7 -8
- package/src/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.tsx +2 -2
- package/src/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.tsx +9 -5
- package/src/components/editor/edit-panel/element-generation-editor/ElementNativeView.tsx +2 -2
- package/src/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.tsx +5 -3
- package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.tsx +2 -3
- package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.tsx +2 -3
- package/src/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.tsx +3 -3
- package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.tsx +5 -9
- package/src/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.tsx +23 -27
- package/src/components/editor/edit-panel/mapping-editor/MappingTestEditor.tsx +20 -24
- package/src/components/editor/edit-panel/mapping-editor/NewMappingElementModal.tsx +4 -5
- package/src/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.tsx +4 -4
- package/src/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.tsx +4 -4
- package/src/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.tsx +57 -75
- package/src/components/editor/edit-panel/service-editor/NewServiceModal.tsx +7 -5
- package/src/components/editor/edit-panel/service-editor/ServiceExecutionEditor.tsx +16 -16
- package/src/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.tsx +15 -14
- package/src/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.tsx +9 -9
- package/src/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.tsx +5 -5
- package/src/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.tsx +4 -2
- package/src/components/editor/edit-panel/testable/TestAssertionEditor.tsx +2 -3
- package/src/components/editor/edit-panel/uml-editor/AssociationEditor.tsx +12 -5
- package/src/components/editor/edit-panel/uml-editor/ClassEditor.tsx +17 -11
- package/src/components/editor/edit-panel/uml-editor/EnumerationEditor.tsx +14 -5
- package/src/components/editor/side-bar/CreateNewElementModal.tsx +4 -5
- package/src/components/editor/side-bar/Explorer.tsx +31 -32
- package/src/components/editor/side-bar/WorkflowManager.tsx +3 -3
- package/src/components/editor/side-bar/WorkspaceReview.tsx +5 -35
- package/src/components/editor/side-bar/WorkspaceUpdater.tsx +2 -31
- package/src/components/editor/side-bar/testable/GlobalTestRunner.tsx +3 -4
- package/src/components/project-viewer/ProjectViewer.tsx +65 -78
- package/src/components/shared/DiffView.tsx +3 -22
- package/src/components/workspace-review/WorkspaceReview.tsx +26 -16
- package/src/components/workspace-review/WorkspaceReviewPanel.tsx +5 -9
- package/src/components/workspace-review/WorkspaceReviewSideBar.tsx +1 -1
- package/src/components/workspace-setup/CreateProjectModal.tsx +14 -10
- package/src/components/workspace-setup/CreateWorkspaceModal.tsx +6 -5
- package/src/components/workspace-setup/WorkspaceSetup.tsx +6 -1
- package/src/index.ts +0 -1
- package/src/stores/EditorConfig.ts +0 -30
- package/src/stores/EditorGraphState.ts +9 -8
- package/src/stores/EditorSDLCState.ts +4 -2
- package/src/stores/EditorStore.ts +231 -245
- package/src/stores/EmbeddedQueryBuilderState.ts +14 -9
- package/src/stores/LegendStudioBaseStore.ts +33 -24
- package/src/stores/LegendStudioCommand.ts +83 -0
- package/src/stores/LegendStudioRouter.ts +50 -41
- package/src/stores/editor-state/GraphGenerationState.ts +3 -2
- package/src/stores/editor-state/ModelImporterState.ts +35 -23
- package/src/stores/editor-state/ProjectConfigurationEditorState.ts +2 -2
- package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +1 -3
- package/src/stores/editor-state/element-editor-state/service/ServiceRegistrationState.ts +1 -3
- package/src/stores/editor-state/element-editor-state/testable/TestAssertionState.ts +2 -1
- package/src/stores/project-viewer/ProjectViewerStore.ts +65 -59
- package/src/stores/shared/MockDataUtils.ts +4 -3
- package/src/stores/shared/testable/TestableUtils.ts +6 -5
- package/src/stores/sidebar-state/LocalChangesState.ts +29 -9
- package/src/stores/sidebar-state/ProjectOverviewState.ts +4 -2
- package/src/stores/sidebar-state/WorkspaceReviewState.ts +11 -10
- package/src/stores/sidebar-state/WorkspaceSyncState.ts +6 -8
- package/src/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.ts +20 -17
- package/src/stores/sidebar-state/WorkspaceUpdaterState.ts +8 -7
- package/src/stores/workspace-setup/WorkspaceSetupStore.ts +6 -6
- package/tsconfig.json +1 -2
- package/lib/components/shared/StudioLambdaEditor.d.ts +0 -41
- package/lib/components/shared/StudioLambdaEditor.d.ts.map +0 -1
- package/lib/components/shared/StudioLambdaEditor.js +0 -53
- package/lib/components/shared/StudioLambdaEditor.js.map +0 -1
- package/lib/components/shared/StudioTextInputEditor.d.ts +0 -28
- package/lib/components/shared/StudioTextInputEditor.d.ts.map +0 -1
- package/lib/components/shared/StudioTextInputEditor.js +0 -36
- package/lib/components/shared/StudioTextInputEditor.js.map +0 -1
- package/src/components/shared/StudioLambdaEditor.tsx +0 -146
- package/src/components/shared/StudioTextInputEditor.tsx +0 -83
|
@@ -15,16 +15,14 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { observer } from 'mobx-react-lite';
|
|
18
|
-
import { ACTIVITY_MODE } from '../../stores/EditorConfig.js';
|
|
18
|
+
import { ACTIVITY_MODE, AUX_PANEL_MODE } from '../../stores/EditorConfig.js';
|
|
19
19
|
import { LEGEND_STUDIO_TEST_ID } from '../LegendStudioTestID.js';
|
|
20
20
|
import {
|
|
21
|
-
CheckIcon,
|
|
22
21
|
clsx,
|
|
23
22
|
DropdownMenu,
|
|
24
23
|
RepoIcon,
|
|
25
24
|
MenuContent,
|
|
26
25
|
MenuContentItem,
|
|
27
|
-
MenuContentItemIcon,
|
|
28
26
|
MenuContentItemLabel,
|
|
29
27
|
GitPullRequestIcon,
|
|
30
28
|
GitMergeIcon,
|
|
@@ -48,16 +46,14 @@ import { useLegendStudioApplicationStore } from '../LegendStudioBaseStoreProvide
|
|
|
48
46
|
const SettingsMenu = observer(
|
|
49
47
|
forwardRef<HTMLDivElement, unknown>(function SettingsMenu(props, ref) {
|
|
50
48
|
const editorStore = useEditorStore();
|
|
51
|
-
const
|
|
52
|
-
editorStore.
|
|
49
|
+
const showDeveloperTool = (): void => {
|
|
50
|
+
editorStore.auxPanelDisplayState.open();
|
|
51
|
+
editorStore.setActiveAuxPanelMode(AUX_PANEL_MODE.DEV_TOOL);
|
|
53
52
|
};
|
|
54
53
|
|
|
55
54
|
return (
|
|
56
55
|
<MenuContent ref={ref} className="activity-bar__setting__menu">
|
|
57
|
-
<MenuContentItem onClick={
|
|
58
|
-
<MenuContentItemIcon>
|
|
59
|
-
{editorStore.isDevToolEnabled ? <CheckIcon /> : null}
|
|
60
|
-
</MenuContentItemIcon>
|
|
56
|
+
<MenuContentItem onClick={showDeveloperTool}>
|
|
61
57
|
<MenuContentItemLabel>Show Developer Tool</MenuContentItemLabel>
|
|
62
58
|
</MenuContentItem>
|
|
63
59
|
</MenuContent>
|
|
@@ -76,10 +72,6 @@ export const ActivityBarMenu: React.FC = () => {
|
|
|
76
72
|
const applicationStore = useLegendStudioApplicationStore();
|
|
77
73
|
const appDocUrl = applicationStore.documentationService.url;
|
|
78
74
|
|
|
79
|
-
// menu
|
|
80
|
-
const [openMenuDropdown, setOpenMenuDropdown] = useState(false);
|
|
81
|
-
const showMenuDropdown = (): void => setOpenMenuDropdown(true);
|
|
82
|
-
const hideMenuDropdown = (): void => setOpenMenuDropdown(false);
|
|
83
75
|
// about modal
|
|
84
76
|
const [openAppInfo, setOpenAppInfo] = useState(false);
|
|
85
77
|
const showAppInfo = (): void => setOpenAppInfo(true);
|
|
@@ -106,58 +98,34 @@ export const ActivityBarMenu: React.FC = () => {
|
|
|
106
98
|
|
|
107
99
|
return (
|
|
108
100
|
<>
|
|
109
|
-
<
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
>
|
|
138
|
-
See Documentation
|
|
139
|
-
</MenuContentItem>
|
|
140
|
-
<MenuContentDivider />
|
|
141
|
-
<MenuContentItem
|
|
142
|
-
className="app__header__menu__item"
|
|
143
|
-
onClick={goToWorkspaceSetup}
|
|
144
|
-
>
|
|
145
|
-
Back to workspace setup
|
|
146
|
-
</MenuContentItem>
|
|
147
|
-
</MenuContent>
|
|
148
|
-
}
|
|
149
|
-
>
|
|
150
|
-
<div className="activity-bar__menu">
|
|
151
|
-
<button
|
|
152
|
-
className="activity-bar__menu-item"
|
|
153
|
-
tabIndex={-1}
|
|
154
|
-
onClick={showMenuDropdown}
|
|
155
|
-
title="Menu"
|
|
156
|
-
>
|
|
157
|
-
<MenuIcon />
|
|
158
|
-
</button>
|
|
159
|
-
</div>
|
|
160
|
-
</DropdownMenu>
|
|
101
|
+
<div className="activity-bar__menu">
|
|
102
|
+
<DropdownMenu
|
|
103
|
+
className="activity-bar__menu-item"
|
|
104
|
+
menuProps={{
|
|
105
|
+
anchorOrigin: { vertical: 'top', horizontal: 'right' },
|
|
106
|
+
transformOrigin: { vertical: 'top', horizontal: 'left' },
|
|
107
|
+
elevation: 7,
|
|
108
|
+
}}
|
|
109
|
+
content={
|
|
110
|
+
<MenuContent>
|
|
111
|
+
<MenuContentItem onClick={showAppInfo}>About</MenuContentItem>
|
|
112
|
+
<MenuContentItem onClick={openHelp}>Help...</MenuContentItem>
|
|
113
|
+
<MenuContentItem
|
|
114
|
+
disabled={!appDocUrl}
|
|
115
|
+
onClick={goToDocumentation}
|
|
116
|
+
>
|
|
117
|
+
See Documentation
|
|
118
|
+
</MenuContentItem>
|
|
119
|
+
<MenuContentDivider />
|
|
120
|
+
<MenuContentItem onClick={goToWorkspaceSetup}>
|
|
121
|
+
Back to workspace setup
|
|
122
|
+
</MenuContentItem>
|
|
123
|
+
</MenuContent>
|
|
124
|
+
}
|
|
125
|
+
>
|
|
126
|
+
<MenuIcon />
|
|
127
|
+
</DropdownMenu>
|
|
128
|
+
</div>
|
|
161
129
|
<LegendStudioAppInfo open={openAppInfo} closeModal={hideAppInfo} />
|
|
162
130
|
</>
|
|
163
131
|
);
|
|
@@ -373,7 +341,7 @@ export const ActivityBar = observer(() => {
|
|
|
373
341
|
))}
|
|
374
342
|
</div>
|
|
375
343
|
<DropdownMenu
|
|
376
|
-
className="activity-
|
|
344
|
+
className="activity-bar__item"
|
|
377
345
|
content={<SettingsMenu />}
|
|
378
346
|
menuProps={{
|
|
379
347
|
anchorOrigin: { vertical: 'bottom', horizontal: 'right' },
|
|
@@ -381,13 +349,7 @@ export const ActivityBar = observer(() => {
|
|
|
381
349
|
elevation: 7,
|
|
382
350
|
}}
|
|
383
351
|
>
|
|
384
|
-
<
|
|
385
|
-
className="activity-bar__item"
|
|
386
|
-
tabIndex={-1}
|
|
387
|
-
title="Settings..."
|
|
388
|
-
>
|
|
389
|
-
<CogIcon />
|
|
390
|
-
</button>
|
|
352
|
+
<CogIcon />
|
|
391
353
|
</DropdownMenu>
|
|
392
354
|
</div>
|
|
393
355
|
);
|
|
@@ -18,8 +18,7 @@ import { Fragment, useEffect } from 'react';
|
|
|
18
18
|
import { observer } from 'mobx-react-lite';
|
|
19
19
|
import {
|
|
20
20
|
type ResizablePanelHandlerProps,
|
|
21
|
-
|
|
22
|
-
getControlledResizablePanelProps,
|
|
21
|
+
getCollapsiblePanelGroupProps,
|
|
23
22
|
ResizablePanel,
|
|
24
23
|
ResizablePanelGroup,
|
|
25
24
|
ResizablePanelSplitter,
|
|
@@ -29,22 +28,21 @@ import {
|
|
|
29
28
|
import { AuxiliaryPanel } from './aux-panel/AuxiliaryPanel.js';
|
|
30
29
|
import { SideBar } from './side-bar/SideBar.js';
|
|
31
30
|
import { EditPanel, EditPanelSplashScreen } from './edit-panel/EditPanel.js';
|
|
32
|
-
import { GlobalHotKeys } from 'react-hotkeys';
|
|
33
31
|
import { GrammarTextEditor } from './edit-panel/GrammarTextEditor.js';
|
|
34
32
|
import { StatusBar } from './StatusBar.js';
|
|
35
33
|
import { ActivityBar } from './ActivityBar.js';
|
|
36
|
-
import type {
|
|
37
|
-
EditorPathParams,
|
|
38
|
-
GroupEditorPathParams,
|
|
39
|
-
} from '../../stores/LegendStudioRouter.js';
|
|
34
|
+
import type { WorkspaceEditorPathParams } from '../../stores/LegendStudioRouter.js';
|
|
40
35
|
import { ProjectSearchCommand } from '../editor/command-center/ProjectSearchCommand.js';
|
|
41
|
-
import { isNonNullable } from '@finos/legend-shared';
|
|
36
|
+
import { guaranteeNonNullable, isNonNullable } from '@finos/legend-shared';
|
|
42
37
|
import { flowResult } from 'mobx';
|
|
43
38
|
import { useEditorStore, withEditorStore } from './EditorStoreProvider.js';
|
|
44
39
|
import {
|
|
45
40
|
useApplicationStore,
|
|
46
41
|
useApplicationNavigationContext,
|
|
47
42
|
useParams,
|
|
43
|
+
ActionAlertType,
|
|
44
|
+
ActionAlertActionType,
|
|
45
|
+
useCommands,
|
|
48
46
|
} from '@finos/legend-application';
|
|
49
47
|
import { WorkspaceType } from '@finos/legend-server-sdlc';
|
|
50
48
|
import { WorkspaceSyncConflictResolver } from './side-bar/WorkspaceSyncConflictResolver.js';
|
|
@@ -53,18 +51,23 @@ import { EmbeddedQueryBuilder } from '../EmbeddedQueryBuilder.js';
|
|
|
53
51
|
|
|
54
52
|
export const Editor = withEditorStore(
|
|
55
53
|
observer(() => {
|
|
56
|
-
const params = useParams<
|
|
54
|
+
const params = useParams<WorkspaceEditorPathParams>();
|
|
57
55
|
const projectId = params.projectId;
|
|
58
|
-
const workspaceType =
|
|
59
|
-
.groupWorkspaceId
|
|
56
|
+
const workspaceType = params.groupWorkspaceId
|
|
60
57
|
? WorkspaceType.GROUP
|
|
61
58
|
: WorkspaceType.USER;
|
|
62
|
-
const workspaceId =
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
59
|
+
const workspaceId = guaranteeNonNullable(
|
|
60
|
+
params.groupWorkspaceId ?? params.workspaceId,
|
|
61
|
+
`Workspace/group workspace ID is not provided`,
|
|
62
|
+
);
|
|
66
63
|
const editorStore = useEditorStore();
|
|
67
64
|
const applicationStore = useApplicationStore();
|
|
65
|
+
const editable =
|
|
66
|
+
editorStore.graphManagerState.graphBuildState.hasCompleted &&
|
|
67
|
+
editorStore.isInitialized;
|
|
68
|
+
const isResolvingConflicts =
|
|
69
|
+
editorStore.isInConflictResolutionMode &&
|
|
70
|
+
!editorStore.conflictResolutionState.hasResolvedAllConflicts;
|
|
68
71
|
|
|
69
72
|
// Extensions
|
|
70
73
|
const extraEditorExtensionComponents = editorStore.pluginManager
|
|
@@ -79,7 +82,7 @@ export const Editor = withEditorStore(
|
|
|
79
82
|
<Fragment key={config.key}>{config.renderer(editorStore)}</Fragment>
|
|
80
83
|
));
|
|
81
84
|
|
|
82
|
-
//
|
|
85
|
+
// layout
|
|
83
86
|
const { ref, width, height } = useResizeDetector<HTMLDivElement>();
|
|
84
87
|
// These create snapping effect on panel resizing
|
|
85
88
|
const resizeSideBar = (handleProps: ResizablePanelHandlerProps): void =>
|
|
@@ -87,12 +90,29 @@ export const Editor = withEditorStore(
|
|
|
87
90
|
(handleProps.domElement as HTMLDivElement).getBoundingClientRect()
|
|
88
91
|
.width,
|
|
89
92
|
);
|
|
90
|
-
|
|
91
93
|
const resizeAuxPanel = (handleProps: ResizablePanelHandlerProps): void =>
|
|
92
94
|
editorStore.auxPanelDisplayState.setSize(
|
|
93
95
|
(handleProps.domElement as HTMLDivElement).getBoundingClientRect()
|
|
94
96
|
.height,
|
|
95
97
|
);
|
|
98
|
+
const sideBarCollapsiblePanelGroupProps = getCollapsiblePanelGroupProps(
|
|
99
|
+
editorStore.sideBarDisplayState.size === 0,
|
|
100
|
+
{
|
|
101
|
+
onStopResize: resizeSideBar,
|
|
102
|
+
size: editorStore.sideBarDisplayState.size,
|
|
103
|
+
},
|
|
104
|
+
);
|
|
105
|
+
const auxCollapsiblePanelGroupProps = getCollapsiblePanelGroupProps(
|
|
106
|
+
editorStore.auxPanelDisplayState.size === 0,
|
|
107
|
+
{
|
|
108
|
+
onStopResize: resizeAuxPanel,
|
|
109
|
+
size: editorStore.auxPanelDisplayState.size,
|
|
110
|
+
},
|
|
111
|
+
);
|
|
112
|
+
const maximizedAuxCollapsiblePanelGroupProps =
|
|
113
|
+
getCollapsiblePanelGroupProps(
|
|
114
|
+
editorStore.auxPanelDisplayState.isMaximized,
|
|
115
|
+
);
|
|
96
116
|
|
|
97
117
|
useEffect(() => {
|
|
98
118
|
if (ref.current) {
|
|
@@ -100,15 +120,10 @@ export const Editor = withEditorStore(
|
|
|
100
120
|
}
|
|
101
121
|
}, [editorStore, ref, height, width]);
|
|
102
122
|
|
|
103
|
-
//
|
|
104
|
-
|
|
105
|
-
editorStore.
|
|
106
|
-
);
|
|
107
|
-
|
|
108
|
-
// Cleanup the editor
|
|
109
|
-
useEffect(() => (): void => editorStore.cleanUp(), [editorStore]);
|
|
110
|
-
|
|
111
|
-
// Initialize the app
|
|
123
|
+
// initialize
|
|
124
|
+
useEffect(() => {
|
|
125
|
+
editorStore.internalizeEntityPath(params);
|
|
126
|
+
}, [editorStore, params]);
|
|
112
127
|
useEffect(() => {
|
|
113
128
|
flowResult(
|
|
114
129
|
editorStore.initialize(projectId, workspaceId, workspaceType),
|
|
@@ -116,165 +131,113 @@ export const Editor = withEditorStore(
|
|
|
116
131
|
}, [editorStore, applicationStore, projectId, workspaceId, workspaceType]);
|
|
117
132
|
|
|
118
133
|
useEffect(() => {
|
|
119
|
-
applicationStore.navigator.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
134
|
+
applicationStore.navigator.blockNavigation(
|
|
135
|
+
[
|
|
136
|
+
(): boolean =>
|
|
137
|
+
editorStore.isInConflictResolutionMode ||
|
|
138
|
+
editorStore.localChangesState.hasUnpushedChanges,
|
|
139
|
+
],
|
|
140
|
+
(onProceed: () => void): void => {
|
|
141
|
+
applicationStore.setActionAlertInfo({
|
|
142
|
+
// TODO?: should we make this message generic like the `BeforeUnloadEvent` message?
|
|
143
|
+
message: editorStore.isInConflictResolutionMode
|
|
144
|
+
? 'You have not accepted the conflict resolution, the current resolution will be discarded. Leave anyway?'
|
|
145
|
+
: 'You have unpushed changes. Leave anyway?',
|
|
146
|
+
type: ActionAlertType.CAUTION,
|
|
147
|
+
actions: [
|
|
148
|
+
{
|
|
149
|
+
label: 'Leave this page',
|
|
150
|
+
type: ActionAlertActionType.PROCEED_WITH_CAUTION,
|
|
151
|
+
handler: (): void => onProceed(),
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
label: 'Stay on this page',
|
|
155
|
+
type: ActionAlertActionType.PROCEED,
|
|
156
|
+
default: true,
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
});
|
|
160
|
+
},
|
|
161
|
+
);
|
|
124
162
|
return (): void => {
|
|
125
|
-
applicationStore.navigator.
|
|
163
|
+
applicationStore.navigator.unblockNavigation();
|
|
126
164
|
};
|
|
127
165
|
}, [editorStore, applicationStore]);
|
|
128
166
|
|
|
129
|
-
// Route Navigation Blocking
|
|
130
|
-
// See https://medium.com/@michaelchan_13570/using-react-router-v4-prompt-with-custom-modal-component-ca839f5faf39
|
|
131
|
-
// const [blockedLocation, setBlockedLocation] = useState<
|
|
132
|
-
// Location | undefined
|
|
133
|
-
// >();
|
|
134
|
-
// const retryBlockedLocation = useCallback(
|
|
135
|
-
// (allowedNavigation: boolean): void => {
|
|
136
|
-
// if (allowedNavigation && blockedLocation) {
|
|
137
|
-
// applicationStore.navigator.goToLocation(blockedLocation.pathname);
|
|
138
|
-
// }
|
|
139
|
-
// },
|
|
140
|
-
// [blockedLocation, applicationStore],
|
|
141
|
-
// );
|
|
142
|
-
// // NOTE: we have to use `useStateWithCallback` here because we want to guarantee that we call `history.push(blockedLocation.pathname)`
|
|
143
|
-
// // after confirmedAllowNavigation is flipped, otherwise we would end up in the `false` case of handleBlockedNavigation again!
|
|
144
|
-
// // Another way to go about this is to use `setTimeout(() => history.push(...), 0)` but it can potentially be more error-prone
|
|
145
|
-
// // See https://www.robinwieruch.de/react-usestate-callback
|
|
146
|
-
// const [confirmedAllowNavigation, setConfirmedAllowNavigation] =
|
|
147
|
-
// useStateWithCallback<boolean>(false, retryBlockedLocation);
|
|
148
|
-
// const onNavigationChangeIndicator = Boolean(
|
|
149
|
-
// editorStore.changeDetectionState.workspaceLocalLatestRevisionState.changes
|
|
150
|
-
// .length,
|
|
151
|
-
// );
|
|
152
|
-
// const handleRouteNavigationBlocking = (nextLocation: Location): boolean => {
|
|
153
|
-
// // NOTE: as long as we're in conflict resolution, we want this block to be present
|
|
154
|
-
// const showAlert =
|
|
155
|
-
// editorStore.isInConflictResolutionMode ||
|
|
156
|
-
// editorStore.hasUnpushedChanges;
|
|
157
|
-
// if (
|
|
158
|
-
// !editorStore.ignoreNavigationBlocking &&
|
|
159
|
-
// !confirmedAllowNavigation &&
|
|
160
|
-
// showAlert
|
|
161
|
-
// ) {
|
|
162
|
-
// editorStore.setActionAlertInfo({
|
|
163
|
-
// message: editorStore.isInConflictResolutionMode
|
|
164
|
-
// ? 'You have not accepted the conflict resolution, the current resolution will be discarded. Leave anyway?'
|
|
165
|
-
// : 'You have unpushed changes. Leave anyway?',
|
|
166
|
-
// type: ActionAlertType.CAUTION,
|
|
167
|
-
// onEnter: (): void => editorStore.setBlockGlobalHotkeys(true),
|
|
168
|
-
// onClose: (): void => editorStore.setBlockGlobalHotkeys(false),
|
|
169
|
-
// actions: [
|
|
170
|
-
// {
|
|
171
|
-
// label: 'Leave this page',
|
|
172
|
-
// type: ActionAlertActionType.PROCEED_WITH_CAUTION,
|
|
173
|
-
// handler: (): void => setConfirmedAllowNavigation(true),
|
|
174
|
-
// },
|
|
175
|
-
// {
|
|
176
|
-
// label: 'Stay on this page',
|
|
177
|
-
// type: ActionAlertActionType.PROCEED,
|
|
178
|
-
// default: true,
|
|
179
|
-
// handler: (): void => setBlockedLocation(undefined),
|
|
180
|
-
// },
|
|
181
|
-
// ],
|
|
182
|
-
// });
|
|
183
|
-
// setBlockedLocation(nextLocation);
|
|
184
|
-
// return false;
|
|
185
|
-
// }
|
|
186
|
-
// // Reset the confirm flag and the blocked location here
|
|
187
|
-
// setBlockedLocation(undefined);
|
|
188
|
-
// setConfirmedAllowNavigation(false);
|
|
189
|
-
// return true;
|
|
190
|
-
// };
|
|
191
|
-
const editable =
|
|
192
|
-
editorStore.graphManagerState.graphBuildState.hasCompleted &&
|
|
193
|
-
editorStore.isInitialized;
|
|
194
|
-
const isResolvingConflicts =
|
|
195
|
-
editorStore.isInConflictResolutionMode &&
|
|
196
|
-
!editorStore.conflictResolutionState.hasResolvedAllConflicts;
|
|
197
|
-
|
|
198
167
|
useApplicationNavigationContext(
|
|
199
168
|
LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.EDITOR,
|
|
200
169
|
);
|
|
201
170
|
|
|
171
|
+
useCommands(editorStore);
|
|
172
|
+
|
|
173
|
+
// Cleanup the editor
|
|
174
|
+
useEffect(() => (): void => editorStore.cleanUp(), [editorStore]);
|
|
175
|
+
|
|
202
176
|
return (
|
|
203
177
|
<div className="app__page">
|
|
204
178
|
<div className="editor">
|
|
205
|
-
<
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
{
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
<
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
size: editorStore.auxPanelDisplayState.size,
|
|
257
|
-
},
|
|
258
|
-
)}
|
|
259
|
-
direction={-1}
|
|
260
|
-
>
|
|
261
|
-
<AuxiliaryPanel />
|
|
262
|
-
</ResizablePanel>
|
|
263
|
-
</ResizablePanelGroup>
|
|
264
|
-
</ResizablePanel>
|
|
265
|
-
</ResizablePanelGroup>
|
|
266
|
-
</div>
|
|
179
|
+
<div className="editor__body">
|
|
180
|
+
<ActivityBar />
|
|
181
|
+
<div ref={ref} className="editor__content-container">
|
|
182
|
+
<div className="editor__content">
|
|
183
|
+
<ResizablePanelGroup orientation="vertical">
|
|
184
|
+
<ResizablePanel
|
|
185
|
+
{...sideBarCollapsiblePanelGroupProps.collapsiblePanel}
|
|
186
|
+
direction={1}
|
|
187
|
+
>
|
|
188
|
+
<SideBar />
|
|
189
|
+
</ResizablePanel>
|
|
190
|
+
<ResizablePanelSplitter />
|
|
191
|
+
<ResizablePanel
|
|
192
|
+
{...sideBarCollapsiblePanelGroupProps.remainingPanel}
|
|
193
|
+
minSize={300}
|
|
194
|
+
>
|
|
195
|
+
<ResizablePanelGroup orientation="horizontal">
|
|
196
|
+
<ResizablePanel
|
|
197
|
+
{...maximizedAuxCollapsiblePanelGroupProps.collapsiblePanel}
|
|
198
|
+
{...(editorStore.auxPanelDisplayState.size === 0
|
|
199
|
+
? auxCollapsiblePanelGroupProps.remainingPanel
|
|
200
|
+
: {})}
|
|
201
|
+
>
|
|
202
|
+
{(isResolvingConflicts || editable) &&
|
|
203
|
+
editorStore.isInFormMode && <EditPanel />}
|
|
204
|
+
{editable && editorStore.isInGrammarTextMode && (
|
|
205
|
+
<GrammarTextEditor />
|
|
206
|
+
)}
|
|
207
|
+
{!editable && <EditPanelSplashScreen />}
|
|
208
|
+
</ResizablePanel>
|
|
209
|
+
<ResizablePanelSplitter>
|
|
210
|
+
<ResizablePanelSplitterLine
|
|
211
|
+
color={
|
|
212
|
+
editorStore.auxPanelDisplayState.isMaximized
|
|
213
|
+
? 'transparent'
|
|
214
|
+
: 'var(--color-dark-grey-250)'
|
|
215
|
+
}
|
|
216
|
+
/>
|
|
217
|
+
</ResizablePanelSplitter>
|
|
218
|
+
<ResizablePanel
|
|
219
|
+
{...auxCollapsiblePanelGroupProps.collapsiblePanel}
|
|
220
|
+
{...(editorStore.auxPanelDisplayState.isMaximized
|
|
221
|
+
? maximizedAuxCollapsiblePanelGroupProps.remainingPanel
|
|
222
|
+
: {})}
|
|
223
|
+
direction={-1}
|
|
224
|
+
>
|
|
225
|
+
<AuxiliaryPanel />
|
|
226
|
+
</ResizablePanel>
|
|
227
|
+
</ResizablePanelGroup>
|
|
228
|
+
</ResizablePanel>
|
|
229
|
+
</ResizablePanelGroup>
|
|
267
230
|
</div>
|
|
268
231
|
</div>
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
232
|
+
</div>
|
|
233
|
+
<StatusBar actionsDisabled={!editable} />
|
|
234
|
+
{editable && <ProjectSearchCommand />}
|
|
235
|
+
{editorStore.localChangesState.workspaceSyncState
|
|
236
|
+
.workspaceSyncConflictResolutionState.showModal && (
|
|
237
|
+
<WorkspaceSyncConflictResolver />
|
|
238
|
+
)}
|
|
239
|
+
<EmbeddedQueryBuilder />
|
|
240
|
+
{extraEditorExtensionComponents}
|
|
278
241
|
</div>
|
|
279
242
|
</div>
|
|
280
243
|
);
|
|
@@ -31,31 +31,30 @@ import { LEGEND_STUDIO_TEST_ID } from '../LegendStudioTestID.js';
|
|
|
31
31
|
import { ACTIVITY_MODE } from '../../stores/EditorConfig.js';
|
|
32
32
|
import {
|
|
33
33
|
generateSetupRoute,
|
|
34
|
-
type
|
|
35
|
-
type GroupEditorPathParams,
|
|
34
|
+
type WorkspaceEditorPathParams,
|
|
36
35
|
} from '../../stores/LegendStudioRouter.js';
|
|
37
36
|
import { flowResult } from 'mobx';
|
|
38
37
|
import { useEditorStore } from './EditorStoreProvider.js';
|
|
39
38
|
import { WorkspaceType } from '@finos/legend-server-sdlc';
|
|
40
39
|
import { useLegendStudioApplicationStore } from '../LegendStudioBaseStoreProvider.js';
|
|
41
40
|
import { useParams } from '@finos/legend-application';
|
|
41
|
+
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
42
42
|
|
|
43
43
|
export const StatusBar = observer((props: { actionsDisabled: boolean }) => {
|
|
44
44
|
const { actionsDisabled } = props;
|
|
45
|
-
const params = useParams<
|
|
45
|
+
const params = useParams<WorkspaceEditorPathParams>();
|
|
46
46
|
const editorStore = useEditorStore();
|
|
47
47
|
const applicationStore = useLegendStudioApplicationStore();
|
|
48
48
|
const isInConflictResolutionMode = editorStore.isInConflictResolutionMode;
|
|
49
49
|
// SDLC
|
|
50
50
|
const projectId = params.projectId;
|
|
51
|
-
const workspaceType =
|
|
52
|
-
.groupWorkspaceId
|
|
51
|
+
const workspaceType = params.groupWorkspaceId
|
|
53
52
|
? WorkspaceType.GROUP
|
|
54
53
|
: WorkspaceType.USER;
|
|
55
|
-
const workspaceId =
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
const workspaceId = guaranteeNonNullable(
|
|
55
|
+
params.groupWorkspaceId ?? params.workspaceId,
|
|
56
|
+
`Workspace/group workspace ID is not provided`,
|
|
57
|
+
);
|
|
59
58
|
const currentProject = editorStore.sdlcState.currentProject;
|
|
60
59
|
const goToWorkspaceUpdater = (): void =>
|
|
61
60
|
editorStore.setActiveActivity(
|
|
@@ -155,8 +154,10 @@ export const StatusBar = observer((props: { actionsDisabled: boolean }) => {
|
|
|
155
154
|
title="Go back to workspace setup using the specified project"
|
|
156
155
|
tabIndex={-1}
|
|
157
156
|
onClick={(): void =>
|
|
158
|
-
applicationStore.navigator.
|
|
159
|
-
|
|
157
|
+
applicationStore.navigator.visitAddress(
|
|
158
|
+
applicationStore.navigator.generateAddress(
|
|
159
|
+
generateSetupRoute(projectId),
|
|
160
|
+
),
|
|
160
161
|
)
|
|
161
162
|
}
|
|
162
163
|
>
|
|
@@ -168,8 +169,10 @@ export const StatusBar = observer((props: { actionsDisabled: boolean }) => {
|
|
|
168
169
|
title="Go back to workspace setup using the specified workspace"
|
|
169
170
|
tabIndex={-1}
|
|
170
171
|
onClick={(): void =>
|
|
171
|
-
applicationStore.navigator.
|
|
172
|
-
|
|
172
|
+
applicationStore.navigator.visitAddress(
|
|
173
|
+
applicationStore.navigator.generateAddress(
|
|
174
|
+
generateSetupRoute(projectId, workspaceId, workspaceType),
|
|
175
|
+
),
|
|
173
176
|
)
|
|
174
177
|
}
|
|
175
178
|
>
|
|
@@ -98,6 +98,8 @@ export const ProjectSearchCommand = observer(() => {
|
|
|
98
98
|
<div className="modal search-modal modal--dark">
|
|
99
99
|
<div className="project-search-command">
|
|
100
100
|
<DropdownMenu
|
|
101
|
+
className="project-search-command__type"
|
|
102
|
+
title="Choose Element Type..."
|
|
101
103
|
content={
|
|
102
104
|
<div className="project-search-command__options">
|
|
103
105
|
<div
|
|
@@ -118,22 +120,16 @@ export const ProjectSearchCommand = observer(() => {
|
|
|
118
120
|
</div>
|
|
119
121
|
}
|
|
120
122
|
>
|
|
121
|
-
<
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
)}
|
|
132
|
-
</div>
|
|
133
|
-
<div className="project-search-command__type__selector">
|
|
134
|
-
<CaretDownIcon />
|
|
135
|
-
</div>
|
|
136
|
-
</button>
|
|
123
|
+
<div className="project-search-command__type__label">
|
|
124
|
+
{elementType ? (
|
|
125
|
+
getElementTypeIcon(editorStore, elementType)
|
|
126
|
+
) : (
|
|
127
|
+
<MoreHorizontalIcon />
|
|
128
|
+
)}
|
|
129
|
+
</div>
|
|
130
|
+
<div className="project-search-command__type__selector">
|
|
131
|
+
<CaretDownIcon />
|
|
132
|
+
</div>
|
|
137
133
|
</DropdownMenu>
|
|
138
134
|
<CustomSelectorInput
|
|
139
135
|
ref={selectorRef}
|