@finos/legend-application-studio 15.1.0 → 16.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 (362) hide show
  1. package/lib/application/LegendStudio.d.ts.map +1 -1
  2. package/lib/application/LegendStudio.js +5 -2
  3. package/lib/application/LegendStudio.js.map +1 -1
  4. package/lib/application/LegendStudioPluginManager.js +2 -2
  5. package/lib/application/LegendStudioPluginManager.js.map +1 -1
  6. package/lib/components/DSLExternalFormat_LegendStudioApplicationPlugin.d.ts +4 -4
  7. package/lib/components/DSLExternalFormat_LegendStudioApplicationPlugin.d.ts.map +1 -1
  8. package/lib/components/DSLExternalFormat_LegendStudioApplicationPlugin.js +3 -3
  9. package/lib/components/DSLExternalFormat_LegendStudioApplicationPlugin.js.map +1 -1
  10. package/lib/components/EditorComponentTestUtils.d.ts +1 -1
  11. package/lib/components/EditorComponentTestUtils.d.ts.map +1 -1
  12. package/lib/components/EditorComponentTestUtils.js +19 -23
  13. package/lib/components/EditorComponentTestUtils.js.map +1 -1
  14. package/lib/components/EmbeddedQueryBuilder.d.ts +19 -0
  15. package/lib/components/EmbeddedQueryBuilder.d.ts.map +1 -0
  16. package/lib/components/EmbeddedQueryBuilder.js +80 -0
  17. package/lib/components/EmbeddedQueryBuilder.js.map +1 -0
  18. package/lib/components/LegendStudioApplication.d.ts +0 -1
  19. package/lib/components/LegendStudioApplication.d.ts.map +1 -1
  20. package/lib/components/editor/Editor.d.ts.map +1 -1
  21. package/lib/components/editor/Editor.js +12 -13
  22. package/lib/components/editor/Editor.js.map +1 -1
  23. package/lib/components/editor/StatusBar.d.ts +0 -1
  24. package/lib/components/editor/StatusBar.d.ts.map +1 -1
  25. package/lib/components/editor/aux-panel/AuxiliaryPanel.d.ts +0 -1
  26. package/lib/components/editor/aux-panel/AuxiliaryPanel.d.ts.map +1 -1
  27. package/lib/components/editor/aux-panel/Console.d.ts +0 -1
  28. package/lib/components/editor/aux-panel/Console.d.ts.map +1 -1
  29. package/lib/components/editor/aux-panel/DevTool.d.ts +0 -1
  30. package/lib/components/editor/aux-panel/DevTool.d.ts.map +1 -1
  31. package/lib/components/editor/command-center/ProjectSearchCommand.d.ts +0 -1
  32. package/lib/components/editor/command-center/ProjectSearchCommand.d.ts.map +1 -1
  33. package/lib/components/editor/edit-panel/FileGenerationViewer.d.ts +0 -1
  34. package/lib/components/editor/edit-panel/FileGenerationViewer.d.ts.map +1 -1
  35. package/lib/components/editor/edit-panel/FunctionEditor.d.ts +0 -1
  36. package/lib/components/editor/edit-panel/FunctionEditor.d.ts.map +1 -1
  37. package/lib/components/editor/edit-panel/FunctionEditor.js +3 -3
  38. package/lib/components/editor/edit-panel/FunctionEditor.js.map +1 -1
  39. package/lib/components/editor/edit-panel/GenerationSpecificationEditor.d.ts +0 -1
  40. package/lib/components/editor/edit-panel/GenerationSpecificationEditor.d.ts.map +1 -1
  41. package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts.map +1 -1
  42. package/lib/components/editor/edit-panel/GrammarTextEditor.js +15 -3
  43. package/lib/components/editor/edit-panel/GrammarTextEditor.js.map +1 -1
  44. package/lib/components/editor/edit-panel/ModelImporter.d.ts +0 -1
  45. package/lib/components/editor/edit-panel/ModelImporter.d.ts.map +1 -1
  46. package/lib/components/editor/edit-panel/RuntimeEditor.d.ts +0 -1
  47. package/lib/components/editor/edit-panel/RuntimeEditor.d.ts.map +1 -1
  48. package/lib/components/editor/edit-panel/UnsupportedElementEditor.d.ts +0 -1
  49. package/lib/components/editor/edit-panel/UnsupportedElementEditor.d.ts.map +1 -1
  50. package/lib/components/editor/edit-panel/UnsupportedElementEditor.js +1 -1
  51. package/lib/components/editor/edit-panel/UnsupportedElementEditor.js.map +1 -1
  52. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.d.ts +0 -1
  53. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.d.ts.map +1 -1
  54. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.js +2 -2
  55. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.js.map +1 -1
  56. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.d.ts +0 -1
  57. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.d.ts.map +1 -1
  58. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js +1 -1
  59. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js.map +1 -1
  60. package/lib/{stores/editor-state/element-editor-state/mapping/relational → components/editor/edit-panel/connection-editor}/DatabaseEditorHelper.d.ts +0 -0
  61. package/lib/components/editor/edit-panel/connection-editor/DatabaseEditorHelper.d.ts.map +1 -0
  62. package/lib/{stores/editor-state/element-editor-state/mapping/relational → components/editor/edit-panel/connection-editor}/DatabaseEditorHelper.js +0 -0
  63. package/lib/components/editor/edit-panel/connection-editor/DatabaseEditorHelper.js.map +1 -0
  64. package/lib/components/editor/edit-panel/connection-editor/FlatDataConnectionEditor.d.ts +0 -1
  65. package/lib/components/editor/edit-panel/connection-editor/FlatDataConnectionEditor.d.ts.map +1 -1
  66. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.d.ts +3 -13
  67. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.d.ts.map +1 -1
  68. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js +103 -41
  69. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -1
  70. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.d.ts +25 -0
  71. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.d.ts.map +1 -0
  72. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js +77 -0
  73. package/lib/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.js.map +1 -0
  74. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.d.ts +0 -1
  75. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.d.ts.map +1 -1
  76. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.d.ts.map +1 -1
  77. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js +1 -1
  78. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js.map +1 -1
  79. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.d.ts +0 -1
  80. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
  81. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.d.ts +0 -1
  82. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.d.ts.map +1 -1
  83. package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.d.ts +0 -1
  84. package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.d.ts.map +1 -1
  85. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.d.ts +0 -1
  86. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.d.ts.map +1 -1
  87. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.d.ts +0 -1
  88. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.d.ts.map +1 -1
  89. package/lib/components/editor/edit-panel/external-format-editor/BindingElementEditor.d.ts +0 -1
  90. package/lib/components/editor/edit-panel/external-format-editor/BindingElementEditor.d.ts.map +1 -1
  91. package/lib/components/editor/edit-panel/external-format-editor/ExternalFormatConnectionEditor.d.ts +0 -1
  92. package/lib/components/editor/edit-panel/external-format-editor/ExternalFormatConnectionEditor.d.ts.map +1 -1
  93. package/lib/components/editor/edit-panel/external-format-editor/NewSchemaSetDriver.d.ts +0 -1
  94. package/lib/components/editor/edit-panel/external-format-editor/NewSchemaSetDriver.d.ts.map +1 -1
  95. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.d.ts +0 -1
  96. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.d.ts.map +1 -1
  97. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetModelGenerationEditor.d.ts +0 -1
  98. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetModelGenerationEditor.d.ts.map +1 -1
  99. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.d.ts +0 -1
  100. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.d.ts.map +1 -1
  101. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.d.ts +0 -1
  102. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.d.ts.map +1 -1
  103. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js +1 -1
  104. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js.map +1 -1
  105. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.d.ts +0 -1
  106. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.d.ts.map +1 -1
  107. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.d.ts +0 -1
  108. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.d.ts.map +1 -1
  109. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js +2 -2
  110. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js.map +1 -1
  111. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.d.ts +0 -1
  112. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.d.ts.map +1 -1
  113. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.js +2 -5
  114. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.js.map +1 -1
  115. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.d.ts +0 -1
  116. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
  117. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js +40 -8
  118. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js.map +1 -1
  119. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.d.ts +18 -0
  120. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.d.ts.map +1 -0
  121. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.js +38 -0
  122. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.js.map +1 -0
  123. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.d.ts +0 -1
  124. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.d.ts.map +1 -1
  125. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js +40 -8
  126. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js.map +1 -1
  127. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.d.ts +0 -1
  128. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.d.ts.map +1 -1
  129. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js +4 -4
  130. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js.map +1 -1
  131. package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.d.ts +0 -1
  132. package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.d.ts.map +1 -1
  133. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.d.ts +0 -1
  134. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.d.ts.map +1 -1
  135. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.d.ts +0 -1
  136. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.d.ts.map +1 -1
  137. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.d.ts +0 -1
  138. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.d.ts.map +1 -1
  139. package/lib/components/editor/edit-panel/mapping-editor/relational/TableOrViewSourceTree.js +1 -1
  140. package/lib/components/editor/edit-panel/mapping-editor/relational/TableOrViewSourceTree.js.map +1 -1
  141. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts +0 -1
  142. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -1
  143. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.d.ts +0 -1
  144. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.d.ts.map +1 -1
  145. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.d.ts +0 -1
  146. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.d.ts.map +1 -1
  147. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.d.ts +0 -1
  148. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.d.ts.map +1 -1
  149. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js +2 -1
  150. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js.map +1 -1
  151. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.d.ts +0 -1
  152. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.d.ts.map +1 -1
  153. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js +58 -10
  154. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js.map +1 -1
  155. package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.d.ts +0 -1
  156. package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.d.ts.map +1 -1
  157. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.d.ts +0 -1
  158. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.d.ts.map +1 -1
  159. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js +7 -5
  160. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
  161. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.d.ts +0 -1
  162. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.d.ts.map +1 -1
  163. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.d.ts +0 -1
  164. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -1
  165. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.d.ts +0 -1
  166. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.d.ts.map +1 -1
  167. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.d.ts +0 -1
  168. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.d.ts.map +1 -1
  169. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js +2 -2
  170. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js.map +1 -1
  171. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.d.ts +0 -1
  172. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.d.ts.map +1 -1
  173. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js +9 -7
  174. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js.map +1 -1
  175. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.d.ts +19 -0
  176. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.d.ts.map +1 -0
  177. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.js +80 -0
  178. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.js.map +1 -0
  179. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.d.ts +0 -1
  180. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.d.ts.map +1 -1
  181. package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.d.ts +0 -1
  182. package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.d.ts.map +1 -1
  183. package/lib/components/editor/edit-panel/uml-editor/PropertyEditor.d.ts +0 -1
  184. package/lib/components/editor/edit-panel/uml-editor/PropertyEditor.d.ts.map +1 -1
  185. package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.d.ts.map +1 -1
  186. package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js +4 -1
  187. package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js.map +1 -1
  188. package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.d.ts.map +1 -1
  189. package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js +4 -1
  190. package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js.map +1 -1
  191. package/lib/components/editor/edit-panel/uml-editor/UMLEditor.d.ts +0 -1
  192. package/lib/components/editor/edit-panel/uml-editor/UMLEditor.d.ts.map +1 -1
  193. package/lib/components/editor/side-bar/CreateNewElementModal.d.ts +0 -1
  194. package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -1
  195. package/lib/components/editor/side-bar/CreateNewElementModal.js +7 -4
  196. package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -1
  197. package/lib/components/editor/side-bar/Explorer.d.ts +0 -1
  198. package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
  199. package/lib/components/editor/side-bar/Explorer.js +15 -8
  200. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  201. package/lib/components/editor/side-bar/LocalChanges.d.ts +0 -1
  202. package/lib/components/editor/side-bar/LocalChanges.d.ts.map +1 -1
  203. package/lib/components/editor/side-bar/ProjectOverview.d.ts +0 -1
  204. package/lib/components/editor/side-bar/ProjectOverview.d.ts.map +1 -1
  205. package/lib/components/editor/side-bar/SideBar.d.ts +0 -1
  206. package/lib/components/editor/side-bar/SideBar.d.ts.map +1 -1
  207. package/lib/components/editor/side-bar/WorkflowManager.d.ts +0 -1
  208. package/lib/components/editor/side-bar/WorkflowManager.d.ts.map +1 -1
  209. package/lib/components/editor/side-bar/WorkspaceReview.d.ts +0 -1
  210. package/lib/components/editor/side-bar/WorkspaceReview.d.ts.map +1 -1
  211. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.d.ts +0 -1
  212. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.d.ts.map +1 -1
  213. package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.d.ts +0 -1
  214. package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.d.ts.map +1 -1
  215. package/lib/components/editor/side-bar/WorkspaceUpdater.d.ts +0 -1
  216. package/lib/components/editor/side-bar/WorkspaceUpdater.d.ts.map +1 -1
  217. package/lib/components/editor/side-bar/testable/GlobalTestRunner.d.ts +0 -1
  218. package/lib/components/editor/side-bar/testable/GlobalTestRunner.d.ts.map +1 -1
  219. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js +8 -2
  220. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js.map +1 -1
  221. package/lib/components/project-viewer/ProjectViewer.d.ts.map +1 -1
  222. package/lib/components/project-viewer/ProjectViewer.js +5 -6
  223. package/lib/components/project-viewer/ProjectViewer.js.map +1 -1
  224. package/lib/components/shared/DiffView.d.ts +0 -1
  225. package/lib/components/shared/DiffView.d.ts.map +1 -1
  226. package/lib/components/shared/StudioLambdaEditor.d.ts +0 -1
  227. package/lib/components/shared/StudioLambdaEditor.d.ts.map +1 -1
  228. package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts +0 -1
  229. package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +1 -1
  230. package/lib/components/workspace-review/WorkspaceReviewSideBar.d.ts +0 -1
  231. package/lib/components/workspace-review/WorkspaceReviewSideBar.d.ts.map +1 -1
  232. package/lib/components/workspace-setup/ProjectCreateModal.d.ts +0 -1
  233. package/lib/components/workspace-setup/ProjectCreateModal.d.ts.map +1 -1
  234. package/lib/index.css +2 -2
  235. package/lib/index.css.map +1 -1
  236. package/lib/index.d.ts +4 -3
  237. package/lib/index.d.ts.map +1 -1
  238. package/lib/index.js +4 -3
  239. package/lib/index.js.map +1 -1
  240. package/lib/package.json +9 -9
  241. package/lib/stores/DSLMapping_LegendStudioApplicationPlugin_Extension.d.ts +0 -18
  242. package/lib/stores/DSLMapping_LegendStudioApplicationPlugin_Extension.d.ts.map +1 -1
  243. package/lib/stores/DSLService_LegendStudioApplicationPlugin_Extension.d.ts +0 -10
  244. package/lib/stores/DSLService_LegendStudioApplicationPlugin_Extension.d.ts.map +1 -1
  245. package/lib/stores/EditorGraphState.js +1 -1
  246. package/lib/stores/EditorStore.d.ts +3 -9
  247. package/lib/stores/EditorStore.d.ts.map +1 -1
  248. package/lib/stores/EditorStore.js +6 -54
  249. package/lib/stores/EditorStore.js.map +1 -1
  250. package/lib/stores/EmbeddedQueryBuilderState.d.ts +40 -0
  251. package/lib/stores/EmbeddedQueryBuilderState.d.ts.map +1 -0
  252. package/lib/stores/EmbeddedQueryBuilderState.js +80 -0
  253. package/lib/stores/EmbeddedQueryBuilderState.js.map +1 -0
  254. package/lib/stores/LegendStudioApplicationNavigationContext.d.ts +1 -0
  255. package/lib/stores/LegendStudioApplicationNavigationContext.d.ts.map +1 -1
  256. package/lib/stores/LegendStudioApplicationNavigationContext.js +1 -0
  257. package/lib/stores/LegendStudioApplicationNavigationContext.js.map +1 -1
  258. package/lib/stores/LegendStudioApplicationPlugin.d.ts +7 -7
  259. package/lib/stores/LegendStudioApplicationPlugin.d.ts.map +1 -1
  260. package/lib/stores/LegendStudioCodeSnippets.d.ts +2 -0
  261. package/lib/stores/LegendStudioCodeSnippets.d.ts.map +1 -1
  262. package/lib/stores/LegendStudioCodeSnippets.js +28 -0
  263. package/lib/stores/LegendStudioCodeSnippets.js.map +1 -1
  264. package/lib/stores/StoreRelational_LegendStudioApplicationPlugin_Extension.d.ts +41 -6
  265. package/lib/stores/StoreRelational_LegendStudioApplicationPlugin_Extension.d.ts.map +1 -1
  266. package/lib/stores/editor/NewElementState.d.ts +1 -1
  267. package/lib/stores/editor/NewElementState.d.ts.map +1 -1
  268. package/lib/stores/editor/NewElementState.js +5 -3
  269. package/lib/stores/editor/NewElementState.js.map +1 -1
  270. package/lib/stores/editor-state/ModelImporterState.d.ts.map +1 -1
  271. package/lib/stores/editor-state/ModelImporterState.js +10 -6
  272. package/lib/stores/editor-state/ModelImporterState.js.map +1 -1
  273. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.d.ts +9 -2
  274. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.d.ts.map +1 -1
  275. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.js +40 -10
  276. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.js.map +1 -1
  277. package/lib/stores/editor-state/element-editor-state/connection/PostProcessorEditorState.d.ts +30 -0
  278. package/lib/stores/editor-state/element-editor-state/connection/PostProcessorEditorState.d.ts.map +1 -0
  279. package/lib/stores/editor-state/element-editor-state/connection/PostProcessorEditorState.js +49 -0
  280. package/lib/stores/editor-state/element-editor-state/connection/PostProcessorEditorState.js.map +1 -0
  281. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.d.ts +29 -0
  282. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.d.ts.map +1 -0
  283. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.js +42 -0
  284. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.js.map +1 -0
  285. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js +1 -1
  286. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js.map +1 -1
  287. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts +2 -1
  288. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
  289. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +6 -4
  290. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
  291. package/lib/stores/graphModifier/StoreRelational_GraphModifierHelper.d.ts +10 -1
  292. package/lib/stores/graphModifier/StoreRelational_GraphModifierHelper.d.ts.map +1 -1
  293. package/lib/stores/graphModifier/StoreRelational_GraphModifierHelper.js +27 -1
  294. package/lib/stores/graphModifier/StoreRelational_GraphModifierHelper.js.map +1 -1
  295. package/lib/stores/shared/DnDUtil.js +1 -1
  296. package/lib/stores/shared/PackageTreeUtil.js +6 -6
  297. package/lib/stores/shared/PackageTreeUtil.js.map +1 -1
  298. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.d.ts +1 -3
  299. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.d.ts.map +1 -1
  300. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.js +1 -4
  301. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.js.map +1 -1
  302. package/package.json +17 -17
  303. package/src/application/LegendStudio.tsx +8 -2
  304. package/src/application/LegendStudioPluginManager.ts +2 -2
  305. package/src/components/DSLExternalFormat_LegendStudioApplicationPlugin.tsx +5 -5
  306. package/src/components/EditorComponentTestUtils.tsx +20 -35
  307. package/src/components/EmbeddedQueryBuilder.tsx +165 -0
  308. package/src/components/editor/Editor.tsx +77 -79
  309. package/src/components/editor/edit-panel/FunctionEditor.tsx +9 -2
  310. package/src/components/editor/edit-panel/GrammarTextEditor.tsx +24 -2
  311. package/src/components/editor/edit-panel/UnsupportedElementEditor.tsx +1 -1
  312. package/src/components/editor/edit-panel/connection-editor/ConnectionEditor.tsx +6 -2
  313. package/src/components/editor/edit-panel/connection-editor/DatabaseBuilder.tsx +1 -1
  314. package/src/{stores/editor-state/element-editor-state/mapping/relational → components/editor/edit-panel/connection-editor}/DatabaseEditorHelper.tsx +0 -0
  315. package/src/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.tsx +371 -172
  316. package/src/components/editor/edit-panel/connection-editor/post-processor-editor/MapperPostProcessorEditor.tsx +279 -0
  317. package/src/components/editor/edit-panel/data-editor/EmbeddedDataEditor.tsx +2 -1
  318. package/src/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.tsx +5 -1
  319. package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.tsx +2 -2
  320. package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.tsx +2 -9
  321. package/src/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.tsx +88 -15
  322. package/src/components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.tsx +93 -0
  323. package/src/components/editor/edit-panel/mapping-editor/MappingTestEditor.tsx +81 -16
  324. package/src/components/editor/edit-panel/mapping-editor/NewMappingElementModal.tsx +4 -3
  325. package/src/components/editor/edit-panel/mapping-editor/relational/TableOrViewSourceTree.tsx +1 -1
  326. package/src/components/editor/edit-panel/service-editor/ServiceExecutionEditor.tsx +6 -2
  327. package/src/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.tsx +115 -20
  328. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.tsx +12 -5
  329. package/src/components/editor/edit-panel/uml-editor/AssociationEditor.tsx +3 -1
  330. package/src/components/editor/edit-panel/uml-editor/ClassEditor.tsx +21 -12
  331. package/src/components/editor/edit-panel/uml-editor/ClassQueryBuilder.tsx +159 -0
  332. package/src/components/editor/edit-panel/uml-editor/StereotypeSelector.tsx +7 -4
  333. package/src/components/editor/edit-panel/uml-editor/TaggedValueEditor.tsx +7 -4
  334. package/src/components/editor/side-bar/CreateNewElementModal.tsx +9 -3
  335. package/src/components/editor/side-bar/Explorer.tsx +20 -10
  336. package/src/components/editor/side-bar/testable/GlobalTestRunner.tsx +13 -1
  337. package/src/components/project-viewer/ProjectViewer.tsx +36 -38
  338. package/src/index.ts +7 -3
  339. package/src/stores/DSLMapping_LegendStudioApplicationPlugin_Extension.ts +0 -27
  340. package/src/stores/DSLService_LegendStudioApplicationPlugin_Extension.ts +0 -14
  341. package/src/stores/EditorGraphState.ts +1 -1
  342. package/src/stores/EditorStore.ts +5 -81
  343. package/src/stores/EmbeddedQueryBuilderState.ts +105 -0
  344. package/src/stores/LegendStudioApplicationNavigationContext.ts +1 -0
  345. package/src/stores/LegendStudioApplicationPlugin.ts +7 -7
  346. package/src/stores/LegendStudioCodeSnippets.ts +34 -0
  347. package/src/stores/StoreRelational_LegendStudioApplicationPlugin_Extension.ts +74 -5
  348. package/src/stores/editor/NewElementState.ts +8 -7
  349. package/src/stores/editor-state/ModelImporterState.ts +15 -11
  350. package/src/stores/editor-state/element-editor-state/connection/ConnectionEditorState.ts +55 -9
  351. package/src/stores/editor-state/element-editor-state/connection/PostProcessorEditorState.ts +73 -0
  352. package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.ts +58 -0
  353. package/src/stores/editor-state/element-editor-state/service/ServiceExecutionState.ts +1 -1
  354. package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +14 -4
  355. package/src/stores/graphModifier/StoreRelational_GraphModifierHelper.ts +64 -0
  356. package/src/stores/shared/DnDUtil.ts +1 -1
  357. package/src/stores/shared/PackageTreeUtil.ts +6 -6
  358. package/src/stores/sidebar-state/testable/GlobalTestRunnerState.ts +2 -9
  359. package/tsconfig.json +10 -3
  360. package/tsconfig.package.json +38 -0
  361. package/lib/stores/editor-state/element-editor-state/mapping/relational/DatabaseEditorHelper.d.ts.map +0 -1
  362. package/lib/stores/editor-state/element-editor-state/mapping/relational/DatabaseEditorHelper.js.map +0 -1
