@finos/legend-application-studio 18.1.0 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) 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.js +2 -2
  35. package/lib/components/editor/edit-panel/FunctionEditor.js.map +1 -1
  36. package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts.map +1 -1
  37. package/lib/components/editor/edit-panel/GrammarTextEditor.js +4 -16
  38. package/lib/components/editor/edit-panel/GrammarTextEditor.js.map +1 -1
  39. package/lib/components/editor/edit-panel/ModelImporter.d.ts.map +1 -1
  40. package/lib/components/editor/edit-panel/ModelImporter.js +6 -32
  41. package/lib/components/editor/edit-panel/ModelImporter.js.map +1 -1
  42. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js +2 -3
  43. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js.map +1 -1
  44. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.d.ts.map +1 -1
  45. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js +14 -15
  46. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -1
  47. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.d.ts.map +1 -1
  48. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js +12 -6
  49. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js.map +1 -1
  50. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.d.ts.map +1 -1
  51. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js +3 -3
  52. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js.map +1 -1
  53. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
  54. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js +3 -4
  55. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js.map +1 -1
  56. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
  57. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js +7 -8
  58. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js.map +1 -1
  59. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.d.ts.map +1 -1
  60. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js +3 -3
  61. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js.map +1 -1
  62. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.d.ts.map +1 -1
  63. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.js +4 -5
  64. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.js.map +1 -1
  65. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.js +2 -3
  66. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.js.map +1 -1
  67. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.d.ts.map +1 -1
  68. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js +2 -3
  69. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js.map +1 -1
  70. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.d.ts.map +1 -1
  71. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js +2 -3
  72. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js.map +1 -1
  73. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.d.ts.map +1 -1
  74. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.js +2 -3
  75. package/lib/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.js.map +1 -1
  76. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js +3 -3
  77. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js.map +1 -1
  78. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.d.ts.map +1 -1
  79. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js +5 -9
  80. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js.map +1 -1
  81. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
  82. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js +12 -15
  83. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js.map +1 -1
  84. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.d.ts.map +1 -1
  85. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js +9 -12
  86. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js.map +1 -1
  87. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.d.ts.map +1 -1
  88. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js +4 -5
  89. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js.map +1 -1
  90. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js +4 -4
  91. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js.map +1 -1
  92. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js +4 -4
  93. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js.map +1 -1
  94. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -1
  95. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js +17 -41
  96. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
  97. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.d.ts.map +1 -1
  98. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.js +4 -5
  99. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.js.map +1 -1
  100. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js +16 -16
  101. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js.map +1 -1
  102. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.d.ts.map +1 -1
  103. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js +6 -7
  104. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js.map +1 -1
  105. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js +9 -9
  106. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
  107. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.js +5 -5
  108. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.js.map +1 -1
  109. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -1
  110. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js +4 -2
  111. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js.map +1 -1
  112. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.d.ts.map +1 -1
  113. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.js +2 -3
  114. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.js.map +1 -1
  115. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.d.ts.map +1 -1
  116. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js +7 -5
  117. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js.map +1 -1
  118. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.d.ts.map +1 -1
  119. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js +12 -8
  120. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js.map +1 -1
  121. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.d.ts.map +1 -1
  122. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js +7 -5
  123. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js.map +1 -1
  124. package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -1
  125. package/lib/components/editor/side-bar/CreateNewElementModal.js +4 -5
  126. package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -1
  127. package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
  128. package/lib/components/editor/side-bar/Explorer.js +10 -7
  129. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  130. package/lib/components/editor/side-bar/WorkflowManager.js +3 -5
  131. package/lib/components/editor/side-bar/WorkflowManager.js.map +1 -1
  132. package/lib/components/editor/side-bar/WorkspaceReview.d.ts.map +1 -1
  133. package/lib/components/editor/side-bar/WorkspaceReview.js +5 -32
  134. package/lib/components/editor/side-bar/WorkspaceReview.js.map +1 -1
  135. package/lib/components/editor/side-bar/WorkspaceUpdater.d.ts.map +1 -1
  136. package/lib/components/editor/side-bar/WorkspaceUpdater.js +2 -26
  137. package/lib/components/editor/side-bar/WorkspaceUpdater.js.map +1 -1
  138. package/lib/components/editor/side-bar/testable/GlobalTestRunner.d.ts.map +1 -1
  139. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js +3 -4
  140. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js.map +1 -1
  141. package/lib/components/project-viewer/ProjectViewer.d.ts.map +1 -1
  142. package/lib/components/project-viewer/ProjectViewer.js +19 -33
  143. package/lib/components/project-viewer/ProjectViewer.js.map +1 -1
  144. package/lib/components/shared/DiffView.d.ts.map +1 -1
  145. package/lib/components/shared/DiffView.js +4 -19
  146. package/lib/components/shared/DiffView.js.map +1 -1
  147. package/lib/components/workspace-review/WorkspaceReview.d.ts.map +1 -1
  148. package/lib/components/workspace-review/WorkspaceReview.js +8 -6
  149. package/lib/components/workspace-review/WorkspaceReview.js.map +1 -1
  150. package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +1 -1
  151. package/lib/components/workspace-review/WorkspaceReviewPanel.js +2 -2
  152. package/lib/components/workspace-review/WorkspaceReviewPanel.js.map +1 -1
  153. package/lib/components/workspace-review/WorkspaceReviewSideBar.js +1 -1
  154. package/lib/components/workspace-review/WorkspaceReviewSideBar.js.map +1 -1
  155. package/lib/components/workspace-setup/CreateProjectModal.d.ts.map +1 -1
  156. package/lib/components/workspace-setup/CreateProjectModal.js +10 -6
  157. package/lib/components/workspace-setup/CreateProjectModal.js.map +1 -1
  158. package/lib/components/workspace-setup/CreateWorkspaceModal.d.ts.map +1 -1
  159. package/lib/components/workspace-setup/CreateWorkspaceModal.js +4 -5
  160. package/lib/components/workspace-setup/CreateWorkspaceModal.js.map +1 -1
  161. package/lib/components/workspace-setup/WorkspaceSetup.d.ts.map +1 -1
  162. package/lib/components/workspace-setup/WorkspaceSetup.js +4 -1
  163. package/lib/components/workspace-setup/WorkspaceSetup.js.map +1 -1
  164. package/lib/index.css +2 -2
  165. package/lib/index.css.map +1 -1
  166. package/lib/index.d.ts +0 -1
  167. package/lib/index.d.ts.map +1 -1
  168. package/lib/index.js +0 -1
  169. package/lib/index.js.map +1 -1
  170. package/lib/package.json +5 -7
  171. package/lib/stores/EditorConfig.d.ts +0 -28
  172. package/lib/stores/EditorConfig.d.ts.map +1 -1
  173. package/lib/stores/EditorConfig.js +0 -29
  174. package/lib/stores/EditorConfig.js.map +1 -1
  175. package/lib/stores/EditorGraphState.d.ts.map +1 -1
  176. package/lib/stores/EditorGraphState.js +8 -8
  177. package/lib/stores/EditorGraphState.js.map +1 -1
  178. package/lib/stores/EditorSDLCState.d.ts.map +1 -1
  179. package/lib/stores/EditorSDLCState.js +4 -2
  180. package/lib/stores/EditorSDLCState.js.map +1 -1
  181. package/lib/stores/EditorStore.d.ts +27 -30
  182. package/lib/stores/EditorStore.d.ts.map +1 -1
  183. package/lib/stores/EditorStore.js +183 -146
  184. package/lib/stores/EditorStore.js.map +1 -1
  185. package/lib/stores/EmbeddedQueryBuilderState.d.ts +1 -1
  186. package/lib/stores/EmbeddedQueryBuilderState.d.ts.map +1 -1
  187. package/lib/stores/EmbeddedQueryBuilderState.js +7 -8
  188. package/lib/stores/EmbeddedQueryBuilderState.js.map +1 -1
  189. package/lib/stores/LegendStudioBaseStore.d.ts +1 -1
  190. package/lib/stores/LegendStudioBaseStore.d.ts.map +1 -1
  191. package/lib/stores/LegendStudioBaseStore.js +25 -17
  192. package/lib/stores/LegendStudioBaseStore.js.map +1 -1
  193. package/lib/stores/LegendStudioCommand.d.ts +32 -0
  194. package/lib/stores/LegendStudioCommand.d.ts.map +1 -0
  195. package/lib/stores/LegendStudioCommand.js +81 -0
  196. package/lib/stores/LegendStudioCommand.js.map +1 -0
  197. package/lib/stores/LegendStudioRouter.d.ts +15 -15
  198. package/lib/stores/LegendStudioRouter.d.ts.map +1 -1
  199. package/lib/stores/LegendStudioRouter.js +37 -24
  200. package/lib/stores/LegendStudioRouter.js.map +1 -1
  201. package/lib/stores/editor-state/GraphGenerationState.d.ts.map +1 -1
  202. package/lib/stores/editor-state/GraphGenerationState.js +2 -3
  203. package/lib/stores/editor-state/GraphGenerationState.js.map +1 -1
  204. package/lib/stores/editor-state/ModelImporterState.d.ts.map +1 -1
  205. package/lib/stores/editor-state/ModelImporterState.js +21 -21
  206. package/lib/stores/editor-state/ModelImporterState.js.map +1 -1
  207. package/lib/stores/editor-state/ProjectConfigurationEditorState.js +2 -2
  208. package/lib/stores/editor-state/ProjectConfigurationEditorState.js.map +1 -1
  209. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts.map +1 -1
  210. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js +1 -3
  211. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
  212. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts.map +1 -1
  213. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js +1 -3
  214. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -1
  215. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -1
  216. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js +2 -2
  217. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
  218. package/lib/stores/project-viewer/ProjectViewerStore.d.ts +2 -4
  219. package/lib/stores/project-viewer/ProjectViewerStore.d.ts.map +1 -1
  220. package/lib/stores/project-viewer/ProjectViewerStore.js +45 -44
  221. package/lib/stores/project-viewer/ProjectViewerStore.js.map +1 -1
  222. package/lib/stores/shared/MockDataUtils.d.ts.map +1 -1
  223. package/lib/stores/shared/MockDataUtils.js +3 -4
  224. package/lib/stores/shared/MockDataUtils.js.map +1 -1
  225. package/lib/stores/shared/testable/TestableUtils.d.ts.map +1 -1
  226. package/lib/stores/shared/testable/TestableUtils.js +6 -6
  227. package/lib/stores/shared/testable/TestableUtils.js.map +1 -1
  228. package/lib/stores/sidebar-state/LocalChangesState.d.ts +1 -0
  229. package/lib/stores/sidebar-state/LocalChangesState.d.ts.map +1 -1
  230. package/lib/stores/sidebar-state/LocalChangesState.js +28 -10
  231. package/lib/stores/sidebar-state/LocalChangesState.js.map +1 -1
  232. package/lib/stores/sidebar-state/ProjectOverviewState.d.ts.map +1 -1
  233. package/lib/stores/sidebar-state/ProjectOverviewState.js +3 -2
  234. package/lib/stores/sidebar-state/ProjectOverviewState.js.map +1 -1
  235. package/lib/stores/sidebar-state/WorkspaceReviewState.d.ts.map +1 -1
  236. package/lib/stores/sidebar-state/WorkspaceReviewState.js +10 -10
  237. package/lib/stores/sidebar-state/WorkspaceReviewState.js.map +1 -1
  238. package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts.map +1 -1
  239. package/lib/stores/sidebar-state/WorkspaceSyncState.js +6 -8
  240. package/lib/stores/sidebar-state/WorkspaceSyncState.js.map +1 -1
  241. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.d.ts.map +1 -1
  242. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js +20 -17
  243. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js.map +1 -1
  244. package/lib/stores/sidebar-state/WorkspaceUpdaterState.d.ts.map +1 -1
  245. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js +8 -7
  246. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js.map +1 -1
  247. package/lib/stores/workspace-setup/WorkspaceSetupStore.js +6 -6
  248. package/lib/stores/workspace-setup/WorkspaceSetupStore.js.map +1 -1
  249. package/package.json +14 -16
  250. package/src/application/LegendStudio.tsx +3 -9
  251. package/src/components/Core_LegendStudioApplicationPlugin.tsx +9 -0
  252. package/src/components/EditorComponentTestUtils.tsx +8 -2
  253. package/src/components/LegendStudioApplication.tsx +28 -8
  254. package/src/components/editor/ActivityBar.tsx +35 -73
  255. package/src/components/editor/Editor.tsx +135 -172
  256. package/src/components/editor/StatusBar.tsx +16 -13
  257. package/src/components/editor/aux-panel/AuxiliaryPanel.tsx +1 -1
  258. package/src/components/editor/command-center/ProjectSearchCommand.tsx +12 -16
  259. package/src/components/editor/edit-panel/EditPanel.tsx +14 -22
  260. package/src/components/editor/edit-panel/FileGenerationViewer.tsx +9 -11
  261. package/src/components/editor/edit-panel/FunctionEditor.tsx +2 -2
  262. package/src/components/editor/edit-panel/GrammarTextEditor.tsx +2 -18
  263. package/src/components/editor/edit-panel/ModelImporter.tsx +10 -38
  264. package/src/components/editor/edit-panel/connection-editor/DatabaseBuilder.tsx +2 -2
  265. package/src/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.tsx +32 -33
  266. package/src/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.tsx +28 -23
  267. package/src/components/editor/edit-panel/data-editor/DataElementEditor.tsx +8 -9
  268. package/src/components/editor/edit-panel/data-editor/EmbeddedDataEditor.tsx +8 -10
  269. package/src/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.tsx +7 -8
  270. package/src/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.tsx +2 -2
  271. package/src/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.tsx +9 -5
  272. package/src/components/editor/edit-panel/element-generation-editor/ElementNativeView.tsx +2 -2
  273. package/src/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.tsx +5 -3
  274. package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.tsx +2 -3
  275. package/src/components/editor/edit-panel/external-format-editor/DSL_ExternalFormat_SchemaSetModelGenerationEditor.tsx +2 -3
  276. package/src/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.tsx +3 -3
  277. package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.tsx +5 -9
  278. package/src/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.tsx +23 -27
  279. package/src/components/editor/edit-panel/mapping-editor/MappingTestEditor.tsx +20 -24
  280. package/src/components/editor/edit-panel/mapping-editor/NewMappingElementModal.tsx +4 -5
  281. package/src/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.tsx +4 -4
  282. package/src/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.tsx +4 -4
  283. package/src/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.tsx +57 -75
  284. package/src/components/editor/edit-panel/service-editor/NewServiceModal.tsx +7 -5
  285. package/src/components/editor/edit-panel/service-editor/ServiceExecutionEditor.tsx +16 -16
  286. package/src/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.tsx +15 -14
  287. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.tsx +9 -9
  288. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.tsx +5 -5
  289. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.tsx +4 -2
  290. package/src/components/editor/edit-panel/testable/TestAssertionEditor.tsx +2 -3
  291. package/src/components/editor/edit-panel/uml-editor/AssociationEditor.tsx +12 -5
  292. package/src/components/editor/edit-panel/uml-editor/ClassEditor.tsx +17 -11
  293. package/src/components/editor/edit-panel/uml-editor/EnumerationEditor.tsx +14 -5
  294. package/src/components/editor/side-bar/CreateNewElementModal.tsx +4 -5
  295. package/src/components/editor/side-bar/Explorer.tsx +31 -32
  296. package/src/components/editor/side-bar/WorkflowManager.tsx +3 -3
  297. package/src/components/editor/side-bar/WorkspaceReview.tsx +5 -35
  298. package/src/components/editor/side-bar/WorkspaceUpdater.tsx +2 -31
  299. package/src/components/editor/side-bar/testable/GlobalTestRunner.tsx +3 -4
  300. package/src/components/project-viewer/ProjectViewer.tsx +65 -78
  301. package/src/components/shared/DiffView.tsx +3 -22
  302. package/src/components/workspace-review/WorkspaceReview.tsx +26 -16
  303. package/src/components/workspace-review/WorkspaceReviewPanel.tsx +5 -9
  304. package/src/components/workspace-review/WorkspaceReviewSideBar.tsx +1 -1
  305. package/src/components/workspace-setup/CreateProjectModal.tsx +14 -10
  306. package/src/components/workspace-setup/CreateWorkspaceModal.tsx +6 -5
  307. package/src/components/workspace-setup/WorkspaceSetup.tsx +6 -1
  308. package/src/index.ts +0 -1
  309. package/src/stores/EditorConfig.ts +0 -30
  310. package/src/stores/EditorGraphState.ts +9 -8
  311. package/src/stores/EditorSDLCState.ts +4 -2
  312. package/src/stores/EditorStore.ts +231 -245
  313. package/src/stores/EmbeddedQueryBuilderState.ts +14 -9
  314. package/src/stores/LegendStudioBaseStore.ts +33 -24
  315. package/src/stores/LegendStudioCommand.ts +83 -0
  316. package/src/stores/LegendStudioRouter.ts +50 -41
  317. package/src/stores/editor-state/GraphGenerationState.ts +3 -2
  318. package/src/stores/editor-state/ModelImporterState.ts +35 -23
  319. package/src/stores/editor-state/ProjectConfigurationEditorState.ts +2 -2
  320. package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +1 -3
  321. package/src/stores/editor-state/element-editor-state/service/ServiceRegistrationState.ts +1 -3
  322. package/src/stores/editor-state/element-editor-state/testable/TestAssertionState.ts +2 -1
  323. package/src/stores/project-viewer/ProjectViewerStore.ts +65 -59
  324. package/src/stores/shared/MockDataUtils.ts +4 -3
  325. package/src/stores/shared/testable/TestableUtils.ts +6 -5
  326. package/src/stores/sidebar-state/LocalChangesState.ts +29 -9
  327. package/src/stores/sidebar-state/ProjectOverviewState.ts +4 -2
  328. package/src/stores/sidebar-state/WorkspaceReviewState.ts +11 -10
  329. package/src/stores/sidebar-state/WorkspaceSyncState.ts +6 -8
  330. package/src/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.ts +20 -17
  331. package/src/stores/sidebar-state/WorkspaceUpdaterState.ts +8 -7
  332. package/src/stores/workspace-setup/WorkspaceSetupStore.ts +6 -6
  333. package/tsconfig.json +1 -2
  334. package/lib/components/shared/StudioLambdaEditor.d.ts +0 -41
  335. package/lib/components/shared/StudioLambdaEditor.d.ts.map +0 -1
  336. package/lib/components/shared/StudioLambdaEditor.js +0 -53
  337. package/lib/components/shared/StudioLambdaEditor.js.map +0 -1
  338. package/lib/components/shared/StudioTextInputEditor.d.ts +0 -28
  339. package/lib/components/shared/StudioTextInputEditor.d.ts.map +0 -1
  340. package/lib/components/shared/StudioTextInputEditor.js +0 -36
  341. package/lib/components/shared/StudioTextInputEditor.js.map +0 -1
  342. package/src/components/shared/StudioLambdaEditor.tsx +0 -146
  343. package/src/components/shared/StudioTextInputEditor.tsx +0 -83
