@finos/legend-application-studio 18.1.0 → 19.1.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 (349) hide show
  1. package/lib/application/LegendStudio.d.ts.map +1 -1
  2. package/lib/application/LegendStudio.js +3 -9
  3. package/lib/application/LegendStudio.js.map +1 -1
  4. package/lib/components/Core_LegendStudioApplicationPlugin.d.ts +2 -1
  5. package/lib/components/Core_LegendStudioApplicationPlugin.d.ts.map +1 -1
  6. package/lib/components/Core_LegendStudioApplicationPlugin.js +5 -1
  7. package/lib/components/Core_LegendStudioApplicationPlugin.js.map +1 -1
  8. package/lib/components/EditorComponentTestUtils.d.ts.map +1 -1
  9. package/lib/components/EditorComponentTestUtils.js +3 -3
  10. package/lib/components/EditorComponentTestUtils.js.map +1 -1
  11. package/lib/components/LegendStudioApplication.d.ts.map +1 -1
  12. package/lib/components/LegendStudioApplication.js +11 -8
  13. package/lib/components/LegendStudioApplication.js.map +1 -1
  14. package/lib/components/editor/ActivityBar.d.ts.map +1 -1
  15. package/lib/components/editor/ActivityBar.js +13 -18
  16. package/lib/components/editor/ActivityBar.js.map +1 -1
  17. package/lib/components/editor/Editor.d.ts.map +1 -1
  18. package/lib/components/editor/Editor.js +58 -95
  19. package/lib/components/editor/Editor.js.map +1 -1
  20. package/lib/components/editor/StatusBar.d.ts.map +1 -1
  21. package/lib/components/editor/StatusBar.js +4 -6
  22. package/lib/components/editor/StatusBar.js.map +1 -1
  23. package/lib/components/editor/aux-panel/AuxiliaryPanel.js +1 -1
  24. package/lib/components/editor/aux-panel/AuxiliaryPanel.js.map +1 -1
  25. package/lib/components/editor/command-center/ProjectSearchCommand.d.ts.map +1 -1
  26. package/lib/components/editor/command-center/ProjectSearchCommand.js +1 -1
  27. package/lib/components/editor/command-center/ProjectSearchCommand.js.map +1 -1
  28. package/lib/components/editor/edit-panel/EditPanel.d.ts.map +1 -1
  29. package/lib/components/editor/edit-panel/EditPanel.js +5 -5
  30. package/lib/components/editor/edit-panel/EditPanel.js.map +1 -1
  31. package/lib/components/editor/edit-panel/FileGenerationViewer.d.ts.map +1 -1
  32. package/lib/components/editor/edit-panel/FileGenerationViewer.js +2 -2
  33. package/lib/components/editor/edit-panel/FileGenerationViewer.js.map +1 -1
  34. package/lib/components/editor/edit-panel/FunctionEditor.d.ts.map +1 -1
  35. package/lib/components/editor/edit-panel/FunctionEditor.js +33 -7
  36. package/lib/components/editor/edit-panel/FunctionEditor.js.map +1 -1
  37. package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts.map +1 -1
  38. package/lib/components/editor/edit-panel/GrammarTextEditor.js +4 -16
  39. package/lib/components/editor/edit-panel/GrammarTextEditor.js.map +1 -1
  40. package/lib/components/editor/edit-panel/ModelImporter.d.ts.map +1 -1
  41. package/lib/components/editor/edit-panel/ModelImporter.js +6 -32
  42. package/lib/components/editor/edit-panel/ModelImporter.js.map +1 -1
  43. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js +2 -3
  44. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js.map +1 -1
  45. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.d.ts.map +1 -1
  46. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js +14 -15
  47. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -1
  48. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.d.ts.map +1 -1
  49. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js +12 -6
  50. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js.map +1 -1
  51. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.d.ts.map +1 -1
  52. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js +3 -3
  53. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js.map +1 -1
  54. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
  55. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js +3 -4
  56. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js.map +1 -1
  57. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
  58. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js +7 -8
  59. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js.map +1 -1
  60. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.d.ts.map +1 -1
  61. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js +3 -3
  62. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js.map +1 -1
  63. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.d.ts.map +1 -1
  64. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.js +4 -5
  65. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.js.map +1 -1
  66. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.js +2 -3
  67. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.js.map +1 -1
  68. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.d.ts.map +1 -1
  69. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js +2 -3
  70. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js.map +1 -1
  71. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.d.ts.map +1 -1
  72. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js +2 -3
  73. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js.map +1 -1
  74. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.d.ts.map +1 -1
  75. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.js +2 -3
  76. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.js.map +1 -1
  77. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js +3 -3
  78. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js.map +1 -1
  79. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.d.ts.map +1 -1
  80. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js +5 -9
  81. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js.map +1 -1
  82. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
  83. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js +12 -15
  84. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js.map +1 -1
  85. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.d.ts.map +1 -1
  86. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js +9 -12
  87. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js.map +1 -1
  88. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.d.ts.map +1 -1
  89. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js +4 -5
  90. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js.map +1 -1
  91. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js +4 -4
  92. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js.map +1 -1
  93. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js +4 -4
  94. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js.map +1 -1
  95. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -1
  96. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js +17 -41
  97. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
  98. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.d.ts.map +1 -1
  99. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.js +4 -5
  100. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.js.map +1 -1
  101. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js +16 -16
  102. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js.map +1 -1
  103. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.d.ts.map +1 -1
  104. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js +6 -7
  105. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js.map +1 -1
  106. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js +9 -9
  107. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
  108. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.js +5 -5
  109. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.js.map +1 -1
  110. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -1
  111. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js +4 -2
  112. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js.map +1 -1
  113. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.d.ts.map +1 -1
  114. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.js +2 -3
  115. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.js.map +1 -1
  116. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.d.ts.map +1 -1
  117. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js +7 -5
  118. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js.map +1 -1
  119. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.d.ts.map +1 -1
  120. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js +12 -8
  121. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js.map +1 -1
  122. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.d.ts.map +1 -1
  123. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js +7 -5
  124. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js.map +1 -1
  125. package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -1
  126. package/lib/components/editor/side-bar/CreateNewElementModal.js +4 -5
  127. package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -1
  128. package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
  129. package/lib/components/editor/side-bar/Explorer.js +21 -12
  130. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  131. package/lib/components/editor/side-bar/WorkflowManager.js +3 -5
  132. package/lib/components/editor/side-bar/WorkflowManager.js.map +1 -1
  133. package/lib/components/editor/side-bar/WorkspaceReview.d.ts.map +1 -1
  134. package/lib/components/editor/side-bar/WorkspaceReview.js +5 -32
  135. package/lib/components/editor/side-bar/WorkspaceReview.js.map +1 -1
  136. package/lib/components/editor/side-bar/WorkspaceUpdater.d.ts.map +1 -1
  137. package/lib/components/editor/side-bar/WorkspaceUpdater.js +2 -26
  138. package/lib/components/editor/side-bar/WorkspaceUpdater.js.map +1 -1
  139. package/lib/components/editor/side-bar/testable/GlobalTestRunner.d.ts.map +1 -1
  140. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js +3 -4
  141. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js.map +1 -1
  142. package/lib/components/project-viewer/ProjectViewer.d.ts.map +1 -1
  143. package/lib/components/project-viewer/ProjectViewer.js +19 -33
  144. package/lib/components/project-viewer/ProjectViewer.js.map +1 -1
  145. package/lib/components/shared/DiffView.d.ts.map +1 -1
  146. package/lib/components/shared/DiffView.js +4 -19
  147. package/lib/components/shared/DiffView.js.map +1 -1
  148. package/lib/components/workspace-review/WorkspaceReview.d.ts.map +1 -1
  149. package/lib/components/workspace-review/WorkspaceReview.js +8 -6
  150. package/lib/components/workspace-review/WorkspaceReview.js.map +1 -1
  151. package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +1 -1
  152. package/lib/components/workspace-review/WorkspaceReviewPanel.js +2 -2
  153. package/lib/components/workspace-review/WorkspaceReviewPanel.js.map +1 -1
  154. package/lib/components/workspace-review/WorkspaceReviewSideBar.js +1 -1
  155. package/lib/components/workspace-review/WorkspaceReviewSideBar.js.map +1 -1
  156. package/lib/components/workspace-setup/CreateProjectModal.d.ts.map +1 -1
  157. package/lib/components/workspace-setup/CreateProjectModal.js +10 -6
  158. package/lib/components/workspace-setup/CreateProjectModal.js.map +1 -1
  159. package/lib/components/workspace-setup/CreateWorkspaceModal.d.ts.map +1 -1
  160. package/lib/components/workspace-setup/CreateWorkspaceModal.js +4 -5
  161. package/lib/components/workspace-setup/CreateWorkspaceModal.js.map +1 -1
  162. package/lib/components/workspace-setup/WorkspaceSetup.d.ts.map +1 -1
  163. package/lib/components/workspace-setup/WorkspaceSetup.js +4 -1
  164. package/lib/components/workspace-setup/WorkspaceSetup.js.map +1 -1
  165. package/lib/index.css +2 -2
  166. package/lib/index.css.map +1 -1
  167. package/lib/index.d.ts +0 -1
  168. package/lib/index.d.ts.map +1 -1
  169. package/lib/index.js +0 -1
  170. package/lib/index.js.map +1 -1
  171. package/lib/package.json +5 -7
  172. package/lib/stores/EditorConfig.d.ts +0 -28
  173. package/lib/stores/EditorConfig.d.ts.map +1 -1
  174. package/lib/stores/EditorConfig.js +0 -29
  175. package/lib/stores/EditorConfig.js.map +1 -1
  176. package/lib/stores/EditorGraphState.d.ts.map +1 -1
  177. package/lib/stores/EditorGraphState.js +8 -8
  178. package/lib/stores/EditorGraphState.js.map +1 -1
  179. package/lib/stores/EditorSDLCState.d.ts.map +1 -1
  180. package/lib/stores/EditorSDLCState.js +4 -2
  181. package/lib/stores/EditorSDLCState.js.map +1 -1
  182. package/lib/stores/EditorStore.d.ts +27 -30
  183. package/lib/stores/EditorStore.d.ts.map +1 -1
  184. package/lib/stores/EditorStore.js +183 -146
  185. package/lib/stores/EditorStore.js.map +1 -1
  186. package/lib/stores/EmbeddedQueryBuilderState.d.ts +1 -1
  187. package/lib/stores/EmbeddedQueryBuilderState.d.ts.map +1 -1
  188. package/lib/stores/EmbeddedQueryBuilderState.js +7 -8
  189. package/lib/stores/EmbeddedQueryBuilderState.js.map +1 -1
  190. package/lib/stores/LegendStudioBaseStore.d.ts +1 -1
  191. package/lib/stores/LegendStudioBaseStore.d.ts.map +1 -1
  192. package/lib/stores/LegendStudioBaseStore.js +25 -17
  193. package/lib/stores/LegendStudioBaseStore.js.map +1 -1
  194. package/lib/stores/LegendStudioCommand.d.ts +32 -0
  195. package/lib/stores/LegendStudioCommand.d.ts.map +1 -0
  196. package/lib/stores/LegendStudioCommand.js +81 -0
  197. package/lib/stores/LegendStudioCommand.js.map +1 -0
  198. package/lib/stores/LegendStudioRouter.d.ts +15 -15
  199. package/lib/stores/LegendStudioRouter.d.ts.map +1 -1
  200. package/lib/stores/LegendStudioRouter.js +37 -24
  201. package/lib/stores/LegendStudioRouter.js.map +1 -1
  202. package/lib/stores/editor-state/GraphGenerationState.d.ts.map +1 -1
  203. package/lib/stores/editor-state/GraphGenerationState.js +2 -3
  204. package/lib/stores/editor-state/GraphGenerationState.js.map +1 -1
  205. package/lib/stores/editor-state/ModelImporterState.d.ts.map +1 -1
  206. package/lib/stores/editor-state/ModelImporterState.js +21 -21
  207. package/lib/stores/editor-state/ModelImporterState.js.map +1 -1
  208. package/lib/stores/editor-state/ProjectConfigurationEditorState.js +2 -2
  209. package/lib/stores/editor-state/ProjectConfigurationEditorState.js.map +1 -1
  210. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts.map +1 -1
  211. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js +1 -3
  212. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
  213. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts.map +1 -1
  214. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js +1 -3
  215. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -1
  216. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -1
  217. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js +2 -2
  218. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
  219. package/lib/stores/project-viewer/ProjectViewerStore.d.ts +2 -4
  220. package/lib/stores/project-viewer/ProjectViewerStore.d.ts.map +1 -1
  221. package/lib/stores/project-viewer/ProjectViewerStore.js +45 -44
  222. package/lib/stores/project-viewer/ProjectViewerStore.js.map +1 -1
  223. package/lib/stores/shared/MockDataUtils.d.ts.map +1 -1
  224. package/lib/stores/shared/MockDataUtils.js +3 -4
  225. package/lib/stores/shared/MockDataUtils.js.map +1 -1
  226. package/lib/stores/shared/PackageTreeUtils.d.ts +1 -0
  227. package/lib/stores/shared/PackageTreeUtils.d.ts.map +1 -1
  228. package/lib/stores/shared/PackageTreeUtils.js +5 -2
  229. package/lib/stores/shared/PackageTreeUtils.js.map +1 -1
  230. package/lib/stores/shared/testable/TestableUtils.d.ts.map +1 -1
  231. package/lib/stores/shared/testable/TestableUtils.js +6 -6
  232. package/lib/stores/shared/testable/TestableUtils.js.map +1 -1
  233. package/lib/stores/sidebar-state/LocalChangesState.d.ts +1 -0
  234. package/lib/stores/sidebar-state/LocalChangesState.d.ts.map +1 -1
  235. package/lib/stores/sidebar-state/LocalChangesState.js +42 -25
  236. package/lib/stores/sidebar-state/LocalChangesState.js.map +1 -1
  237. package/lib/stores/sidebar-state/ProjectOverviewState.d.ts.map +1 -1
  238. package/lib/stores/sidebar-state/ProjectOverviewState.js +3 -2
  239. package/lib/stores/sidebar-state/ProjectOverviewState.js.map +1 -1
  240. package/lib/stores/sidebar-state/WorkspaceReviewState.d.ts.map +1 -1
  241. package/lib/stores/sidebar-state/WorkspaceReviewState.js +10 -10
  242. package/lib/stores/sidebar-state/WorkspaceReviewState.js.map +1 -1
  243. package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts.map +1 -1
  244. package/lib/stores/sidebar-state/WorkspaceSyncState.js +6 -8
  245. package/lib/stores/sidebar-state/WorkspaceSyncState.js.map +1 -1
  246. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.d.ts.map +1 -1
  247. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js +20 -17
  248. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js.map +1 -1
  249. package/lib/stores/sidebar-state/WorkspaceUpdaterState.d.ts.map +1 -1
  250. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js +8 -7
  251. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js.map +1 -1
  252. package/lib/stores/workspace-setup/WorkspaceSetupStore.js +6 -6
  253. package/lib/stores/workspace-setup/WorkspaceSetupStore.js.map +1 -1
  254. package/package.json +14 -16
  255. package/src/application/LegendStudio.tsx +3 -9
  256. package/src/components/Core_LegendStudioApplicationPlugin.tsx +9 -0
  257. package/src/components/EditorComponentTestUtils.tsx +8 -2
  258. package/src/components/LegendStudioApplication.tsx +28 -8
  259. package/src/components/editor/ActivityBar.tsx +35 -73
  260. package/src/components/editor/Editor.tsx +135 -172
  261. package/src/components/editor/StatusBar.tsx +16 -13
  262. package/src/components/editor/aux-panel/AuxiliaryPanel.tsx +1 -1
  263. package/src/components/editor/command-center/ProjectSearchCommand.tsx +12 -16
  264. package/src/components/editor/edit-panel/EditPanel.tsx +14 -22
  265. package/src/components/editor/edit-panel/FileGenerationViewer.tsx +9 -11
  266. package/src/components/editor/edit-panel/FunctionEditor.tsx +51 -5
  267. package/src/components/editor/edit-panel/GrammarTextEditor.tsx +2 -18
  268. package/src/components/editor/edit-panel/ModelImporter.tsx +10 -38
  269. package/src/components/editor/edit-panel/connection-editor/DatabaseBuilder.tsx +2 -2
  270. package/src/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.tsx +32 -33
  271. package/src/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.tsx +28 -23
  272. package/src/components/editor/edit-panel/data-editor/DataElementEditor.tsx +8 -9
  273. package/src/components/editor/edit-panel/data-editor/EmbeddedDataEditor.tsx +8 -10
  274. package/src/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.tsx +7 -8
  275. package/src/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.tsx +2 -2
  276. package/src/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.tsx +9 -5
  277. package/src/components/editor/edit-panel/element-generation-editor/ElementNativeView.tsx +2 -2
  278. package/src/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.tsx +5 -3
  279. package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.tsx +2 -3
  280. package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.tsx +2 -3
  281. package/src/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.tsx +3 -3
  282. package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.tsx +5 -9
  283. package/src/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.tsx +23 -27
  284. package/src/components/editor/edit-panel/mapping-editor/MappingTestEditor.tsx +20 -24
  285. package/src/components/editor/edit-panel/mapping-editor/NewMappingElementModal.tsx +4 -5
  286. package/src/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.tsx +4 -4
  287. package/src/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.tsx +4 -4
  288. package/src/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.tsx +57 -75
  289. package/src/components/editor/edit-panel/service-editor/NewServiceModal.tsx +7 -5
  290. package/src/components/editor/edit-panel/service-editor/ServiceExecutionEditor.tsx +16 -16
  291. package/src/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.tsx +15 -14
  292. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.tsx +9 -9
  293. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.tsx +5 -5
  294. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.tsx +4 -2
  295. package/src/components/editor/edit-panel/testable/TestAssertionEditor.tsx +2 -3
  296. package/src/components/editor/edit-panel/uml-editor/AssociationEditor.tsx +12 -5
  297. package/src/components/editor/edit-panel/uml-editor/ClassEditor.tsx +17 -11
  298. package/src/components/editor/edit-panel/uml-editor/EnumerationEditor.tsx +14 -5
  299. package/src/components/editor/side-bar/CreateNewElementModal.tsx +4 -5
  300. package/src/components/editor/side-bar/Explorer.tsx +60 -39
  301. package/src/components/editor/side-bar/WorkflowManager.tsx +3 -3
  302. package/src/components/editor/side-bar/WorkspaceReview.tsx +5 -35
  303. package/src/components/editor/side-bar/WorkspaceUpdater.tsx +2 -31
  304. package/src/components/editor/side-bar/testable/GlobalTestRunner.tsx +3 -4
  305. package/src/components/project-viewer/ProjectViewer.tsx +65 -78
  306. package/src/components/shared/DiffView.tsx +3 -22
  307. package/src/components/workspace-review/WorkspaceReview.tsx +26 -16
  308. package/src/components/workspace-review/WorkspaceReviewPanel.tsx +5 -9
  309. package/src/components/workspace-review/WorkspaceReviewSideBar.tsx +1 -1
  310. package/src/components/workspace-setup/CreateProjectModal.tsx +14 -10
  311. package/src/components/workspace-setup/CreateWorkspaceModal.tsx +6 -5
  312. package/src/components/workspace-setup/WorkspaceSetup.tsx +6 -1
  313. package/src/index.ts +0 -1
  314. package/src/stores/EditorConfig.ts +0 -30
  315. package/src/stores/EditorGraphState.ts +9 -8
  316. package/src/stores/EditorSDLCState.ts +4 -2
  317. package/src/stores/EditorStore.ts +231 -245
  318. package/src/stores/EmbeddedQueryBuilderState.ts +14 -9
  319. package/src/stores/LegendStudioBaseStore.ts +33 -24
  320. package/src/stores/LegendStudioCommand.ts +83 -0
  321. package/src/stores/LegendStudioRouter.ts +50 -41
  322. package/src/stores/editor-state/GraphGenerationState.ts +3 -2
  323. package/src/stores/editor-state/ModelImporterState.ts +35 -23
  324. package/src/stores/editor-state/ProjectConfigurationEditorState.ts +2 -2
  325. package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +1 -3
  326. package/src/stores/editor-state/element-editor-state/service/ServiceRegistrationState.ts +1 -3
  327. package/src/stores/editor-state/element-editor-state/testable/TestAssertionState.ts +2 -1
  328. package/src/stores/project-viewer/ProjectViewerStore.ts +65 -59
  329. package/src/stores/shared/MockDataUtils.ts +4 -3
  330. package/src/stores/shared/PackageTreeUtils.ts +10 -1
  331. package/src/stores/shared/testable/TestableUtils.ts +6 -5
  332. package/src/stores/sidebar-state/LocalChangesState.ts +50 -36
  333. package/src/stores/sidebar-state/ProjectOverviewState.ts +4 -2
  334. package/src/stores/sidebar-state/WorkspaceReviewState.ts +11 -10
  335. package/src/stores/sidebar-state/WorkspaceSyncState.ts +6 -8
  336. package/src/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.ts +20 -17
  337. package/src/stores/sidebar-state/WorkspaceUpdaterState.ts +8 -7
  338. package/src/stores/workspace-setup/WorkspaceSetupStore.ts +6 -6
  339. package/tsconfig.json +1 -2
  340. package/lib/components/shared/StudioLambdaEditor.d.ts +0 -41
  341. package/lib/components/shared/StudioLambdaEditor.d.ts.map +0 -1
  342. package/lib/components/shared/StudioLambdaEditor.js +0 -53
  343. package/lib/components/shared/StudioLambdaEditor.js.map +0 -1
  344. package/lib/components/shared/StudioTextInputEditor.d.ts +0 -28
  345. package/lib/components/shared/StudioTextInputEditor.d.ts.map +0 -1
  346. package/lib/components/shared/StudioTextInputEditor.js +0 -36
  347. package/lib/components/shared/StudioTextInputEditor.js.map +0 -1
  348. package/src/components/shared/StudioLambdaEditor.tsx +0 -146
  349. package/src/components/shared/StudioTextInputEditor.tsx +0 -83