@@ -117,7 +117,7 @@ export abstract class LegendStudioApplicationPlugin extends LegendApplicationPlu
117
117
  getExtraTestableMetadata?(): TestableMetadataGetter[];
118
118
  }
119
119
 
120
- export type ElementTypeGetter = (
120
+ export type ElementClassifier = (
121
121
  metamodel: PackageableElement,
122
122
  ) => string | undefined;
123
123
 
@@ -165,7 +165,7 @@ export type ElementEditorStateCreator = (
165
165
  element: PackageableElement,
166
166
  ) => ElementEditorState | undefined;
167
167
 
168
- export type ElementProjectExplorerDnDTypeGetter = (
168
+ export type DragElementClassifier = (
169
169
  element: PackageableElement,
170
170
  ) => string | undefined;
171
171
 
@@ -251,7 +251,7 @@ export interface DSL_LegendStudioApplicationPlugin_Extension
251
251
  /**
252
252
  * Get the list of classifiers for a packageable element.
253
253
  */
254
- getExtraElementTypeGetters?(): ElementTypeGetter[];
254
+ getExtraElementClassifiers?(): ElementClassifier[];
255
255
 
256
256
  /**
257
257
  * Get the list of (user-friendly) type labelers for a packageable element.
@@ -304,14 +304,14 @@ export interface DSL_LegendStudioApplicationPlugin_Extension
304
304
  getExtraElementEditorStateCreators?(): ElementEditorStateCreator[];
305
305
 
306
306
  /**
307
- * Get the list of the supported drag-and-drop type speficiers.
307
+ * Get the list of the classifiers for draggable elements from explorer tree
308
308
  */
309
- getExtraElementProjectExplorerDnDTypeGetters?(): ElementProjectExplorerDnDTypeGetter[];
309
+ getExtraDragElementClassifiers?(): DragElementClassifier[];
310
310
 
311
311
  /**
312
- * Get the list of the supported drag-and-drop type speficiers for Pure grammar text editor.
312
+ * Get the list of the supported drag element type speficiers for Pure grammar text editor.
313
313
  */
314
- getExtraPureGrammarTextEditorDnDTypes?(): string[];
314
+ getExtraPureGrammarTextEditorDragElementTypes?(): string[];
315
315
 
316
316
  /**
317
317
  * Get the list of Pure grammar parser description getters based on parser section keyword
@@ -157,6 +157,40 @@ export const RELATIONAL_DATABASE_CONNECTION_SNIPPET = `RelationalDatabaseConnect
157
157
  auth: \${5:DefaultH2 {\\}};
158
158
  }`;
159
159
 
160
+ // ------------------------------------- Post-Processor -------------------------------------
161
+
162
+ export const POST_PROCESSOR_RELATIONAL_DATABASE_CONNECTION_SNIPPET = `RelationalDatabaseConnection \${1:model::NewConnection}
163
+ {
164
+ store: \${2:model::SomeStore};
165
+ // example of a simple H2 connection with a mapper post processor
166
+ type: \${3:H2};
167
+ specification: \${4:LocalH2 {\\}};
168
+ auth: \${5:DefaultH2 {\\}};
169
+ // example of mapper post processor
170
+ postProcessors:
171
+ [
172
+ mapper
173
+ {
174
+ mappers:
175
+ [
176
+ ];
177
+ }
178
+ ];
179
+ }`;
180
+
181
+ export const createConnectionSnippetWithPostProcessorSuggestionSnippet = (
182
+ snippetText: string,
183
+ ): string =>
184
+ `RelationalDatabaseConnection \${1:model::NewConnection}
185
+ {
186
+ store: \${2:model::SomeStore};
187
+ type: \${3:H2};
188
+ specification: \${4:LocalH2 {\\}};
189
+ auth: \${5:DefaultH2 {\\}};
190
+ postProcessors:
191
+ [
192
+ \n${indent(snippetText, ' '.repeat(TAB_SIZE))}\n]; }`;
193
+
160
194
  // ------------------------------------- Mapping -------------------------------------
161
195
 
162
196
  export const BLANK_MAPPING_SNIPPET = `Mapping \${1:model::NewMapping}
@@ -14,15 +14,28 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import type { DSL_LegendStudioApplicationPlugin_Extension } from './LegendStudioApplicationPlugin.js';
17
+ import type {
18
+ DSL_LegendStudioApplicationPlugin_Extension,
19
+ ElementEmbeddedContentSnippetSuggestion,
20
+ } from './LegendStudioApplicationPlugin.js';
18
21
  import type {
19
22
  DatasourceSpecification,
20
23
  AuthenticationStrategy,
24
+ PostProcessor,
25
+ ObserverContext,
21
26
  } from '@finos/legend-graph';
27
+ import type { RelationalDatabaseConnectionValueState } from './editor-state/element-editor-state/connection/ConnectionEditorState.js';
28
+ import type { PostProcessorEditorState } from './editor-state/element-editor-state/connection/PostProcessorEditorState.js';
29
+
30
+ /**
31
+ * NOTE: The tab-stop index of the snippet must start from 6
32
+ */
33
+ export type EmbeddedPostProcessorSnippetSuggestion =
34
+ ElementEmbeddedContentSnippetSuggestion;
22
35
 
23
36
  // connection datasource specification
24
37
 
25
- export type DatasourceSpecificationTypeGetter = (
38
+ export type DatasourceSpecificationClassifier = (
26
39
  metamodel: DatasourceSpecification,
27
40
  ) => string | undefined;
28
41
 
@@ -37,7 +50,7 @@ export type DatasourceSpecificationEditorRenderer = (
37
50
 
38
51
  // connection authentication strategy
39
52
 
40
- export type AuthenticationStrategyTypeGetter = (
53
+ export type AuthenticationStrategyClassifier = (
41
54
  metamodel: AuthenticationStrategy,
42
55
  ) => string | undefined;
43
56
 
@@ -50,6 +63,29 @@ export type AuthenticationStrategyEditorRenderer = (
50
63
  isReadOnly: boolean,
51
64
  ) => React.ReactNode | undefined;
52
65
 
66
+ // connection post-processor
67
+
68
+ export type PostProcessorTypeGetter = (
69
+ metamodel: PostProcessor,
70
+ ) => string | undefined;
71
+
72
+ export type PostProcessorCreator = (
73
+ type: string,
74
+ connectionValueState: RelationalDatabaseConnectionValueState,
75
+ observerContext: ObserverContext,
76
+ ) => PostProcessor | undefined;
77
+
78
+ export type PostProcessorEditorRenderer = (
79
+ metamodel: PostProcessor,
80
+ connectionValueState: RelationalDatabaseConnectionValueState,
81
+ isReadOnly: boolean,
82
+ ) => React.ReactNode | undefined;
83
+
84
+ export type PostProcessorStateCreator = (
85
+ metamodel: PostProcessor,
86
+ connectionValueState: RelationalDatabaseConnectionValueState,
87
+ ) => PostProcessorEditorState | undefined;
88
+
53
89
  export interface StoreRelational_LegendStudioApplicationPlugin_Extension
54
90
  extends DSL_LegendStudioApplicationPlugin_Extension {
55
91
  // --------------------- relational database connection datasource specification ------------------
@@ -63,7 +99,7 @@ export interface StoreRelational_LegendStudioApplicationPlugin_Extension
63
99
  /**
64
100
  * Get the list of classifiers for a relational database datasource specification.
65
101
  */
66
- getExtraDatasourceSpecificationTypeGetters?(): DatasourceSpecificationTypeGetter[];
102
+ getExtraDatasourceSpecificationClassifiers?(): DatasourceSpecificationClassifier[];
67
103
 
68
104
  /**
69
105
  * Get the list of creators for relational database datasource specification given the type specifier.
@@ -86,7 +122,7 @@ export interface StoreRelational_LegendStudioApplicationPlugin_Extension
86
122
  /**
87
123
  * Get the list of classifiers for a relational database authentication strategy.
88
124
  */
89
- getExtraAuthenticationStrategyTypeGetters?(): AuthenticationStrategyTypeGetter[];
125
+ getExtraAuthenticationStrategyClassifiers?(): AuthenticationStrategyClassifier[];
90
126
 
91
127
  /**
92
128
  * Get the list of creators for relational database authentication strategy given the type specifier.
@@ -97,4 +133,37 @@ export interface StoreRelational_LegendStudioApplicationPlugin_Extension
97
133
  * Get the list of renderers for the editor for a relational database authentication strategy.
98
134
  */
99
135
  getExtraAuthenticationStrategyEditorRenderers?(): AuthenticationStrategyEditorRenderer[];
136
+
137
+ // --------------------- relational database connection post-processor ------------------
138
+
139
+ /**
140
+ * Get the list of the supported type for post-processors.
141
+ *
142
+ */
143
+ getExtraPostProcessorClassifiers?(): string[];
144
+
145
+ /**
146
+ * Get the list of classifiers for a post-processor.
147
+ */
148
+ getExtraPostProcessorClassifierGetters?(): PostProcessorTypeGetter[];
149
+
150
+ /**
151
+ * Get the list of creators for post-processor given the type specifier.
152
+ */
153
+ getExtraPostProcessorCreators?(): PostProcessorCreator[];
154
+
155
+ /**
156
+ * Get the list of state creators for a post-processor.
157
+ */
158
+ getExtraPostProcessorStateCreators?(): PostProcessorStateCreator[];
159
+
160
+ /**
161
+ * Get the list of Pure grammar suggestion snippet getters for post-processors.
162
+ */
163
+ getExtraPostProcessorSnippetSuggestions?(): EmbeddedPostProcessorSnippetSuggestion[];
164
+
165
+ /**
166
+ * Get the list of renderers for the editor for a post-processor.
167
+ */
168
+ getExtraPostProcessorEditorRenderers?(): PostProcessorEditorRenderer[];
100
169
  }
@@ -92,7 +92,10 @@ import {
92
92
  import type { EmbeddedDataTypeOption } from '../editor-state/element-editor-state/data/DataEditorState.js';
93
93
  import { dataElement_setEmbeddedData } from '../graphModifier/DSLData_GraphModifierHelper.js';
94
94
  import { PACKAGEABLE_ELEMENT_TYPE } from '../shared/ModelUtil.js';
95
- import type { PackageableElementOption } from '@finos/legend-application';
95
+ import {
96
+ buildElementOption,
97
+ type PackageableElementOption,
98
+ } from '@finos/legend-application';
96
99
  import { EmbeddedDataType } from '../editor-state/ExternalFormatState.js';
97
100
  import { createEmbeddedData } from '../editor-state/element-editor-state/data/EmbeddedDataState.js';
98
101
 
@@ -302,7 +305,7 @@ export class NewRelationalDatabaseConnectionDriver extends NewConnectionValueDri
302
305
  if (store instanceof Database) {
303
306
  selectedStore = store;
304
307
  } else {
305
- const dbs = this.editorStore.graphManagerState.graph.databases;
308
+ const dbs = this.editorStore.graphManagerState.usableDatabases;
306
309
  selectedStore = dbs.length ? (dbs[0] as Database) : stub_Database();
307
310
  }
308
311
  return new RelationalDatabaseConnection(
@@ -431,7 +434,8 @@ export class NewServiceDriver extends NewElementDriver<Service> {
431
434
  isValid: computed,
432
435
  createElement: action,
433
436
  });
434
- this.mappingOption = editorStore.mappingOptions[0];
437
+ this.mappingOption =
438
+ editorStore.graphManagerState.usableMappings.map(buildElementOption)[0];
435
439
  }
436
440
 
437
441
  setMappingOption(val: PackageableElementOption<Mapping> | undefined): void {
@@ -447,10 +451,7 @@ export class NewServiceDriver extends NewElementDriver<Service> {
447
451
  const _mapping = mappingOption.value;
448
452
  const mapping = PackageableElementExplicitReference.create(_mapping);
449
453
  const service = new Service(name);
450
- const runtimes =
451
- this.editorStore.graphManagerState.graph.ownRuntimes.concat(
452
- this.editorStore.graphManagerState.graph.dependencyManager.runtimes,
453
- );
454
+ const runtimes = this.editorStore.graphManagerState.usableRuntimes;
454
455
  const compatibleRuntimes = runtimes.filter((runtime) =>
455
456
  runtime.runtimeValue.mappings.map((m) => m.value).includes(_mapping),
456
457
  );
@@ -499,16 +499,20 @@ export class ModelImporterState extends EditorState {
499
499
  setModelImporterExtension(
500
500
  extension: ModelImporterExtensionConfiguration,
501
501
  ): ExtensionModelImporterEditorState {
502
- const externalEditorState =
503
- this.modelImportEditorState instanceof ExtensionModelImporterEditorState
504
- ? this.modelImportEditorState
505
- : new ExtensionModelImporterEditorState(
506
- extension,
507
- extension.getExtensionModelImportRendererStateCreator(this),
508
- this,
509
- );
510
- externalEditorState.setExtension(extension);
511
- this.setImportEditorState(externalEditorState);
512
- return externalEditorState;
502
+ if (
503
+ this.modelImportEditorState instanceof
504
+ ExtensionModelImporterEditorState &&
505
+ this.modelImportEditorState.config === extension
506
+ ) {
507
+ return this.modelImportEditorState;
508
+ } else {
509
+ const modelImporterEditorState = new ExtensionModelImporterEditorState(
510
+ extension,
511
+ extension.getExtensionModelImportRendererStateCreator(this),
512
+ this,
513
+ );
514
+ this.setImportEditorState(modelImporterEditorState);
515
+ return modelImporterEditorState;
516
+ }
513
517
  }
514
518
  }
@@ -52,12 +52,18 @@ import {
52
52
  RedshiftDatasourceSpecification,
53
53
  createValidationError,
54
54
  isStubbed_PackageableElement,
55
+ type PostProcessor,
56
+ MapperPostProcessor,
55
57
  } from '@finos/legend-graph';
56
58
  import type { DSLMapping_LegendStudioApplicationPlugin_Extension } from '../../../DSLMapping_LegendStudioApplicationPlugin_Extension.js';
57
59
  import {
58
60
  relationDbConnection_setNewAuthenticationStrategy,
59
61
  relationDbConnection_setDatasourceSpecification,
60
62
  } from '../../../graphModifier/StoreRelational_GraphModifierHelper.js';
63
+ import {
64
+ MapperPostProcessorEditorState,
65
+ type PostProcessorEditorState,
66
+ } from './PostProcessorEditorState.js';
61
67
 
62
68
  export abstract class ConnectionValueState {
63
69
  editorStore: EditorStore;
@@ -74,6 +80,7 @@ export abstract class ConnectionValueState {
74
80
  export enum RELATIONAL_DATABASE_TAB_TYPE {
75
81
  GENERAL = 'GENERAL',
76
82
  STORE = 'STORE',
83
+ POST_PROCESSORS = 'POST-PROCESSORS',
77
84
  }
78
85
 
79
86
  export enum CORE_DATASOURCE_SPEC_TYPE {
@@ -86,6 +93,10 @@ export enum CORE_DATASOURCE_SPEC_TYPE {
86
93
  BIGQUERY = 'BIGQUERY',
87
94
  }
88
95
 
96
+ export enum POST_PROCESSOR_TYPE {
97
+ MAPPER = 'MAPPER',
98
+ }
99
+
89
100
  export enum CORE_AUTHENTICATION_STRATEGY_TYPE {
90
101
  DELEGATED_KERBEROS = 'DELEGATED_KERBEROS',
91
102
  H2_DEFAULT = 'H2_DEFAULT',
@@ -102,6 +113,7 @@ export class RelationalDatabaseConnectionValueState extends ConnectionValueState
102
113
  override connection: RelationalDatabaseConnection;
103
114
  selectedTab = RELATIONAL_DATABASE_TAB_TYPE.GENERAL;
104
115
  databaseBuilderState: DatabaseBuilderState;
116
+ postProcessorState: PostProcessorEditorState | undefined;
105
117
 
106
118
  constructor(
107
119
  editorStore: EditorStore,
@@ -109,17 +121,50 @@ export class RelationalDatabaseConnectionValueState extends ConnectionValueState
109
121
  ) {
110
122
  super(editorStore, connection);
111
123
  makeObservable(this, {
112
- setSelectedTab: action,
113
124
  databaseBuilderState: observable,
114
125
  selectedTab: observable,
126
+ postProcessorState: observable,
127
+ setSelectedTab: action,
128
+ selectPostProcessor: action,
115
129
  });
130
+
116
131
  this.connection = connection;
132
+
117
133
  this.databaseBuilderState = new DatabaseBuilderState(
118
134
  editorStore,
119
135
  connection,
120
136
  );
121
137
  }
122
138
 
139
+ selectPostProcessor = (postProcessor: PostProcessor | undefined): void => {
140
+ if (!this.postProcessorState && postProcessor) {
141
+ if (postProcessor instanceof MapperPostProcessor) {
142
+ this.postProcessorState = new MapperPostProcessorEditorState(
143
+ postProcessor,
144
+ this,
145
+ );
146
+ } else {
147
+ const extraPostProcessorStateCreators = this.editorStore.pluginManager
148
+ .getApplicationPlugins()
149
+ .flatMap(
150
+ (plugin) =>
151
+ (
152
+ plugin as StoreRelational_LegendStudioApplicationPlugin_Extension
153
+ ).getExtraPostProcessorStateCreators?.() ?? [],
154
+ );
155
+ for (const creator of extraPostProcessorStateCreators) {
156
+ const postProcessorState = creator(postProcessor, this);
157
+ if (postProcessorState) {
158
+ this.postProcessorState = postProcessorState;
159
+ }
160
+ }
161
+ }
162
+ }
163
+ if (this.postProcessorState) {
164
+ this.postProcessorState.setPostProcessorState(postProcessor);
165
+ }
166
+ };
167
+
123
168
  get storeValidationResult(): ValidationIssue | undefined {
124
169
  return isStubbed_PackageableElement(this.connection.store.value)
125
170
  ? createValidationError(['Connection database cannot be empty'])
@@ -151,17 +196,17 @@ export class RelationalDatabaseConnectionValueState extends ConnectionValueState
151
196
  } else if (spec instanceof RedshiftDatasourceSpecification) {
152
197
  return CORE_DATASOURCE_SPEC_TYPE.REDSHIFT;
153
198
  }
154
- const extraDatasourceSpecificationTypeGetters =
199
+ const extraDatasourceSpecificationClassifiers =
155
200
  this.editorStore.pluginManager
156
201
  .getApplicationPlugins()
157
202
  .flatMap(
158
203
  (plugin) =>
159
204
  (
160
205
  plugin as StoreRelational_LegendStudioApplicationPlugin_Extension
161
- ).getExtraDatasourceSpecificationTypeGetters?.() ?? [],
206
+ ).getExtraDatasourceSpecificationClassifiers?.() ?? [],
162
207
  );
163
- for (const typeGetter of extraDatasourceSpecificationTypeGetters) {
164
- const type = typeGetter(spec);
208
+ for (const classifier of extraDatasourceSpecificationClassifiers) {
209
+ const type = classifier(spec);
165
210
  if (type) {
166
211
  return type;
167
212
  }
@@ -270,17 +315,17 @@ export class RelationalDatabaseConnectionValueState extends ConnectionValueState
270
315
  return CORE_AUTHENTICATION_STRATEGY_TYPE.MIDDLE_TIER_USERNAME_PASSWORD;
271
316
  }
272
317
 
273
- const extraAuthenticationStrategyTypeGetters =
318
+ const extraAuthenticationStrategyClassifiers =
274
319
  this.editorStore.pluginManager
275
320
  .getApplicationPlugins()
276
321
  .flatMap(
277
322
  (plugin) =>
278
323
  (
279
324
  plugin as StoreRelational_LegendStudioApplicationPlugin_Extension
280
- ).getExtraAuthenticationStrategyTypeGetters?.() ?? [],
325
+ ).getExtraAuthenticationStrategyClassifiers?.() ?? [],
281
326
  );
282
- for (const typeGetter of extraAuthenticationStrategyTypeGetters) {
283
- const type = typeGetter(auth);
327
+ for (const classifier of extraAuthenticationStrategyClassifiers) {
328
+ const type = classifier(auth);
284
329
  if (type) {
285
330
  return type;
286
331
  }
@@ -480,6 +525,7 @@ export class PackageableConnectionEditorState extends ElementEditorState {
480
525
  editorStore,
481
526
  newElement,
482
527
  );
528
+
483
529
  return editorState;
484
530
  }
485
531
  }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import type {
18
+ PostProcessor,
19
+ Mapper,
20
+ MapperPostProcessor,
21
+ } from '@finos/legend-graph';
22
+ import { makeObservable, observable, action } from 'mobx';
23
+ import type { RelationalDatabaseConnectionValueState } from './ConnectionEditorState.js';
24
+
25
+ export abstract class PostProcessorEditorState {
26
+ postProcessor: PostProcessor | undefined;
27
+ connectionValueState: RelationalDatabaseConnectionValueState;
28
+
29
+ constructor(
30
+ postProcessor: PostProcessor | undefined,
31
+ connectionValueState: RelationalDatabaseConnectionValueState,
32
+ ) {
33
+ makeObservable(this, {
34
+ postProcessor: observable,
35
+ connectionValueState: observable,
36
+ });
37
+
38
+ this.postProcessor = postProcessor;
39
+ this.connectionValueState = connectionValueState;
40
+ }
41
+
42
+ abstract setPostProcessorState(val: PostProcessor | undefined): void;
43
+ }
44
+
45
+ export class MapperPostProcessorEditorState extends PostProcessorEditorState {
46
+ selectedMapper: Mapper | undefined;
47
+
48
+ constructor(
49
+ postProcessor: MapperPostProcessor | undefined,
50
+ connectionValueState: RelationalDatabaseConnectionValueState,
51
+ ) {
52
+ super(postProcessor, connectionValueState);
53
+
54
+ makeObservable(this, {
55
+ selectedMapper: observable,
56
+ setSelectedMapper: action,
57
+ setPostProcessorState: action,
58
+ });
59
+
60
+ this.postProcessor = postProcessor;
61
+ this.connectionValueState = connectionValueState;
62
+ }
63
+
64
+ setPostProcessorState = (val: PostProcessor | undefined): void => {
65
+ this.postProcessor = val;
66
+
67
+ this.setSelectedMapper(undefined);
68
+ };
69
+
70
+ setSelectedMapper = (val: Mapper | undefined): void => {
71
+ this.selectedMapper = val;
72
+ };
73
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import type { GenericLegendApplicationStore } from '@finos/legend-application';
18
+ import { QueryBuilderState } from '@finos/legend-query-builder';
19
+ import type { GraphManagerState, Mapping } from '@finos/legend-graph';
20
+ import { renderMappingExecutionQueryBuilderSetupPanelContent } from '../../../../components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.js';
21
+
22
+ export class MappingExecutionQueryBuilderState extends QueryBuilderState {
23
+ readonly executionMapping: Mapping;
24
+
25
+ override TEMPORARY__setupPanelContentRenderer = (): React.ReactNode =>
26
+ renderMappingExecutionQueryBuilderSetupPanelContent(this);
27
+
28
+ constructor(
29
+ mapping: Mapping,
30
+ applicationStore: GenericLegendApplicationStore,
31
+ graphManagerState: GraphManagerState,
32
+ ) {
33
+ super(applicationStore, graphManagerState);
34
+
35
+ this.executionMapping = mapping;
36
+ this.mapping = mapping;
37
+ }
38
+
39
+ override get isMappingReadOnly(): boolean {
40
+ return true;
41
+ }
42
+
43
+ override get isRuntimeReadOnly(): boolean {
44
+ return true;
45
+ }
46
+
47
+ override get isParameterSupportDisabled(): boolean {
48
+ return true;
49
+ }
50
+
51
+ override get isResultPanelHidden(): boolean {
52
+ return true;
53
+ }
54
+
55
+ override get sideBarClassName(): string | undefined {
56
+ return 'query-builder__setup__mapping-execution';
57
+ }
58
+ }
@@ -904,7 +904,7 @@ export class MultiServicePureExecutionState extends ServicePureExecutionState {
904
904
 
905
905
  addExecutionParameter(value: string): void {
906
906
  const _mapping =
907
- this.editorStore.mappingOptions[0]?.value ?? stub_Mapping();
907
+ this.editorStore.graphManagerState.usableMappings[0] ?? stub_Mapping();
908
908
  const _key = new KeyedExecutionParameter(
909
909
  value,
910
910
  PackageableElementExplicitReference.create(_mapping),
@@ -206,13 +206,17 @@ export class ConnectionTestDataState {
206
206
  }
207
207
 
208
208
  export class NewConnectionDataState {
209
+ readonly editorStore: EditorStore;
209
210
  readonly testSuiteState: ServiceTestDataState;
210
211
  showModal = false;
211
212
  connection: IdentifiedConnection | undefined;
212
213
  embeddedDataType: EmbeddedDataTypeOption | undefined;
213
214
  dataElement: DataElement | undefined;
214
215
 
215
- constructor(suite: ServiceTestDataState) {
216
+ constructor(
217
+ editorStore: EditorStore,
218
+ serviceTestDataState: ServiceTestDataState,
219
+ ) {
216
220
  makeObservable(this, {
217
221
  showModal: observable,
218
222
  connection: observable,
@@ -224,8 +228,10 @@ export class NewConnectionDataState {
224
228
  handleConnectionChange: action,
225
229
  setDataElement: action,
226
230
  });
227
- this.testSuiteState = suite;
228
- this.dataElement = this.testSuiteState.editorStore.dataOptions[0]?.value;
231
+
232
+ this.editorStore = editorStore;
233
+ this.testSuiteState = serviceTestDataState;
234
+ this.dataElement = editorStore.graphManagerState.usableDataElements[0];
229
235
  }
230
236
 
231
237
  setModal(val: boolean): void {
@@ -303,6 +309,7 @@ export class ServiceTestDataState {
303
309
  newConnectionDataState: observable,
304
310
  selectedDataState: observable,
305
311
  });
312
+
306
313
  this.testData = testData;
307
314
  this.testSuiteState = testSuiteState;
308
315
  this.editorStore = testSuiteState.editorStore;
@@ -315,7 +322,10 @@ export class ServiceTestDataState {
315
322
  connectionData,
316
323
  );
317
324
  }
318
- this.newConnectionDataState = new NewConnectionDataState(this);
325
+ this.newConnectionDataState = new NewConnectionDataState(
326
+ this.editorStore,
327
+ this,
328
+ );
319
329
  }
320
330
 
321
331
  createConnectionTestData(): void {