@finos/legend-application-studio 13.1.2 → 14.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 (72) hide show
  1. package/lib/components/EditorComponentTestUtils.d.ts +3 -13
  2. package/lib/components/EditorComponentTestUtils.d.ts.map +1 -1
  3. package/lib/components/EditorComponentTestUtils.js +3 -22
  4. package/lib/components/EditorComponentTestUtils.js.map +1 -1
  5. package/lib/components/editor/edit-panel/EditPanel.js +4 -4
  6. package/lib/components/editor/edit-panel/EditPanel.js.map +1 -1
  7. package/lib/components/editor/edit-panel/{ModelLoader.d.ts → ModelImporter.d.ts} +2 -2
  8. package/lib/components/editor/edit-panel/ModelImporter.d.ts.map +1 -0
  9. package/lib/components/editor/edit-panel/ModelImporter.js +132 -0
  10. package/lib/components/editor/edit-panel/ModelImporter.js.map +1 -0
  11. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.d.ts +7 -0
  12. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.d.ts.map +1 -1
  13. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.js +18 -42
  14. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.js.map +1 -1
  15. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetModelGenerationEditor.d.ts +24 -0
  16. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetModelGenerationEditor.d.ts.map +1 -0
  17. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetModelGenerationEditor.js +75 -0
  18. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetModelGenerationEditor.js.map +1 -0
  19. package/lib/components/editor/side-bar/Explorer.js +4 -4
  20. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  21. package/lib/index.css +1 -1
  22. package/lib/package.json +1 -1
  23. package/lib/stores/EditorGraphState.d.ts +1 -1
  24. package/lib/stores/EditorGraphState.d.ts.map +1 -1
  25. package/lib/stores/EditorGraphState.js +10 -10
  26. package/lib/stores/EditorGraphState.js.map +1 -1
  27. package/lib/stores/EditorStore.d.ts +3 -3
  28. package/lib/stores/EditorStore.d.ts.map +1 -1
  29. package/lib/stores/EditorStore.js +6 -8
  30. package/lib/stores/EditorStore.js.map +1 -1
  31. package/lib/stores/LegendStudioApplicationPlugin.d.ts +3 -3
  32. package/lib/stores/LegendStudioApplicationPlugin.d.ts.map +1 -1
  33. package/lib/stores/editor-state/ExternalFormatState.d.ts +3 -2
  34. package/lib/stores/editor-state/ExternalFormatState.d.ts.map +1 -1
  35. package/lib/stores/editor-state/ExternalFormatState.js +11 -8
  36. package/lib/stores/editor-state/ExternalFormatState.js.map +1 -1
  37. package/lib/stores/editor-state/ModelImporterState.d.ts +95 -0
  38. package/lib/stores/editor-state/ModelImporterState.d.ts.map +1 -0
  39. package/lib/stores/editor-state/ModelImporterState.js +358 -0
  40. package/lib/stores/editor-state/ModelImporterState.js.map +1 -0
  41. package/lib/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.d.ts +35 -12
  42. package/lib/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.d.ts.map +1 -1
  43. package/lib/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.js +141 -34
  44. package/lib/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.js.map +1 -1
  45. package/lib/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.d.ts +1 -0
  46. package/lib/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.d.ts.map +1 -1
  47. package/lib/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.js +3 -0
  48. package/lib/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.js.map +1 -1
  49. package/package.json +3 -3
  50. package/src/components/EditorComponentTestUtils.tsx +2 -29
  51. package/src/components/editor/edit-panel/EditPanel.tsx +4 -4
  52. package/src/components/editor/edit-panel/ModelImporter.tsx +376 -0
  53. package/src/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.tsx +47 -163
  54. package/src/components/editor/edit-panel/external-format-editor/SchemaSetModelGenerationEditor.tsx +226 -0
  55. package/src/components/editor/side-bar/Explorer.tsx +8 -8
  56. package/src/stores/EditorGraphState.ts +13 -12
  57. package/src/stores/EditorStore.ts +7 -9
  58. package/src/stores/LegendStudioApplicationPlugin.ts +4 -4
  59. package/src/stores/editor-state/ExternalFormatState.ts +15 -12
  60. package/src/stores/editor-state/ModelImporterState.ts +506 -0
  61. package/src/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.ts +203 -46
  62. package/src/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.ts +5 -0
  63. package/tsconfig.json +3 -2
  64. package/lib/components/editor/edit-panel/ModelLoader.d.ts.map +0 -1
  65. package/lib/components/editor/edit-panel/ModelLoader.js +0 -95
  66. package/lib/components/editor/edit-panel/ModelLoader.js.map +0 -1
  67. package/lib/stores/editor-state/ModelLoaderState.d.ts +0 -52
  68. package/lib/stores/editor-state/ModelLoaderState.d.ts.map +0 -1
  69. package/lib/stores/editor-state/ModelLoaderState.js +0 -199
  70. package/lib/stores/editor-state/ModelLoaderState.js.map +0 -1
  71. package/src/components/editor/edit-panel/ModelLoader.tsx +0 -259
  72. package/src/stores/editor-state/ModelLoaderState.ts +0 -280
