@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.
Files changed (311) hide show
  1. package/lib/components/Core_LegendStudioApplicationPlugin.js +13 -13
  2. package/lib/components/DSL_ExternalFormat_LegendStudioApplicationPlugin.js +4 -4
  3. package/lib/components/DSL_ExternalFormat_LegendStudioDocumentation.d.ts +2 -2
  4. package/lib/components/DSL_ExternalFormat_LegendStudioDocumentation.js +2 -2
  5. package/lib/components/LegendStudioApplication.d.ts.map +1 -1
  6. package/lib/components/LegendStudioApplication.js +19 -19
  7. package/lib/components/LegendStudioApplication.js.map +1 -1
  8. package/lib/components/editor/command-center/ProjectSearchCommand.d.ts.map +1 -1
  9. package/lib/components/editor/command-center/ProjectSearchCommand.js +1 -1
  10. package/lib/components/editor/command-center/ProjectSearchCommand.js.map +1 -1
  11. package/lib/components/editor/edit-panel/EditPanel.d.ts.map +1 -1
  12. package/lib/components/editor/edit-panel/EditPanel.js +52 -73
  13. package/lib/components/editor/edit-panel/EditPanel.js.map +1 -1
  14. package/lib/components/editor/edit-panel/FileGenerationViewer.js +5 -5
  15. package/lib/components/editor/edit-panel/FileGenerationViewer.js.map +1 -1
  16. package/lib/components/editor/edit-panel/FunctionEditor.js +3 -3
  17. package/lib/components/editor/edit-panel/FunctionEditor.js.map +1 -1
  18. package/lib/components/editor/edit-panel/GenerationSpecificationEditor.d.ts.map +1 -1
  19. package/lib/components/editor/edit-panel/GenerationSpecificationEditor.js +3 -3
  20. package/lib/components/editor/edit-panel/GenerationSpecificationEditor.js.map +1 -1
  21. package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts.map +1 -1
  22. package/lib/components/editor/edit-panel/GrammarTextEditor.js +14 -14
  23. package/lib/components/editor/edit-panel/GrammarTextEditor.js.map +1 -1
  24. package/lib/components/editor/edit-panel/ModelImporter.js +1 -1
  25. package/lib/components/editor/edit-panel/ModelImporter.js.map +1 -1
  26. package/lib/components/editor/edit-panel/RuntimeEditor.d.ts.map +1 -1
  27. package/lib/components/editor/edit-panel/RuntimeEditor.js +4 -4
  28. package/lib/components/editor/edit-panel/RuntimeEditor.js.map +1 -1
  29. package/lib/components/editor/edit-panel/UnsupportedElementEditor.d.ts.map +1 -1
  30. package/lib/components/editor/edit-panel/UnsupportedElementEditor.js +1 -1
  31. package/lib/components/editor/edit-panel/UnsupportedElementEditor.js.map +1 -1
  32. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.js +1 -1
  33. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.js.map +1 -1
  34. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js +3 -3
  35. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js.map +1 -1
  36. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
  37. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js +3 -3
  38. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js.map +1 -1
  39. package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.js +1 -1
  40. package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.js.map +1 -1
  41. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.d.ts.map +1 -1
  42. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js +3 -3
  43. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js.map +1 -1
  44. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.d.ts.map +1 -1
  45. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.js +1 -1
  46. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.js.map +1 -1
  47. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js +3 -3
  48. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js.map +1 -1
  49. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.js +1 -1
  50. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.js.map +1 -1
  51. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js +2 -2
  52. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js.map +1 -1
  53. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js +1 -1
  54. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js.map +1 -1
  55. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js +2 -2
  56. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js.map +1 -1
  57. package/lib/components/editor/edit-panel/mapping-editor/MappingEditor.js +2 -2
  58. package/lib/components/editor/edit-panel/mapping-editor/MappingEditor.js.map +1 -1
  59. package/lib/components/editor/edit-panel/mapping-editor/MappingExplorer.js +5 -5
  60. package/lib/components/editor/edit-panel/mapping-editor/MappingExplorer.js.map +1 -1
  61. package/lib/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.js +3 -3
  62. package/lib/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.js.map +1 -1
  63. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js +1 -1
  64. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js.map +1 -1
  65. package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.js +3 -3
  66. package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.js.map +1 -1
  67. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.js +3 -3
  68. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.js.map +1 -1
  69. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.d.ts.map +1 -1
  70. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js +11 -9
  71. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js.map +1 -1
  72. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js +2 -2
  73. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js.map +1 -1
  74. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js +1 -1
  75. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
  76. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.d.ts.map +1 -1
  77. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.js +2 -2
  78. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.js.map +1 -1
  79. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.d.ts.map +1 -1
  80. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js +5 -4
  81. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js.map +1 -1
  82. package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.d.ts.map +1 -1
  83. package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.js +1 -1
  84. package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.js.map +1 -1
  85. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -1
  86. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js +10 -3
  87. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js.map +1 -1
  88. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.d.ts.map +1 -1
  89. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js +2 -2
  90. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js.map +1 -1
  91. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.d.ts.map +1 -1
  92. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js +8 -8
  93. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js.map +1 -1
  94. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.d.ts.map +1 -1
  95. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js +2 -2
  96. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js.map +1 -1
  97. package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.d.ts.map +1 -1
  98. package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.js +1 -1
  99. package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.js.map +1 -1
  100. package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js +1 -1
  101. package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js.map +1 -1
  102. package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js +1 -1
  103. package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js.map +1 -1
  104. package/lib/components/editor/edit-panel/uml-editor/UMLEditor.d.ts.map +1 -1
  105. package/lib/components/editor/edit-panel/uml-editor/UMLEditor.js +1 -1
  106. package/lib/components/editor/edit-panel/uml-editor/UMLEditor.js.map +1 -1
  107. package/lib/components/editor/side-bar/Explorer.js +5 -5
  108. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  109. package/lib/components/editor/side-bar/LocalChanges.js +6 -6
  110. package/lib/components/editor/side-bar/LocalChanges.js.map +1 -1
  111. package/lib/components/editor/side-bar/WorkspaceReview.js +4 -4
  112. package/lib/components/editor/side-bar/WorkspaceReview.js.map +1 -1
  113. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js +1 -1
  114. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js.map +1 -1
  115. package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.js +6 -6
  116. package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.js.map +1 -1
  117. package/lib/components/editor/side-bar/WorkspaceUpdater.js +6 -6
  118. package/lib/components/editor/side-bar/WorkspaceUpdater.js.map +1 -1
  119. package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +1 -1
  120. package/lib/components/workspace-review/WorkspaceReviewPanel.js +16 -16
  121. package/lib/components/workspace-review/WorkspaceReviewPanel.js.map +1 -1
  122. package/lib/components/workspace-review/WorkspaceReviewSideBar.js +4 -4
  123. package/lib/components/workspace-review/WorkspaceReviewSideBar.js.map +1 -1
  124. package/lib/index.css +2 -2
  125. package/lib/index.css.map +1 -1
  126. package/lib/index.d.ts +1 -0
  127. package/lib/index.d.ts.map +1 -1
  128. package/lib/index.js +1 -0
  129. package/lib/index.js.map +1 -1
  130. package/lib/package.json +1 -1
  131. package/lib/stores/EditorGraphState.d.ts +1 -1
  132. package/lib/stores/EditorGraphState.d.ts.map +1 -1
  133. package/lib/stores/EditorGraphState.js +24 -44
  134. package/lib/stores/EditorGraphState.js.map +1 -1
  135. package/lib/stores/EditorSDLCState.js +3 -3
  136. package/lib/stores/EditorSDLCState.js.map +1 -1
  137. package/lib/stores/EditorStore.d.ts +19 -42
  138. package/lib/stores/EditorStore.d.ts.map +1 -1
  139. package/lib/stores/EditorStore.js +42 -223
  140. package/lib/stores/EditorStore.js.map +1 -1
  141. package/lib/stores/EditorTabManagerState.d.ts +56 -0
  142. package/lib/stores/EditorTabManagerState.d.ts.map +1 -0
  143. package/lib/stores/EditorTabManagerState.js +144 -0
  144. package/lib/stores/EditorTabManagerState.js.map +1 -0
  145. package/lib/stores/ExplorerTreeState.d.ts.map +1 -1
  146. package/lib/stores/ExplorerTreeState.js +1 -1
  147. package/lib/stores/ExplorerTreeState.js.map +1 -1
  148. package/lib/stores/LegendStudioDocumentation.d.ts +14 -14
  149. package/lib/stores/LegendStudioDocumentation.js +14 -14
  150. package/lib/stores/editor-state/EditorState.d.ts +7 -6
  151. package/lib/stores/editor-state/EditorState.d.ts.map +1 -1
  152. package/lib/stores/editor-state/EditorState.js +3 -6
  153. package/lib/stores/editor-state/EditorState.js.map +1 -1
  154. package/lib/stores/editor-state/FileGenerationViewerState.d.ts +5 -4
  155. package/lib/stores/editor-state/FileGenerationViewerState.d.ts.map +1 -1
  156. package/lib/stores/editor-state/FileGenerationViewerState.js +11 -8
  157. package/lib/stores/editor-state/FileGenerationViewerState.js.map +1 -1
  158. package/lib/stores/editor-state/GraphGenerationState.d.ts.map +1 -1
  159. package/lib/stores/editor-state/GraphGenerationState.js +10 -16
  160. package/lib/stores/editor-state/GraphGenerationState.js.map +1 -1
  161. package/lib/stores/editor-state/ModelImporterState.d.ts +2 -1
  162. package/lib/stores/editor-state/ModelImporterState.d.ts.map +1 -1
  163. package/lib/stores/editor-state/ModelImporterState.js +4 -1
  164. package/lib/stores/editor-state/ModelImporterState.js.map +1 -1
  165. package/lib/stores/editor-state/ProjectConfigurationEditorState.d.ts +2 -1
  166. package/lib/stores/editor-state/ProjectConfigurationEditorState.d.ts.map +1 -1
  167. package/lib/stores/editor-state/ProjectConfigurationEditorState.js +5 -2
  168. package/lib/stores/editor-state/ProjectConfigurationEditorState.js.map +1 -1
  169. package/lib/stores/editor-state/element-editor-state/ElementEditorState.d.ts +13 -1
  170. package/lib/stores/editor-state/element-editor-state/ElementEditorState.d.ts.map +1 -1
  171. package/lib/stores/editor-state/element-editor-state/ElementEditorState.js +9 -2
  172. package/lib/stores/editor-state/element-editor-state/ElementEditorState.js.map +1 -1
  173. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.js +1 -1
  174. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.js.map +1 -1
  175. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.d.ts +1 -3
  176. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.d.ts.map +1 -1
  177. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js +2 -3
  178. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js.map +1 -1
  179. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.d.ts +7 -6
  180. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.d.ts.map +1 -1
  181. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.js +7 -3
  182. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.js.map +1 -1
  183. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts +3 -2
  184. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts.map +1 -1
  185. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js +6 -2
  186. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
  187. package/lib/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.d.ts +19 -0
  188. package/lib/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.d.ts.map +1 -0
  189. package/lib/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.js +19 -0
  190. package/lib/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.js.map +1 -0
  191. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts +3 -2
  192. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts.map +1 -1
  193. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js +6 -2
  194. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js.map +1 -1
  195. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts +7 -0
  196. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts.map +1 -1
  197. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js +21 -2
  198. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js.map +1 -1
  199. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.d.ts +5 -3
  200. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.d.ts.map +1 -1
  201. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js +8 -4
  202. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js.map +1 -1
  203. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts +1 -1
  204. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.js +1 -1
  205. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts +7 -5
  206. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts.map +1 -1
  207. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.js +19 -12
  208. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.js.map +1 -1
  209. package/lib/stores/project-viewer/ProjectViewerStore.js +1 -1
  210. package/lib/stores/project-viewer/ProjectViewerStore.js.map +1 -1
  211. package/lib/stores/shared/DnDUtils.d.ts +1 -1
  212. package/lib/stores/shared/DnDUtils.d.ts.map +1 -1
  213. package/lib/stores/shared/DnDUtils.js.map +1 -1
  214. package/lib/stores/shared/modifier/DSL_Service_GraphModifierHelper.d.ts +1 -0
  215. package/lib/stores/shared/modifier/DSL_Service_GraphModifierHelper.d.ts.map +1 -1
  216. package/lib/stores/shared/modifier/DSL_Service_GraphModifierHelper.js +3 -0
  217. package/lib/stores/shared/modifier/DSL_Service_GraphModifierHelper.js.map +1 -1
  218. package/lib/stores/sidebar-state/LocalChangesState.js +4 -4
  219. package/lib/stores/sidebar-state/LocalChangesState.js.map +1 -1
  220. package/lib/stores/sidebar-state/WorkspaceReviewState.js +1 -1
  221. package/lib/stores/sidebar-state/WorkspaceReviewState.js.map +1 -1
  222. package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts +6 -6
  223. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js +7 -7
  224. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js.map +1 -1
  225. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js +2 -2
  226. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js.map +1 -1
  227. package/package.json +10 -10
  228. package/src/components/Core_LegendStudioApplicationPlugin.tsx +13 -13
  229. package/src/components/DSL_ExternalFormat_LegendStudioApplicationPlugin.tsx +4 -4
  230. package/src/components/DSL_ExternalFormat_LegendStudioDocumentation.ts +2 -2
  231. package/src/components/LegendStudioApplication.tsx +0 -3
  232. package/src/components/editor/command-center/ProjectSearchCommand.tsx +4 -1
  233. package/src/components/editor/edit-panel/EditPanel.tsx +74 -181
  234. package/src/components/editor/edit-panel/FileGenerationViewer.tsx +5 -5
  235. package/src/components/editor/edit-panel/FunctionEditor.tsx +3 -3
  236. package/src/components/editor/edit-panel/GenerationSpecificationEditor.tsx +7 -5
  237. package/src/components/editor/edit-panel/GrammarTextEditor.tsx +16 -20
  238. package/src/components/editor/edit-panel/ModelImporter.tsx +1 -1
  239. package/src/components/editor/edit-panel/RuntimeEditor.tsx +6 -9
  240. package/src/components/editor/edit-panel/UnsupportedElementEditor.tsx +4 -3
  241. package/src/components/editor/edit-panel/connection-editor/ConnectionEditor.tsx +1 -1
  242. package/src/components/editor/edit-panel/data-editor/DataElementEditor.tsx +3 -3
  243. package/src/components/editor/edit-panel/data-editor/EmbeddedDataEditor.tsx +4 -3
  244. package/src/components/editor/edit-panel/diff-editor/EntityDiffView.tsx +1 -1
  245. package/src/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.tsx +6 -5
  246. package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_BindingElementEditor.tsx +2 -1
  247. package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.tsx +3 -3
  248. package/src/components/editor/edit-panel/mapping-editor/ClassMappingEditor.tsx +1 -1
  249. package/src/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.tsx +2 -2
  250. package/src/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.tsx +1 -1
  251. package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.tsx +2 -2
  252. package/src/components/editor/edit-panel/mapping-editor/MappingEditor.tsx +3 -3
  253. package/src/components/editor/edit-panel/mapping-editor/MappingExplorer.tsx +5 -5
  254. package/src/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.tsx +3 -3
  255. package/src/components/editor/edit-panel/mapping-editor/NewMappingElementModal.tsx +1 -1
  256. package/src/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.tsx +3 -3
  257. package/src/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.tsx +3 -3
  258. package/src/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.tsx +14 -9
  259. package/src/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.tsx +2 -2
  260. package/src/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.tsx +1 -1
  261. package/src/components/editor/edit-panel/service-editor/ServiceEditor.tsx +4 -2
  262. package/src/components/editor/edit-panel/service-editor/ServiceExecutionEditor.tsx +14 -4
  263. package/src/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.tsx +2 -1
  264. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.tsx +47 -8
  265. package/src/components/editor/edit-panel/uml-editor/AssociationEditor.tsx +3 -2
  266. package/src/components/editor/edit-panel/uml-editor/ClassEditor.tsx +12 -8
  267. package/src/components/editor/edit-panel/uml-editor/EnumerationEditor.tsx +3 -2
  268. package/src/components/editor/edit-panel/uml-editor/ProfileEditor.tsx +2 -1
  269. package/src/components/editor/edit-panel/uml-editor/StereotypeSelector.tsx +1 -1
  270. package/src/components/editor/edit-panel/uml-editor/TaggedValueEditor.tsx +1 -1
  271. package/src/components/editor/edit-panel/uml-editor/UMLEditor.tsx +2 -1
  272. package/src/components/editor/side-bar/Explorer.tsx +5 -5
  273. package/src/components/editor/side-bar/LocalChanges.tsx +6 -6
  274. package/src/components/editor/side-bar/WorkspaceReview.tsx +4 -4
  275. package/src/components/editor/side-bar/WorkspaceSyncConflictResolver.tsx +6 -6
  276. package/src/components/editor/side-bar/WorkspaceUpdateConflictResolver.tsx +6 -6
  277. package/src/components/editor/side-bar/WorkspaceUpdater.tsx +6 -6
  278. package/src/components/workspace-review/WorkspaceReviewPanel.tsx +20 -24
  279. package/src/components/workspace-review/WorkspaceReviewSideBar.tsx +4 -4
  280. package/src/index.ts +1 -0
  281. package/src/stores/EditorGraphState.ts +39 -54
  282. package/src/stores/EditorSDLCState.ts +3 -3
  283. package/src/stores/EditorStore.ts +59 -303
  284. package/src/stores/EditorTabManagerState.ts +175 -0
  285. package/src/stores/ExplorerTreeState.ts +3 -1
  286. package/src/stores/LegendStudioDocumentation.ts +14 -14
  287. package/src/stores/editor-state/EditorState.ts +9 -8
  288. package/src/stores/editor-state/FileGenerationViewerState.ts +12 -8
  289. package/src/stores/editor-state/GraphGenerationState.ts +14 -26
  290. package/src/stores/editor-state/ModelImporterState.ts +5 -1
  291. package/src/stores/editor-state/ProjectConfigurationEditorState.ts +6 -2
  292. package/src/stores/editor-state/element-editor-state/ElementEditorState.ts +23 -2
  293. package/src/stores/editor-state/element-editor-state/ElementFileGenerationState.ts +1 -1
  294. package/src/stores/editor-state/element-editor-state/mapping/MappingEditorState.ts +7 -8
  295. package/src/stores/editor-state/element-editor-state/mapping/MappingElementState.ts +15 -6
  296. package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +7 -2
  297. package/src/stores/editor-state/element-editor-state/mapping/MappingTabManagerState.ts +19 -0
  298. package/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts +7 -2
  299. package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.ts +32 -0
  300. package/src/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.ts +21 -4
  301. package/src/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.ts +1 -1
  302. package/src/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.ts +28 -12
  303. package/src/stores/project-viewer/ProjectViewerStore.ts +1 -1
  304. package/src/stores/shared/DnDUtils.ts +1 -1
  305. package/src/stores/shared/modifier/DSL_Service_GraphModifierHelper.ts +6 -0
  306. package/src/stores/sidebar-state/LocalChangesState.ts +4 -4
  307. package/src/stores/sidebar-state/WorkspaceReviewState.ts +1 -1
  308. package/src/stores/sidebar-state/WorkspaceSyncState.ts +6 -6
  309. package/src/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.ts +7 -7
  310. package/src/stores/sidebar-state/WorkspaceUpdaterState.ts +2 -2
  311. package/tsconfig.json +2 -0