@@ -440,7 +440,8 @@ export const EditPanel = observer(() => {
440
440
  <div className="edit-panel__header__actions">
441
441
  {currentEditorState instanceof ElementEditorState && (
442
442
  <DropdownMenu
443
- className="edit-panel__view-mode"
443
+ className="edit-panel__view-mode__type"
444
+ title="View as..."
444
445
  content={
445
446
  <MenuContent
446
447
  data-testid={
@@ -503,23 +504,19 @@ export const EditPanel = observer(() => {
503
504
  transformOrigin: { vertical: 'top', horizontal: 'right' },
504
505
  }}
505
506
  >
506
- <button
507
- className="edit-panel__view-mode__type"
508
- title="View as..."
509
- >
510
- <div className="edit-panel__view-mode__type__label">
511
- {currentEditorState.generationViewMode
512
- ? editorStore.graphState.graphGenerationState.getFileGenerationConfiguration(
513
- currentEditorState.generationViewMode,
514
- ).label
515
- : currentEditorState.editMode}
516
- </div>
517
- </button>
507
+ <div className="edit-panel__view-mode__type__label">
508
+ {currentEditorState.generationViewMode
509
+ ? editorStore.graphState.graphGenerationState.getFileGenerationConfiguration(
510
+ currentEditorState.generationViewMode,
511
+ ).label
512
+ : currentEditorState.editMode}
513
+ </div>
518
514
  </DropdownMenu>
519
515
  )}
520
516
  {currentEditorState instanceof EntityDiffViewState && (
521
517
  <DropdownMenu
522
- className="edit-panel__view-mode"
518
+ className="edit-panel__view-mode__type"
519
+ title="View as..."
523
520
  content={
524
521
  <MenuContent
525
522
  data-testid={
@@ -550,14 +547,9 @@ export const EditPanel = observer(() => {
550
547
  transformOrigin: { vertical: 'top', horizontal: 'right' },
551
548
  }}
552
549
  >
553
- <button
554
- className="edit-panel__view-mode__type"
555
- title="View as..."
556
- >
557
- <div className="edit-panel__view-mode__type__label">
558
- {currentEditorState.diffMode}
559
- </div>
560
- </button>
550
+ <div className="edit-panel__view-mode__type__label">
551
+ {currentEditorState.diffMode}
552
+ </div>
561
553
  </DropdownMenu>
562
554
  )}
563
555
  </div>
@@ -29,7 +29,7 @@ import {
29
29
  } from '@finos/legend-art';
30
30
  import type { FileGenerationSpecification } from '@finos/legend-graph';
31
31
  import { useEditorStore } from '../EditorStoreProvider.js';
32
- import { StudioTextInputEditor } from '../../shared/StudioTextInputEditor.js';
32
+ import { TextInputEditor } from '@finos/legend-application';
33
33
 
34
34
  export const FileGenerationViewer = observer(() => {
35
35
  const editorStore = useEditorStore();
@@ -90,16 +90,14 @@ export const FileGenerationViewer = observer(() => {
90
90
  </div>
91
91
  </div>
92
92
  <PanelContent>
93
- {
94
- <StudioTextInputEditor
95
- inputValue={getTextContent(
96
- generatedFile.content,
97
- generatedFile.format,
98
- )}
99
- isReadOnly={true}
100
- language={getEditorLanguageFromFormat(generatedFile.format)}
101
- />
102
- }
93
+ <TextInputEditor
94
+ inputValue={getTextContent(
95
+ generatedFile.content,
96
+ generatedFile.format,
97
+ )}
98
+ isReadOnly={true}
99
+ language={getEditorLanguageFromFormat(generatedFile.format)}
100
+ />
103
101
  </PanelContent>
104
102
  </div>
105
103
  </Panel>
@@ -82,7 +82,6 @@ import {
82
82
  useApplicationStore,
83
83
  buildElementOption,
84
84
  } from '@finos/legend-application';
85
- import { StudioLambdaEditor } from '../../shared/StudioLambdaEditor.js';
86
85
  import { getElementIcon } from '../../shared/ElementIconUtils.js';
87
86
  import {
88
87
  function_setReturnType,
@@ -101,6 +100,7 @@ import {
101
100
  rawVariableExpression_setType,
102
101
  } from '../../../stores/shared/modifier/RawValueSpecificationGraphModifierHelper.js';
103
102
  import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../stores/LegendStudioApplicationNavigationContext.js';
103
+ import { LambdaEditor } from '@finos/legend-query-builder';
104
104
 
105
105
  enum FUNCTION_PARAMETER_TYPE {
106
106
  CLASS = 'CLASS',
@@ -685,7 +685,7 @@ export const FunctionMainEditor = observer(
685
685
  ),
686
686
  })}
687
687
  >
688
- <StudioLambdaEditor
688
+ <LambdaEditor
689
689
  className="function-editor__element__lambda-editor"
690
690
  disabled={
691
691
  lambdaEditorState.isConvertingFunctionBodyToString || isReadOnly
@@ -20,7 +20,6 @@ import {
20
20
  type IDisposable,
21
21
  editor as monacoEditorAPI,
22
22
  languages as monacoLanguagesAPI,
23
- KeyCode,
24
23
  } from 'monaco-editor';
25
24
  import {
26
25
  ContextMenu,
@@ -28,7 +27,6 @@ import {
28
27
  setErrorMarkers,
29
28
  disposeEditor,
30
29
  baseTextEditorSettings,
31
- disableEditorHotKeys,
32
30
  resetLineNumberGutterWidth,
33
31
  clsx,
34
32
  WordWrapIcon,
@@ -46,6 +44,7 @@ import {
46
44
  useApplicationStore,
47
45
  type DocumentationEntry,
48
46
  useApplicationNavigationContext,
47
+ createPassThroughOnKeyHandler,
49
48
  } from '@finos/legend-application';
50
49
  import {
51
50
  type ElementDragSource,
@@ -817,22 +816,7 @@ export const GrammarTextEditor = observer(() => {
817
816
  // but if we do that on first load, the cursor will not jump to the current element
818
817
  // also, it's better to place that logic in an effect that watches for the regex string
819
818
  });
820
- _editor.onKeyDown((event) => {
821
- if (event.keyCode === KeyCode.F9) {
822
- event.preventDefault();
823
- event.stopPropagation();
824
- flowResult(editorStore.graphState.globalCompileInTextMode()).catch(
825
- applicationStore.alertUnhandledError,
826
- );
827
- } else if (event.keyCode === KeyCode.F8) {
828
- event.preventDefault();
829
- event.stopPropagation();
830
- flowResult(editorStore.toggleTextMode()).catch(
831
- applicationStore.alertUnhandledError,
832
- );
833
- }
834
- });
835
- disableEditorHotKeys(_editor);
819
+ _editor.onKeyDown(createPassThroughOnKeyHandler());
836
820
  _editor.focus(); // focus on the editor initially
837
821
  setEditor(_editor);
838
822
  }
@@ -39,13 +39,11 @@ import {
39
39
  import { flowResult } from 'mobx';
40
40
  import { useEditorStore } from '../EditorStoreProvider.js';
41
41
  import {
42
- ActionAlertType,
43
- ActionAlertActionType,
44
42
  useApplicationStore,
45
43
  EDITOR_LANGUAGE,
46
44
  useApplicationNavigationContext,
45
+ TextInputEditor,
47
46
  } from '@finos/legend-application';
48
- import { StudioTextInputEditor } from '../../shared/StudioTextInputEditor.js';
49
47
  import type { ModelImporterExtensionConfiguration } from '../../../stores/LegendStudioApplicationPlugin.js';
50
48
  import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../stores/LegendStudioApplicationNavigationContext.js';
51
49
  import { SCHEMA_SET_TAB_TYPE } from '../../../stores/editor-state/element-editor-state/external-format/DSL_ExternalFormat_SchemaSetEditorState.js';
@@ -151,36 +149,11 @@ export const ModelImporter = observer(() => {
151
149
  const label = modelImporterState.modelImportEditorState.label;
152
150
  const modelImportEditorState = modelImporterState.modelImportEditorState;
153
151
  const loadModel = (): void => {
154
- if (editorStore.localChangesState.hasUnpushedChanges) {
155
- editorStore.setActionAlertInfo({
156
- message: 'You have unpushed changes',
157
- prompt:
158
- 'This action will discard these changes and refresh the application',
159
- type: ActionAlertType.CAUTION,
160
- onEnter: (): void => editorStore.setBlockGlobalHotkeys(true),
161
- onClose: (): void => editorStore.setBlockGlobalHotkeys(false),
162
- actions: [
163
- {
164
- label: 'Proceed to load model',
165
- type: ActionAlertActionType.PROCEED_WITH_CAUTION,
166
- handler: (): void => {
167
- modelImporterState.modelImportEditorState
168
- .loadModel()
169
- .catch(applicationStore.alertUnhandledError);
170
- },
171
- },
172
- {
173
- label: 'Abort',
174
- type: ActionAlertActionType.PROCEED,
175
- default: true,
176
- },
177
- ],
178
- });
179
- } else {
152
+ editorStore.localChangesState.alertUnsavedChanges((): void => {
180
153
  modelImporterState.modelImportEditorState
181
154
  .loadModel()
182
155
  .catch(applicationStore.alertUnhandledError);
183
- }
156
+ });
184
157
  };
185
158
  useApplicationNavigationContext(
186
159
  LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.MODEL_LOADER,
@@ -216,7 +189,7 @@ export const ModelImporter = observer(() => {
216
189
  modelImportEditorState.setModelText(val);
217
190
  return (
218
191
  <div className="panel__content model-loader__editor">
219
- <StudioTextInputEditor
192
+ <TextInputEditor
220
193
  language={
221
194
  modelImportEditorState.nativeType ===
222
195
  MODEL_IMPORT_NATIVE_INPUT_TYPE.PURE_GRAMMAR
@@ -246,6 +219,7 @@ export const ModelImporter = observer(() => {
246
219
  <div className="panel__header model-loader__header">
247
220
  <div className="model-loader__header__configs">
248
221
  <DropdownMenu
222
+ className="model-loader__header__configs__type"
249
223
  content={
250
224
  <MenuContent className="model-loader__header__configs__type__menu">
251
225
  <div className="model-loader__header__configs__type-option__group model-loader__header__configs__type-option__group--native">
@@ -325,13 +299,11 @@ export const ModelImporter = observer(() => {
325
299
  transformOrigin: { vertical: 'top', horizontal: 'right' },
326
300
  }}
327
301
  >
328
- <div className="model-loader__header__configs__type">
329
- <div className="model-loader__header__configs__type__label">
330
- {prettyCONSTName(label)}
331
- </div>
332
- <div className="model-loader__header__configs__type__icon">
333
- <CaretDownIcon />
334
- </div>
302
+ <div className="model-loader__header__configs__type__label">
303
+ {prettyCONSTName(label)}
304
+ </div>
305
+ <div className="model-loader__header__configs__type__icon">
306
+ <CaretDownIcon />
335
307
  </div>
336
308
  </DropdownMenu>
337
309
  {modelImportEditorState.allowHardReplace && (
@@ -47,6 +47,7 @@ import {
47
47
  import { capitalize } from '@finos/legend-shared';
48
48
  import {
49
49
  EDITOR_LANGUAGE,
50
+ TextInputEditor,
50
51
  useApplicationStore,
51
52
  } from '@finos/legend-application';
52
53
  import {
@@ -54,7 +55,6 @@ import {
54
55
  renderColumnTypeIcon,
55
56
  } from './DatabaseEditorHelper.js';
56
57
  import { flowResult } from 'mobx';
57
- import { StudioTextInputEditor } from '../../../shared/StudioTextInputEditor.js';
58
58
 
59
59
  const getNodeIcon = (node: DatabaseBuilderTreeNodeData): React.ReactNode => {
60
60
  if (node instanceof SchemaDatabaseBuilderTreeNodeData) {
@@ -338,7 +338,7 @@ export const DatabaseBuilder = observer(
338
338
  </div>
339
339
  </div>
340
340
  <PanelContent>
341
- <StudioTextInputEditor
341
+ <TextInputEditor
342
342
  language={EDITOR_LANGUAGE.PURE}
343
343
  inputValue={databaseBuilderState.databaseGrammarCode}
344
344
  isReadOnly={true}
@@ -29,7 +29,6 @@ import {
29
29
  CustomSelectorInput,
30
30
  ErrorIcon,
31
31
  PanelHeader,
32
- PanelHeaderActionItem,
33
32
  PlusIcon,
34
33
  PanelFormTextEditor,
35
34
  ContextMenu,
@@ -46,6 +45,7 @@ import {
46
45
  PanelListSelectorItemLabel,
47
46
  PanelSection,
48
47
  PanelFormBooleanEditor,
48
+ PanelHeaderActions,
49
49
  } from '@finos/legend-art';
50
50
  import { capitalize, prettyCONSTName } from '@finos/legend-shared';
51
51
 
@@ -79,8 +79,8 @@ import {
79
79
  EDITOR_LANGUAGE,
80
80
  buildElementOption,
81
81
  type PackageableElementOption,
82
+ TextInputEditor,
82
83
  } from '@finos/legend-application';
83
- import { StudioTextInputEditor } from '../../../shared/StudioTextInputEditor.js';
84
84
  import { connection_setStore } from '../../../../stores/shared/modifier/DSL_Mapping_GraphModifierHelper.js';
85
85
  import {
86
86
  apiTokenAuthenticationStrategy_setApiToken,
@@ -153,7 +153,7 @@ const LocalH2DatasourceSpecificationEditor = observer(
153
153
  {capitalize('test data setup SQL')}
154
154
  </div>
155
155
  <div className="panel__content__form__section__text-editor">
156
- <StudioTextInputEditor
156
+ <TextInputEditor
157
157
  inputValue={SQLValue}
158
158
  updateInput={(value: string | undefined): void =>
159
159
  localH2DatasourceSpecification_setTestDataSetupSqls(
@@ -1024,39 +1024,38 @@ const PostProcessorRelationalConnectionEditor = observer(
1024
1024
  <ResizablePanel size={200} minSize={100}>
1025
1025
  <Panel>
1026
1026
  <PanelHeader title="post-processor">
1027
- <DropdownMenu
1028
- disabled={isReadOnly}
1029
- content={postProcessorOptions.map(
1030
- (postProcessorType) => (
1031
- <MenuContentItem
1032
- key={postProcessorType.value}
1033
- onClick={addPostProcessor(
1034
- postProcessorType.value,
1035
- )}
1036
- >
1037
- New {postProcessorType.label} Post-Processor
1038
- </MenuContentItem>
1039
- ),
1040
- )}
1041
- menuProps={{
1042
- anchorOrigin: {
1043
- vertical: 'bottom',
1044
- horizontal: 'right',
1045
- },
1046
- transformOrigin: {
1047
- vertical: 'top',
1048
- horizontal: 'right',
1049
- },
1050
- elevation: 7,
1051
- }}
1052
- >
1053
- <PanelHeaderActionItem
1027
+ <PanelHeaderActions>
1028
+ <DropdownMenu
1029
+ title="Create post-processor"
1030
+ className="panel__header__action"
1054
1031
  disabled={isReadOnly}
1055
- title="Create Post-Processor"
1032
+ content={postProcessorOptions.map(
1033
+ (postProcessorType) => (
1034
+ <MenuContentItem
1035
+ key={postProcessorType.value}
1036
+ onClick={addPostProcessor(
1037
+ postProcessorType.value,
1038
+ )}
1039
+ >
1040
+ New {postProcessorType.label} Post-Processor
1041
+ </MenuContentItem>
1042
+ ),
1043
+ )}
1044
+ menuProps={{
1045
+ anchorOrigin: {
1046
+ vertical: 'bottom',
1047
+ horizontal: 'right',
1048
+ },
1049
+ transformOrigin: {
1050
+ vertical: 'top',
1051
+ horizontal: 'right',
1052
+ },
1053
+ elevation: 7,
1054
+ }}
1056
1055
  >
1057
1056
  <PlusIcon />
1058
- </PanelHeaderActionItem>
1059
- </DropdownMenu>
1057
+ </DropdownMenu>
1058
+ </PanelHeaderActions>
1060
1059
  </PanelHeader>
1061
1060
  <PanelContent>
1062
1061
  {postProcessors.map((postProcessor, idx) => (
@@ -17,7 +17,6 @@
17
17
  import {
18
18
  ResizablePanelGroup,
19
19
  ResizablePanel,
20
- PanelHeaderActionItem,
21
20
  PlusIcon,
22
21
  ResizablePanelSplitter,
23
22
  PanelFormTextEditor,
@@ -34,6 +33,7 @@ import {
34
33
  PanelContent,
35
34
  PanelListSelectorItemLabel,
36
35
  PanelSection,
36
+ PanelHeaderActions,
37
37
  } from '@finos/legend-art';
38
38
  import {
39
39
  type Mapper,
@@ -137,31 +137,36 @@ export const MapperPostProcessorEditor = observer(
137
137
  <ResizablePanel size={170} minSize={70}>
138
138
  <Panel>
139
139
  <PanelHeader title="mapper">
140
- <DropdownMenu
141
- disabled={isReadOnly}
142
- content={
143
- <MenuContent>
144
- <MenuContentItem onClick={addSchemaMapper}>
145
- New Schema Mapper
146
- </MenuContentItem>
147
- <MenuContentItem onClick={addTableMapper}>
148
- New Table Mapper
149
- </MenuContentItem>
150
- </MenuContent>
151
- }
152
- menuProps={{
153
- anchorOrigin: { vertical: 'bottom', horizontal: 'right' },
154
- transformOrigin: { vertical: 'top', horizontal: 'right' },
155
- elevation: 7,
156
- }}
157
- >
158
- <PanelHeaderActionItem
140
+ <PanelHeaderActions>
141
+ <DropdownMenu
142
+ title="Create mapper"
143
+ className="panel__header__action"
159
144
  disabled={isReadOnly}
160
- title="Create Mapper"
145
+ content={
146
+ <MenuContent>
147
+ <MenuContentItem onClick={addSchemaMapper}>
148
+ New Schema Mapper
149
+ </MenuContentItem>
150
+ <MenuContentItem onClick={addTableMapper}>
151
+ New Table Mapper
152
+ </MenuContentItem>
153
+ </MenuContent>
154
+ }
155
+ menuProps={{
156
+ anchorOrigin: {
157
+ vertical: 'bottom',
158
+ horizontal: 'right',
159
+ },
160
+ transformOrigin: {
161
+ vertical: 'top',
162
+ horizontal: 'right',
163
+ },
164
+ elevation: 7,
165
+ }}
161
166
  >
162
167
  <PlusIcon />
163
- </PanelHeaderActionItem>
164
- </DropdownMenu>
168
+ </DropdownMenu>
169
+ </PanelHeaderActions>
165
170
  </PanelHeader>
166
171
  <PanelContent>
167
172
  {mappers.map((mapper) => (
@@ -67,10 +67,10 @@ import {
67
67
  externalFormatData_setContentType,
68
68
  externalFormatData_setData,
69
69
  } from '../../../../stores/shared/modifier/DSL_Data_GraphModifierHelper.js';
70
- import { StudioTextInputEditor } from '../../../shared/StudioTextInputEditor.js';
71
70
  import { getEditorLanguageFromFormat } from '../../../../stores/editor-state/FileGenerationViewerState.js';
72
71
  import type { ExternalFormatDataState } from '../../../../stores/editor-state/element-editor-state/data/EmbeddedDataState.js';
73
72
  import { renderEmbeddedDataEditor } from './EmbeddedDataEditor.js';
73
+ import { TextInputEditor } from '@finos/legend-application';
74
74
 
75
75
  export const ExternalFormatDataEditor = observer(
76
76
  (props: {
@@ -116,6 +116,7 @@ export const ExternalFormatDataEditor = observer(
116
116
  </div>
117
117
  <div className="external-format-data-editor__header__actions">
118
118
  <DropdownMenu
119
+ className="external-format-data-editor__type"
119
120
  disabled={isReadOnly}
120
121
  content={
121
122
  <MenuContent className="external-format-data-editor__dropdown">
@@ -135,20 +136,18 @@ export const ExternalFormatDataEditor = observer(
135
136
  transformOrigin: { vertical: 'top', horizontal: 'right' },
136
137
  }}
137
138
  >
138
- <div className="external-format-data-editor__type">
139
- <div className="external-format-data-editor__type__label">
140
- {externalFormatDataState.embeddedData.contentType}
141
- </div>
142
- <div className="external-format-data-editor__type__icon">
143
- <CaretDownIcon />
144
- </div>
139
+ <div className="external-format-data-editor__type__label">
140
+ {externalFormatDataState.embeddedData.contentType}
141
+ </div>
142
+ <div className="external-format-data-editor__type__icon">
143
+ <CaretDownIcon />
145
144
  </div>
146
145
  </DropdownMenu>
147
146
  </div>
148
147
  </div>
149
148
  <div className={clsx('external-format-data-editor__content')}>
150
149
  <div className="external-format-data-editor__content__input">
151
- <StudioTextInputEditor
150
+ <TextInputEditor
152
151
  language={language}
153
152
  inputValue={externalFormatDataState.embeddedData.data}
154
153
  updateInput={changeData}
@@ -36,7 +36,6 @@ import {
36
36
  externalFormatData_setContentType,
37
37
  externalFormatData_setData,
38
38
  } from '../../../../stores/shared/modifier/DSL_Data_GraphModifierHelper.js';
39
- import { StudioTextInputEditor } from '../../../shared/StudioTextInputEditor.js';
40
39
  import type { DSL_Data_LegendStudioApplicationPlugin_Extension } from '../../../../stores/DSL_Data_LegendStudioApplicationPlugin_Extension.js';
41
40
  import { getEditorLanguageFromFormat } from '../../../../stores/editor-state/FileGenerationViewerState.js';
42
41
  import {
@@ -46,7 +45,7 @@ import {
46
45
  RelationalCSVDataState,
47
46
  } from '../../../../stores/editor-state/element-editor-state/data/EmbeddedDataState.js';
48
47
  import type { DataElement } from '@finos/legend-graph';
49
- import { buildElementOption } from '@finos/legend-application';
48
+ import { buildElementOption, TextInputEditor } from '@finos/legend-application';
50
49
  import { RelationalCSVDataEditor } from './RelationalCSVDataEditor.js';
51
50
 
52
51
  export const ExternalFormatDataEditor = observer(
@@ -104,6 +103,7 @@ export const ExternalFormatDataEditor = observer(
104
103
  <WrenchIcon />
105
104
  </button>
106
105
  <DropdownMenu
106
+ className="external-format-data-editor__type"
107
107
  disabled={isReadOnly}
108
108
  content={
109
109
  <MenuContent className="external-format-data-editor__dropdown">
@@ -123,20 +123,18 @@ export const ExternalFormatDataEditor = observer(
123
123
  transformOrigin: { vertical: 'top', horizontal: 'right' },
124
124
  }}
125
125
  >
126
- <div className="external-format-data-editor__type">
127
- <div className="external-format-data-editor__type__label">
128
- {externalFormatDataState.embeddedData.contentType}
129
- </div>
130
- <div className="external-format-data-editor__type__icon">
131
- <CaretDownIcon />
132
- </div>
126
+ <div className="external-format-data-editor__type__label">
127
+ {externalFormatDataState.embeddedData.contentType}
128
+ </div>
129
+ <div className="external-format-data-editor__type__icon">
130
+ <CaretDownIcon />
133
131
  </div>
134
132
  </DropdownMenu>
135
133
  </div>
136
134
  </div>
137
135
  <div className={clsx('external-format-data-editor__content')}>
138
136
  <div className="external-format-data-editor__content__input">
139
- <StudioTextInputEditor
137
+ <TextInputEditor
140
138
  language={language}
141
139
  inputValue={externalFormatDataState.embeddedData.data}
142
140
  updateInput={changeData}
@@ -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
  BlankPanelPlaceholder,
20
20
  clsx,
@@ -32,7 +32,6 @@ import type { RelationalCSVDataTable } from '@finos/legend-graph';
32
32
  import { observer } from 'mobx-react-lite';
33
33
  import { forwardRef, useState } from 'react';
34
34
  import type { RelationalCSVDataState } from '../../../../stores/editor-state/element-editor-state/data/EmbeddedDataState.js';
35
- import { StudioTextInputEditor } from '../../../shared/StudioTextInputEditor.js';
36
35
 
37
36
  const RelationalTableIdentifierModal = observer(
38
37
  (props: { dataState: RelationalCSVDataState; isReadOnly: boolean }) => {
@@ -40,10 +39,6 @@ const RelationalTableIdentifierModal = observer(
40
39
  const tableIdentifierState = dataState.tableIdentifierState;
41
40
  const editableTable = tableIdentifierState.table;
42
41
  const closeModal = (): void => dataState.closeModal();
43
- const handleSubmit = (): void => {
44
- tableIdentifierState.handleSubmit();
45
- closeModal();
46
- };
47
42
  const changeTableValue: React.ChangeEventHandler<HTMLInputElement> = (
48
43
  event,
49
44
  ) => {
@@ -62,7 +57,11 @@ const RelationalTableIdentifierModal = observer(
62
57
  PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
63
58
  >
64
59
  <form
65
- onSubmit={handleSubmit}
60
+ onSubmit={(event) => {
61
+ event.preventDefault();
62
+ tableIdentifierState.handleSubmit();
63
+ closeModal();
64
+ }}
66
65
  className="modal modal--dark search-modal"
67
66
  >
68
67
  <div className="modal__title">
@@ -226,7 +225,7 @@ export const RelationalCSVDataEditor = observer(
226
225
  <div className="relational-data-editor__content">
227
226
  {currentTableState && (
228
227
  <div className="relational-data-editor__values">
229
- <StudioTextInputEditor
228
+ <TextInputEditor
230
229
  inputValue={currentTableState.table.values}
231
230
  updateInput={updateTableValues}
232
231
  isReadOnly={isReadOnly}
@@ -27,6 +27,7 @@ import {
27
27
  EDITOR_THEME,
28
28
  EDITOR_LANGUAGE,
29
29
  useApplicationStore,
30
+ createPassThroughOnKeyHandler,
30
31
  } from '@finos/legend-application';
31
32
  import {
32
33
  type MergeEditorComparisonViewInfo,
@@ -45,7 +46,6 @@ import {
45
46
  clsx,
46
47
  CustomSelectorInput,
47
48
  disposeEditor,
48
- disableEditorHotKeys,
49
49
  baseTextEditorSettings,
50
50
  moveToPosition,
51
51
  setErrorMarkers,
@@ -200,7 +200,7 @@ const MergeConflictEditor = observer(
200
200
  formatOnType: true,
201
201
  formatOnPaste: true,
202
202
  });
203
- disableEditorHotKeys(_editor);
203
+ _editor.onKeyDown(createPassThroughOnKeyHandler());
204
204
  _editor.focus(); // focus on the editor initially so we can correctly compute next/prev conflict chunks
205
205
  setEditor(_editor);
206
206
  }
@@ -78,10 +78,6 @@ const NewFileGenerationModal = observer(
78
78
  close();
79
79
  }
80
80
  };
81
- const onSubmit = (event: React.FormEvent<HTMLFormElement>): void => {
82
- event.preventDefault();
83
- promoteToFileGeneration().catch(applicationStore.alertUnhandledError);
84
- };
85
81
  const changeValue: React.ChangeEventHandler<HTMLInputElement> = (event) =>
86
82
  setServicePath(event.target.value);
87
83
 
@@ -98,7 +94,15 @@ const NewFileGenerationModal = observer(
98
94
  },
99
95
  }}
100
96
  >
101
- <form onSubmit={onSubmit} className="modal search-modal modal--dark">
97
+ <form
98
+ onSubmit={(event) => {
99
+ event.preventDefault();
100
+ promoteToFileGeneration().catch(
101
+ applicationStore.alertUnhandledError,
102
+ );
103
+ }}
104
+ className="modal search-modal modal--dark"
105
+ >
102
106
  <div className="modal__title">
103
107
  Promote file generation specification
104
108
  </div>