@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
|
@@ -464,10 +464,6 @@ export const CreateNewElementModal = observer(() => {
|
|
|
464
464
|
newElementState.setName('');
|
|
465
465
|
elementNameInputRef.current?.focus();
|
|
466
466
|
};
|
|
467
|
-
const handleSubmit = (event: React.FormEvent<HTMLFormElement>): void => {
|
|
468
|
-
event.preventDefault();
|
|
469
|
-
save();
|
|
470
|
-
};
|
|
471
467
|
|
|
472
468
|
if (!newElementState.showModal) {
|
|
473
469
|
return null;
|
|
@@ -484,7 +480,10 @@ export const CreateNewElementModal = observer(() => {
|
|
|
484
480
|
>
|
|
485
481
|
<form
|
|
486
482
|
data-testid={LEGEND_STUDIO_TEST_ID.NEW_ELEMENT_MODAL}
|
|
487
|
-
onSubmit={
|
|
483
|
+
onSubmit={(event) => {
|
|
484
|
+
event.preventDefault();
|
|
485
|
+
save();
|
|
486
|
+
}}
|
|
488
487
|
className="modal modal--dark search-modal"
|
|
489
488
|
>
|
|
490
489
|
<div className="modal__title">
|
|
@@ -76,6 +76,7 @@ import {
|
|
|
76
76
|
isDependencyElement,
|
|
77
77
|
isElementReadOnly,
|
|
78
78
|
Class,
|
|
79
|
+
isMainGraphElement,
|
|
79
80
|
} from '@finos/legend-graph';
|
|
80
81
|
import { useApplicationStore } from '@finos/legend-application';
|
|
81
82
|
import { PACKAGEABLE_ELEMENT_TYPE } from '../../../stores/shared/ModelClassifierUtils.js';
|
|
@@ -98,8 +99,16 @@ const ElementRenamer = observer(() => {
|
|
|
98
99
|
element instanceof Package || path.includes(ELEMENT_PATH_DELIMITER);
|
|
99
100
|
const isValidElementPath =
|
|
100
101
|
(element instanceof Package && isValidPath(path)) || isValidFullPath(path);
|
|
101
|
-
|
|
102
|
-
|
|
102
|
+
let existingElement = editorStore.graphManagerState.graph.getNullableElement(
|
|
103
|
+
path,
|
|
104
|
+
true,
|
|
105
|
+
);
|
|
106
|
+
existingElement =
|
|
107
|
+
existingElement instanceof Package
|
|
108
|
+
? isMainGraphElement(existingElement)
|
|
109
|
+
? existingElement
|
|
110
|
+
: undefined
|
|
111
|
+
: existingElement;
|
|
103
112
|
const isElementUnique = !existingElement || existingElement === element;
|
|
104
113
|
const elementRenameValidationErrorMessage = !isElementPathNonEmpty
|
|
105
114
|
? `Element path cannot be empty`
|
|
@@ -713,36 +722,26 @@ const ProjectExplorerActionPanel = observer((props: { disabled: boolean }) => {
|
|
|
713
722
|
<FileImportIcon />
|
|
714
723
|
</button>
|
|
715
724
|
)}
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
isElementReadOnly(selectedTreeNode.packageableElement))
|
|
737
|
-
}
|
|
738
|
-
className="panel__header__action"
|
|
739
|
-
tabIndex={-1}
|
|
740
|
-
title="New Element... (Ctrl + Shift + N)"
|
|
741
|
-
>
|
|
742
|
-
<PlusIcon />
|
|
743
|
-
</button>
|
|
744
|
-
)}
|
|
745
|
-
</DropdownMenu>
|
|
725
|
+
{!editorStore.isInViewerMode && (
|
|
726
|
+
<DropdownMenu
|
|
727
|
+
className="panel__header__action"
|
|
728
|
+
title="New Element... (Ctrl + Shift + N)"
|
|
729
|
+
disabled={
|
|
730
|
+
disabled ||
|
|
731
|
+
isInGrammarMode ||
|
|
732
|
+
(selectedTreeNode &&
|
|
733
|
+
isElementReadOnly(selectedTreeNode.packageableElement))
|
|
734
|
+
}
|
|
735
|
+
content={<ExplorerDropdownMenu />}
|
|
736
|
+
menuProps={{
|
|
737
|
+
anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
|
|
738
|
+
transformOrigin: { vertical: 'top', horizontal: 'left' },
|
|
739
|
+
elevation: 7,
|
|
740
|
+
}}
|
|
741
|
+
>
|
|
742
|
+
<PlusIcon />
|
|
743
|
+
</DropdownMenu>
|
|
744
|
+
)}
|
|
746
745
|
<button
|
|
747
746
|
className="panel__header__action"
|
|
748
747
|
disabled={disabled}
|
|
@@ -37,12 +37,12 @@ import {
|
|
|
37
37
|
BanIcon,
|
|
38
38
|
PanelContent,
|
|
39
39
|
} from '@finos/legend-art';
|
|
40
|
-
import { formatDistanceToNow } from 'date-fns';
|
|
41
40
|
import { LEGEND_STUDIO_TEST_ID } from '../../LegendStudioTestID.js';
|
|
42
41
|
import { flowResult } from 'mobx';
|
|
43
42
|
import { WorkflowJobStatus, WorkflowStatus } from '@finos/legend-server-sdlc';
|
|
44
43
|
import {
|
|
45
44
|
EDITOR_LANGUAGE,
|
|
45
|
+
TextInputEditor,
|
|
46
46
|
useApplicationStore,
|
|
47
47
|
} from '@finos/legend-application';
|
|
48
48
|
import {
|
|
@@ -54,11 +54,11 @@ import {
|
|
|
54
54
|
WorkflowTreeNodeData,
|
|
55
55
|
} from '../../../stores/sidebar-state/WorkflowManagerState.js';
|
|
56
56
|
import {
|
|
57
|
+
formatDistanceToNow,
|
|
57
58
|
guaranteeNonNullable,
|
|
58
59
|
guaranteeType,
|
|
59
60
|
isNonNullable,
|
|
60
61
|
} from '@finos/legend-shared';
|
|
61
|
-
import { StudioTextInputEditor } from '../../shared/StudioTextInputEditor.js';
|
|
62
62
|
|
|
63
63
|
const getWorkflowStatusIcon = (
|
|
64
64
|
workflowStatus: WorkflowStatus,
|
|
@@ -231,7 +231,7 @@ const WorkflowJobLogsViewer = observer(
|
|
|
231
231
|
</div>
|
|
232
232
|
</div>
|
|
233
233
|
<div className="modal__body">
|
|
234
|
-
<
|
|
234
|
+
<TextInputEditor
|
|
235
235
|
inputValue={logs}
|
|
236
236
|
isReadOnly={true}
|
|
237
237
|
language={EDITOR_LANGUAGE.TEXT}
|
|
@@ -30,18 +30,14 @@ import {
|
|
|
30
30
|
PanelContent,
|
|
31
31
|
} from '@finos/legend-art';
|
|
32
32
|
import { ACTIVITY_MODE } from '../../../stores/EditorConfig.js';
|
|
33
|
-
import { formatDistanceToNow } from 'date-fns';
|
|
34
33
|
import { generateReviewRoute } from '../../../stores/LegendStudioRouter.js';
|
|
35
34
|
import { LEGEND_STUDIO_TEST_ID } from '../../LegendStudioTestID.js';
|
|
36
35
|
import { flowResult } from 'mobx';
|
|
37
36
|
import type { EntityDiff } from '@finos/legend-server-sdlc';
|
|
38
37
|
import { entityDiffSorter } from '../../../stores/EditorSDLCState.js';
|
|
39
38
|
import { useEditorStore } from '../EditorStoreProvider.js';
|
|
40
|
-
import {
|
|
41
|
-
ActionAlertType,
|
|
42
|
-
ActionAlertActionType,
|
|
43
|
-
} from '@finos/legend-application';
|
|
44
39
|
import { useLegendStudioApplicationStore } from '../../LegendStudioBaseStoreProvider.js';
|
|
40
|
+
import { formatDistanceToNow } from '@finos/legend-shared';
|
|
45
41
|
|
|
46
42
|
export const WorkspaceReviewDiffs = observer(() => {
|
|
47
43
|
const editorStore = useEditorStore();
|
|
@@ -134,38 +130,12 @@ export const WorkspaceReview = observer(() => {
|
|
|
134
130
|
};
|
|
135
131
|
const commitReview = (): void => {
|
|
136
132
|
if (workspaceReview && !isDispatchingAction) {
|
|
137
|
-
|
|
133
|
+
editorStore.localChangesState.alertUnsavedChanges((): void => {
|
|
138
134
|
workspaceReviewState.setReviewTitle('');
|
|
139
135
|
flowResult(
|
|
140
136
|
workspaceReviewState.commitWorkspaceReview(workspaceReview),
|
|
141
137
|
).catch(applicationStore.alertUnhandledError);
|
|
142
|
-
};
|
|
143
|
-
if (editorStore.localChangesState.hasUnpushedChanges) {
|
|
144
|
-
editorStore.setActionAlertInfo({
|
|
145
|
-
message: 'You have unpushed changes',
|
|
146
|
-
prompt:
|
|
147
|
-
'This action will discard these changes and refresh the application',
|
|
148
|
-
type: ActionAlertType.CAUTION,
|
|
149
|
-
onEnter: (): void => editorStore.setBlockGlobalHotkeys(true),
|
|
150
|
-
onClose: (): void => editorStore.setBlockGlobalHotkeys(false),
|
|
151
|
-
actions: [
|
|
152
|
-
{
|
|
153
|
-
label: 'Proceed to commit review',
|
|
154
|
-
type: ActionAlertActionType.PROCEED_WITH_CAUTION,
|
|
155
|
-
handler: (): void => {
|
|
156
|
-
commit();
|
|
157
|
-
},
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
label: 'Abort',
|
|
161
|
-
type: ActionAlertActionType.PROCEED,
|
|
162
|
-
default: true,
|
|
163
|
-
},
|
|
164
|
-
],
|
|
165
|
-
});
|
|
166
|
-
} else {
|
|
167
|
-
commit();
|
|
168
|
-
}
|
|
138
|
+
});
|
|
169
139
|
}
|
|
170
140
|
};
|
|
171
141
|
const createReview = (): void => {
|
|
@@ -239,8 +209,8 @@ export const WorkspaceReview = observer(() => {
|
|
|
239
209
|
<>
|
|
240
210
|
<form
|
|
241
211
|
className="workspace-review__title"
|
|
242
|
-
onSubmit={(
|
|
243
|
-
|
|
212
|
+
onSubmit={(event) => {
|
|
213
|
+
event.preventDefault();
|
|
244
214
|
}}
|
|
245
215
|
>
|
|
246
216
|
<div className="workspace-review__title__content">
|
|
@@ -41,10 +41,6 @@ import type {
|
|
|
41
41
|
} from '@finos/legend-server-sdlc';
|
|
42
42
|
import { entityDiffSorter } from '../../../stores/EditorSDLCState.js';
|
|
43
43
|
import { useEditorStore } from '../EditorStoreProvider.js';
|
|
44
|
-
import {
|
|
45
|
-
ActionAlertType,
|
|
46
|
-
ActionAlertActionType,
|
|
47
|
-
} from '@finos/legend-application';
|
|
48
44
|
import { useLegendStudioApplicationStore } from '../../LegendStudioBaseStoreProvider.js';
|
|
49
45
|
|
|
50
46
|
export const WorkspaceUpdater = observer(() => {
|
|
@@ -55,36 +51,11 @@ export const WorkspaceUpdater = observer(() => {
|
|
|
55
51
|
const workspaceUpdaterState = editorStore.workspaceUpdaterState;
|
|
56
52
|
// Actions
|
|
57
53
|
const updateWorkspace = (): void => {
|
|
58
|
-
|
|
59
|
-
editorStore.setActionAlertInfo({
|
|
60
|
-
message: 'You have unpushed changes',
|
|
61
|
-
prompt:
|
|
62
|
-
'This action will discard these changes and refresh the application',
|
|
63
|
-
type: ActionAlertType.CAUTION,
|
|
64
|
-
onEnter: (): void => editorStore.setBlockGlobalHotkeys(true),
|
|
65
|
-
onClose: (): void => editorStore.setBlockGlobalHotkeys(false),
|
|
66
|
-
actions: [
|
|
67
|
-
{
|
|
68
|
-
label: 'Proceed to update workspace',
|
|
69
|
-
type: ActionAlertActionType.PROCEED_WITH_CAUTION,
|
|
70
|
-
handler: (): void => {
|
|
71
|
-
flowResult(workspaceUpdaterState.updateWorkspace()).catch(
|
|
72
|
-
applicationStore.alertUnhandledError,
|
|
73
|
-
);
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
label: 'Abort',
|
|
78
|
-
type: ActionAlertActionType.PROCEED,
|
|
79
|
-
default: true,
|
|
80
|
-
},
|
|
81
|
-
],
|
|
82
|
-
});
|
|
83
|
-
} else {
|
|
54
|
+
editorStore.localChangesState.alertUnsavedChanges((): void => {
|
|
84
55
|
flowResult(workspaceUpdaterState.updateWorkspace()).catch(
|
|
85
56
|
applicationStore.alertUnhandledError,
|
|
86
57
|
);
|
|
87
|
-
}
|
|
58
|
+
});
|
|
88
59
|
};
|
|
89
60
|
const refreshWorkspaceUpdater = applicationStore.guardUnhandledError(() =>
|
|
90
61
|
flowResult(workspaceUpdaterState.refreshWorkspaceUpdater()),
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { EDITOR_LANGUAGE } from '@finos/legend-application';
|
|
17
|
+
import { EDITOR_LANGUAGE, TextInputEditor } from '@finos/legend-application';
|
|
18
18
|
import {
|
|
19
19
|
type TreeData,
|
|
20
20
|
type TreeNodeContainerProps,
|
|
@@ -62,7 +62,6 @@ import {
|
|
|
62
62
|
import { LEGEND_STUDIO_TEST_ID } from '../../../LegendStudioTestID.js';
|
|
63
63
|
import { TextDiffView } from '../../../shared/DiffView.js';
|
|
64
64
|
import { getElementTypeIcon } from '../../../shared/ElementIconUtils.js';
|
|
65
|
-
import { StudioTextInputEditor } from '../../../shared/StudioTextInputEditor.js';
|
|
66
65
|
import { useEditorStore } from '../../EditorStoreProvider.js';
|
|
67
66
|
|
|
68
67
|
export const getTestableResultIcon = (
|
|
@@ -169,7 +168,7 @@ const TestFailViewer = observer(
|
|
|
169
168
|
</div>
|
|
170
169
|
<div className="modal__body">
|
|
171
170
|
{failure instanceof TestError && (
|
|
172
|
-
<
|
|
171
|
+
<TextInputEditor
|
|
173
172
|
inputValue={failure.error}
|
|
174
173
|
isReadOnly={true}
|
|
175
174
|
language={EDITOR_LANGUAGE.TEXT}
|
|
@@ -185,7 +184,7 @@ const TestFailViewer = observer(
|
|
|
185
184
|
)}
|
|
186
185
|
{failure instanceof AssertFail &&
|
|
187
186
|
!(failure instanceof EqualToJsonAssertFail) && (
|
|
188
|
-
<
|
|
187
|
+
<TextInputEditor
|
|
189
188
|
inputValue={failure.message ?? ''}
|
|
190
189
|
isReadOnly={true}
|
|
191
190
|
language={EDITOR_LANGUAGE.TEXT}
|
|
@@ -19,18 +19,14 @@ import { observer } from 'mobx-react-lite';
|
|
|
19
19
|
import { EditPanel } from '../editor/edit-panel/EditPanel.js';
|
|
20
20
|
import { GrammarTextEditor } from '../editor/edit-panel/GrammarTextEditor.js';
|
|
21
21
|
import { LEGEND_STUDIO_TEST_ID } from '../LegendStudioTestID.js';
|
|
22
|
-
import {
|
|
23
|
-
ACTIVITY_MODE,
|
|
24
|
-
LEGEND_STUDIO_HOTKEY,
|
|
25
|
-
LEGEND_STUDIO_HOTKEY_MAP,
|
|
26
|
-
} from '../../stores/EditorConfig.js';
|
|
22
|
+
import { ACTIVITY_MODE } from '../../stores/EditorConfig.js';
|
|
27
23
|
import {
|
|
28
24
|
type ResizablePanelHandlerProps,
|
|
29
25
|
clsx,
|
|
30
26
|
ResizablePanel,
|
|
31
27
|
ResizablePanelGroup,
|
|
32
28
|
ResizablePanelSplitter,
|
|
33
|
-
|
|
29
|
+
getCollapsiblePanelGroupProps,
|
|
34
30
|
RepoIcon,
|
|
35
31
|
CodeBranchIcon,
|
|
36
32
|
HackerIcon,
|
|
@@ -40,7 +36,6 @@ import {
|
|
|
40
36
|
useResizeDetector,
|
|
41
37
|
} from '@finos/legend-art';
|
|
42
38
|
import { isNonNullable } from '@finos/legend-shared';
|
|
43
|
-
import { GlobalHotKeys } from 'react-hotkeys';
|
|
44
39
|
import {
|
|
45
40
|
useProjectViewerStore,
|
|
46
41
|
withProjectViewerStore,
|
|
@@ -55,7 +50,11 @@ import {
|
|
|
55
50
|
useEditorStore,
|
|
56
51
|
withEditorStore,
|
|
57
52
|
} from '../editor/EditorStoreProvider.js';
|
|
58
|
-
import {
|
|
53
|
+
import {
|
|
54
|
+
useApplicationStore,
|
|
55
|
+
useCommands,
|
|
56
|
+
useParams,
|
|
57
|
+
} from '@finos/legend-application';
|
|
59
58
|
import {
|
|
60
59
|
ActivityBarMenu,
|
|
61
60
|
type ActivityDisplay,
|
|
@@ -63,7 +62,10 @@ import {
|
|
|
63
62
|
import { Explorer } from '../editor/side-bar/Explorer.js';
|
|
64
63
|
import { ProjectOverview } from '../editor/side-bar/ProjectOverview.js';
|
|
65
64
|
import { WorkflowManager } from '../editor/side-bar/WorkflowManager.js';
|
|
66
|
-
import {
|
|
65
|
+
import {
|
|
66
|
+
useLegendStudioApplicationStore,
|
|
67
|
+
useLegendStudioBaseStore,
|
|
68
|
+
} from '../LegendStudioBaseStoreProvider.js';
|
|
67
69
|
import { EmbeddedQueryBuilder } from '../EmbeddedQueryBuilder.js';
|
|
68
70
|
|
|
69
71
|
const ProjectViewerStatusBar = observer(() => {
|
|
@@ -113,8 +115,10 @@ const ProjectViewerStatusBar = observer(() => {
|
|
|
113
115
|
title="Go back to workspace setup using the specified project"
|
|
114
116
|
tabIndex={-1}
|
|
115
117
|
onClick={(): void =>
|
|
116
|
-
applicationStore.navigator.
|
|
117
|
-
|
|
118
|
+
applicationStore.navigator.visitAddress(
|
|
119
|
+
applicationStore.navigator.generateAddress(
|
|
120
|
+
generateSetupRoute(projectId),
|
|
121
|
+
),
|
|
118
122
|
)
|
|
119
123
|
}
|
|
120
124
|
>
|
|
@@ -169,7 +173,7 @@ const ProjectViewerStatusBar = observer(() => {
|
|
|
169
173
|
|
|
170
174
|
const ProjectViewerSideBar = observer(() => {
|
|
171
175
|
const viewerStore = useProjectViewerStore();
|
|
172
|
-
const editorStore =
|
|
176
|
+
const editorStore = useEditorStore();
|
|
173
177
|
const renderSideBar = (): React.ReactNode => {
|
|
174
178
|
switch (editorStore.activeActivity) {
|
|
175
179
|
case ACTIVITY_MODE.EXPLORER:
|
|
@@ -195,7 +199,9 @@ const ProjectViewerSideBar = observer(() => {
|
|
|
195
199
|
|
|
196
200
|
const ProjectViewerActivityBar = observer(() => {
|
|
197
201
|
const viewerStore = useProjectViewerStore();
|
|
198
|
-
const
|
|
202
|
+
const baseStore = useLegendStudioBaseStore();
|
|
203
|
+
const editorStore = useEditorStore();
|
|
204
|
+
|
|
199
205
|
const changeActivity =
|
|
200
206
|
(activity: ACTIVITY_MODE): (() => void) =>
|
|
201
207
|
(): void =>
|
|
@@ -207,7 +213,7 @@ const ProjectViewerActivityBar = observer(() => {
|
|
|
207
213
|
title: 'Explorer (Ctrl + Shift + X)',
|
|
208
214
|
icon: <FileTrayIcon />,
|
|
209
215
|
},
|
|
210
|
-
|
|
216
|
+
baseStore.isSDLCAuthorized !== undefined && {
|
|
211
217
|
mode: ACTIVITY_MODE.PROJECT_OVERVIEW,
|
|
212
218
|
title: 'Project',
|
|
213
219
|
icon: (
|
|
@@ -256,14 +262,7 @@ export const ProjectViewer = withEditorStore(
|
|
|
256
262
|
const viewerStore = useProjectViewerStore();
|
|
257
263
|
const editorStore = useEditorStore();
|
|
258
264
|
const applicationStore = useApplicationStore();
|
|
259
|
-
|
|
260
|
-
editorStore.sdlcState.currentProject &&
|
|
261
|
-
editorStore.graphManagerState.graphBuildState.hasSucceeded;
|
|
262
|
-
const resizeSideBar = (handleProps: ResizablePanelHandlerProps): void =>
|
|
263
|
-
editorStore.sideBarDisplayState.setSize(
|
|
264
|
-
(handleProps.domElement as HTMLDivElement).getBoundingClientRect()
|
|
265
|
-
.width,
|
|
266
|
-
);
|
|
265
|
+
|
|
267
266
|
// Extensions
|
|
268
267
|
const extraEditorExtensionComponents = editorStore.pluginManager
|
|
269
268
|
.getApplicationPlugins()
|
|
@@ -276,40 +275,31 @@ export const ProjectViewer = withEditorStore(
|
|
|
276
275
|
.map((config) => (
|
|
277
276
|
<Fragment key={config.key}>{config.renderer(editorStore)}</Fragment>
|
|
278
277
|
));
|
|
279
|
-
// Resize
|
|
280
|
-
const { ref, width, height } = useResizeDetector<HTMLDivElement>();
|
|
281
|
-
// Hotkeys
|
|
282
|
-
const keyMap = {
|
|
283
|
-
[LEGEND_STUDIO_HOTKEY.OPEN_ELEMENT]: [
|
|
284
|
-
LEGEND_STUDIO_HOTKEY_MAP.OPEN_ELEMENT,
|
|
285
|
-
],
|
|
286
|
-
[LEGEND_STUDIO_HOTKEY.TOGGLE_TEXT_MODE]: [
|
|
287
|
-
LEGEND_STUDIO_HOTKEY_MAP.TOGGLE_TEXT_MODE,
|
|
288
|
-
],
|
|
289
|
-
};
|
|
290
|
-
const handlers = {
|
|
291
|
-
[LEGEND_STUDIO_HOTKEY.OPEN_ELEMENT]:
|
|
292
|
-
editorStore.createGlobalHotKeyAction(() =>
|
|
293
|
-
editorStore.searchElementCommandState.open(),
|
|
294
|
-
),
|
|
295
|
-
[LEGEND_STUDIO_HOTKEY.TOGGLE_TEXT_MODE]:
|
|
296
|
-
editorStore.createGlobalHotKeyAction(() => {
|
|
297
|
-
flowResult(editorStore.toggleTextMode()).catch(
|
|
298
|
-
applicationStore.alertUnhandledError,
|
|
299
|
-
);
|
|
300
|
-
}),
|
|
301
|
-
};
|
|
302
278
|
|
|
279
|
+
// layout
|
|
280
|
+
const resizeSideBar = (handleProps: ResizablePanelHandlerProps): void =>
|
|
281
|
+
editorStore.sideBarDisplayState.setSize(
|
|
282
|
+
(handleProps.domElement as HTMLDivElement).getBoundingClientRect()
|
|
283
|
+
.width,
|
|
284
|
+
);
|
|
285
|
+
const sideBarCollapsiblePanelGroupProps = getCollapsiblePanelGroupProps(
|
|
286
|
+
editorStore.sideBarDisplayState.size === 0,
|
|
287
|
+
{
|
|
288
|
+
onStopResize: resizeSideBar,
|
|
289
|
+
size: editorStore.sideBarDisplayState.size,
|
|
290
|
+
},
|
|
291
|
+
);
|
|
292
|
+
const { ref, width, height } = useResizeDetector<HTMLDivElement>();
|
|
303
293
|
useEffect(() => {
|
|
304
294
|
if (ref.current) {
|
|
305
295
|
editorStore.auxPanelDisplayState.setMaxSize(ref.current.offsetHeight);
|
|
306
296
|
}
|
|
307
297
|
}, [ref, editorStore, width, height]);
|
|
308
298
|
|
|
299
|
+
// initialize
|
|
309
300
|
useEffect(() => {
|
|
310
301
|
viewerStore.internalizeEntityPath(params);
|
|
311
302
|
}, [viewerStore, params]);
|
|
312
|
-
|
|
313
303
|
// NOTE: since we internalize the entity path in the route, we should not re-initialize the graph
|
|
314
304
|
// on the second call when we remove entity path from the route
|
|
315
305
|
useEffect(() => {
|
|
@@ -318,43 +308,40 @@ export const ProjectViewer = withEditorStore(
|
|
|
318
308
|
);
|
|
319
309
|
}, [applicationStore, viewerStore, params]);
|
|
320
310
|
|
|
311
|
+
useCommands(editorStore);
|
|
312
|
+
|
|
321
313
|
return (
|
|
322
314
|
<div className="app__page">
|
|
323
315
|
<div className="editor viewer">
|
|
324
|
-
<
|
|
325
|
-
<
|
|
326
|
-
|
|
327
|
-
<div
|
|
328
|
-
<
|
|
329
|
-
<
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
{editorStore.isInFormMode && <EditPanel />}
|
|
345
|
-
{editorStore.isInGrammarTextMode && (
|
|
346
|
-
<GrammarTextEditor />
|
|
347
|
-
)}
|
|
348
|
-
</ResizablePanel>
|
|
349
|
-
</ResizablePanelGroup>
|
|
350
|
-
</div>
|
|
316
|
+
<div className="editor__body">
|
|
317
|
+
<ProjectViewerActivityBar />
|
|
318
|
+
<div ref={ref} className="editor__content-container">
|
|
319
|
+
<div className="editor__content">
|
|
320
|
+
<ResizablePanelGroup orientation="vertical">
|
|
321
|
+
<ResizablePanel
|
|
322
|
+
{...sideBarCollapsiblePanelGroupProps.collapsiblePanel}
|
|
323
|
+
direction={1}
|
|
324
|
+
>
|
|
325
|
+
<ProjectViewerSideBar />
|
|
326
|
+
</ResizablePanel>
|
|
327
|
+
<ResizablePanelSplitter />
|
|
328
|
+
<ResizablePanel
|
|
329
|
+
{...sideBarCollapsiblePanelGroupProps.remainingPanel}
|
|
330
|
+
minSize={300}
|
|
331
|
+
>
|
|
332
|
+
{editorStore.isInFormMode && <EditPanel />}
|
|
333
|
+
{editorStore.isInGrammarTextMode && <GrammarTextEditor />}
|
|
334
|
+
</ResizablePanel>
|
|
335
|
+
</ResizablePanelGroup>
|
|
351
336
|
</div>
|
|
352
337
|
</div>
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
<
|
|
356
|
-
|
|
357
|
-
|
|
338
|
+
</div>
|
|
339
|
+
{editorStore.graphManagerState.graphBuildState.hasSucceeded && (
|
|
340
|
+
<ProjectSearchCommand />
|
|
341
|
+
)}
|
|
342
|
+
<ProjectViewerStatusBar />
|
|
343
|
+
<EmbeddedQueryBuilder />
|
|
344
|
+
{extraEditorExtensionComponents}
|
|
358
345
|
</div>
|
|
359
346
|
</div>
|
|
360
347
|
);
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
|
|
17
17
|
import { useEffect, useState, useRef } from 'react';
|
|
18
18
|
import { observer } from 'mobx-react-lite';
|
|
19
|
-
import { editor as monacoEditorAPI
|
|
19
|
+
import { editor as monacoEditorAPI } from 'monaco-editor';
|
|
20
20
|
import {
|
|
21
21
|
EDITOR_THEME,
|
|
22
22
|
EDITOR_LANGUAGE,
|
|
23
23
|
TAB_SIZE,
|
|
24
24
|
useApplicationStore,
|
|
25
|
+
createPassThroughOnKeyHandler,
|
|
25
26
|
} from '@finos/legend-application';
|
|
26
27
|
import {
|
|
27
28
|
disposeDiffEditor,
|
|
28
|
-
disableEditorHotKeys,
|
|
29
29
|
baseTextEditorSettings,
|
|
30
30
|
useResizeDetector,
|
|
31
31
|
} from '@finos/legend-art';
|
|
@@ -35,7 +35,6 @@ import {
|
|
|
35
35
|
tryToFormatJSONString,
|
|
36
36
|
tryToFormatLosslessJSONString,
|
|
37
37
|
} from '@finos/legend-shared';
|
|
38
|
-
import { flowResult } from 'mobx';
|
|
39
38
|
import { useEditorStore } from '../editor/EditorStoreProvider.js';
|
|
40
39
|
|
|
41
40
|
export const TextDiffView = observer(
|
|
@@ -69,25 +68,7 @@ export const TextDiffView = observer(
|
|
|
69
68
|
theme: EDITOR_THEME.LEGEND,
|
|
70
69
|
readOnly: true,
|
|
71
70
|
});
|
|
72
|
-
_editor.getOriginalEditor().onKeyDown((
|
|
73
|
-
if (event.keyCode === KeyCode.F8) {
|
|
74
|
-
event.preventDefault();
|
|
75
|
-
event.stopPropagation();
|
|
76
|
-
flowResult(editorStore.toggleTextMode()).catch(
|
|
77
|
-
applicationStore.alertUnhandledError,
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
_editor.getModifiedEditor().onKeyDown((event) => {
|
|
82
|
-
if (event.keyCode === KeyCode.F8) {
|
|
83
|
-
event.preventDefault();
|
|
84
|
-
event.stopPropagation();
|
|
85
|
-
flowResult(editorStore.toggleTextMode()).catch(
|
|
86
|
-
applicationStore.alertUnhandledError,
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
disableEditorHotKeys(_editor);
|
|
71
|
+
_editor.getOriginalEditor().onKeyDown(createPassThroughOnKeyHandler());
|
|
91
72
|
setEditor(_editor);
|
|
92
73
|
}
|
|
93
74
|
}, [applicationStore, editorStore, editor]);
|
|
@@ -25,7 +25,7 @@ import { WorkspaceReviewPanel } from './WorkspaceReviewPanel.js';
|
|
|
25
25
|
import { ACTIVITY_MODE } from '../../stores/EditorConfig.js';
|
|
26
26
|
import {
|
|
27
27
|
type ResizablePanelHandlerProps,
|
|
28
|
-
|
|
28
|
+
getCollapsiblePanelGroupProps,
|
|
29
29
|
clsx,
|
|
30
30
|
PanelLoadingIndicator,
|
|
31
31
|
ResizablePanel,
|
|
@@ -84,8 +84,10 @@ const WorkspaceReviewStatusBar = observer(() => {
|
|
|
84
84
|
title="Go back to workspace setup using the specified project"
|
|
85
85
|
tabIndex={-1}
|
|
86
86
|
onClick={(): void =>
|
|
87
|
-
applicationStore.navigator.
|
|
88
|
-
|
|
87
|
+
applicationStore.navigator.visitAddress(
|
|
88
|
+
applicationStore.navigator.generateAddress(
|
|
89
|
+
generateSetupRoute(reviewStore.projectId),
|
|
90
|
+
),
|
|
89
91
|
)
|
|
90
92
|
}
|
|
91
93
|
>
|
|
@@ -97,11 +99,13 @@ const WorkspaceReviewStatusBar = observer(() => {
|
|
|
97
99
|
title="Go back to workspace setup using the specified workspace"
|
|
98
100
|
tabIndex={-1}
|
|
99
101
|
onClick={(): void =>
|
|
100
|
-
applicationStore.navigator.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
applicationStore.navigator.visitAddress(
|
|
103
|
+
applicationStore.navigator.generateAddress(
|
|
104
|
+
generateSetupRoute(
|
|
105
|
+
reviewStore.projectId,
|
|
106
|
+
review.workspaceId,
|
|
107
|
+
review.workspaceType,
|
|
108
|
+
),
|
|
105
109
|
),
|
|
106
110
|
)
|
|
107
111
|
}
|
|
@@ -148,10 +152,19 @@ const WorkspaceReviewExplorer = observer(() => {
|
|
|
148
152
|
const reviewStore = useWorkspaceReviewStore();
|
|
149
153
|
const editorStore = useEditorStore();
|
|
150
154
|
const applicationStore = useApplicationStore();
|
|
155
|
+
|
|
156
|
+
// layout
|
|
151
157
|
const resizeSideBar = (handleProps: ResizablePanelHandlerProps): void =>
|
|
152
158
|
editorStore.sideBarDisplayState.setSize(
|
|
153
159
|
(handleProps.domElement as HTMLDivElement).getBoundingClientRect().width,
|
|
154
160
|
);
|
|
161
|
+
const sideBarCollapsiblePanelGroupProps = getCollapsiblePanelGroupProps(
|
|
162
|
+
editorStore.sideBarDisplayState.size === 0,
|
|
163
|
+
{
|
|
164
|
+
onStopResize: resizeSideBar,
|
|
165
|
+
size: editorStore.sideBarDisplayState.size,
|
|
166
|
+
},
|
|
167
|
+
);
|
|
155
168
|
|
|
156
169
|
useEffect(() => {
|
|
157
170
|
flowResult(reviewStore.fetchReviewComparison()).catch(
|
|
@@ -162,19 +175,16 @@ const WorkspaceReviewExplorer = observer(() => {
|
|
|
162
175
|
return (
|
|
163
176
|
<ResizablePanelGroup orientation="vertical">
|
|
164
177
|
<ResizablePanel
|
|
165
|
-
{...
|
|
166
|
-
editorStore.sideBarDisplayState.size === 0,
|
|
167
|
-
{
|
|
168
|
-
onStopResize: resizeSideBar,
|
|
169
|
-
size: editorStore.sideBarDisplayState.size,
|
|
170
|
-
},
|
|
171
|
-
)}
|
|
178
|
+
{...sideBarCollapsiblePanelGroupProps.collapsiblePanel}
|
|
172
179
|
direction={1}
|
|
173
180
|
>
|
|
174
181
|
<WorkspaceReviewSideBar />
|
|
175
182
|
</ResizablePanel>
|
|
176
183
|
<ResizablePanelSplitter />
|
|
177
|
-
<ResizablePanel
|
|
184
|
+
<ResizablePanel
|
|
185
|
+
{...sideBarCollapsiblePanelGroupProps.remainingPanel}
|
|
186
|
+
minSize={300}
|
|
187
|
+
>
|
|
178
188
|
<WorkspaceReviewPanel />
|
|
179
189
|
</ResizablePanel>
|
|
180
190
|
</ResizablePanelGroup>
|