@finos/legend-application-studio 27.1.1 → 27.1.3

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 (145) hide show
  1. package/lib/__lib__/LegendStudioApplicationNavigationContext.d.ts +1 -1
  2. package/lib/__lib__/LegendStudioApplicationNavigationContext.d.ts.map +1 -1
  3. package/lib/__lib__/LegendStudioApplicationNavigationContext.js +1 -1
  4. package/lib/__lib__/LegendStudioApplicationNavigationContext.js.map +1 -1
  5. package/lib/__lib__/LegendStudioDocumentation.d.ts +3 -1
  6. package/lib/__lib__/LegendStudioDocumentation.d.ts.map +1 -1
  7. package/lib/__lib__/LegendStudioDocumentation.js +3 -0
  8. package/lib/__lib__/LegendStudioDocumentation.js.map +1 -1
  9. package/lib/__lib__/LegendStudioTesting.d.ts +1 -0
  10. package/lib/__lib__/LegendStudioTesting.d.ts.map +1 -1
  11. package/lib/__lib__/LegendStudioTesting.js +1 -0
  12. package/lib/__lib__/LegendStudioTesting.js.map +1 -1
  13. package/lib/application/LegendStudioApplicationConfig.d.ts.map +1 -1
  14. package/lib/application/LegendStudioApplicationConfig.js +1 -1
  15. package/lib/application/LegendStudioApplicationConfig.js.map +1 -1
  16. package/lib/components/editor/editor-group/FunctionEditor.d.ts.map +1 -1
  17. package/lib/components/editor/editor-group/FunctionEditor.js +29 -25
  18. package/lib/components/editor/editor-group/FunctionEditor.js.map +1 -1
  19. package/lib/components/editor/editor-group/connection-editor/{DatabaseBuilder.d.ts → DatabaseBuilderWizard.d.ts} +4 -11
  20. package/lib/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.d.ts.map +1 -0
  21. package/lib/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.js +48 -0
  22. package/lib/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.js.map +1 -0
  23. package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.d.ts +32 -0
  24. package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.d.ts.map +1 -0
  25. package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.js +99 -0
  26. package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.js.map +1 -0
  27. package/lib/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.js +1 -1
  28. package/lib/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -1
  29. package/lib/components/editor/editor-group/mapping-editor/MappingEditor.d.ts.map +1 -1
  30. package/lib/components/editor/editor-group/mapping-editor/MappingEditor.js +2 -2
  31. package/lib/components/editor/editor-group/mapping-editor/MappingEditor.js.map +1 -1
  32. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts.map +1 -1
  33. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js +47 -12
  34. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
  35. package/lib/components/editor/editor-group/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -1
  36. package/lib/components/editor/editor-group/project-configuration-editor/ProjectConfigurationEditor.js +61 -11
  37. package/lib/components/editor/editor-group/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
  38. package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.d.ts.map +1 -1
  39. package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.js +1 -1
  40. package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.js.map +1 -1
  41. package/lib/components/editor/editor-group/uml-editor/ClassEditor.d.ts.map +1 -1
  42. package/lib/components/editor/editor-group/uml-editor/ClassEditor.js +24 -25
  43. package/lib/components/editor/editor-group/uml-editor/ClassEditor.js.map +1 -1
  44. package/lib/components/editor/editor-group/uml-editor/EnumerationEditor.js +2 -2
  45. package/lib/components/editor/editor-group/uml-editor/EnumerationEditor.js.map +1 -1
  46. package/lib/components/editor/editor-group/uml-editor/ProfileEditor.js +3 -3
  47. package/lib/components/editor/editor-group/uml-editor/ProfileEditor.js.map +1 -1
  48. package/lib/components/editor/editor-group/uml-editor/StereotypeSelector.js +2 -2
  49. package/lib/components/editor/editor-group/uml-editor/StereotypeSelector.js.map +1 -1
  50. package/lib/components/editor/editor-group/uml-editor/TaggedValueEditor.js +2 -2
  51. package/lib/components/editor/editor-group/uml-editor/TaggedValueEditor.js.map +1 -1
  52. package/lib/components/editor/panel-group/SQLPlaygroundPanel.d.ts +0 -7
  53. package/lib/components/editor/panel-group/SQLPlaygroundPanel.d.ts.map +1 -1
  54. package/lib/components/editor/panel-group/SQLPlaygroundPanel.js +20 -77
  55. package/lib/components/editor/panel-group/SQLPlaygroundPanel.js.map +1 -1
  56. package/lib/components/editor/side-bar/Explorer.js +3 -3
  57. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  58. package/lib/components/editor/side-bar/ProjectOverview.d.ts.map +1 -1
  59. package/lib/components/editor/side-bar/ProjectOverview.js +7 -1
  60. package/lib/components/editor/side-bar/ProjectOverview.js.map +1 -1
  61. package/lib/components/editor/side-bar/WorkflowManager.d.ts.map +1 -1
  62. package/lib/components/editor/side-bar/WorkflowManager.js +6 -1
  63. package/lib/components/editor/side-bar/WorkflowManager.js.map +1 -1
  64. package/lib/index.css +2 -2
  65. package/lib/index.css.map +1 -1
  66. package/lib/package.json +3 -3
  67. package/lib/stores/editor/ExplorerTreeState.d.ts +4 -4
  68. package/lib/stores/editor/ExplorerTreeState.d.ts.map +1 -1
  69. package/lib/stores/editor/ExplorerTreeState.js +4 -4
  70. package/lib/stores/editor/ExplorerTreeState.js.map +1 -1
  71. package/lib/stores/editor/editor-state/element-editor-state/FunctionEditorState.d.ts +12 -12
  72. package/lib/stores/editor/editor-state/element-editor-state/FunctionEditorState.d.ts.map +1 -1
  73. package/lib/stores/editor/editor-state/element-editor-state/FunctionEditorState.js +46 -47
  74. package/lib/stores/editor/editor-state/element-editor-state/FunctionEditorState.js.map +1 -1
  75. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts +20 -29
  76. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts.map +1 -1
  77. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js +60 -141
  78. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js.map +1 -1
  79. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderWizardState.d.ts +33 -0
  80. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderWizardState.d.ts.map +1 -0
  81. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderWizardState.js +71 -0
  82. package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderWizardState.js.map +1 -0
  83. package/lib/stores/editor/editor-state/element-editor-state/mapping/DEPRECATED__MappingTestState.js +1 -1
  84. package/lib/stores/editor/editor-state/element-editor-state/mapping/DEPRECATED__MappingTestState.js.map +1 -1
  85. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.d.ts +1 -1
  86. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.d.ts.map +1 -1
  87. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.js +2 -2
  88. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.js.map +1 -1
  89. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionState.js +1 -1
  90. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
  91. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceExecutionState.js +1 -1
  92. package/lib/stores/editor/editor-state/element-editor-state/service/ServiceExecutionState.js.map +1 -1
  93. package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.d.ts +6 -2
  94. package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.d.ts.map +1 -1
  95. package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js +39 -3
  96. package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js.map +1 -1
  97. package/lib/stores/editor/panel-group/SQLPlaygroundPanelState.d.ts +3 -48
  98. package/lib/stores/editor/panel-group/SQLPlaygroundPanelState.d.ts.map +1 -1
  99. package/lib/stores/editor/panel-group/SQLPlaygroundPanelState.js +12 -350
  100. package/lib/stores/editor/panel-group/SQLPlaygroundPanelState.js.map +1 -1
  101. package/lib/stores/editor/sidebar-state/WorkflowManagerState.d.ts +5 -0
  102. package/lib/stores/editor/sidebar-state/WorkflowManagerState.d.ts.map +1 -1
  103. package/lib/stores/editor/sidebar-state/WorkflowManagerState.js +26 -0
  104. package/lib/stores/editor/sidebar-state/WorkflowManagerState.js.map +1 -1
  105. package/lib/stores/editor/utils/TestableUtils.js +2 -2
  106. package/lib/stores/editor/utils/TestableUtils.js.map +1 -1
  107. package/package.json +10 -10
  108. package/src/__lib__/LegendStudioApplicationNavigationContext.ts +1 -1
  109. package/src/__lib__/LegendStudioDocumentation.ts +4 -0
  110. package/src/__lib__/LegendStudioTesting.ts +1 -0
  111. package/src/application/LegendStudioApplicationConfig.ts +1 -1
  112. package/src/components/editor/editor-group/FunctionEditor.tsx +137 -122
  113. package/src/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.tsx +191 -0
  114. package/src/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.tsx +227 -0
  115. package/src/components/editor/editor-group/connection-editor/RelationalDatabaseConnectionEditor.tsx +1 -1
  116. package/src/components/editor/editor-group/mapping-editor/MappingEditor.tsx +5 -2
  117. package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +68 -17
  118. package/src/components/editor/editor-group/project-configuration-editor/ProjectConfigurationEditor.tsx +137 -12
  119. package/src/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.tsx +0 -1
  120. package/src/components/editor/editor-group/uml-editor/ClassEditor.tsx +354 -362
  121. package/src/components/editor/editor-group/uml-editor/EnumerationEditor.tsx +4 -4
  122. package/src/components/editor/editor-group/uml-editor/ProfileEditor.tsx +7 -7
  123. package/src/components/editor/editor-group/uml-editor/StereotypeSelector.tsx +4 -4
  124. package/src/components/editor/editor-group/uml-editor/TaggedValueEditor.tsx +4 -4
  125. package/src/components/editor/panel-group/SQLPlaygroundPanel.tsx +47 -211
  126. package/src/components/editor/side-bar/Explorer.tsx +3 -3
  127. package/src/components/editor/side-bar/ProjectOverview.tsx +14 -3
  128. package/src/components/editor/side-bar/WorkflowManager.tsx +10 -0
  129. package/src/stores/editor/ExplorerTreeState.ts +6 -9
  130. package/src/stores/editor/editor-state/element-editor-state/FunctionEditorState.ts +45 -51
  131. package/src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts +88 -212
  132. package/src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderWizardState.ts +102 -0
  133. package/src/stores/editor/editor-state/element-editor-state/mapping/DEPRECATED__MappingTestState.ts +1 -1
  134. package/src/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.ts +2 -2
  135. package/src/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionState.ts +1 -1
  136. package/src/stores/editor/editor-state/element-editor-state/service/ServiceExecutionState.ts +1 -1
  137. package/src/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.ts +59 -2
  138. package/src/stores/editor/panel-group/SQLPlaygroundPanelState.ts +13 -533
  139. package/src/stores/editor/sidebar-state/WorkflowManagerState.ts +47 -0
  140. package/src/stores/editor/utils/TestableUtils.ts +2 -2
  141. package/tsconfig.json +3 -1
  142. package/lib/components/editor/editor-group/connection-editor/DatabaseBuilder.d.ts.map +0 -1
  143. package/lib/components/editor/editor-group/connection-editor/DatabaseBuilder.js +0 -133
  144. package/lib/components/editor/editor-group/connection-editor/DatabaseBuilder.js.map +0 -1
  145. package/src/components/editor/editor-group/connection-editor/DatabaseBuilder.tsx +0 -397