@@ -0,0 +1,358 @@
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
+ import { observable, action, flow, makeObservable, computed, flowResult, } from 'mobx';
17
+ import { EditorState } from './EditorState.js';
18
+ import { assertErrorThrown, LogEvent, UnsupportedOperationError, isNonNullable, ActionState, assertTrue, } from '@finos/legend-shared';
19
+ import { LEGEND_STUDIO_APP_EVENT } from '../LegendStudioAppEvent.js';
20
+ import { TAB_SIZE } from '@finos/legend-application';
21
+ import { SchemaSet, observe_SchemaSet, } from '@finos/legend-graph';
22
+ import { externalFormat_schemaSet_setFormat, externalFormat_schemaSet_setSchemas, } from '../graphModifier/DSLExternalFormat_GraphModifierHelper.js';
23
+ import { InnerSchemaSetEditorState } from './element-editor-state/external-format/SchemaSetEditorState.js';
24
+ export var MODEL_IMPORT_NATIVE_INPUT_TYPE;
25
+ (function (MODEL_IMPORT_NATIVE_INPUT_TYPE) {
26
+ MODEL_IMPORT_NATIVE_INPUT_TYPE["ENTITIES"] = "ENTITIES";
27
+ MODEL_IMPORT_NATIVE_INPUT_TYPE["PURE_PROTOCOL"] = "PURE_PROTOCOL";
28
+ MODEL_IMPORT_NATIVE_INPUT_TYPE["PURE_GRAMMAR"] = "PURE_GRAMMAR";
29
+ })(MODEL_IMPORT_NATIVE_INPUT_TYPE = MODEL_IMPORT_NATIVE_INPUT_TYPE || (MODEL_IMPORT_NATIVE_INPUT_TYPE = {}));
30
+ export var MODEL_IMPORT_TYPE;
31
+ (function (MODEL_IMPORT_TYPE) {
32
+ MODEL_IMPORT_TYPE["NATIVE"] = "NATIVE";
33
+ MODEL_IMPORT_TYPE["EXTERNAL_FORMAT"] = "EXTERNAL_FORMAT";
34
+ MODEL_IMPORT_TYPE["EXTENSIONS"] = "EXTENSIONS";
35
+ })(MODEL_IMPORT_TYPE = MODEL_IMPORT_TYPE || (MODEL_IMPORT_TYPE = {}));
36
+ export class ModelImporterEditorState {
37
+ editorStore;
38
+ modelImporterState;
39
+ loadModelActionState = ActionState.create();
40
+ constructor(modelImporterState) {
41
+ this.editorStore = modelImporterState.editorStore;
42
+ this.modelImporterState = modelImporterState;
43
+ }
44
+ }
45
+ export class NativeModelImporterEditorState extends ModelImporterEditorState {
46
+ nativeType = MODEL_IMPORT_NATIVE_INPUT_TYPE.ENTITIES;
47
+ modelText;
48
+ loadCurrentProjectActionState = ActionState.create();
49
+ constructor(modelImporterState) {
50
+ super(modelImporterState);
51
+ this.modelText = this.getExampleEntitiesInputText();
52
+ makeObservable(this, {
53
+ nativeType: observable,
54
+ modelText: observable,
55
+ loadModelActionState: observable,
56
+ setModelText: action,
57
+ setNativeImportType: action,
58
+ isLoadingDisabled: computed,
59
+ loadModel: flow,
60
+ loadCurrentProjectEntities: flow,
61
+ });
62
+ }
63
+ get label() {
64
+ return this.nativeType;
65
+ }
66
+ get allowHardReplace() {
67
+ return true;
68
+ }
69
+ get isLoadingDisabled() {
70
+ return this.loadCurrentProjectActionState.isInProgress;
71
+ }
72
+ setModelText(val) {
73
+ this.modelText = val;
74
+ }
75
+ setNativeImportType(nativeImportType) {
76
+ if (this.nativeType !== nativeImportType) {
77
+ this.nativeType = nativeImportType;
78
+ this.modelText = this.getNativeImportExampleText(nativeImportType);
79
+ }
80
+ }
81
+ getNativeImportExampleText(inputType) {
82
+ switch (inputType) {
83
+ case MODEL_IMPORT_NATIVE_INPUT_TYPE.PURE_PROTOCOL:
84
+ return this.getExamplePureProtocolInputText();
85
+ case MODEL_IMPORT_NATIVE_INPUT_TYPE.ENTITIES:
86
+ return this.getExampleEntitiesInputText();
87
+ case MODEL_IMPORT_NATIVE_INPUT_TYPE.PURE_GRAMMAR:
88
+ return this.getExamplePureGrammarText();
89
+ default:
90
+ return '';
91
+ }
92
+ }
93
+ async loadEntites() {
94
+ switch (this.nativeType) {
95
+ case MODEL_IMPORT_NATIVE_INPUT_TYPE.PURE_PROTOCOL: {
96
+ return this.editorStore.graphManagerState.graphManager.pureProtocolTextToEntities(this.modelText);
97
+ }
98
+ case MODEL_IMPORT_NATIVE_INPUT_TYPE.ENTITIES: {
99
+ return JSON.parse(this.modelText);
100
+ }
101
+ case MODEL_IMPORT_NATIVE_INPUT_TYPE.PURE_GRAMMAR: {
102
+ return await this.editorStore.graphManagerState.graphManager.pureCodeToEntities(this.modelText);
103
+ }
104
+ default:
105
+ throw new UnsupportedOperationError(`Can't load model for input of type '${this.nativeType}'`);
106
+ }
107
+ }
108
+ *loadCurrentProjectEntities() {
109
+ this.loadCurrentProjectActionState.inProgress();
110
+ switch (this.nativeType) {
111
+ case MODEL_IMPORT_NATIVE_INPUT_TYPE.PURE_PROTOCOL: {
112
+ const graphEntities = this.editorStore.graphManagerState.graphBuildState
113
+ .hasSucceeded
114
+ ? this.editorStore.graphManagerState.graph.allOwnElements.map((element) => this.editorStore.graphManagerState.graphManager.elementToEntity(element))
115
+ : this.editorStore.changeDetectionState
116
+ .workspaceLocalLatestRevisionState.entities;
117
+ this.modelText =
118
+ (yield this.editorStore.graphManagerState.graphManager.entitiesToPureProtocolText(graphEntities));
119
+ break;
120
+ }
121
+ case MODEL_IMPORT_NATIVE_INPUT_TYPE.ENTITIES: {
122
+ const graphEntities = this.editorStore.graphManagerState.graphBuildState
123
+ .hasSucceeded
124
+ ? this.editorStore.graphManagerState.graph.allOwnElements.map((element) => this.editorStore.graphManagerState.graphManager.elementToEntity(element))
125
+ : this.editorStore.changeDetectionState
126
+ .workspaceLocalLatestRevisionState.entities;
127
+ this.modelText = JSON.stringify(graphEntities, undefined, TAB_SIZE);
128
+ break;
129
+ }
130
+ case MODEL_IMPORT_NATIVE_INPUT_TYPE.PURE_GRAMMAR: {
131
+ this.modelText =
132
+ (yield this.editorStore.graphManagerState.graphManager.graphToPureCode(this.editorStore.graphManagerState.graph));
133
+ break;
134
+ }
135
+ default:
136
+ this.loadCurrentProjectActionState.fail();
137
+ throw new UnsupportedOperationError(`Can't load current project entities for input type of type '${this.nativeType}'`);
138
+ }
139
+ this.loadCurrentProjectActionState.complete();
140
+ }
141
+ getExampleEntitiesInputText() {
142
+ return `${JSON.stringify([
143
+ {
144
+ classifierPath: 'string',
145
+ content: {},
146
+ path: 'string',
147
+ },
148
+ ], undefined, TAB_SIZE)}`;
149
+ }
150
+ getExamplePureProtocolInputText() {
151
+ return `${this.editorStore.graphManagerState.graphManager.getExamplePureProtocolText()}`;
152
+ }
153
+ getExamplePureGrammarText() {
154
+ return `###Pure\n Class model::A\n {\n\n}`;
155
+ }
156
+ *loadModel() {
157
+ try {
158
+ this.loadModelActionState.inProgress();
159
+ this.editorStore.setBlockingAlert({
160
+ message: 'Loading model...',
161
+ prompt: 'Please do not close the application',
162
+ showLoading: true,
163
+ });
164
+ const entities = (yield this.loadEntites());
165
+ const message = `loading entities from ${this.editorStore.applicationStore.config.appName} [${this.modelImporterState.replace ? `potentially affected ` : ''} ${entities.length} entities]`;
166
+ yield this.editorStore.sdlcServerClient.updateEntities(this.editorStore.sdlcState.activeProject.projectId, this.editorStore.sdlcState.activeWorkspace, { replace: this.modelImporterState.replace, entities, message });
167
+ this.editorStore.applicationStore.navigator.reload();
168
+ }
169
+ catch (error) {
170
+ assertErrorThrown(error);
171
+ this.editorStore.applicationStore.log.error(LogEvent.create(LEGEND_STUDIO_APP_EVENT.MODEL_LOADER_FAILURE), error);
172
+ this.editorStore.applicationStore.notifyError(error);
173
+ }
174
+ finally {
175
+ this.loadModelActionState.complete();
176
+ this.editorStore.setBlockingAlert(undefined);
177
+ }
178
+ }
179
+ }
180
+ export class ExtensionModelImporterEditorState extends ModelImporterEditorState {
181
+ extensionConfiguration;
182
+ constructor(extensionConfiguration, modelImporterState) {
183
+ super(modelImporterState);
184
+ this.extensionConfiguration = extensionConfiguration;
185
+ makeObservable(this, {
186
+ extensionConfiguration: observable,
187
+ modelImporterState: observable,
188
+ loadModelActionState: observable,
189
+ isLoadingDisabled: computed,
190
+ setExtension: action,
191
+ loadModel: flow,
192
+ });
193
+ }
194
+ get label() {
195
+ return this.extensionConfiguration.label ?? this.extensionConfiguration.key;
196
+ }
197
+ get allowHardReplace() {
198
+ return Boolean(this.extensionConfiguration.allowHardReplace);
199
+ }
200
+ get isLoadingDisabled() {
201
+ return false;
202
+ }
203
+ setExtension(extensionConfiguration) {
204
+ this.extensionConfiguration = extensionConfiguration;
205
+ }
206
+ *loadModel() {
207
+ this.loadModelActionState.inProgress();
208
+ try {
209
+ yield flowResult(this.extensionConfiguration.load(this.editorStore));
210
+ }
211
+ catch (error) {
212
+ assertErrorThrown(error);
213
+ }
214
+ finally {
215
+ this.loadModelActionState.complete();
216
+ }
217
+ }
218
+ }
219
+ const DEFAULT_SCHEMA_PACKAGE = '__internal__';
220
+ const DEFAULT_SCHEMA_NAME = 'MyShemaSet';
221
+ export class ExternalFormatModelImporterState extends ModelImporterEditorState {
222
+ schemaSet;
223
+ schemaSetEditorState;
224
+ description;
225
+ isolatedSchemaGraph;
226
+ constructor(description, modelImporterState) {
227
+ super(modelImporterState);
228
+ this.description = description;
229
+ this.schemaSet = new SchemaSet(DEFAULT_SCHEMA_NAME);
230
+ this.schemaSet.format = description.name;
231
+ observe_SchemaSet(this.schemaSet);
232
+ const emptyGraph = this.editorStore.graphManagerState.createEmptyGraph();
233
+ emptyGraph.addElement(this.schemaSet, DEFAULT_SCHEMA_PACKAGE);
234
+ this.isolatedSchemaGraph = emptyGraph;
235
+ this.schemaSetEditorState = new InnerSchemaSetEditorState(false, this.schemaSet, this.editorStore, this.isolatedSchemaGraph);
236
+ makeObservable(this, {
237
+ schemaSet: observable,
238
+ schemaSetEditorState: observable,
239
+ loadModelActionState: observable,
240
+ description: observable,
241
+ isolatedSchemaGraph: observable,
242
+ setExternalFormat: action,
243
+ setDescription: action,
244
+ isLoadingDisabled: computed,
245
+ loadModel: flow,
246
+ });
247
+ }
248
+ get allowHardReplace() {
249
+ return true;
250
+ }
251
+ get label() {
252
+ return this.schemaSet.format;
253
+ }
254
+ get isLoadingDisabled() {
255
+ return (!this.schemaSetEditorState.schemaSetModelGenerationState.canGenerate ||
256
+ this.schemaSetEditorState.schemaSetModelGenerationState
257
+ .generatingModelsState.isInProgress ||
258
+ this.schemaSetEditorState.schemaSetModelGenerationState
259
+ .importGeneratedElementsState.isInProgress);
260
+ }
261
+ setDescription(val) {
262
+ this.description = val;
263
+ }
264
+ setExternalFormat(description) {
265
+ if (description !== this.description) {
266
+ this.setDescription(description);
267
+ externalFormat_schemaSet_setFormat(this.schemaSet, this.description.name);
268
+ externalFormat_schemaSet_setSchemas(this.schemaSet, []);
269
+ this.schemaSetEditorState.reset();
270
+ }
271
+ }
272
+ *loadModel() {
273
+ this.loadModelActionState.inProgress();
274
+ try {
275
+ this.loadModelActionState.inProgress();
276
+ this.editorStore.setBlockingAlert({
277
+ message: 'Loading model...',
278
+ prompt: 'Please do not close the application',
279
+ showLoading: true,
280
+ });
281
+ const modelgenerationstate = this.schemaSetEditorState.schemaSetModelGenerationState;
282
+ const entities = (yield flowResult(modelgenerationstate.getImportEntities()));
283
+ if (modelgenerationstate.targetBinding) {
284
+ const schemaEntity = (yield flowResult(this.editorStore.graphManagerState.graphManager.elementToEntity(this.schemaSet)));
285
+ entities.push(schemaEntity);
286
+ }
287
+ assertTrue(Boolean(entities.length), 'No entities to load');
288
+ const message = `loading entities from ${this.editorStore.applicationStore.config.appName} [${this.modelImporterState.replace ? `potentially affected ` : ''} ${entities.length} entities]`;
289
+ yield this.editorStore.sdlcServerClient.updateEntities(this.editorStore.sdlcState.activeProject.projectId, this.editorStore.sdlcState.activeWorkspace, { replace: this.modelImporterState.replace, entities, message });
290
+ this.editorStore.applicationStore.navigator.reload();
291
+ }
292
+ catch (error) {
293
+ assertErrorThrown(error);
294
+ this.editorStore.applicationStore.notifyError(error);
295
+ }
296
+ finally {
297
+ this.loadModelActionState.complete();
298
+ this.editorStore.setBlockingAlert(undefined);
299
+ }
300
+ }
301
+ }
302
+ export class ModelImporterState extends EditorState {
303
+ replace = true;
304
+ modelImportEditorState;
305
+ extensionConfigs = [];
306
+ constructor(editorStore) {
307
+ super(editorStore);
308
+ makeObservable(this, {
309
+ replace: observable,
310
+ modelImportEditorState: observable,
311
+ extensionConfigs: observable,
312
+ setReplaceFlag: action,
313
+ setModelImporterExtension: action,
314
+ setNativeImportType: action,
315
+ setExternalFormatImportFormat: action,
316
+ setImportEditorState: action,
317
+ });
318
+ this.modelImportEditorState = new NativeModelImporterEditorState(this);
319
+ this.extensionConfigs = this.editorStore.pluginManager
320
+ .getApplicationPlugins()
321
+ .flatMap((plugin) => plugin.getExtraModelImporterExtensionConfigurations?.() ?? [])
322
+ .filter(isNonNullable);
323
+ }
324
+ get headerName() {
325
+ return 'Model Importer';
326
+ }
327
+ setReplaceFlag(val) {
328
+ this.replace = val;
329
+ }
330
+ setImportEditorState(val) {
331
+ this.modelImportEditorState = val;
332
+ }
333
+ setNativeImportType(nativeImportType) {
334
+ const nativeEditorState = this.modelImportEditorState instanceof NativeModelImporterEditorState
335
+ ? this.modelImportEditorState
336
+ : new NativeModelImporterEditorState(this);
337
+ nativeEditorState.setNativeImportType(nativeImportType);
338
+ this.setImportEditorState(nativeEditorState);
339
+ return nativeEditorState;
340
+ }
341
+ setExternalFormatImportFormat(externalFormat) {
342
+ const extensionEditorState = this.modelImportEditorState instanceof ExternalFormatModelImporterState
343
+ ? this.modelImportEditorState
344
+ : new ExternalFormatModelImporterState(externalFormat, this);
345
+ extensionEditorState.setExternalFormat(externalFormat);
346
+ this.setImportEditorState(extensionEditorState);
347
+ return extensionEditorState;
348
+ }
349
+ setModelImporterExtension(extension) {
350
+ const externalEditorState = this.modelImportEditorState instanceof ExtensionModelImporterEditorState
351
+ ? this.modelImportEditorState
352
+ : new ExtensionModelImporterEditorState(extension, this);
353
+ externalEditorState.setExtension(extension);
354
+ this.setImportEditorState(externalEditorState);
355
+ return externalEditorState;
356
+ }
357
+ }
358
+ //# sourceMappingURL=ModelImporterState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelImporterState.js","sourceRoot":"","sources":["../../../src/stores/editor-state/ModelImporterState.ts"],"names":[],"mappings":"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"}
@@ -14,43 +14,66 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { type GeneratorFn, ActionState } from '@finos/legend-shared';
17
- import { type GenerationProperty, type PackageableElement, type ExternalFormatDescription, CompilationError, ConfigurationProperty, ExternalFormatSchema as Schema, SchemaSet } from '@finos/legend-graph';
17
+ import { type GenerationProperty, type PackageableElement, type ExternalFormatDescription, type PureModel, CompilationError, ConfigurationProperty, ExternalFormatSchema as Schema, SchemaSet } from '@finos/legend-graph';
18
+ import type { Entity } from '@finos/legend-storage';
18
19
  import type { EditorStore } from '../../../EditorStore.js';
