@finos/legend-application-studio 20.1.2 → 20.2.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/components/Core_LegendStudioApplicationPlugin.js +13 -13
- package/lib/components/DSL_ExternalFormat_LegendStudioApplicationPlugin.js +4 -4
- package/lib/components/DSL_ExternalFormat_LegendStudioDocumentation.d.ts +2 -2
- package/lib/components/DSL_ExternalFormat_LegendStudioDocumentation.js +2 -2
- package/lib/components/LegendStudioApplication.d.ts.map +1 -1
- package/lib/components/LegendStudioApplication.js +19 -19
- package/lib/components/LegendStudioApplication.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 +52 -73
- package/lib/components/editor/edit-panel/EditPanel.js.map +1 -1
- package/lib/components/editor/edit-panel/FileGenerationViewer.js +5 -5
- package/lib/components/editor/edit-panel/FileGenerationViewer.js.map +1 -1
- package/lib/components/editor/edit-panel/FunctionEditor.js +3 -3
- package/lib/components/editor/edit-panel/FunctionEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/GenerationSpecificationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/GenerationSpecificationEditor.js +3 -3
- package/lib/components/editor/edit-panel/GenerationSpecificationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/GrammarTextEditor.js +14 -14
- package/lib/components/editor/edit-panel/GrammarTextEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/ModelImporter.js +1 -1
- package/lib/components/editor/edit-panel/ModelImporter.js.map +1 -1
- package/lib/components/editor/edit-panel/RuntimeEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/RuntimeEditor.js +4 -4
- package/lib/components/editor/edit-panel/RuntimeEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/UnsupportedElementEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/UnsupportedElementEditor.js +1 -1
- package/lib/components/editor/edit-panel/UnsupportedElementEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.js +1 -1
- package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.js.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 -3
- package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.js +1 -1
- package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.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 +3 -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_BindingElementEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.js +1 -1
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js +3 -3
- package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.js +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js +2 -2
- package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js +2 -2
- package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/MappingEditor.js +2 -2
- package/lib/components/editor/edit-panel/mapping-editor/MappingEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/MappingExplorer.js +5 -5
- package/lib/components/editor/edit-panel/mapping-editor/MappingExplorer.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.js +3 -3
- package/lib/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.js +3 -3
- package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.js +3 -3
- package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js +11 -9
- package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js +2 -2
- package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js +1 -1
- package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceEditor.js +2 -2
- package/lib/components/editor/edit-panel/service-editor/ServiceEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js +5 -4
- package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.js +1 -1
- package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.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 +10 -3
- package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.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 +2 -2
- 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 +8 -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 +2 -2
- package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.js +1 -1
- package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js +1 -1
- package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js +1 -1
- package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/UMLEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/UMLEditor.js +1 -1
- package/lib/components/editor/edit-panel/uml-editor/UMLEditor.js.map +1 -1
- package/lib/components/editor/side-bar/Explorer.js +5 -5
- package/lib/components/editor/side-bar/Explorer.js.map +1 -1
- package/lib/components/editor/side-bar/LocalChanges.js +6 -6
- package/lib/components/editor/side-bar/LocalChanges.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceReview.js +4 -4
- package/lib/components/editor/side-bar/WorkspaceReview.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js +1 -1
- package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.js +6 -6
- package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceUpdater.js +6 -6
- package/lib/components/editor/side-bar/WorkspaceUpdater.js.map +1 -1
- package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +1 -1
- package/lib/components/workspace-review/WorkspaceReviewPanel.js +16 -16
- package/lib/components/workspace-review/WorkspaceReviewPanel.js.map +1 -1
- package/lib/components/workspace-review/WorkspaceReviewSideBar.js +4 -4
- package/lib/components/workspace-review/WorkspaceReviewSideBar.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/EditorGraphState.d.ts +1 -1
- package/lib/stores/EditorGraphState.d.ts.map +1 -1
- package/lib/stores/EditorGraphState.js +24 -44
- package/lib/stores/EditorGraphState.js.map +1 -1
- package/lib/stores/EditorSDLCState.js +3 -3
- package/lib/stores/EditorSDLCState.js.map +1 -1
- package/lib/stores/EditorStore.d.ts +19 -42
- package/lib/stores/EditorStore.d.ts.map +1 -1
- package/lib/stores/EditorStore.js +42 -223
- package/lib/stores/EditorStore.js.map +1 -1
- package/lib/stores/EditorTabManagerState.d.ts +56 -0
- package/lib/stores/EditorTabManagerState.d.ts.map +1 -0
- package/lib/stores/EditorTabManagerState.js +144 -0
- package/lib/stores/EditorTabManagerState.js.map +1 -0
- package/lib/stores/ExplorerTreeState.d.ts.map +1 -1
- package/lib/stores/ExplorerTreeState.js +1 -1
- package/lib/stores/ExplorerTreeState.js.map +1 -1
- package/lib/stores/LegendStudioDocumentation.d.ts +14 -14
- package/lib/stores/LegendStudioDocumentation.js +14 -14
- package/lib/stores/editor-state/EditorState.d.ts +7 -6
- package/lib/stores/editor-state/EditorState.d.ts.map +1 -1
- package/lib/stores/editor-state/EditorState.js +3 -6
- package/lib/stores/editor-state/EditorState.js.map +1 -1
- package/lib/stores/editor-state/FileGenerationViewerState.d.ts +5 -4
- package/lib/stores/editor-state/FileGenerationViewerState.d.ts.map +1 -1
- package/lib/stores/editor-state/FileGenerationViewerState.js +11 -8
- package/lib/stores/editor-state/FileGenerationViewerState.js.map +1 -1
- package/lib/stores/editor-state/GraphGenerationState.d.ts.map +1 -1
- package/lib/stores/editor-state/GraphGenerationState.js +10 -16
- package/lib/stores/editor-state/GraphGenerationState.js.map +1 -1
- package/lib/stores/editor-state/ModelImporterState.d.ts +2 -1
- package/lib/stores/editor-state/ModelImporterState.d.ts.map +1 -1
- package/lib/stores/editor-state/ModelImporterState.js +4 -1
- package/lib/stores/editor-state/ModelImporterState.js.map +1 -1
- package/lib/stores/editor-state/ProjectConfigurationEditorState.d.ts +2 -1
- package/lib/stores/editor-state/ProjectConfigurationEditorState.d.ts.map +1 -1
- package/lib/stores/editor-state/ProjectConfigurationEditorState.js +5 -2
- package/lib/stores/editor-state/ProjectConfigurationEditorState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/ElementEditorState.d.ts +13 -1
- package/lib/stores/editor-state/element-editor-state/ElementEditorState.d.ts.map +1 -1
- package/lib/stores/editor-state/element-editor-state/ElementEditorState.js +9 -2
- package/lib/stores/editor-state/element-editor-state/ElementEditorState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.js +1 -1
- package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.d.ts +1 -3
- package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.d.ts.map +1 -1
- package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js +2 -3
- package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.d.ts +7 -6
- package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.d.ts.map +1 -1
- package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.js +7 -3
- package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts +3 -2
- 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 +6 -2
- package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.d.ts +19 -0
- package/lib/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.d.ts.map +1 -0
- package/lib/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.js +19 -0
- package/lib/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.js.map +1 -0
- package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts +3 -2
- package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts.map +1 -1
- package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js +6 -2
- package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js.map +1 -1
- package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts +7 -0
- package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts.map +1 -1
- package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js +21 -2
- package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js.map +1 -1
- package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.d.ts +5 -3
- package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.d.ts.map +1 -1
- package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js +8 -4
- package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js.map +1 -1
- package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts +1 -1
- package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.js +1 -1
- package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts +7 -5
- package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts.map +1 -1
- package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.js +19 -12
- package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.js.map +1 -1
- package/lib/stores/project-viewer/ProjectViewerStore.js +1 -1
- package/lib/stores/project-viewer/ProjectViewerStore.js.map +1 -1
- package/lib/stores/shared/DnDUtils.d.ts +1 -1
- package/lib/stores/shared/DnDUtils.d.ts.map +1 -1
- package/lib/stores/shared/DnDUtils.js.map +1 -1
- package/lib/stores/shared/modifier/DSL_Service_GraphModifierHelper.d.ts +1 -0
- package/lib/stores/shared/modifier/DSL_Service_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/shared/modifier/DSL_Service_GraphModifierHelper.js +3 -0
- package/lib/stores/shared/modifier/DSL_Service_GraphModifierHelper.js.map +1 -1
- package/lib/stores/sidebar-state/LocalChangesState.js +4 -4
- package/lib/stores/sidebar-state/LocalChangesState.js.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceReviewState.js +1 -1
- package/lib/stores/sidebar-state/WorkspaceReviewState.js.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts +6 -6
- package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js +7 -7
- package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js.map +1 -1
- package/lib/stores/sidebar-state/WorkspaceUpdaterState.js +2 -2
- package/lib/stores/sidebar-state/WorkspaceUpdaterState.js.map +1 -1
- package/package.json +10 -10
- package/src/components/Core_LegendStudioApplicationPlugin.tsx +13 -13
- package/src/components/DSL_ExternalFormat_LegendStudioApplicationPlugin.tsx +4 -4
- package/src/components/DSL_ExternalFormat_LegendStudioDocumentation.ts +2 -2
- package/src/components/LegendStudioApplication.tsx +0 -3
- package/src/components/editor/command-center/ProjectSearchCommand.tsx +4 -1
- package/src/components/editor/edit-panel/EditPanel.tsx +74 -181
- package/src/components/editor/edit-panel/FileGenerationViewer.tsx +5 -5
- package/src/components/editor/edit-panel/FunctionEditor.tsx +3 -3
- package/src/components/editor/edit-panel/GenerationSpecificationEditor.tsx +7 -5
- package/src/components/editor/edit-panel/GrammarTextEditor.tsx +16 -20
- package/src/components/editor/edit-panel/ModelImporter.tsx +1 -1
- package/src/components/editor/edit-panel/RuntimeEditor.tsx +6 -9
- package/src/components/editor/edit-panel/UnsupportedElementEditor.tsx +4 -3
- package/src/components/editor/edit-panel/connection-editor/ConnectionEditor.tsx +1 -1
- package/src/components/editor/edit-panel/data-editor/DataElementEditor.tsx +3 -3
- package/src/components/editor/edit-panel/data-editor/EmbeddedDataEditor.tsx +4 -3
- package/src/components/editor/edit-panel/diff-editor/EntityDiffView.tsx +1 -1
- package/src/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.tsx +6 -5
- package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.tsx +2 -1
- package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.tsx +3 -3
- package/src/components/editor/edit-panel/mapping-editor/ClassMappingEditor.tsx +1 -1
- package/src/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.tsx +2 -2
- package/src/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.tsx +1 -1
- package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.tsx +2 -2
- package/src/components/editor/edit-panel/mapping-editor/MappingEditor.tsx +3 -3
- package/src/components/editor/edit-panel/mapping-editor/MappingExplorer.tsx +5 -5
- package/src/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.tsx +3 -3
- package/src/components/editor/edit-panel/mapping-editor/NewMappingElementModal.tsx +1 -1
- package/src/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.tsx +3 -3
- package/src/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.tsx +3 -3
- package/src/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.tsx +14 -9
- package/src/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.tsx +2 -2
- package/src/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.tsx +1 -1
- package/src/components/editor/edit-panel/service-editor/ServiceEditor.tsx +4 -2
- package/src/components/editor/edit-panel/service-editor/ServiceExecutionEditor.tsx +14 -4
- package/src/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.tsx +2 -1
- package/src/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.tsx +47 -8
- package/src/components/editor/edit-panel/uml-editor/AssociationEditor.tsx +3 -2
- package/src/components/editor/edit-panel/uml-editor/ClassEditor.tsx +12 -8
- package/src/components/editor/edit-panel/uml-editor/EnumerationEditor.tsx +3 -2
- package/src/components/editor/edit-panel/uml-editor/ProfileEditor.tsx +2 -1
- package/src/components/editor/edit-panel/uml-editor/StereotypeSelector.tsx +1 -1
- package/src/components/editor/edit-panel/uml-editor/TaggedValueEditor.tsx +1 -1
- package/src/components/editor/edit-panel/uml-editor/UMLEditor.tsx +2 -1
- package/src/components/editor/side-bar/Explorer.tsx +5 -5
- package/src/components/editor/side-bar/LocalChanges.tsx +6 -6
- package/src/components/editor/side-bar/WorkspaceReview.tsx +4 -4
- package/src/components/editor/side-bar/WorkspaceSyncConflictResolver.tsx +6 -6
- package/src/components/editor/side-bar/WorkspaceUpdateConflictResolver.tsx +6 -6
- package/src/components/editor/side-bar/WorkspaceUpdater.tsx +6 -6
- package/src/components/workspace-review/WorkspaceReviewPanel.tsx +20 -24
- package/src/components/workspace-review/WorkspaceReviewSideBar.tsx +4 -4
- package/src/index.ts +1 -0
- package/src/stores/EditorGraphState.ts +39 -54
- package/src/stores/EditorSDLCState.ts +3 -3
- package/src/stores/EditorStore.ts +59 -303
- package/src/stores/EditorTabManagerState.ts +175 -0
- package/src/stores/ExplorerTreeState.ts +3 -1
- package/src/stores/LegendStudioDocumentation.ts +14 -14
- package/src/stores/editor-state/EditorState.ts +9 -8
- package/src/stores/editor-state/FileGenerationViewerState.ts +12 -8
- package/src/stores/editor-state/GraphGenerationState.ts +14 -26
- package/src/stores/editor-state/ModelImporterState.ts +5 -1
- package/src/stores/editor-state/ProjectConfigurationEditorState.ts +6 -2
- package/src/stores/editor-state/element-editor-state/ElementEditorState.ts +23 -2
- package/src/stores/editor-state/element-editor-state/ElementFileGenerationState.ts +1 -1
- package/src/stores/editor-state/element-editor-state/mapping/MappingEditorState.ts +7 -8
- package/src/stores/editor-state/element-editor-state/mapping/MappingElementState.ts +15 -6
- package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +7 -2
- package/src/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.ts +19 -0
- package/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts +7 -2
- package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.ts +32 -0
- package/src/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.ts +21 -4
- package/src/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.ts +1 -1
- package/src/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.ts +28 -12
- package/src/stores/project-viewer/ProjectViewerStore.ts +1 -1
- package/src/stores/shared/DnDUtils.ts +1 -1
- package/src/stores/shared/modifier/DSL_Service_GraphModifierHelper.ts +6 -0
- package/src/stores/sidebar-state/LocalChangesState.ts +4 -4
- package/src/stores/sidebar-state/WorkspaceReviewState.ts +1 -1
- package/src/stores/sidebar-state/WorkspaceSyncState.ts +6 -6
- package/src/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.ts +7 -7
- package/src/stores/sidebar-state/WorkspaceUpdaterState.ts +2 -2
- package/tsconfig.json +2 -0
|
@@ -35,7 +35,11 @@ import {
|
|
|
35
35
|
RefreshIcon,
|
|
36
36
|
TimesIcon,
|
|
37
37
|
} from '@finos/legend-art';
|
|
38
|
-
import {
|
|
38
|
+
import {
|
|
39
|
+
type ValueSpecification,
|
|
40
|
+
PrimitiveType,
|
|
41
|
+
PureMultiExecution,
|
|
42
|
+
} from '@finos/legend-graph';
|
|
39
43
|
import { BasicValueSpecificationEditor } from '@finos/legend-query-builder';
|
|
40
44
|
import {
|
|
41
45
|
filterByType,
|
|
@@ -47,9 +51,10 @@ import { observer } from 'mobx-react-lite';
|
|
|
47
51
|
import { forwardRef, useEffect, useState } from 'react';
|
|
48
52
|
import type { ServiceTestSuiteState } from '../../../../../stores/editor-state/element-editor-state/service/testable/ServiceTestableState.js';
|
|
49
53
|
import {
|
|
50
|
-
|
|
54
|
+
type KeyOption,
|
|
51
55
|
type ServiceTestSetupState,
|
|
52
56
|
type ServiceTestState,
|
|
57
|
+
ServiceValueSpecificationTestParameterState,
|
|
53
58
|
} from '../../../../../stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js';
|
|
54
59
|
import { TESTABLE_TEST_TAB } from '../../../../../stores/editor-state/element-editor-state/testable/TestableEditorState.js';
|
|
55
60
|
import type { TestAssertionEditorState } from '../../../../../stores/editor-state/element-editor-state/testable/TestAssertionState.js';
|
|
@@ -276,15 +281,25 @@ const ServiceTestSetupEditor = observer(
|
|
|
276
281
|
const format = test.serializationFormat;
|
|
277
282
|
const selectedSerializationFormat = setupState.getSelectedFormatOption();
|
|
278
283
|
const options = setupState.options;
|
|
284
|
+
const keyOptions = setupState.keyOptions;
|
|
285
|
+
const [selectedKeys, setSelectedKeys] = useState<KeyOption[]>(
|
|
286
|
+
setupState.getSelectedKeyOptions(),
|
|
287
|
+
);
|
|
279
288
|
const isReadOnly =
|
|
280
289
|
serviceTestState.suiteState.testableState.serviceEditorState.isReadOnly;
|
|
281
|
-
const
|
|
290
|
+
const onSerializationFormatChange = (
|
|
291
|
+
val: { label: string; value: string } | null,
|
|
292
|
+
): void => {
|
|
282
293
|
if (val === null) {
|
|
283
294
|
setupState.changeSerializationFormat(undefined);
|
|
284
295
|
} else if (val.value !== format) {
|
|
285
296
|
setupState.changeSerializationFormat(val.value);
|
|
286
297
|
}
|
|
287
298
|
};
|
|
299
|
+
const onKeyOptionChange = (val: KeyOption[]): void => {
|
|
300
|
+
setupState.addServiceTestAssertKeys(val.map((op) => op.value));
|
|
301
|
+
setSelectedKeys(val);
|
|
302
|
+
};
|
|
288
303
|
const addParameter = (): void => {
|
|
289
304
|
setupState.setShowNewParameterModal(true);
|
|
290
305
|
};
|
|
@@ -307,27 +322,27 @@ const ServiceTestSetupEditor = observer(
|
|
|
307
322
|
</div>
|
|
308
323
|
<div className="service-test-editor__content">
|
|
309
324
|
<ResizablePanelGroup orientation="horizontal">
|
|
310
|
-
<ResizablePanel size={
|
|
325
|
+
<ResizablePanel size={230} minSize={28}>
|
|
311
326
|
<div className="service-test-data-editor panel">
|
|
312
327
|
<div className="service-test-suite-editor__header">
|
|
313
328
|
<div className="service-test-suite-editor__header__title">
|
|
314
329
|
<div className="service-test-suite-editor__header__title__label">
|
|
315
|
-
|
|
330
|
+
configuration
|
|
316
331
|
</div>
|
|
317
332
|
</div>
|
|
318
333
|
</div>
|
|
319
|
-
<div className="service-test-
|
|
334
|
+
<div className="service-test-editor__setup__configuration">
|
|
320
335
|
<div className="panel__content__form__section">
|
|
321
336
|
<div className="panel__content__form__section__header__label">
|
|
322
337
|
Serialization Format
|
|
323
338
|
</div>
|
|
324
339
|
<div className="panel__content__form__section__header__prompt">
|
|
325
|
-
|
|
340
|
+
Format to serialize execution result
|
|
326
341
|
</div>
|
|
327
342
|
<CustomSelectorInput
|
|
328
343
|
className="panel__content__form__section__dropdown"
|
|
329
344
|
options={options}
|
|
330
|
-
onChange={
|
|
345
|
+
onChange={onSerializationFormatChange}
|
|
331
346
|
value={selectedSerializationFormat}
|
|
332
347
|
isClearable={true}
|
|
333
348
|
escapeClearsValue={true}
|
|
@@ -335,6 +350,30 @@ const ServiceTestSetupEditor = observer(
|
|
|
335
350
|
disable={isReadOnly}
|
|
336
351
|
/>
|
|
337
352
|
</div>
|
|
353
|
+
{setupState.testState.testable.execution instanceof
|
|
354
|
+
PureMultiExecution && (
|
|
355
|
+
<div className="panel__content__form__section">
|
|
356
|
+
<div className="panel__content__form__section__header__label">
|
|
357
|
+
Keys
|
|
358
|
+
</div>
|
|
359
|
+
<div className="panel__content__form__section__header__prompt">
|
|
360
|
+
Specify keys for each test to run assertions against
|
|
361
|
+
selected env keys
|
|
362
|
+
</div>
|
|
363
|
+
<CustomSelectorInput
|
|
364
|
+
className="panel__content__form__section__dropdown"
|
|
365
|
+
options={keyOptions}
|
|
366
|
+
onChange={onKeyOptionChange}
|
|
367
|
+
value={selectedKeys}
|
|
368
|
+
isClearable={true}
|
|
369
|
+
escapeClearsValue={true}
|
|
370
|
+
darkMode={true}
|
|
371
|
+
isMulti={true}
|
|
372
|
+
disable={isReadOnly}
|
|
373
|
+
placeholder={'Choose keys...'}
|
|
374
|
+
/>
|
|
375
|
+
</div>
|
|
376
|
+
)}
|
|
338
377
|
</div>
|
|
339
378
|
</div>
|
|
340
379
|
</ResizablePanel>
|
|
@@ -186,7 +186,7 @@ const AssociationPropertyBasicEditor = observer(
|
|
|
186
186
|
// Other
|
|
187
187
|
const openElement = (): void => {
|
|
188
188
|
if (!(propertyType instanceof PrimitiveType)) {
|
|
189
|
-
editorStore.
|
|
189
|
+
editorStore.tabManagerState.openElementEditor(
|
|
190
190
|
propertyType instanceof Unit ? propertyType.measure : propertyType,
|
|
191
191
|
);
|
|
192
192
|
}
|
|
@@ -322,7 +322,8 @@ export const AssociationEditor = observer(
|
|
|
322
322
|
(props: { association: Association }) => {
|
|
323
323
|
const { association } = props;
|
|
324
324
|
const editorStore = useEditorStore();
|
|
325
|
-
const editorState =
|
|
325
|
+
const editorState =
|
|
326
|
+
editorStore.tabManagerState.getCurrentEditorState(UMLEditorState);
|
|
326
327
|
const isReadOnly = editorState.isReadOnly;
|
|
327
328
|
// Selected property
|
|
328
329
|
const [selectedProperty, setSelectedProperty] = useState<
|
|
@@ -272,14 +272,15 @@ const PropertyBasicEditor = observer(
|
|
|
272
272
|
// Other
|
|
273
273
|
const openElement = (): void => {
|
|
274
274
|
if (!(propertyType instanceof PrimitiveType)) {
|
|
275
|
-
editorStore.
|
|
275
|
+
editorStore.tabManagerState.openElementEditor(
|
|
276
276
|
propertyType instanceof Unit ? propertyType.measure : propertyType,
|
|
277
277
|
);
|
|
278
278
|
}
|
|
279
279
|
};
|
|
280
280
|
// NOTE: for now we do not allow directly modifying inherited and associated properties,
|
|
281
281
|
// we would make the user go to the supertype or the association where the property comes from
|
|
282
|
-
const visitOwner = (): void =>
|
|
282
|
+
const visitOwner = (): void =>
|
|
283
|
+
editorStore.tabManagerState.openElementEditor(property._OWNER);
|
|
283
284
|
|
|
284
285
|
return (
|
|
285
286
|
<div ref={ref} className="property-basic-editor__container">
|
|
@@ -626,13 +627,13 @@ const DerivedPropertyBasicEditor = observer(
|
|
|
626
627
|
);
|
|
627
628
|
const openElement = (): void => {
|
|
628
629
|
if (!(propertyType instanceof PrimitiveType)) {
|
|
629
|
-
editorStore.
|
|
630
|
+
editorStore.tabManagerState.openElementEditor(
|
|
630
631
|
propertyType instanceof Unit ? propertyType.measure : propertyType,
|
|
631
632
|
);
|
|
632
633
|
}
|
|
633
634
|
};
|
|
634
635
|
const visitOwner = (): void =>
|
|
635
|
-
editorStore.
|
|
636
|
+
editorStore.tabManagerState.openElementEditor(derivedProperty._OWNER);
|
|
636
637
|
const remove = applicationStore.guardUnhandledError(async () => {
|
|
637
638
|
await flowResult(dpState.convertLambdaObjectToGrammarString(false));
|
|
638
639
|
deleteDerivedProperty();
|
|
@@ -913,7 +914,8 @@ const ConstraintEditor = observer(
|
|
|
913
914
|
);
|
|
914
915
|
deleteConstraint();
|
|
915
916
|
});
|
|
916
|
-
const visitOwner = (): void =>
|
|
917
|
+
const visitOwner = (): void =>
|
|
918
|
+
editorStore.tabManagerState.openElementEditor(constraint._OWNER);
|
|
917
919
|
|
|
918
920
|
return (
|
|
919
921
|
<div ref={ref} className="constraint-editor__container">
|
|
@@ -1068,7 +1070,8 @@ const SuperTypeEditor = observer(
|
|
|
1068
1070
|
const selectedType = { value: rawType, label: rawType.name };
|
|
1069
1071
|
const changeType = (val: PackageableElementOption<Class>): void =>
|
|
1070
1072
|
setGenericTypeReferenceValue(superType, new GenericType(val.value));
|
|
1071
|
-
const visitDerivationSource = (): void =>
|
|
1073
|
+
const visitDerivationSource = (): void =>
|
|
1074
|
+
editorStore.tabManagerState.openElementEditor(rawType);
|
|
1072
1075
|
|
|
1073
1076
|
return (
|
|
1074
1077
|
<div ref={ref} className="super-type-editor__container">
|
|
@@ -1665,7 +1668,7 @@ export const ClassFormEditor = observer(
|
|
|
1665
1668
|
: undefined;
|
|
1666
1669
|
const visitGenerationParentElement = (): void => {
|
|
1667
1670
|
if (generationParentElement) {
|
|
1668
|
-
editorStore.
|
|
1671
|
+
editorStore.tabManagerState.openElementEditor(generationParentElement);
|
|
1669
1672
|
}
|
|
1670
1673
|
};
|
|
1671
1674
|
|
|
@@ -1834,7 +1837,8 @@ export const ClassFormEditor = observer(
|
|
|
1834
1837
|
export const ClassEditor = observer((props: { _class: Class }) => {
|
|
1835
1838
|
const { _class } = props;
|
|
1836
1839
|
const editorStore = useEditorStore();
|
|
1837
|
-
const editorState =
|
|
1840
|
+
const editorState =
|
|
1841
|
+
editorStore.tabManagerState.getCurrentEditorState(ClassEditorState);
|
|
1838
1842
|
|
|
1839
1843
|
const classPreviewRenderers = editorStore.pluginManager
|
|
1840
1844
|
.getApplicationPlugins()
|
|
@@ -397,7 +397,8 @@ export const EnumerationEditor = observer(
|
|
|
397
397
|
(props: { enumeration: Enumeration }) => {
|
|
398
398
|
const { enumeration } = props;
|
|
399
399
|
const editorStore = useEditorStore();
|
|
400
|
-
const editorState =
|
|
400
|
+
const editorState =
|
|
401
|
+
editorStore.tabManagerState.getCurrentEditorState(UMLEditorState);
|
|
401
402
|
const isReadOnly = editorState.isReadOnly;
|
|
402
403
|
// Selected enum value
|
|
403
404
|
const [selectedEnum, setSelectedEnum] = useState<Enum | undefined>();
|
|
@@ -533,7 +534,7 @@ export const EnumerationEditor = observer(
|
|
|
533
534
|
: undefined;
|
|
534
535
|
const visitGenerationParentElement = (): void => {
|
|
535
536
|
if (generationParentElement) {
|
|
536
|
-
editorStore.
|
|
537
|
+
editorStore.tabManagerState.openElementEditor(generationParentElement);
|
|
537
538
|
}
|
|
538
539
|
};
|
|
539
540
|
|
|
@@ -250,7 +250,8 @@ const StereotypeBasicEditor = observer(
|
|
|
250
250
|
export const ProfileEditor = observer((props: { profile: Profile }) => {
|
|
251
251
|
const { profile } = props;
|
|
252
252
|
const editorStore = useEditorStore();
|
|
253
|
-
const editorState =
|
|
253
|
+
const editorState =
|
|
254
|
+
editorStore.tabManagerState.getCurrentEditorState(UMLEditorState);
|
|
254
255
|
const isReadOnly = editorState.isReadOnly;
|
|
255
256
|
// Tab
|
|
256
257
|
const selectedTab = editorState.selectedTab;
|
|
@@ -107,7 +107,7 @@ export const StereotypeSelector = observer(
|
|
|
107
107
|
}
|
|
108
108
|
};
|
|
109
109
|
const visitProfile = (): void =>
|
|
110
|
-
editorStore.
|
|
110
|
+
editorStore.tabManagerState.openElementEditor(selectedProfile.value);
|
|
111
111
|
// Stereotype
|
|
112
112
|
const stereotypeOptions = selectedProfile.value.p_stereotypes.map((st) => ({
|
|
113
113
|
label: st.value,
|
|
@@ -113,7 +113,7 @@ export const TaggedValueEditor = observer(
|
|
|
113
113
|
}
|
|
114
114
|
};
|
|
115
115
|
const visitProfile = (): void =>
|
|
116
|
-
editorStore.
|
|
116
|
+
editorStore.tabManagerState.openElementEditor(selectedProfile.value);
|
|
117
117
|
// Tag
|
|
118
118
|
const tagOptions = selectedProfile.value.p_tags.map((tag) => ({
|
|
119
119
|
label: tag.value,
|
|
@@ -25,7 +25,8 @@ import { Class, Enumeration, Association, Profile } from '@finos/legend-graph';
|
|
|
25
25
|
|
|
26
26
|
export const UMLEditor = observer(() => {
|
|
27
27
|
const editorStore = useEditorStore();
|
|
28
|
-
const umlEditorState =
|
|
28
|
+
const umlEditorState =
|
|
29
|
+
editorStore.tabManagerState.getCurrentEditorState(UMLEditorState);
|
|
29
30
|
const currentElement = umlEditorState.element;
|
|
30
31
|
|
|
31
32
|
return (
|
|
@@ -349,11 +349,11 @@ const ExplorerContextMenu = observer(
|
|
|
349
349
|
const ProjectConfig = observer(() => {
|
|
350
350
|
const editorStore = useEditorStore();
|
|
351
351
|
const openConfigurationEditor = (): void =>
|
|
352
|
-
editorStore.
|
|
352
|
+
editorStore.tabManagerState.openTab(
|
|
353
353
|
editorStore.projectConfigurationEditorState,
|
|
354
354
|
);
|
|
355
355
|
const isSelected =
|
|
356
|
-
editorStore.
|
|
356
|
+
editorStore.tabManagerState.currentTab ===
|
|
357
357
|
editorStore.projectConfigurationEditorState &&
|
|
358
358
|
// if we select non-element like packages, we need to deselect project configuration
|
|
359
359
|
// so maybe a good TODO is to move this to explorer tree state
|
|
@@ -528,7 +528,7 @@ const ExplorerTrees = observer(() => {
|
|
|
528
528
|
const editorStore = useEditorStore();
|
|
529
529
|
const { isInGrammarTextMode, isInViewerMode } = editorStore;
|
|
530
530
|
const openModelImport = (): void =>
|
|
531
|
-
editorStore.
|
|
531
|
+
editorStore.tabManagerState.openTab(editorStore.modelImporterState);
|
|
532
532
|
const graph = editorStore.graphManagerState.graph;
|
|
533
533
|
// Explorer tree
|
|
534
534
|
const treeData = editorStore.explorerTreeState.getTreeData();
|
|
@@ -733,9 +733,9 @@ const ProjectExplorerActionPanel = observer((props: { disabled: boolean }) => {
|
|
|
733
733
|
editorStore.explorerTreeState.setTreeData({ ...treeData });
|
|
734
734
|
};
|
|
735
735
|
const showModelImporter = (): void =>
|
|
736
|
-
editorStore.
|
|
736
|
+
editorStore.tabManagerState.openTab(editorStore.modelImporterState);
|
|
737
737
|
const openConfigurationEditor = (): void =>
|
|
738
|
-
editorStore.
|
|
738
|
+
editorStore.tabManagerState.openTab(
|
|
739
739
|
editorStore.projectConfigurationEditorState,
|
|
740
740
|
);
|
|
741
741
|
|
|
@@ -163,11 +163,11 @@ export const LocalChanges = observer(() => {
|
|
|
163
163
|
localChangesState.workspaceSyncState.pullChangesState.isInProgress ||
|
|
164
164
|
localChangesState.refreshWorkspaceSyncStatusState.isInProgress;
|
|
165
165
|
// Changes
|
|
166
|
-
const
|
|
166
|
+
const currentTabState = editorStore.tabManagerState.currentTab;
|
|
167
167
|
const isSelectedDiff = (diff: EntityDiff): boolean =>
|
|
168
|
-
|
|
169
|
-
diff.oldPath ===
|
|
170
|
-
diff.newPath ===
|
|
168
|
+
currentTabState instanceof EntityDiffViewState &&
|
|
169
|
+
diff.oldPath === currentTabState.fromEntityPath &&
|
|
170
|
+
diff.newPath === currentTabState.toEntityPath;
|
|
171
171
|
const changes =
|
|
172
172
|
editorStore.changeDetectionState.workspaceLocalLatestRevisionState.changes;
|
|
173
173
|
const openChange =
|
|
@@ -178,8 +178,8 @@ export const LocalChanges = observer(() => {
|
|
|
178
178
|
const conflicts =
|
|
179
179
|
editorStore.changeDetectionState.potentialWorkspacePullConflicts;
|
|
180
180
|
const isSelectedConflict = (conflict: EntityChangeConflict): boolean =>
|
|
181
|
-
|
|
182
|
-
conflict.entityPath ===
|
|
181
|
+
currentTabState instanceof EntityChangeConflictEditorState &&
|
|
182
|
+
conflict.entityPath === currentTabState.entityPath;
|
|
183
183
|
const openPotentialConflict =
|
|
184
184
|
(conflict: EntityChangeConflict): (() => void) =>
|
|
185
185
|
(): void =>
|
|
@@ -42,12 +42,12 @@ import { formatDistanceToNow } from '@finos/legend-shared';
|
|
|
42
42
|
export const WorkspaceReviewDiffs = observer(() => {
|
|
43
43
|
const editorStore = useEditorStore();
|
|
44
44
|
const workspaceReviewState = editorStore.workspaceReviewState;
|
|
45
|
-
const
|
|
45
|
+
const currentTabState = editorStore.tabManagerState.currentTab;
|
|
46
46
|
const changes = editorStore.changeDetectionState.aggregatedWorkspaceChanges;
|
|
47
47
|
const isSelectedDiff = (diff: EntityDiff): boolean =>
|
|
48
|
-
|
|
49
|
-
diff.oldPath ===
|
|
50
|
-
diff.newPath ===
|
|
48
|
+
currentTabState instanceof EntityDiffViewState &&
|
|
49
|
+
diff.oldPath === currentTabState.fromEntityPath &&
|
|
50
|
+
diff.newPath === currentTabState.toEntityPath;
|
|
51
51
|
const openChange =
|
|
52
52
|
(diff: EntityDiff): (() => void) =>
|
|
53
53
|
(): void =>
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
EntityChangeConflictSideBarItem,
|
|
42
42
|
} from '../edit-panel/diff-editor/EntityChangeConflictEditor.js';
|
|
43
43
|
import { EntityChangeConflictEditorState } from '../../../stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js';
|
|
44
|
-
import type {
|
|
44
|
+
import type { EntityDiffViewerState } from '../../../stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.js';
|
|
45
45
|
import {
|
|
46
46
|
EntityDiffSideBarItem,
|
|
47
47
|
EntityDiffView,
|
|
@@ -70,18 +70,18 @@ export const WorkspaceSyncConflictResolver = observer(() => {
|
|
|
70
70
|
currentDiffEditorState instanceof EntityChangeConflictEditorState &&
|
|
71
71
|
conflict.entityPath === currentDiffEditorState.entityPath;
|
|
72
72
|
const closeTabOnMiddleClick =
|
|
73
|
-
(conflictState:
|
|
73
|
+
(conflictState: EntityDiffViewerState): React.MouseEventHandler =>
|
|
74
74
|
(event): void => {
|
|
75
75
|
if (event.nativeEvent.button === 1) {
|
|
76
76
|
updateConflictState.closeConflict(conflictState);
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
79
|
const closeTab =
|
|
80
|
-
(conflictState:
|
|
80
|
+
(conflictState: EntityDiffViewerState): React.MouseEventHandler =>
|
|
81
81
|
(event): void =>
|
|
82
82
|
updateConflictState.closeConflict(conflictState);
|
|
83
83
|
const openTab =
|
|
84
|
-
(conflictState:
|
|
84
|
+
(conflictState: EntityDiffViewerState): (() => void) =>
|
|
85
85
|
(): void =>
|
|
86
86
|
updateConflictState.openState(conflictState);
|
|
87
87
|
const isSelectedDiff = (diff: EntityDiff): boolean =>
|
|
@@ -215,9 +215,9 @@ export const WorkspaceSyncConflictResolver = observer(() => {
|
|
|
215
215
|
className="workspace-sync-conflict-resolver__header__tab__label"
|
|
216
216
|
tabIndex={-1}
|
|
217
217
|
onClick={openTab(mergedState)}
|
|
218
|
-
title={mergedState.
|
|
218
|
+
title={mergedState.label}
|
|
219
219
|
>
|
|
220
|
-
{mergedState.
|
|
220
|
+
{mergedState.label}
|
|
221
221
|
</button>
|
|
222
222
|
<button
|
|
223
223
|
className="workspace-sync-conflict-resolver__header__tab__close-btn"
|
|
@@ -42,7 +42,7 @@ export const WorkspaceUpdateConflictResolver = observer(() => {
|
|
|
42
42
|
const editorStore = useEditorStore();
|
|
43
43
|
const applicationStore = useApplicationStore();
|
|
44
44
|
const sdlcState = editorStore.sdlcState;
|
|
45
|
-
const
|
|
45
|
+
const currentTabState = editorStore.tabManagerState.currentTab;
|
|
46
46
|
const conflictResolutionState = editorStore.conflictResolutionState;
|
|
47
47
|
// Actions
|
|
48
48
|
const isRunningTask =
|
|
@@ -66,8 +66,8 @@ export const WorkspaceUpdateConflictResolver = observer(() => {
|
|
|
66
66
|
// Conflicts
|
|
67
67
|
const conflicts = conflictResolutionState.conflicts;
|
|
68
68
|
const isSelectedConflict = (conflict: EntityChangeConflict): boolean =>
|
|
69
|
-
|
|
70
|
-
conflict.entityPath ===
|
|
69
|
+
currentTabState instanceof EntityChangeConflictEditorState &&
|
|
70
|
+
conflict.entityPath === currentTabState.entityPath;
|
|
71
71
|
const openConflict =
|
|
72
72
|
(conflict: EntityChangeConflict): (() => void) =>
|
|
73
73
|
(): void =>
|
|
@@ -79,9 +79,9 @@ export const WorkspaceUpdateConflictResolver = observer(() => {
|
|
|
79
79
|
(): void =>
|
|
80
80
|
conflictResolutionState.openConflictResolutionChange(diff);
|
|
81
81
|
const isSelectedDiff = (diff: EntityDiff): boolean =>
|
|
82
|
-
|
|
83
|
-
diff.oldPath ===
|
|
84
|
-
diff.newPath ===
|
|
82
|
+
currentTabState instanceof EntityDiffViewState &&
|
|
83
|
+
diff.oldPath === currentTabState.fromEntityPath &&
|
|
84
|
+
diff.newPath === currentTabState.toEntityPath;
|
|
85
85
|
|
|
86
86
|
return (
|
|
87
87
|
<div className="panel conflict-resolution">
|
|
@@ -47,7 +47,7 @@ export const WorkspaceUpdater = observer(() => {
|
|
|
47
47
|
const editorStore = useEditorStore();
|
|
48
48
|
const applicationStore = useLegendStudioApplicationStore();
|
|
49
49
|
const sdlcState = editorStore.sdlcState;
|
|
50
|
-
const
|
|
50
|
+
const currentTabState = editorStore.tabManagerState.currentTab;
|
|
51
51
|
const workspaceUpdaterState = editorStore.workspaceUpdaterState;
|
|
52
52
|
// Actions
|
|
53
53
|
const updateWorkspace = (): void => {
|
|
@@ -68,8 +68,8 @@ export const WorkspaceUpdater = observer(() => {
|
|
|
68
68
|
const conflicts =
|
|
69
69
|
editorStore.changeDetectionState.potentialWorkspaceUpdateConflicts;
|
|
70
70
|
const isSelectedConflict = (conflict: EntityChangeConflict): boolean =>
|
|
71
|
-
|
|
72
|
-
conflict.entityPath ===
|
|
71
|
+
currentTabState instanceof EntityChangeConflictEditorState &&
|
|
72
|
+
conflict.entityPath === currentTabState.entityPath;
|
|
73
73
|
const openPotentialConflict =
|
|
74
74
|
(conflict: EntityChangeConflict): (() => void) =>
|
|
75
75
|
(): void =>
|
|
@@ -84,9 +84,9 @@ export const WorkspaceUpdater = observer(() => {
|
|
|
84
84
|
.includes(change.entityPath),
|
|
85
85
|
);
|
|
86
86
|
const isSelectedDiff = (diff: EntityDiff): boolean =>
|
|
87
|
-
|
|
88
|
-
diff.oldPath ===
|
|
89
|
-
diff.newPath ===
|
|
87
|
+
currentTabState instanceof EntityDiffViewState &&
|
|
88
|
+
diff.oldPath === currentTabState.fromEntityPath &&
|
|
89
|
+
diff.newPath === currentTabState.toEntityPath;
|
|
90
90
|
const openChange =
|
|
91
91
|
(diff: EntityDiff): (() => void) =>
|
|
92
92
|
(): void =>
|
|
@@ -39,10 +39,9 @@ const WorkspaceReviewPanelHeaderTabContextMenu = observer(
|
|
|
39
39
|
>(function ReviewPanelHeaderTabContextMenu(props, ref) {
|
|
40
40
|
const { editorState } = props;
|
|
41
41
|
const editorStore = useEditorStore();
|
|
42
|
-
const close = (): void => editorStore.
|
|
43
|
-
const closeOthers = (): void =>
|
|
44
|
-
|
|
45
|
-
const closeAll = (): void => editorStore.closeAllStates();
|
|
42
|
+
const close = (): void => editorStore.tabManagerState.closeTab(editorState);
|
|
43
|
+
const closeOthers = (): void => editorStore.tabManagerState.closeAllTabs();
|
|
44
|
+
const closeAll = (): void => editorStore.tabManagerState.closeAllTabs();
|
|
46
45
|
|
|
47
46
|
return (
|
|
48
47
|
<div
|
|
@@ -57,7 +56,7 @@ const WorkspaceReviewPanelHeaderTabContextMenu = observer(
|
|
|
57
56
|
</button>
|
|
58
57
|
<button
|
|
59
58
|
className="workspace-review-panel__header__tab__context-menu__item"
|
|
60
|
-
disabled={editorStore.
|
|
59
|
+
disabled={editorStore.tabManagerState.tabs.length < 2}
|
|
61
60
|
onClick={closeOthers}
|
|
62
61
|
>
|
|
63
62
|
Close Others
|
|
@@ -75,48 +74,45 @@ const WorkspaceReviewPanelHeaderTabContextMenu = observer(
|
|
|
75
74
|
|
|
76
75
|
export const WorkspaceReviewPanel = observer(() => {
|
|
77
76
|
const editorStore = useEditorStore();
|
|
78
|
-
const
|
|
79
|
-
editorStore.
|
|
80
|
-
? editorStore.
|
|
77
|
+
const currentTabState =
|
|
78
|
+
editorStore.tabManagerState.currentTab instanceof EntityDiffViewState
|
|
79
|
+
? editorStore.tabManagerState.currentTab
|
|
81
80
|
: undefined;
|
|
82
|
-
const
|
|
81
|
+
const openedTabStates = editorStore.tabManagerState.tabs.filter(
|
|
83
82
|
filterByType(EntityDiffViewState),
|
|
84
83
|
);
|
|
85
84
|
const closeTab =
|
|
86
85
|
(diffState: EditorState): React.MouseEventHandler =>
|
|
87
86
|
(event): void =>
|
|
88
|
-
editorStore.
|
|
87
|
+
editorStore.tabManagerState.closeTab(diffState);
|
|
89
88
|
const closeTabOnMiddleClick =
|
|
90
89
|
(editorState: EditorState): React.MouseEventHandler =>
|
|
91
90
|
(event): void => {
|
|
92
91
|
if (event.nativeEvent.button === 1) {
|
|
93
|
-
editorStore.
|
|
92
|
+
editorStore.tabManagerState.closeTab(editorState);
|
|
94
93
|
}
|
|
95
94
|
};
|
|
96
95
|
const switchTab =
|
|
97
96
|
(editorState: EditorState): (() => void) =>
|
|
98
97
|
(): void =>
|
|
99
|
-
editorStore.
|
|
98
|
+
editorStore.tabManagerState.openTab(editorState);
|
|
100
99
|
const switchViewMode =
|
|
101
100
|
(mode: DIFF_VIEW_MODE): (() => void) =>
|
|
102
101
|
(): void =>
|
|
103
|
-
|
|
102
|
+
currentTabState?.setDiffMode(mode);
|
|
104
103
|
|
|
105
|
-
if (!
|
|
104
|
+
if (!currentTabState) {
|
|
106
105
|
return <WorkspaceReviewPanelSplashScreen />;
|
|
107
106
|
}
|
|
108
107
|
return (
|
|
109
108
|
<div className="panel workspace-review-panel">
|
|
110
|
-
<
|
|
111
|
-
className="panel__header workspace-review-panel__header"
|
|
112
|
-
disabled={true}
|
|
113
|
-
>
|
|
109
|
+
<div className="panel__header workspace-review-panel__header">
|
|
114
110
|
<div className="workspace-review-panel__header__tabs">
|
|
115
|
-
{
|
|
111
|
+
{openedTabStates.map((editorState) => (
|
|
116
112
|
<div
|
|
117
113
|
className={clsx('workspace-review-panel__header__tab', {
|
|
118
114
|
'workspace-review-panel__header__tab--active':
|
|
119
|
-
editorState ===
|
|
115
|
+
editorState === currentTabState,
|
|
120
116
|
})}
|
|
121
117
|
key={editorState.uuid}
|
|
122
118
|
onMouseUp={closeTabOnMiddleClick(editorState)}
|
|
@@ -134,7 +130,7 @@ export const WorkspaceReviewPanel = observer(() => {
|
|
|
134
130
|
tabIndex={-1}
|
|
135
131
|
onClick={switchTab(editorState)}
|
|
136
132
|
>
|
|
137
|
-
{editorState.
|
|
133
|
+
{editorState.label}
|
|
138
134
|
</button>
|
|
139
135
|
<button
|
|
140
136
|
className="workspace-review-panel__header__tab__close-btn"
|
|
@@ -173,13 +169,13 @@ export const WorkspaceReviewPanel = observer(() => {
|
|
|
173
169
|
}}
|
|
174
170
|
>
|
|
175
171
|
<div className="workspace-review-panel__element-view__type__label">
|
|
176
|
-
{
|
|
172
|
+
{currentTabState.diffMode}
|
|
177
173
|
</div>
|
|
178
174
|
</DropdownMenu>
|
|
179
175
|
</div>
|
|
180
|
-
</
|
|
176
|
+
</div>
|
|
181
177
|
<div className="panel__content workspace-review-panel__content">
|
|
182
|
-
<EntityDiffView entityDiffViewState={
|
|
178
|
+
<EntityDiffView entityDiffViewState={currentTabState} />
|
|
183
179
|
</div>
|
|
184
180
|
</div>
|
|
185
181
|
);
|
|
@@ -100,11 +100,11 @@ export const WorkspaceReviewSideBar = observer(() => {
|
|
|
100
100
|
);
|
|
101
101
|
// Changes
|
|
102
102
|
const changes = editorStore.changeDetectionState.aggregatedWorkspaceChanges;
|
|
103
|
-
const
|
|
103
|
+
const currentTabState = editorStore.tabManagerState.currentTab;
|
|
104
104
|
const isSelectedDiff = (diff: EntityDiff): boolean =>
|
|
105
|
-
|
|
106
|
-
diff.oldPath ===
|
|
107
|
-
diff.newPath ===
|
|
105
|
+
currentTabState instanceof EntityDiffViewState &&
|
|
106
|
+
diff.oldPath === currentTabState.fromEntityPath &&
|
|
107
|
+
diff.newPath === currentTabState.toEntityPath;
|
|
108
108
|
const openChange =
|
|
109
109
|
(diff: EntityDiff): (() => void) =>
|
|
110
110
|
(): void =>
|
package/src/index.ts
CHANGED
|
@@ -25,6 +25,7 @@ export { queryClass } from './components/editor/edit-panel/uml-editor/ClassQuery
|
|
|
25
25
|
|
|
26
26
|
// stores
|
|
27
27
|
export * from './stores/LegendStudioApplicationPlugin.js';
|
|
28
|
+
export * from './stores/EditorTabManagerState.js';
|
|
28
29
|
export * from './stores/EditorStore.js';
|
|
29
30
|
export * from './stores/EditorConfig.js';
|
|
30
31
|
export * from './stores/editor-state/ModelImporterState.js';
|