@@ -159,7 +159,6 @@ export const NewParameterModal = observer(
159
159
  };
160
160
  const options = setupState.newParamOptions;
161
161
  const closeModal = (): void => setupState.setShowNewParameterModal(false);
162
- const handleSubmit = (): void => setupState.addParameterValue();
163
162
  const onChange = (val: { label: string; value: string } | null): void => {
164
163
  if (val === null) {
165
164
  setupState.setNewParameterValueName('');
@@ -175,7 +174,10 @@ export const NewParameterModal = observer(
175
174
  PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
176
175
  >
177
176
  <form
178
- onSubmit={handleSubmit}
177
+ onSubmit={(event) => {
178
+ event.preventDefault();
179
+ setupState.addParameterValue();
180
+ }}
179
181
  className="modal modal--dark search-modal"
180
182
  >
181
183
  <div className="modal__title">New Test Parameter Value </div>
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { EDITOR_LANGUAGE } from '@finos/legend-application';
17
+ import { EDITOR_LANGUAGE, TextInputEditor } from '@finos/legend-application';
18
18
  import {
19
19
  clsx,
20
20
  CompareIcon,
@@ -43,7 +43,6 @@ import {
43
43
  import { externalFormatData_setData } from '../../../../stores/shared/modifier/DSL_Data_GraphModifierHelper.js';
44
44
  import { TESTABLE_RESULT } from '../../../../stores/sidebar-state/testable/GlobalTestRunnerState.js';
45
45
  import { JsonDiffView } from '../../../shared/DiffView.js';
46
- import { StudioTextInputEditor } from '../../../shared/StudioTextInputEditor.js';
47
46
  import { UnsupportedEditorPanel } from '../UnsupportedElementEditor.js';
48
47
 
49
48
  const EqualToJsonAsssertionEditor = observer(
@@ -80,7 +79,7 @@ const EqualToJsonAsssertionEditor = observer(
80
79
  </div>
81
80
  <div className="equal-to-json-editor__content panel__content">
82
81
  <div className="equal-to-json-editor__content__data">
83
- <StudioTextInputEditor
82
+ <TextInputEditor
84
83
  inputValue={assertion.expected.data}
85
84
  language={EDITOR_LANGUAGE.JSON}
86
85
  updateInput={(val: string): void => {
@@ -35,7 +35,7 @@ import {
35
35
  ResizablePanelGroup,
36
36
  ResizablePanelSplitterLine,
37
37
  BlankPanelContent,
38
- getControlledResizablePanelProps,
38
+ getCollapsiblePanelGroupProps,
39
39
  InputWithInlineValidation,
40
40
  LockIcon,
41
41
  PlusIcon,
@@ -440,13 +440,22 @@ export const AssociationEditor = observer(
440
440
  LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.ASSOCIATION_EDITOR,
441
441
  );
442
442
 
443
+ // layout
444
+ const propertyEditorCollapsiblePanelGroupProps =
445
+ getCollapsiblePanelGroupProps(!selectedProperty, {
446
+ size: 250,
447
+ });
448
+
443
449
  return (
444
450
  <div
445
451
  data-testid={LEGEND_STUDIO_TEST_ID.ASSOCIATION_EDITOR}
446
452
  className="uml-element-editor association-editor"
447
453
  >
448
454
  <ResizablePanelGroup orientation="horizontal">
449
- <ResizablePanel minSize={56}>
455
+ <ResizablePanel
456
+ {...propertyEditorCollapsiblePanelGroupProps.remainingPanel}
457
+ minSize={56}
458
+ >
450
459
  <Panel>
451
460
  <div className="panel__header">
452
461
  <div className="panel__header__title">
@@ -561,9 +570,7 @@ export const AssociationEditor = observer(
561
570
  <ResizablePanelSplitterLine color="var(--color-light-grey-200)" />
562
571
  </ResizablePanelSplitter>
563
572
  <ResizablePanel
564
- {...getControlledResizablePanelProps(!selectedProperty, {
565
- size: 250,
566
- })}
573
+ {...propertyEditorCollapsiblePanelGroupProps.collapsiblePanel}
567
574
  direction={-1}
568
575
  >
569
576
  {selectedProperty ? (
@@ -31,7 +31,7 @@ import {
31
31
  ResizablePanelSplitter,
32
32
  ResizablePanelSplitterLine,
33
33
  BlankPanelContent,
34
- getControlledResizablePanelProps,
34
+ getCollapsiblePanelGroupProps,
35
35
  InputWithInlineValidation,
36
36
  LockIcon,
37
37
  PlusIcon,
@@ -93,7 +93,6 @@ import {
93
93
  getAllClassDerivedProperties,
94
94
  isElementReadOnly,
95
95
  } from '@finos/legend-graph';
96
- import { StudioLambdaEditor } from '../../../shared/StudioLambdaEditor.js';
97
96
  import {
98
97
  ApplicationNavigationContextData,
99
98
  buildElementOption,
@@ -134,6 +133,7 @@ import {
134
133
  getClassPropertyType,
135
134
  } from '../../../../stores/shared/ModelClassifierUtils.js';
136
135
  import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../../stores/LegendStudioApplicationNavigationContext.js';
136
+ import { LambdaEditor } from '@finos/legend-query-builder';
137
137
 
138
138
  type ClassPropertyDragSource = {
139
139
  property: Property;
@@ -811,7 +811,7 @@ const DerivedPropertyBasicEditor = observer(
811
811
  </button>
812
812
  )}
813
813
  </div>
814
- <StudioLambdaEditor
814
+ <LambdaEditor
815
815
  disabled={
816
816
  editorState.classState
817
817
  .isConvertingDerivedPropertyLambdaObjects ||
@@ -821,7 +821,7 @@ const DerivedPropertyBasicEditor = observer(
821
821
  lambdaEditorState={dpState}
822
822
  forceBackdrop={hasParserError}
823
823
  expectedType={propertyType}
824
- onEditorFocusEventHandler={onLambdaEditorFocus}
824
+ onEditorFocus={onLambdaEditorFocus}
825
825
  />
826
826
  </div>
827
827
  </PanelEntryDropZonePlaceholder>
@@ -971,7 +971,7 @@ const ConstraintEditor = observer(
971
971
  </button>
972
972
  )}
973
973
  </div>
974
- <StudioLambdaEditor
974
+ <LambdaEditor
975
975
  disabled={
976
976
  editorState.classState.isConvertingConstraintLambdaObjects ||
977
977
  isReadOnly ||
@@ -982,7 +982,7 @@ const ConstraintEditor = observer(
982
982
  expectedType={editorStore.graphManagerState.graph.getPrimitiveType(
983
983
  PRIMITIVE_TYPE.BOOLEAN,
984
984
  )}
985
- onEditorFocusEventHandler={onLambdaEditorFocus}
985
+ onEditorFocus={onLambdaEditorFocus}
986
986
  />
987
987
  </div>
988
988
  </PanelEntryDropZonePlaceholder>
@@ -1688,13 +1688,22 @@ export const ClassFormEditor = observer(
1688
1688
  );
1689
1689
  }, [applicationStore, classState]);
1690
1690
 
1691
+ // layout
1692
+ const propertyEditorCollapsiblePanelGroupProps =
1693
+ getCollapsiblePanelGroupProps(!editorState.selectedProperty, {
1694
+ size: 250,
1695
+ });
1696
+
1691
1697
  return (
1692
1698
  <div
1693
1699
  data-testid={LEGEND_STUDIO_TEST_ID.CLASS_FORM_EDITOR}
1694
1700
  className="uml-element-editor class-form-editor"
1695
1701
  >
1696
1702
  <ResizablePanelGroup orientation="horizontal">
1697
- <ResizablePanel minSize={56}>
1703
+ <ResizablePanel
1704
+ {...propertyEditorCollapsiblePanelGroupProps.remainingPanel}
1705
+ minSize={56}
1706
+ >
1698
1707
  <Panel>
1699
1708
  <div className="panel__header">
1700
1709
  <div className="panel__header__title">
@@ -1804,10 +1813,7 @@ export const ClassFormEditor = observer(
1804
1813
  <ResizablePanelSplitterLine color="var(--color-light-grey-200)" />
1805
1814
  </ResizablePanelSplitter>
1806
1815
  <ResizablePanel
1807
- {...getControlledResizablePanelProps(
1808
- !editorState.selectedProperty,
1809
- { size: 250 },
1810
- )}
1816
+ {...propertyEditorCollapsiblePanelGroupProps.collapsiblePanel}
1811
1817
  direction={-1}
1812
1818
  >
1813
1819
  {editorState.selectedProperty ? (
@@ -30,7 +30,7 @@ import { prettyCONSTName } from '@finos/legend-shared';
30
30
  import {
31
31
  BlankPanelContent,
32
32
  clsx,
33
- getControlledResizablePanelProps,
33
+ getCollapsiblePanelGroupProps,
34
34
  InputWithInlineValidation,
35
35
  ResizablePanel,
36
36
  ResizablePanelGroup,
@@ -541,13 +541,24 @@ export const EnumerationEditor = observer(
541
541
  LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.ENUMERATION_EDITOR,
542
542
  );
543
543
 
544
+ // layout
545
+ const enumEditorCollapsiblePanelGroupProps = getCollapsiblePanelGroupProps(
546
+ !selectedEnum,
547
+ {
548
+ size: 250,
549
+ },
550
+ );
551
+
544
552
  return (
545
553
  <div
546
554
  data-testid={LEGEND_STUDIO_TEST_ID.ENUMERATION_EDITOR}
547
555
  className="uml-element-editor enumeration-editor"
548
556
  >
549
557
  <ResizablePanelGroup orientation="horizontal">
550
- <ResizablePanel minSize={56}>
558
+ <ResizablePanel
559
+ {...enumEditorCollapsiblePanelGroupProps.remainingPanel}
560
+ minSize={56}
561
+ >
551
562
  <Panel>
552
563
  <div className="panel__header">
553
564
  <div className="panel__header__title">
@@ -674,9 +685,7 @@ export const EnumerationEditor = observer(
674
685
  <ResizablePanelSplitterLine color="var(--color-light-grey-200)" />
675
686
  </ResizablePanelSplitter>
676
687
  <ResizablePanel
677
- {...getControlledResizablePanelProps(!selectedEnum, {
678
- size: 250,
679
- })}
688
+ {...enumEditorCollapsiblePanelGroupProps.collapsiblePanel}
680
689
  direction={-1}
681
690
  >
682
691
  {selectedEnum ? (
@@ -464,10 +464,6 @@ export const CreateNewElementModal = observer(() => {
464
464
  newElementState.setName('');
465
465
  elementNameInputRef.current?.focus();
466
466
  };
467
- const handleSubmit = (event: React.FormEvent<HTMLFormElement>): void => {
468
- event.preventDefault();
469
- save();
470
- };
471
467
 
472
468
  if (!newElementState.showModal) {
473
469
  return null;
@@ -484,7 +480,10 @@ export const CreateNewElementModal = observer(() => {
484
480
  >
485
481
  <form
486
482
  data-testid={LEGEND_STUDIO_TEST_ID.NEW_ELEMENT_MODAL}
487
- onSubmit={handleSubmit}
483
+ onSubmit={(event) => {
484
+ event.preventDefault();
485
+ save();
486
+ }}
488
487
  className="modal modal--dark search-modal"
489
488
  >
490
489
  <div className="modal__title">
@@ -54,7 +54,10 @@ import { useDrag } from 'react-dnd';
54
54
  import { ElementDragSource } from '../../../stores/shared/DnDUtils.js';
55
55
  import { LEGEND_STUDIO_TEST_ID } from '../../LegendStudioTestID.js';
56
56
  import { ACTIVITY_MODE } from '../../../stores/EditorConfig.js';
57
- import { getTreeChildNodes } from '../../../stores/shared/PackageTreeUtils.js';
57
+ import {
58
+ generatePackageableElementTreeNodeDataLabel,
59
+ getTreeChildNodes,
60
+ } from '../../../stores/shared/PackageTreeUtils.js';
58
61
  import type { PackageTreeNodeData } from '../../../stores/shared/TreeUtils.js';
59
62
  import {
60
63
  type GenerationTreeNodeData,
@@ -75,7 +78,11 @@ import {
75
78
  isSystemElement,
76
79
  isDependencyElement,
77
80
  isElementReadOnly,
81
+ ConcreteFunctionDefinition,
78
82
  Class,
83
+ isMainGraphElement,
84
+ getFunctionSignature,
85
+ getFunctionNameWithPath,
79
86
  } from '@finos/legend-graph';
80
87
  import { useApplicationStore } from '@finos/legend-application';
81
88
  import { PACKAGEABLE_ELEMENT_TYPE } from '../../../stores/shared/ModelClassifierUtils.js';
@@ -87,7 +94,11 @@ const ElementRenamer = observer(() => {
87
94
  const applicationStore = useApplicationStore();
88
95
  const explorerTreeState = editorStore.explorerTreeState;
89
96
  const element = explorerTreeState.elementToRename;
90
- const [path, setPath] = useState(element?.path ?? '');
97
+ const [path, setPath] = useState(
98
+ (element instanceof ConcreteFunctionDefinition
99
+ ? getFunctionNameWithPath(element)
100
+ : element?.path) ?? '',
101
+ );
91
102
  const pathInputRef = useRef<HTMLInputElement>(null);
92
103
  const changePath: React.ChangeEventHandler<HTMLInputElement> = (
93
104
  event,
@@ -98,8 +109,16 @@ const ElementRenamer = observer(() => {
98
109
  element instanceof Package || path.includes(ELEMENT_PATH_DELIMITER);
99
110
  const isValidElementPath =
100
111
  (element instanceof Package && isValidPath(path)) || isValidFullPath(path);
101
- const existingElement =
102
- editorStore.graphManagerState.graph.getNullableElement(path, true);
112
+ let existingElement = editorStore.graphManagerState.graph.getNullableElement(
113
+ path,
114
+ true,
115
+ );
116
+ existingElement =
117
+ existingElement instanceof Package
118
+ ? isMainGraphElement(existingElement)
119
+ ? existingElement
120
+ : undefined
121
+ : existingElement;
103
122
  const isElementUnique = !existingElement || existingElement === element;
104
123
  const elementRenameValidationErrorMessage = !isElementPathNonEmpty
105
124
  ? `Element path cannot be empty`
@@ -120,9 +139,14 @@ const ElementRenamer = observer(() => {
120
139
  event.preventDefault();
121
140
  if (element && canRenameElement) {
122
141
  explorerTreeState.setElementToRename(undefined);
123
- flowResult(editorStore.renameElement(element, path)).catch(
124
- applicationStore.alertUnhandledError,
125
- );
142
+ flowResult(
143
+ editorStore.renameElement(
144
+ element,
145
+ element instanceof ConcreteFunctionDefinition
146
+ ? path + getFunctionSignature(element)
147
+ : path,
148
+ ),
149
+ ).catch(applicationStore.alertUnhandledError);
126
150
  }
127
151
  };
128
152
 
@@ -131,7 +155,11 @@ const ElementRenamer = observer(() => {
131
155
 
132
156
  useEffect(() => {
133
157
  if (element) {
134
- setPath(element.path);
158
+ setPath(
159
+ element instanceof ConcreteFunctionDefinition
160
+ ? getFunctionNameWithPath(element)
161
+ : element.path,
162
+ );
135
163
  }
136
164
  }, [element]);
137
165
 
@@ -449,7 +477,10 @@ const PackageTreeNodeContainer = observer(
449
477
  tabIndex={-1}
450
478
  title={node.packageableElement.path}
451
479
  >
452
- {node.label}
480
+ {generatePackageableElementTreeNodeDataLabel(
481
+ node.packageableElement,
482
+ node,
483
+ )}
453
484
  </button>
454
485
  </div>
455
486
  </ContextMenu>
@@ -713,36 +744,26 @@ const ProjectExplorerActionPanel = observer((props: { disabled: boolean }) => {
713
744
  <FileImportIcon />
714
745
  </button>
715
746
  )}
716
- <DropdownMenu
717
- disabled={
718
- disabled ||
719
- isInGrammarMode ||
720
- (selectedTreeNode &&
721
- isElementReadOnly(selectedTreeNode.packageableElement))
722
- }
723
- content={<ExplorerDropdownMenu />}
724
- menuProps={{
725
- anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
726
- transformOrigin: { vertical: 'top', horizontal: 'left' },
727
- elevation: 7,
728
- }}
729
- >
730
- {!editorStore.isInViewerMode && (
731
- <button
732
- disabled={
733
- disabled ||
734
- isInGrammarMode ||
735
- (selectedTreeNode &&
736
- isElementReadOnly(selectedTreeNode.packageableElement))
737
- }
738
- className="panel__header__action"
739
- tabIndex={-1}
740
- title="New Element... (Ctrl + Shift + N)"
741
- >
742
- <PlusIcon />
743
- </button>
744
- )}
745
- </DropdownMenu>
747
+ {!editorStore.isInViewerMode && (
748
+ <DropdownMenu
749
+ className="panel__header__action"
750
+ title="New Element... (Ctrl + Shift + N)"
751
+ disabled={
752
+ disabled ||
753
+ isInGrammarMode ||
754
+ (selectedTreeNode &&
755
+ isElementReadOnly(selectedTreeNode.packageableElement))
756
+ }
757
+ content={<ExplorerDropdownMenu />}
758
+ menuProps={{
759
+ anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
760
+ transformOrigin: { vertical: 'top', horizontal: 'left' },
761
+ elevation: 7,
762
+ }}
763
+ >
764
+ <PlusIcon />
765
+ </DropdownMenu>
766
+ )}
746
767
  <button
747
768
  className="panel__header__action"
748
769
  disabled={disabled}
@@ -37,12 +37,12 @@ import {
37
37
  BanIcon,
38
38
  PanelContent,
39
39
  } from '@finos/legend-art';
40
- import { formatDistanceToNow } from 'date-fns';
41
40
  import { LEGEND_STUDIO_TEST_ID } from '../../LegendStudioTestID.js';
42
41
  import { flowResult } from 'mobx';
43
42
  import { WorkflowJobStatus, WorkflowStatus } from '@finos/legend-server-sdlc';
44
43
  import {
45
44
  EDITOR_LANGUAGE,
45
+ TextInputEditor,
46
46
  useApplicationStore,
47
47
  } from '@finos/legend-application';
48
48
  import {
@@ -54,11 +54,11 @@ import {
54
54
  WorkflowTreeNodeData,
55
55
  } from '../../../stores/sidebar-state/WorkflowManagerState.js';
56
56
  import {
57
+ formatDistanceToNow,
57
58
  guaranteeNonNullable,
58
59
  guaranteeType,
59
60
  isNonNullable,
60
61
  } from '@finos/legend-shared';
61
- import { StudioTextInputEditor } from '../../shared/StudioTextInputEditor.js';
62
62
 
63
63
  const getWorkflowStatusIcon = (
64
64
  workflowStatus: WorkflowStatus,
@@ -231,7 +231,7 @@ const WorkflowJobLogsViewer = observer(
231
231
  </div>
232
232
  </div>
233
233
  <div className="modal__body">
234
- <StudioTextInputEditor
234
+ <TextInputEditor
235
235
  inputValue={logs}
236
236
  isReadOnly={true}
237
237
  language={EDITOR_LANGUAGE.TEXT}
@@ -30,18 +30,14 @@ import {
30
30
  PanelContent,
31
31
  } from '@finos/legend-art';
32
32
  import { ACTIVITY_MODE } from '../../../stores/EditorConfig.js';
33
- import { formatDistanceToNow } from 'date-fns';
34
33
  import { generateReviewRoute } from '../../../stores/LegendStudioRouter.js';
35
34
  import { LEGEND_STUDIO_TEST_ID } from '../../LegendStudioTestID.js';
36
35
  import { flowResult } from 'mobx';
37
36
  import type { EntityDiff } from '@finos/legend-server-sdlc';
38
37
  import { entityDiffSorter } from '../../../stores/EditorSDLCState.js';
39
38
  import { useEditorStore } from '../EditorStoreProvider.js';
40
- import {
41
- ActionAlertType,
42
- ActionAlertActionType,
43
- } from '@finos/legend-application';
44
39
  import { useLegendStudioApplicationStore } from '../../LegendStudioBaseStoreProvider.js';
40
+ import { formatDistanceToNow } from '@finos/legend-shared';
45
41
 
46
42
  export const WorkspaceReviewDiffs = observer(() => {
47
43
  const editorStore = useEditorStore();
@@ -134,38 +130,12 @@ export const WorkspaceReview = observer(() => {
134
130
  };
135
131
  const commitReview = (): void => {
136
132
  if (workspaceReview && !isDispatchingAction) {
137
- const commit = (): void => {
133
+ editorStore.localChangesState.alertUnsavedChanges((): void => {
138
134
  workspaceReviewState.setReviewTitle('');
139
135
  flowResult(
140
136
  workspaceReviewState.commitWorkspaceReview(workspaceReview),
141
137
  ).catch(applicationStore.alertUnhandledError);
142
- };
143
- if (editorStore.localChangesState.hasUnpushedChanges) {
144
- editorStore.setActionAlertInfo({
145
- message: 'You have unpushed changes',
146
- prompt:
147
- 'This action will discard these changes and refresh the application',
148
- type: ActionAlertType.CAUTION,
149
- onEnter: (): void => editorStore.setBlockGlobalHotkeys(true),
150
- onClose: (): void => editorStore.setBlockGlobalHotkeys(false),
151
- actions: [
152
- {
153
- label: 'Proceed to commit review',
154
- type: ActionAlertActionType.PROCEED_WITH_CAUTION,
155
- handler: (): void => {
156
- commit();
157
- },
158
- },
159
- {
160
- label: 'Abort',
161
- type: ActionAlertActionType.PROCEED,
162
- default: true,
163
- },
164
- ],
165
- });
166
- } else {
167
- commit();
168
- }
138
+ });
169
139
  }
170
140
  };
171
141
  const createReview = (): void => {
@@ -239,8 +209,8 @@ export const WorkspaceReview = observer(() => {
239
209
  <>
240
210
  <form
241
211
  className="workspace-review__title"
242
- onSubmit={(e): void => {
243
- e.preventDefault();
212
+ onSubmit={(event) => {
213
+ event.preventDefault();
244
214
  }}
245
215
  >
246
216
  <div className="workspace-review__title__content">
@@ -41,10 +41,6 @@ import type {
41
41
  } from '@finos/legend-server-sdlc';
42
42
  import { entityDiffSorter } from '../../../stores/EditorSDLCState.js';
43
43
  import { useEditorStore } from '../EditorStoreProvider.js';
44
- import {
45
- ActionAlertType,
46
- ActionAlertActionType,
47
- } from '@finos/legend-application';
48
44
  import { useLegendStudioApplicationStore } from '../../LegendStudioBaseStoreProvider.js';
49
45
 
50
46
  export const WorkspaceUpdater = observer(() => {
@@ -55,36 +51,11 @@ export const WorkspaceUpdater = observer(() => {
55
51
  const workspaceUpdaterState = editorStore.workspaceUpdaterState;
56
52
  // Actions
57
53
  const updateWorkspace = (): void => {
58
- if (editorStore.localChangesState.hasUnpushedChanges) {
59
- editorStore.setActionAlertInfo({
60
- message: 'You have unpushed changes',
61
- prompt:
62
- 'This action will discard these changes and refresh the application',
63
- type: ActionAlertType.CAUTION,
64
- onEnter: (): void => editorStore.setBlockGlobalHotkeys(true),
65
- onClose: (): void => editorStore.setBlockGlobalHotkeys(false),
66
- actions: [
67
- {
68
- label: 'Proceed to update workspace',
69
- type: ActionAlertActionType.PROCEED_WITH_CAUTION,
70
- handler: (): void => {
71
- flowResult(workspaceUpdaterState.updateWorkspace()).catch(
72
- applicationStore.alertUnhandledError,
73
- );
74
- },
75
- },
76
- {
77
- label: 'Abort',
78
- type: ActionAlertActionType.PROCEED,
79
- default: true,
80
- },
81
- ],
82
- });
83
- } else {
54
+ editorStore.localChangesState.alertUnsavedChanges((): void => {
84
55
  flowResult(workspaceUpdaterState.updateWorkspace()).catch(
85
56
  applicationStore.alertUnhandledError,
86
57
  );
87
- }
58
+ });
88
59
  };
89
60
  const refreshWorkspaceUpdater = applicationStore.guardUnhandledError(() =>
90
61
  flowResult(workspaceUpdaterState.refreshWorkspaceUpdater()),
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { EDITOR_LANGUAGE } from '@finos/legend-application';
17
+ import { EDITOR_LANGUAGE, TextInputEditor } from '@finos/legend-application';
18
18
  import {
19
19
  type TreeData,
20
20
  type TreeNodeContainerProps,
@@ -62,7 +62,6 @@ import {
62
62
  import { LEGEND_STUDIO_TEST_ID } from '../../../LegendStudioTestID.js';
63
63
  import { TextDiffView } from '../../../shared/DiffView.js';
64
64
  import { getElementTypeIcon } from '../../../shared/ElementIconUtils.js';
65
- import { StudioTextInputEditor } from '../../../shared/StudioTextInputEditor.js';
66
65
  import { useEditorStore } from '../../EditorStoreProvider.js';
67
66
 
68
67
  export const getTestableResultIcon = (
@@ -169,7 +168,7 @@ const TestFailViewer = observer(
169
168
  </div>
170
169
  <div className="modal__body">
171
170
  {failure instanceof TestError && (
172
- <StudioTextInputEditor
171
+ <TextInputEditor
173
172
  inputValue={failure.error}
174
173
  isReadOnly={true}
175
174
  language={EDITOR_LANGUAGE.TEXT}
@@ -185,7 +184,7 @@ const TestFailViewer = observer(
185
184
  )}
186
185
  {failure instanceof AssertFail &&
187
186
  !(failure instanceof EqualToJsonAssertFail) && (
188
- <StudioTextInputEditor
187
+ <TextInputEditor
189
188
  inputValue={failure.message ?? ''}
190
189
  isReadOnly={true}
191
190
  language={EDITOR_LANGUAGE.TEXT}