19
20
  import { ElementEditorState } from '../ElementEditorState.js';
20
21
  export declare enum SCHEMA_SET_TAB_TYPE {
21
- GENERAL = "GENERAL",
22
- MODEL_GENERATION = "MODEL_GENERATION"
22
+ SCHEMAS = "SCHEMAS",
23
+ GENERATE_MODEL = "GENERATE_MODEL"
23
24
  }
24
25
  export declare class SchemaSetModelGenerationState {
25
- isGenerating: boolean;
26
- isImportingGeneratedElements: boolean;
27
- schemaSetEditorState: SchemaSetEditorState;
26
+ readonly editorStore: EditorStore;
27
+ readonly schemaSet: SchemaSet;
28
+ generatingModelsState: ActionState;
29
+ importGeneratedElementsState: ActionState;
28
30
  configurationProperties: ConfigurationProperty[];
29
31
  generationValue: string;
30
- constructor(schemaSetEditorState: SchemaSetEditorState);
32
+ targetBinding: string;
33
+ isolatedGraph: PureModel | undefined;
34
+ constructor(schemaSet: SchemaSet, editorStore: EditorStore, graph?: PureModel | undefined);
31
35
  setConfigurationProperty(val: ConfigurationProperty[]): void;
32
- get description(): ExternalFormatDescription;
36
+ get description(): ExternalFormatDescription | undefined;
33
37
  get modelGenerationProperties(): GenerationProperty[];
38
+ get canGenerate(): boolean;
39
+ setTargetBindingPath(val: string): void;
34
40
  getConfigValue(name: string): unknown | undefined;
35
41
  getConfig(name: string): ConfigurationProperty | undefined;
36
42
  setGenerationValue(val: string): void;
43
+ handleTargetBindingPathChange(): void;
37
44
  updateGenerationParameters(generationProperty: GenerationProperty, newValue: unknown): void;
38
- generateModel(): GeneratorFn<void>;
39
- importGrammar(): GeneratorFn<void>;
45
+ generateModel(): GeneratorFn<boolean>;
46
+ importGeneratedModelsIntoGraph(): GeneratorFn<void>;
47
+ getImportEntities(): GeneratorFn<Entity[]>;
40
48
  }