@@ -144,7 +144,7 @@ export const generateMappingTestName = (mapping: Mapping): string => {
144
144
 
145
145
  export enum MAPPING_EDITOR_TAB {
146
146
  CLASS_MAPPINGS = 'CLASS_MAPPINGS',
147
- BETA_TEST_SUITES = 'TEST_SUITES',
147
+ TEST_SUITES = 'TEST_SUITES',
148
148
  }
149
149
 
150
150
  export enum MAPPING_ELEMENT_SOURCE_ID_LABEL {
@@ -615,7 +615,7 @@ export interface MappingElementSpec {
615
615
  }
616
616
 
617
617
  export class MappingEditorState extends ElementEditorState {
618
- selectedTab = MAPPING_EDITOR_TAB.BETA_TEST_SUITES;
618
+ selectedTab = MAPPING_EDITOR_TAB.CLASS_MAPPINGS;
619
619
  currentTabState?: MappingEditorTabState | undefined;
620
620
  openedTabStates: MappingEditorTabState[] = [];
621
621
 
@@ -903,7 +903,7 @@ export class MappingExecutionState extends MappingEditorTabState {
903
903
  rawPlan,
904
904
  this.editorStore.graphManagerState.graph,
905
905
  );
906
- this.executionPlanState.setPlan(plan);
906
+ this.executionPlanState.initialize(plan);
907
907
  } catch {
908
908
  // do nothing
909
909
  }
@@ -543,7 +543,7 @@ export abstract class ServicePureExecutionState extends ServiceExecutionState {
543
543
  rawPlan,
544
544
  this.editorStore.graphManagerState.graph,
545
545
  );
546
- this.executionPlanState.setPlan(plan);
546
+ this.executionPlanState.initialize(plan);
547
547
  } catch {
548
548
  // do nothing
549
549
  }
@@ -32,6 +32,7 @@ import {
32
32
  guaranteeNonNullable,
33
33
  hashArray,
34
34
  ActionState,
35
+ prettyCONSTName,
35
36
  } from '@finos/legend-shared';
36
37
  import type { EditorSDLCState } from '../../EditorSDLCState.js';
37
38
  import {
@@ -39,6 +40,7 @@ import {
39
40
  ProjectStructureVersion,
40
41
  UpdateProjectConfigurationCommand,
41
42
  UpdatePlatformConfigurationsCommand,
43
+ ProjectType,
42
44
  } from '@finos/legend-server-sdlc';
43
45
  import { LEGEND_STUDIO_APP_EVENT } from '../../../../__lib__/LegendStudioEvent.js';
44
46
  import { SNAPSHOT_ALIAS, StoreProjectData } from '@finos/legend-server-depot';
@@ -48,8 +50,22 @@ export enum CONFIGURATION_EDITOR_TAB {
48
50
  PROJECT_STRUCTURE = 'PROJECT_STRUCTURE',
49
51
  PROJECT_DEPENDENCIES = 'PROJECT_DEPENDENCIES',
50
52
  PLATFORM_CONFIGURATIONS = 'PLATFORM_CONFIGURATIONS',
53
+ ADVANCED = 'ADVANCED',
51
54
  }
52
55
 
56
+ export const projectTypeTabFilter = (
57
+ mode: ProjectType,
58
+ tab: CONFIGURATION_EDITOR_TAB,
59
+ ): boolean => {
60
+ if (
61
+ mode === ProjectType.EMBEDDED &&
62
+ tab === CONFIGURATION_EDITOR_TAB.PLATFORM_CONFIGURATIONS
63
+ ) {
64
+ return false;
65
+ }
66
+ return true;
67
+ };
68
+
53
69
  export class ProjectConfigurationEditorState extends EditorState {
54
70
  readonly sdlcState: EditorSDLCState;
55
71
  readonly updatingConfigurationState = ActionState.create();
@@ -95,6 +111,7 @@ export class ProjectConfigurationEditorState extends EditorState {
95
111
  updateToLatestStructure: flow,
96
112
  updateConfigs: flow,
97
113
  fetchLatestProjectStructureVersion: flow,
114
+ changeProjectType: flow,
98
115
  });
99
116
 
100
117
  this.projectDependencyEditorState = new ProjectDependencyEditorState(
@@ -168,6 +185,12 @@ export class ProjectConfigurationEditorState extends EditorState {
168
185
  );
169
186
  }
170
187
 
188
+ get isInEmbeddedMode(): boolean {
189
+ return (
190
+ this.originalProjectConfiguration?.projectType === ProjectType.EMBEDDED
191
+ );
192
+ }
193
+
171
194
  *fectchAssociatedProjectsAndVersions(): GeneratorFn<void> {
172
195
  this.fetchingProjectVersionsState.inProgress();
173
196
  try {
@@ -268,11 +291,20 @@ export class ProjectConfigurationEditorState extends EditorState {
268
291
  *updateToLatestStructure(): GeneratorFn<void> {
269
292
  if (this.latestProjectStructureVersion) {
270
293
  try {
294
+ let latestStructure = this.latestProjectStructureVersion;
295
+ if (this.isInEmbeddedMode) {
296
+ const projectStructureVersion = new ProjectStructureVersion();
297
+ projectStructureVersion.version =
298
+ this.latestProjectStructureVersion.version;
299
+ // extension version does not exists in embedded mode
300
+ projectStructureVersion.extensionVersion = undefined;
301
+ latestStructure = projectStructureVersion;
302
+ }
271
303
  const updateCommand = new UpdateProjectConfigurationCommand(
272
304
  this.currentProjectConfiguration.groupId,
273
305
  this.currentProjectConfiguration.artifactId,
274
- this.latestProjectStructureVersion,
275
- `update project configuration from ${this.editorStore.applicationStore.config.appName}`,
306
+ latestStructure,
307
+ `update project configuration from ${this.editorStore.applicationStore.config.appName}: update to latest project structure`,
276
308
  );
277
309
  yield flowResult(this.updateProjectConfiguration(updateCommand));
278
310
  } catch (error) {
@@ -288,6 +320,31 @@ export class ProjectConfigurationEditorState extends EditorState {
288
320
  }
289
321
  }
290
322
 
323
+ *changeProjectType(): GeneratorFn<void> {
324
+ try {
325
+ const newProjectType = this.isInEmbeddedMode
326
+ ? ProjectType.MANAGED
327
+ : ProjectType.EMBEDDED;
328
+ const updateCommand = new UpdateProjectConfigurationCommand(
329
+ this.currentProjectConfiguration.groupId,
330
+ this.currentProjectConfiguration.artifactId,
331
+ undefined,
332
+ `update project configuration from ${
333
+ this.editorStore.applicationStore.config.appName
334
+ }: changed project type to ${prettyCONSTName(newProjectType)}`,
335
+ );
336
+ updateCommand.projectType = newProjectType;
337
+ yield flowResult(this.updateProjectConfiguration(updateCommand));
338
+ } catch (error) {
339
+ assertErrorThrown(error);
340
+ this.editorStore.applicationStore.logService.error(
341
+ LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
342
+ error,
343
+ );
344
+ this.editorStore.applicationStore.notificationService.notifyError(error);
345
+ }
346
+ }
347
+
291
348
  // TODO: we will probably need to remove this in the future when we have a better strategy for change detection and persistence of project config
292
349
  // See https://github.com/finos/legend-studio/issues/952
293
350
  *updateConfigs(): GeneratorFn<void> {