@@ -447,11 +447,7 @@ const RuntimeExplorer = observer(
447
447
  <div className="panel__header__title__content">{runtimeName}</div>
448
448
  </div>
449
449
  </div>
450
- <ContextMenu
451
- className="panel__content"
452
- disabled={true}
453
- menuProps={{ elevation: 7 }}
454
- >
450
+ <div className="panel__content">
455
451
  <PanelDropZone
456
452
  dropTargetConnector={dropRuntimeSubElementRef}
457
453
  isDragOver={isRuntimeSubElementDragOver}
@@ -472,7 +468,7 @@ const RuntimeExplorer = observer(
472
468
  />
473
469
  </div>
474
470
  </PanelDropZone>
475
- </ContextMenu>
471
+ </div>
476
472
  </div>
477
473
  );
478
474
  },
@@ -584,7 +580,7 @@ const IdentifiedConnectionEditor = observer(
584
580
  };
585
581
  const visitConnection = (): void => {
586
582
  if (identifiedConnection.connection instanceof ConnectionPointer) {
587
- editorStore.openElement(
583
+ editorStore.tabManagerState.openElementEditor(
588
584
  identifiedConnection.connection.packageableConnection.value,
589
585
  );
590
586
  }
@@ -847,7 +843,8 @@ const RuntimeMappingEditor = observer(
847
843
  runtimeEditorState.changeMapping(mappingRef, val.value);
848
844
  const deleteMapping = (): void =>
849
845
  runtimeEditorState.deleteMapping(mappingRef);
850
- const visitMapping = (): void => editorStore.openElement(mappingRef.value);
846
+ const visitMapping = (): void =>
847
+ editorStore.tabManagerState.openElementEditor(mappingRef.value);
851
848
 
852
849
  return (
853
850
  <div className="panel__content__form__section__list__item--customized runtime-mapping-editor">
@@ -1046,7 +1043,7 @@ export const RuntimeEditor = observer(
1046
1043
 
1047
1044
  export const PackageableRuntimeEditor = observer(() => {
1048
1045
  const editorStore = useEditorStore();
1049
- const editorState = editorStore.getCurrentEditorState(
1046
+ const editorState = editorStore.tabManagerState.getCurrentEditorState(
1050
1047
  PackageableRuntimeEditorState,
1051
1048
  );
1052
1049
  const isReadOnly = editorState.isReadOnly;
@@ -51,9 +51,10 @@ export const UnsupportedEditorPanel = observer(
51
51
  // NOTE: this editor can be used for any element supported via text mode but no editor has been built
52
52
  export const UnsupportedElementEditor = observer(() => {
53
53
  const editorStore = useEditorStore();
54
- const unsupportedElementEditorState = editorStore.getCurrentEditorState(
55
- UnsupportedElementEditorState,
56
- );
54
+ const unsupportedElementEditorState =
55
+ editorStore.tabManagerState.getCurrentEditorState(
56
+ UnsupportedElementEditorState,
57
+ );
57
58
  const element = unsupportedElementEditorState.element;
58
59
  const isReadOnly = unsupportedElementEditorState.isReadOnly;
59
60
 
@@ -183,7 +183,7 @@ export const ConnectionEditor = observer(
183
183
 
184
184
  export const PackageableConnectionEditor = observer(() => {
185
185
  const editorStore = useEditorStore();
186
- const editorState = editorStore.getCurrentEditorState(
186
+ const editorState = editorStore.tabManagerState.getCurrentEditorState(
187
187
  PackageableConnectionEditorState,
188
188
  );
189
189
  const isReadOnly = editorState.isReadOnly;
@@ -68,7 +68,7 @@ import {
68
68
  externalFormatData_setContentType,
69
69
  externalFormatData_setData,
70
70
  } from '../../../../stores/shared/modifier/DSL_Data_GraphModifierHelper.js';
71
- import { getEditorLanguageFromFormat } from '../../../../stores/editor-state/FileGenerationViewerState.js';
71
+ import { getEditorLanguageForFormat } from '../../../../stores/editor-state/FileGenerationViewerState.js';
72
72
  import type { ExternalFormatDataState } from '../../../../stores/editor-state/element-editor-state/data/EmbeddedDataState.js';
73
73
  import { renderEmbeddedDataEditor } from './EmbeddedDataEditor.js';
74
74
  import {
@@ -102,7 +102,7 @@ export const ExternalFormatDataEditor = observer(
102
102
  externalFormatDataState.embeddedData,
103
103
  val,
104
104
  );
105
- const language = getEditorLanguageFromFormat(
105
+ const language = getEditorLanguageForFormat(
106
106
  editorStore.graphState.graphGenerationState.externalFormatState.getFormatTypeForContentType(
107
107
  externalFormatDataState.embeddedData.contentType,
108
108
  ),
@@ -185,7 +185,7 @@ export const EmbeddedDataEditor = observer(
185
185
  export const DataElementEditor = observer(() => {
186
186
  const editorStore = useEditorStore();
187
187
  const applicationStore = useApplicationStore();
188
- const editorState = editorStore.getCurrentEditorState(
188
+ const editorState = editorStore.tabManagerState.getCurrentEditorState(
189
189
  PackageableDataEditorState,
190
190
  );
191
191
  const dataElement = editorState.data;
@@ -37,7 +37,7 @@ import {
37
37
  externalFormatData_setData,
38
38
  } from '../../../../stores/shared/modifier/DSL_Data_GraphModifierHelper.js';
39
39
  import type { DSL_Data_LegendStudioApplicationPlugin_Extension } from '../../../../stores/DSL_Data_LegendStudioApplicationPlugin_Extension.js';
40
- import { getEditorLanguageFromFormat } from '../../../../stores/editor-state/FileGenerationViewerState.js';
40
+ import { getEditorLanguageForFormat } from '../../../../stores/editor-state/FileGenerationViewerState.js';
41
41
  import {
42
42
  type EmbeddedDataState,
43
43
  DataElementReferenceState,
@@ -71,7 +71,7 @@ export const ExternalFormatDataEditor = observer(
71
71
  externalFormatDataState.embeddedData,
72
72
  val,
73
73
  );
74
- const language = getEditorLanguageFromFormat(
74
+ const language = getEditorLanguageForFormat(
75
75
  editorStore.graphState.graphGenerationState.externalFormatState.getFormatTypeForContentType(
76
76
  externalFormatDataState.embeddedData.contentType,
77
77
  ),
@@ -167,7 +167,8 @@ export const DataElementReferenceDataEditor = observer(
167
167
  dataElementReferenceState.setDataElement(val.value);
168
168
  }
169
169
  };
170
- const visitData = (): void => editorStore.openElement(dataElement);
170
+ const visitData = (): void =>
171
+ editorStore.tabManagerState.openElementEditor(dataElement);
171
172
  return (
172
173
  <div className="panel data-element-reference-editor">
173
174
  <div className="data-element-reference-editor__header">
@@ -98,7 +98,7 @@ export const EntityDiffView = observer(
98
98
  } = diffEditorState;
99
99
  const goToElement = (): void => {
100
100
  if (diffEditorState.element) {
101
- editorStore.openElement(diffEditorState.element);
101
+ editorStore.tabManagerState.openElementEditor(diffEditorState.element);
102
102
  }
103
103
  };
104
104
 
@@ -21,7 +21,7 @@ import { getElementIcon } from '../../../shared/ElementIconUtils.js';
21
21
  import { useDrop } from 'react-dnd';
22
22
  import {
23
23
  getTextContent,
24
- getEditorLanguageFromFormat,
24
+ getEditorLanguageForFormat,
25
25
  } from '../../../../stores/editor-state/FileGenerationViewerState.js';
26
26
  import { FileGenerationEditorState } from '../../../../stores/editor-state/element-editor-state/FileGenerationEditorState.js';
27
27
  import {
@@ -323,7 +323,7 @@ export const GenerationResultViewer = observer(
323
323
  <TextInputEditor
324
324
  inputValue={getTextContent(fileNode.content, fileNode.format)}
325
325
  isReadOnly={true}
326
- language={getEditorLanguageFromFormat(fileNode.format)}
326
+ language={getEditorLanguageForFormat(fileNode.format)}
327
327
  />
328
328
  )}
329
329
  {!(fileNode instanceof GenerationFile) && (
@@ -1438,9 +1438,10 @@ export const FileGenerationConfigurationEditor = observer(
1438
1438
 
1439
1439
  export const FileGenerationEditor = observer(() => {
1440
1440
  const editorStore = useEditorStore();
1441
- const fileGenerationEditorState = editorStore.getCurrentEditorState(
1442
- FileGenerationEditorState,
1443
- );
1441
+ const fileGenerationEditorState =
1442
+ editorStore.tabManagerState.getCurrentEditorState(
1443
+ FileGenerationEditorState,
1444
+ );
1444
1445
  const fileGeneration = fileGenerationEditorState.fileGeneration;
1445
1446
  const isReadOnly = fileGenerationEditorState.isReadOnly;
1446
1447
 
@@ -289,7 +289,8 @@ const BindingGeneralEditor = observer(
289
289
 
290
290
  export const BindingEditor = observer(() => {
291
291
  const editorStore = useEditorStore();
292
- const editorState = editorStore.getCurrentEditorState(BindingEditorState);
292
+ const editorState =
293
+ editorStore.tabManagerState.getCurrentEditorState(BindingEditorState);
293
294
  const binding = editorState.binding;
294
295
  const modelUnit = binding.modelUnit;
295
296
  const isReadOnly = editorState.isReadOnly;
@@ -45,7 +45,7 @@ import {
45
45
  SCHEMA_SET_TAB_TYPE,
46
46
  } from '../../../../stores/editor-state/element-editor-state/external-format/DSL_ExternalFormat_SchemaSetEditorState.js';
47
47
  import { EDITOR_LANGUAGE, TextInputEditor } from '@finos/legend-application';
48
- import { getEditorLanguageFromFormat } from '../../../../stores/editor-state/FileGenerationViewerState.js';
48
+ import { getEditorLanguageForFormat } from '../../../../stores/editor-state/FileGenerationViewerState.js';
49
49
  import { guaranteeNonNullable, prettyCONSTName } from '@finos/legend-shared';
50
50
  import { useEditorStore } from '../../EditorStoreProvider.js';
51
51
  import {
@@ -207,7 +207,7 @@ export const SchemaSetGeneralEditor = observer(
207
207
  schemaSetEditorState.schemaSetModelGenerationState.description;
208
208
  // TEMPROARY engine api should return `fileformat`.
209
209
  const language = description
210
- ? getEditorLanguageFromFormat(description.name)
210
+ ? getEditorLanguageForFormat(description.name)
211
211
  : EDITOR_LANGUAGE.TEXT;
212
212
  const changeState =
213
213
  (schema: Schema): (() => void) =>
@@ -371,7 +371,7 @@ export const SchemaSetGeneralEditor = observer(
371
371
  export const SchemaSetEditor = observer(() => {
372
372
  const editorStore = useEditorStore();
373
373
  const schemaSetEditorState =
374
- editorStore.getCurrentEditorState(SchemaSetEditorState);
374
+ editorStore.tabManagerState.getCurrentEditorState(SchemaSetEditorState);
375
375
  const isReadOnly = schemaSetEditorState.isReadOnly;
376
376
  const schemaSet = schemaSetEditorState.schemaSet;
377
377
  const currentTab = schemaSetEditorState.selectedTab;
@@ -92,7 +92,7 @@ export const ClassMappingEditor = observer(
92
92
  const { setImplementation, isReadOnly } = props;
93
93
  const editorStore = useEditorStore();
94
94
  const mappingEditorState =
95
- editorStore.getCurrentEditorState(MappingEditorState);
95
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
96
96
  const _class = setImplementation.class;
97
97
  // ID
98
98
  const isDefaultId =
@@ -198,7 +198,7 @@ export const SourceValueInput = observer(
198
198
  const handleDrop = useCallback(
199
199
  (item: TransformDropTarget): void => {
200
200
  if (!isReadOnly) {
201
- if (item instanceof TypeDragSource) {
201
+ if (item instanceof TypeDragSource && item.data) {
202
202
  updateSourceValue(value + item.data.label);
203
203
  }
204
204
  }
@@ -344,7 +344,7 @@ export const EnumerationMappingEditor = observer(
344
344
  const { enumerationMapping, isReadOnly } = props;
345
345
  const editorStore = useEditorStore();
346
346
  const mappingEditorState =
347
- editorStore.getCurrentEditorState(MappingEditorState);
347
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
348
348
  const enumeration = enumerationMapping.enumeration;
349
349
  // ID
350
350
  const showId =
@@ -113,7 +113,7 @@ const EnumerationPropertyMappingEditor = observer(
113
113
  props;
114
114
  const editorStore = useEditorStore();
115
115
  const mappingEditorState =
116
- editorStore.getCurrentEditorState(MappingEditorState);
116
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
117
117
  const propertyMapping = guaranteeType(
118
118
  propertyMappingState.propertyMapping,
119
119
  FlatDataPropertyMapping,
@@ -99,7 +99,7 @@ export const InstanceSetImplementationSourceExplorer = observer(
99
99
  const editorStore = useEditorStore();
100
100
  const applicationStore = useApplicationStore();
101
101
  const mappingEditorState =
102
- editorStore.getCurrentEditorState(MappingEditorState);
102
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
103
103
  const instanceSetImplementationState =
104
104
  mappingEditorState.currentTabState instanceof MappingElementState
105
105
  ? mappingEditorState.currentTabState
@@ -437,7 +437,7 @@ export const InstanceSetImplementationEditor = observer(
437
437
  const editorStore = useEditorStore();
438
438
  const applicationStore = useApplicationStore();
439
439
  const mappingEditorState =
440
- editorStore.getCurrentEditorState(MappingEditorState);
440
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
441
441
  const [sortByRequired, setSortByRequired] = useState(true);
442
442
  const instanceSetImplementationState = guaranteeNonNullable(
443
443
  mappingEditorState.currentTabState instanceof
@@ -38,7 +38,6 @@ import {
38
38
  import { ClassMappingEditor } from './ClassMappingEditor.js';
39
39
  import { EnumerationMappingEditor } from './EnumerationMappingEditor.js';
40
40
  import {
41
- type MappingEditorTabState,
42
41
  type MappingElement,
43
42
  MappingEditorState,
44
43
  getMappingElementTarget,
@@ -68,6 +67,7 @@ import {
68
67
  useApplicationStore,
69
68
  } from '@finos/legend-application';
70
69
  import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../../stores/LegendStudioApplicationNavigationContext.js';
70
+ import type { MappingEditorTabState } from '../../../../stores/editor-state/element-editor-state/mapping/MappingTabManagerState.js';
71
71
 
72
72
  export const MappingEditorSplashScreen: React.FC = () => {
73
73
  const logoWidth = 280;
@@ -103,7 +103,7 @@ const MappingEditorHeaderTabContextMenu = observer(
103
103
  const editorStore = useEditorStore();
104
104
  const applicationStore = useApplicationStore();
105
105
  const mappingEditorState =
106
- editorStore.getCurrentEditorState(MappingEditorState);
106
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
107
107
  const close = applicationStore.guardUnhandledError(() =>
108
108
  flowResult(mappingEditorState.closeTab(tabState)),
109
109
  );
@@ -156,7 +156,7 @@ export const MappingEditor = observer(() => {
156
156
  const editorStore = useEditorStore();
157
157
  const applicationStore = useApplicationStore();
158
158
  const mappingEditorState =
159
- editorStore.getCurrentEditorState(MappingEditorState);
159
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
160
160
  const isReadOnly = mappingEditorState.isReadOnly;
161
161
  const currentTabState = mappingEditorState.currentTabState;
162
162
  const renderActiveMappingElementTab = (): React.ReactNode => {
@@ -82,7 +82,7 @@ export const MappingExplorerContextMenu = observer(
82
82
  const editorStore = useEditorStore();
83
83
  const applicationStore = useApplicationStore();
84
84
  const mappingEditorState =
85
- editorStore.getCurrentEditorState(MappingEditorState);
85
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
86
86
  const currentMappingElement =
87
87
  mappingEditorState.currentTabState instanceof MappingElementState
88
88
  ? mappingEditorState.currentTabState.mappingElement
@@ -232,7 +232,7 @@ export const MappingElementExplorer = observer(
232
232
  const { mappingElement, openNewMapingModal, isReadOnly } = props;
233
233
  const editorStore = useEditorStore();
234
234
  const mappingEditorState =
235
- editorStore.getCurrentEditorState(MappingEditorState);
235
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
236
236
  const currentMappingElement =
237
237
  mappingEditorState.currentTabState instanceof MappingElementState
238
238
  ? mappingEditorState.currentTabState.mappingElement
@@ -321,7 +321,7 @@ const MappingElementTreeNodeContainer = observer(
321
321
  const mappingElement = node.mappingElement;
322
322
  const editorStore = useEditorStore();
323
323
  const mappingEditorState =
324
- editorStore.getCurrentEditorState(MappingEditorState);
324
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
325
325
  const currentMappingElement =
326
326
  mappingEditorState.currentTabState instanceof MappingElementState
327
327
  ? mappingEditorState.currentTabState.mappingElement
@@ -429,7 +429,7 @@ export const MappingExplorer = observer((props: { isReadOnly: boolean }) => {
429
429
  const { isReadOnly } = props;
430
430
  const editorStore = useEditorStore();
431
431
  const mappingEditorState =
432
- editorStore.getCurrentEditorState(MappingEditorState);
432
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
433
433
  const mapping = mappingEditorState.mapping;
434
434
  const mappingElements = getAllMappingElements(mapping).sort((a, b) =>
435
435
  getMappingIdentitySortString(a, getMappingElementTarget(a)).localeCompare(
@@ -483,7 +483,7 @@ export const MappingExplorer = observer((props: { isReadOnly: boolean }) => {
483
483
  : undefined;
484
484
  const visitGenerationParentElement = (): void => {
485
485
  if (generationParentElement) {
486
- editorStore.openElement(generationParentElement);
486
+ editorStore.tabManagerState.openElementEditor(generationParentElement);
487
487
  }
488
488
  };
489
489
  // explorer tree data
@@ -22,7 +22,6 @@ import {
22
22
  MAPPING_TEST_EDITOR_TAB_TYPE,
23
23
  TEST_RESULT,
24
24
  } from '../../../../stores/editor-state/element-editor-state/mapping/MappingTestState.js';
25
- import { MappingEditorState } from '../../../../stores/editor-state/element-editor-state/mapping/MappingEditorState.js';
26
25
  import {
27
26
  clsx,
28
27
  ContextMenu,
@@ -49,6 +48,7 @@ import { Randomizer } from '@finos/legend-shared';
49
48
  import { useEditorStore } from '../../EditorStoreProvider.js';
50
49
  import { useApplicationStore } from '@finos/legend-application';
51
50
  import { SetImplementation } from '@finos/legend-graph';
51
+ import { MappingEditorState } from '../../../../stores/editor-state/element-editor-state/mapping/MappingEditorState.js';
52
52
 
53
53
  const addTestPromps = [
54
54
  `Let's add some test!`,
@@ -221,7 +221,7 @@ export const MappingTestExplorer = observer(
221
221
  const editorStore = useEditorStore();
222
222
  const applicationStore = useApplicationStore();
223
223
  const mappingEditorState =
224
- editorStore.getCurrentEditorState(MappingEditorState);
224
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
225
225
  const openTest = applicationStore.guardUnhandledError(() =>
226
226
  flowResult(mappingEditorState.openTest(testState.test)),
227
227
  );
@@ -312,7 +312,7 @@ export const MappingTestsExplorer = observer(
312
312
  const editorStore = useEditorStore();
313
313
  const applicationStore = useApplicationStore();
314
314
  const mappingEditorState =
315
- editorStore.getCurrentEditorState(MappingEditorState);
315
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
316
316
  const runAllTests = applicationStore.guardUnhandledError(() =>
317
317
  flowResult(mappingEditorState.runTests()),
318
318
  );
@@ -58,7 +58,7 @@ interface ClassMappingSubTypeOption {
58
58
  export const NewMappingElementModal = observer(() => {
59
59
  const editorStore = useEditorStore();
60
60
  const mappingEditorState =
61
- editorStore.getCurrentEditorState(MappingEditorState);
61
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
62
62
  const spec = mappingEditorState.newMappingElementSpec;
63
63
 
64
64
  // ID
@@ -72,7 +72,7 @@ export const OperationSetImplementationEditor = observer(
72
72
  const { setImplementation, isReadOnly } = props;
73
73
  const editorStore = useEditorStore();
74
74
  const mappingEditorState =
75
- editorStore.getCurrentEditorState(MappingEditorState);
75
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
76
76
  const mapping = mappingEditorState.mapping;
77
77
  // Parameters
78
78
  const setImplementationOptions = getClassMappingsByClass(
@@ -169,8 +169,8 @@ export const OperationSetImplementationEditor = observer(
169
169
  const parent = param.setImplementation.value._PARENT;
170
170
  // TODO: think more about this flow. Right now we open the mapping element in the parent mapping
171
171
  if (parent !== mappingEditorState.element) {
172
- editorStore.openElement(parent);
173
- editorStore
172
+ editorStore.tabManagerState.openElementEditor(parent);
173
+ editorStore.tabManagerState
174
174
  .getCurrentEditorState(MappingEditorState)
175
175
  .openMappingElement(param.setImplementation.value, false);
176
176
  } else {
@@ -150,7 +150,7 @@ export const PropertyMappingEditor = observer(
150
150
  const editorStore = useEditorStore();
151
151
  const applicationStore = useApplicationStore();
152
152
  const mappingEditorState =
153
- editorStore.getCurrentEditorState(MappingEditorState);
153
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
154
154
  const propertyRawType = property.genericType.value.rawType;
155
155
  const propertyBasicType = getClassPropertyType(propertyRawType);
156
156
  const isEmbedded = instanceSetImplementation._isEmbedded;
@@ -193,8 +193,8 @@ export const PropertyMappingEditor = observer(
193
193
  const parent = rootMappingElement._PARENT;
194
194
  if (parent !== mappingEditorState.element) {
195
195
  // TODO: think more about this flow. Right now we open the mapping element in the parent mapping
196
- editorStore.openElement(parent);
197
- editorStore
196
+ editorStore.tabManagerState.openElementEditor(parent);
197
+ editorStore.tabManagerState
198
198
  .getCurrentEditorState(MappingEditorState)
199
199
  .openMappingElement(rootMappingElement, false);
200
200
  }
@@ -67,7 +67,9 @@ const SimplePropertyMappingEditor = observer(
67
67
  const propertyMapping = propertyMappingState.propertyMapping;
68
68
  const expectedType =
69
69
  propertyMapping.property.value.genericType.value.rawType;
70
- const canDrop = dragItem && dragItem.data.type === expectedType;
70
+
71
+ const canDrop = dragItem?.data?.type === expectedType;
72
+
71
73
  const onExpectedTypeLabelSelect = (): void =>
72
74
  propertyMappingState.instanceSetImplementationState.setSelectedType(
73
75
  expectedType,
@@ -117,7 +119,7 @@ const EnumerationPropertyMappingEditor = observer(
117
119
  } = props;
118
120
  const editorStore = useEditorStore();
119
121
  const mappingEditorState =
120
- editorStore.getCurrentEditorState(MappingEditorState);
122
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
121
123
  const propertyMapping = propertyMappingState.propertyMapping;
122
124
  const enumeration = getRawGenericType(
123
125
  propertyMapping.property.value.genericType.value,
@@ -183,9 +185,9 @@ const EnumerationPropertyMappingEditor = observer(
183
185
  // NOTE: when we drag enum, we should highlight if the enumeration where that enum is part of matches
184
186
  const canDrop =
185
187
  dragItem &&
186
- ((dragItem.data.type && dragItem.data.type === expectedType) ||
188
+ ((dragItem.data?.type && dragItem.data.type === expectedType) ||
187
189
  (dragItemType === CORE_DND_TYPE.TYPE_TREE_ENUM &&
188
- dragItem.data.parent === expectedType));
190
+ dragItem.data?.parent === expectedType));
189
191
 
190
192
  return (
191
193
  <div className="property-mapping-editor__entry__container">
@@ -239,7 +241,7 @@ const ClassPropertyMappingEditor = observer(
239
241
  const { propertyMappingState, drop, dragItem, transformProps } = props;
240
242
  const editorStore = useEditorStore();
241
243
  const mappingEditorState =
242
- editorStore.getCurrentEditorState(MappingEditorState);
244
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
243
245
  const propertyMapping = propertyMappingState.propertyMapping;
244
246
  const isDefaultId =
245
247
  propertyMapping.targetSetImplementation?.value.id.isDefault;
@@ -271,7 +273,8 @@ const ClassPropertyMappingEditor = observer(
271
273
  }
272
274
  };
273
275
  // Drag and Drop
274
- const canDrop = dragItem?.data.type && dragItem.data.type === expectedType;
276
+
277
+ const canDrop = dragItem?.data?.type && dragItem.data.type === expectedType;
275
278
 
276
279
  return (
277
280
  <div className="property-mapping-editor__entry__container">
@@ -333,10 +336,12 @@ export const PurePropertyMappingEditor = observer(
333
336
  // if the dragged node is enum, when dropped, we want to have it as a constant
334
337
  let toAppend = '';
335
338
  if (dropType === CORE_DND_TYPE.TYPE_TREE_ENUM) {
336
- toAppend = `${dropItem.data.parent.path}.${dropItem.data.label}`;
339
+ toAppend = `${dropItem.data?.parent.path}.${dropItem.data?.label}`;
337
340
  } else {
338
- toAppend = dropItem.data.id;
339
- if (dropItem.data.property instanceof DerivedProperty) {
341
+ if (dropItem.data?.id) {
342
+ toAppend = dropItem.data.id;
343
+ }
344
+ if (dropItem.data?.property instanceof DerivedProperty) {
340
345
  toAppend += '()';
341
346
  }
342
347
  }
@@ -91,7 +91,7 @@ const EnumerationPropertyMappingEditor = observer(
91
91
  const { propertyMappingState, drop, transformProps, isReadOnly } = props;
92
92
  const editorStore = useEditorStore();
93
93
  const mappingEditorState =
94
- editorStore.getCurrentEditorState(MappingEditorState);
94
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
95
95
  const propertyMapping = guaranteeType(
96
96
  propertyMappingState.propertyMapping,
97
97
  RelationalPropertyMapping,
@@ -195,7 +195,7 @@ const ClassPropertyMappingEditor = observer(
195
195
  const { propertyMappingState, drop, transformProps } = props;
196
196
  const editorStore = useEditorStore();
197
197
  const mappingEditorState =
198
- editorStore.getCurrentEditorState(MappingEditorState);
198
+ editorStore.tabManagerState.getCurrentEditorState(MappingEditorState);
199
199
  const propertyMapping = propertyMappingState.propertyMapping;
200
200
  const isDefaultId =
201
201
  propertyMapping.targetSetImplementation?.value.id.isDefault;
@@ -661,7 +661,7 @@ const ProjectDependencyActions = observer(
661
661
  export const ProjectConfigurationEditor = observer(() => {
662
662
  const editorStore = useEditorStore();
663
663
  const applicationStore = useApplicationStore();
664
- const configState = editorStore.getCurrentEditorState(
664
+ const configState = editorStore.tabManagerState.getCurrentEditorState(
665
665
  ProjectConfigurationEditorState,
666
666
  );
667
667
  const sdlcState = editorStore.sdlcState;
@@ -57,7 +57,8 @@ import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../../st
57
57
 
58
58
  const ServiceGeneralEditor = observer(() => {
59
59
  const editorStore = useEditorStore();
60
- const serviceState = editorStore.getCurrentEditorState(ServiceEditorState);
60
+ const serviceState =
61
+ editorStore.tabManagerState.getCurrentEditorState(ServiceEditorState);
61
62
  const service = serviceState.service;
62
63
  const isReadOnly = serviceState.isReadOnly;
63
64
  // Pattern
@@ -401,7 +402,8 @@ const ServiceGeneralEditor = observer(() => {
401
402
  export const ServiceEditor = observer(() => {
402
403
  const editorStore = useEditorStore();
403
404
  const applicationStore = useApplicationStore();
404
- const serviceState = editorStore.getCurrentEditorState(ServiceEditorState);
405
+ const serviceState =
406
+ editorStore.tabManagerState.getCurrentEditorState(ServiceEditorState);
405
407
  const service = serviceState.service;
406
408
  const isReadOnly = serviceState.isReadOnly;
407
409
  // Tab
@@ -64,6 +64,7 @@ import { useEditorStore } from '../../EditorStoreProvider.js';
64
64
  import {
65
65
  type KeyedExecutionParameter,
66
66
  type Runtime,
67
+ type ServiceTest,
67
68
  Mapping,
68
69
  RuntimePointer,
69
70
  PackageableRuntime,
@@ -84,7 +85,8 @@ const PureExecutionContextConfigurationEditor = observer(
84
85
  const { executionContextState, pureExecutionState } = props;
85
86
  const executionContext = executionContextState.executionContext;
86
87
  const editorStore = useEditorStore();
87
- const serviceState = editorStore.getCurrentEditorState(ServiceEditorState);
88
+ const serviceState =
89
+ editorStore.tabManagerState.getCurrentEditorState(ServiceEditorState);
88
90
  const isReadOnly = serviceState.isReadOnly;
89
91
  // mapping
90
92
  // TODO: this is not generic error handling, as there could be other problems
@@ -118,7 +120,8 @@ const PureExecutionContextConfigurationEditor = observer(
118
120
  pureExecutionState.autoSelectRuntimeOnMappingChange(val.value);
119
121
  }
120
122
  };
121
- const visitMapping = (): void => editorStore.openElement(mapping);
123
+ const visitMapping = (): void =>
124
+ editorStore.tabManagerState.openElementEditor(mapping);
122
125
  // runtime
123
126
  const runtime = executionContext.runtime;
124
127
  const isRuntimePointer = runtime instanceof RuntimePointer;
@@ -199,7 +202,9 @@ const PureExecutionContextConfigurationEditor = observer(
199
202
  };
200
203
  const visitRuntime = (): void => {
201
204
  if (runtime instanceof RuntimePointer) {
202
- editorStore.openElement(runtime.packageableRuntime.value);
205
+ editorStore.tabManagerState.openElementEditor(
206
+ runtime.packageableRuntime.value,
207
+ );
203
208
  }
204
209
  };
205
210
  const openRuntimeEditor = (): void =>
@@ -773,6 +778,10 @@ const ServicePureExecutionEditor = observer(
773
778
  servicePureExecutionState instanceof MultiServicePureExecutionState;
774
779
  const showChangeExecutionModal = (): void => {
775
780
  if (servicePureExecutionState instanceof MultiServicePureExecutionState) {
781
+ servicePureExecutionState.serviceEditorState.service.tests.forEach(
782
+ (suite) =>
783
+ suite.tests.forEach((st) => ((st as ServiceTest).keys = [])),
784
+ );
776
785
  servicePureExecutionState.setSingleExecutionKey(
777
786
  servicePureExecutionState.execution.executionParameters[0],
778
787
  );
@@ -873,7 +882,8 @@ const ServicePureExecutionEditor = observer(
873
882
 
874
883
  export const ServiceExecutionEditor = observer(() => {
875
884
  const editorStore = useEditorStore();
876
- const serviceState = editorStore.getCurrentEditorState(ServiceEditorState);
885
+ const serviceState =
886
+ editorStore.tabManagerState.getCurrentEditorState(ServiceEditorState);
877
887
  const executionState = serviceState.executionState;
878
888
  const isReadOnly = serviceState.isReadOnly;
879
889
  if (executionState instanceof ServicePureExecutionState) {
@@ -34,7 +34,8 @@ import { useApplicationStore } from '@finos/legend-application';
34
34
  export const ServiceRegistrationEditor = observer(() => {
35
35
  const editorStore = useEditorStore();
36
36
  const applicationStore = useApplicationStore();
37
- const serviceState = editorStore.getCurrentEditorState(ServiceEditorState);
37
+ const serviceState =
38
+ editorStore.tabManagerState.getCurrentEditorState(ServiceEditorState);
38
39
  const registrationState = serviceState.registrationState;
39
40
 
40
41
  // env & execution server