41
49
  export declare class ImportSchemaContentState {
42
50
  editorStore: EditorStore;
43
- schemaSetEditorState: SchemaSetEditorState;
51
+ schemaSetEditorState: InnerSchemaSetEditorState | SchemaSetEditorState;
44
52
  loadingSchemaContentState: ActionState;
45
53
  files: File[] | undefined;
46
54
  importSchemaModal: boolean;
47
- constructor(schemaSetEditorState: SchemaSetEditorState, editorStore: EditorStore);
55
+ constructor(schemaSetEditorState: InnerSchemaSetEditorState | SchemaSetEditorState, editorStore: EditorStore);
48
56
  setImportSchemaModal(val: boolean): void;
49
57
  setFiles(files: File[] | undefined): void;
50
58
  removeFile(file: File): void;
51
59
  closeModal(): void;
52
60
  importSchemas(files: File[]): GeneratorFn<void>;
53
61
  }
62
+ export declare class InnerSchemaSetEditorState {
63
+ readonly editorStore: EditorStore;
64
+ isReadOnly: boolean;
65
+ schemaSet: SchemaSet;
66
+ currentSchema?: Schema | undefined;
67
+ selectedTab: SCHEMA_SET_TAB_TYPE;
68
+ schemaValidationError?: CompilationError;
69
+ importSchemaContentState: ImportSchemaContentState;
70
+ schemaSetModelGenerationState: SchemaSetModelGenerationState;
71
+ constructor(isReadOnly: boolean, schemaSet: SchemaSet, editorStore: EditorStore, graph: PureModel);
72
+ reset(): void;
73
+ setCurrentSchema(value: Schema | undefined): void;
74
+ setSelectedTab(tab: SCHEMA_SET_TAB_TYPE): void;
75
+ setSchemaValidationerror(error: CompilationError): void;
76
+ }
54
77
  export declare class SchemaSetEditorState extends ElementEditorState {
55
78
  currentSchema?: Schema | undefined;
56
79
  selectedTab: SCHEMA_SET_TAB_TYPE;
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaSetEditorState.d.ts","sourceRoot":"","sources":["../../../../../src/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EACL,KAAK,WAAW,EAQhB,WAAW,EAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,gBAAgB,EAChB,qBAAqB,EAErB,oBAAoB,IAAI,MAAM,EAC9B,SAAS,EACV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;CACtC;AAED,qBAAa,6BAA6B;IACxC,YAAY,UAAS;IACrB,4BAA4B,UAAS;IACrC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,uBAAuB,EAAE,qBAAqB,EAAE,CAAM;IACtD,eAAe,SAAM;gBAET,oBAAoB,EAAE,oBAAoB;IActD,wBAAwB,CAAC,GAAG,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAI5D,IAAI,WAAW,IAAI,yBAAyB,CAI3C;IAED,IAAI,yBAAyB,IAAI,kBAAkB,EAAE,CAEpD;IAED,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIjD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAM1D,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIrC,0BAA0B,CACxB,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,OAAO,GAChB,IAAI;IAmDN,aAAa,IAAI,WAAW,CAAC,IAAI,CAAC;IAsClC,aAAa,IAAI,WAAW,CAAC,IAAI,CAAC;CAgCpC;AACD,qBAAa,wBAAwB;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,yBAAyB,cAAwB;IACjD,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAC1B,iBAAiB,UAAS;gBAExB,oBAAoB,EAAE,oBAAoB,EAC1C,WAAW,EAAE,WAAW;IAgB1B,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIxC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,IAAI;IAIzC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAM5B,UAAU,IAAI,IAAI;IAKjB,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;CA6BjD;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,sBAA+B;IAC1C,qBAAqB,CAAC,EAAE,gBAAgB,CAAC;IACzC,wBAAwB,EAAE,wBAAwB,CAAC;IAEnD,6BAA6B,EAAE,6BAA6B,CAAC;gBACjD,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB;IA4BjE,IAAI,SAAS,IAAI,SAAS,CAMzB;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIjD,cAAc,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IAI9C,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAIvD,SAAS,CACP,UAAU,EAAE,kBAAkB,EAC9B,WAAW,EAAE,WAAW,GACvB,kBAAkB;IAQpB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC;CAwB1D"}
1
+ {"version":3,"file":"SchemaSetEditorState.d.ts","sourceRoot":"","sources":["../../../../../src/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.ts"],"names":[],"mappings":"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"}