@finos/legend-application-studio 28.16.25 → 28.17.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.
- package/lib/components/ShowcaseManager.d.ts.map +1 -1
- package/lib/components/ShowcaseManager.js +2 -2
- package/lib/components/ShowcaseManager.js.map +1 -1
- package/lib/components/editor/editor-group/UnsupportedElementEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/UnsupportedElementEditor.js +3 -3
- package/lib/components/editor/editor-group/UnsupportedElementEditor.js.map +1 -1
- package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.d.ts.map +1 -1
- package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.js +3 -4
- package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.js.map +1 -1
- package/lib/components/editor/editor-group/database/IsolatedQueryDatabase.d.ts.map +1 -1
- package/lib/components/editor/editor-group/database/IsolatedQueryDatabase.js +2 -2
- package/lib/components/editor/editor-group/database/IsolatedQueryDatabase.js.map +1 -1
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.js +2 -2
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.js.map +1 -1
- package/lib/components/editor/panel-group/DevToolPanel.d.ts.map +1 -1
- package/lib/components/editor/panel-group/DevToolPanel.js +6 -4
- package/lib/components/editor/panel-group/DevToolPanel.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/EditorGraphState.js +1 -1
- package/lib/stores/editor/EditorGraphState.js.map +1 -1
- package/lib/stores/editor/GraphEditGrammarModeState.d.ts +1 -0
- package/lib/stores/editor/GraphEditGrammarModeState.d.ts.map +1 -1
- package/lib/stores/editor/GraphEditGrammarModeState.js +21 -5
- package/lib/stores/editor/GraphEditGrammarModeState.js.map +1 -1
- package/lib/stores/editor/editor-state/ModelImporterState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/ModelImporterState.js +3 -3
- package/lib/stores/editor/editor-state/ModelImporterState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/ElementEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/ElementEditorState.js +3 -3
- package/lib/stores/editor/editor-state/element-editor-state/ElementEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.js +1 -2
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -1
- package/lib/stores/editor/utils/ModelClassifierUtils.d.ts +1 -1
- package/lib/stores/editor/utils/ModelClassifierUtils.d.ts.map +1 -1
- package/lib/stores/editor/utils/ModelClassifierUtils.js +1 -1
- package/lib/stores/editor/utils/ModelClassifierUtils.js.map +1 -1
- package/package.json +11 -11
- package/src/components/ShowcaseManager.tsx +2 -1
- package/src/components/editor/editor-group/UnsupportedElementEditor.tsx +3 -5
- package/src/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.tsx +3 -3
- package/src/components/editor/editor-group/database/IsolatedQueryDatabase.tsx +6 -2
- package/src/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.tsx +2 -4
- package/src/components/editor/panel-group/DevToolPanel.tsx +14 -7
- package/src/stores/editor/EditorGraphState.ts +1 -1
- package/src/stores/editor/GraphEditGrammarModeState.ts +30 -3
- package/src/stores/editor/editor-state/ModelImporterState.ts +3 -2
- package/src/stores/editor/editor-state/element-editor-state/ElementEditorState.ts +3 -6
- package/src/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.ts +1 -1
- package/src/stores/editor/utils/ModelClassifierUtils.ts +1 -1
|
@@ -32,7 +32,11 @@ import {
|
|
|
32
32
|
import { useEditorStore } from '../EditorStoreProvider.js';
|
|
33
33
|
import { LEGEND_STUDIO_SETTING_KEY } from '../../../__lib__/LegendStudioSetting.js';
|
|
34
34
|
import { flowResult } from 'mobx';
|
|
35
|
-
import
|
|
35
|
+
import {
|
|
36
|
+
PARSER_SECTION_MARKER,
|
|
37
|
+
PURE_PARSER,
|
|
38
|
+
type PureModel,
|
|
39
|
+
} from '@finos/legend-graph';
|
|
36
40
|
|
|
37
41
|
export const DevToolPanel = observer(() => {
|
|
38
42
|
const editorStore = useEditorStore();
|
|
@@ -71,8 +75,8 @@ export const DevToolPanel = observer(() => {
|
|
|
71
75
|
);
|
|
72
76
|
};
|
|
73
77
|
|
|
74
|
-
const downloadDependencyProjectGrammars = async (): Promise<string> => {
|
|
75
|
-
const
|
|
78
|
+
const downloadDependencyProjectGrammars = async (): Promise<string[]> => {
|
|
79
|
+
const grammars = await Promise.all(
|
|
76
80
|
Array.from(
|
|
77
81
|
editorStore.graphManagerState.graph.dependencyManager
|
|
78
82
|
.projectDependencyModelsIndex,
|
|
@@ -88,7 +92,7 @@ export const DevToolPanel = observer(() => {
|
|
|
88
92
|
) as string,
|
|
89
93
|
),
|
|
90
94
|
);
|
|
91
|
-
return
|
|
95
|
+
return grammars;
|
|
92
96
|
};
|
|
93
97
|
|
|
94
98
|
const downloadProjectGrammar = async (
|
|
@@ -105,14 +109,17 @@ export const DevToolPanel = observer(() => {
|
|
|
105
109
|
const dependencyGrammars = withDependency
|
|
106
110
|
? ((await Promise.all([
|
|
107
111
|
flowResult(downloadDependencyProjectGrammars()),
|
|
108
|
-
])) as unknown as string)
|
|
109
|
-
:
|
|
112
|
+
])) as unknown as string[])
|
|
113
|
+
: [];
|
|
114
|
+
const fullGrammar = [graphGrammar, ...dependencyGrammars].join(
|
|
115
|
+
`\n${PARSER_SECTION_MARKER}${PURE_PARSER.PURE}\n`,
|
|
116
|
+
);
|
|
110
117
|
const fileName = `grammar.${getContentTypeFileExtension(
|
|
111
118
|
ContentType.TEXT_PLAIN,
|
|
112
119
|
)}`;
|
|
113
120
|
downloadFileUsingDataURI(
|
|
114
121
|
fileName,
|
|
115
|
-
`${
|
|
122
|
+
`${fullGrammar}`,
|
|
116
123
|
ContentType.TEXT_PLAIN,
|
|
117
124
|
);
|
|
118
125
|
};
|
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
EngineError,
|
|
28
28
|
GraphBuilderError,
|
|
29
29
|
reportGraphAnalytics,
|
|
30
|
+
INTERNAL__UnknownElement,
|
|
30
31
|
} from '@finos/legend-graph';
|
|
31
32
|
import {
|
|
32
33
|
type GeneratorFn,
|
|
@@ -35,6 +36,7 @@ import {
|
|
|
35
36
|
ActionState,
|
|
36
37
|
StopWatch,
|
|
37
38
|
assertNonNullable,
|
|
39
|
+
filterByType,
|
|
38
40
|
} from '@finos/legend-shared';
|
|
39
41
|
import type { Entity } from '@finos/legend-storage';
|
|
40
42
|
import { makeObservable, flow, flowResult, observable } from 'mobx';
|
|
@@ -96,6 +98,11 @@ export class GraphEditGrammarModeState extends GraphEditorMode {
|
|
|
96
98
|
sourceInformationIndex,
|
|
97
99
|
);
|
|
98
100
|
|
|
101
|
+
//Include the UnknownPackageableElements when sending to compute local changes
|
|
102
|
+
//Otherwise, they get deleted because they dont exist in the graphGrammarText
|
|
103
|
+
const unknownEntities = this.getUnknownPackageableElementsAsEntities();
|
|
104
|
+
entities.push(...unknownEntities);
|
|
105
|
+
|
|
99
106
|
yield flowResult(
|
|
100
107
|
this.editorStore.changeDetectionState.computeLocalChangesInTextMode(
|
|
101
108
|
entities,
|
|
@@ -195,6 +202,12 @@ export class GraphEditGrammarModeState extends GraphEditorMode {
|
|
|
195
202
|
return this.grammarTextEditorState.currentTextGraphHash;
|
|
196
203
|
}
|
|
197
204
|
|
|
205
|
+
getUnknownPackageableElementsAsEntities(): Entity[] {
|
|
206
|
+
return this.editorStore.graphManagerState.graph.allOwnElements.filter(
|
|
207
|
+
filterByType(INTERNAL__UnknownElement),
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
|
|
198
211
|
*addElement(
|
|
199
212
|
element: PackageableElement,
|
|
200
213
|
packagePath: string | undefined,
|
|
@@ -354,6 +367,12 @@ export class GraphEditGrammarModeState extends GraphEditorMode {
|
|
|
354
367
|
)) as TextCompilationResult;
|
|
355
368
|
|
|
356
369
|
const entities = compilationResult.entities;
|
|
370
|
+
|
|
371
|
+
//Include the UnknownPackageableElements when updating graph and sending to compute local changes
|
|
372
|
+
//Otherwise, they get deleted because they dont exist in the CompilationResult
|
|
373
|
+
const unknownEntities = this.getUnknownPackageableElementsAsEntities();
|
|
374
|
+
entities.push(...unknownEntities);
|
|
375
|
+
|
|
357
376
|
this.editorStore.graphState.setMostRecentCompilationGraphHash(
|
|
358
377
|
currentGraphHash,
|
|
359
378
|
);
|
|
@@ -477,8 +496,15 @@ export class GraphEditGrammarModeState extends GraphEditorMode {
|
|
|
477
496
|
compilationResult.warnings,
|
|
478
497
|
)
|
|
479
498
|
: [];
|
|
480
|
-
|
|
481
|
-
|
|
499
|
+
|
|
500
|
+
const entities = compilationResult.entities;
|
|
501
|
+
|
|
502
|
+
//Include the UnknownPackageableElements when updating graph
|
|
503
|
+
//Otherwise, they get deleted because they dont exist in the CompilationResult
|
|
504
|
+
const unknownEntities = this.getUnknownPackageableElementsAsEntities();
|
|
505
|
+
entities.push(...unknownEntities);
|
|
506
|
+
|
|
507
|
+
this.editorStore.graphState.compilationResultEntities = entities;
|
|
482
508
|
this.editorStore.applicationStore.alertService.setBlockingAlert({
|
|
483
509
|
message: 'Leaving text mode and rebuilding graph...',
|
|
484
510
|
showLoading: true,
|
|
@@ -557,10 +583,11 @@ export class GraphEditGrammarModeState extends GraphEditorMode {
|
|
|
557
583
|
this.grammarTextEditorState.setGraphGrammarText(editorGrammar),
|
|
558
584
|
);
|
|
559
585
|
} else {
|
|
586
|
+
//Exclude UnknownPackageableElements from GrammarText editor mode since they cant be tranformed to PureCode
|
|
560
587
|
const graphGrammar =
|
|
561
588
|
(yield this.editorStore.graphManagerState.graphManager.graphToPureCode(
|
|
562
589
|
this.editorStore.graphManagerState.graph,
|
|
563
|
-
{ pretty: true },
|
|
590
|
+
{ pretty: true, excludeUnknown: true },
|
|
564
591
|
)) as string;
|
|
565
592
|
yield flowResult(
|
|
566
593
|
this.grammarTextEditorState.setGraphGrammarText(graphGrammar),
|
|
@@ -170,7 +170,7 @@ export class NativeModelImporterEditorState extends ModelImporterEditorState {
|
|
|
170
170
|
case MODEL_IMPORT_NATIVE_INPUT_TYPE.PURE_PROTOCOL: {
|
|
171
171
|
const graphEntities = this.editorStore.graphManagerState.graphBuildState
|
|
172
172
|
.hasSucceeded
|
|
173
|
-
? this.editorStore.graphManagerState.graph.
|
|
173
|
+
? this.editorStore.graphManagerState.graph.knownAllOwnElements.map(
|
|
174
174
|
(element) =>
|
|
175
175
|
this.editorStore.graphManagerState.graphManager.elementToEntity(
|
|
176
176
|
element,
|
|
@@ -187,7 +187,7 @@ export class NativeModelImporterEditorState extends ModelImporterEditorState {
|
|
|
187
187
|
case MODEL_IMPORT_NATIVE_INPUT_TYPE.ENTITIES: {
|
|
188
188
|
const graphEntities = this.editorStore.graphManagerState.graphBuildState
|
|
189
189
|
.hasSucceeded
|
|
190
|
-
? this.editorStore.graphManagerState.graph.
|
|
190
|
+
? this.editorStore.graphManagerState.graph.knownAllOwnElements.map(
|
|
191
191
|
(element) =>
|
|
192
192
|
this.editorStore.graphManagerState.graphManager.elementToEntity(
|
|
193
193
|
element,
|
|
@@ -206,6 +206,7 @@ export class NativeModelImporterEditorState extends ModelImporterEditorState {
|
|
|
206
206
|
this.modelText =
|
|
207
207
|
(yield this.editorStore.graphManagerState.graphManager.graphToPureCode(
|
|
208
208
|
this.editorStore.graphManagerState.graph,
|
|
209
|
+
{ excludeUnknown: true },
|
|
209
210
|
)) as string;
|
|
210
211
|
break;
|
|
211
212
|
}
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
type PackageableElement,
|
|
32
32
|
GRAPH_MANAGER_EVENT,
|
|
33
33
|
isElementReadOnly,
|
|
34
|
-
|
|
34
|
+
INTERNAL__UnknownElement,
|
|
35
35
|
} from '@finos/legend-graph';
|
|
36
36
|
import { DEFAULT_TAB_SIZE } from '@finos/legend-application';
|
|
37
37
|
import type { ElementFileGenerationState } from './ElementFileGenerationState.js';
|
|
@@ -201,14 +201,11 @@ export abstract class ElementEditorState extends EditorState {
|
|
|
201
201
|
);
|
|
202
202
|
} catch (error) {
|
|
203
203
|
assertErrorThrown(error);
|
|
204
|
-
const isUnknownEntity = isType(
|
|
205
|
-
this.element,
|
|
206
|
-
INTERNAL__UnknownPackageableElement,
|
|
207
|
-
);
|
|
204
|
+
const isUnknownEntity = isType(this.element, INTERNAL__UnknownElement);
|
|
208
205
|
if (isUnknownEntity) {
|
|
209
206
|
const unknownEntity = guaranteeType(
|
|
210
207
|
this.element,
|
|
211
|
-
|
|
208
|
+
INTERNAL__UnknownElement,
|
|
212
209
|
);
|
|
213
210
|
this.setTextContent(
|
|
214
211
|
JSON.stringify(unknownEntity.content, undefined, DEFAULT_TAB_SIZE),
|
package/src/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.ts
CHANGED
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
assertTrue,
|
|
31
31
|
URL_SEPARATOR,
|
|
32
32
|
filterByType,
|
|
33
|
+
compareSemVerVersions,
|
|
33
34
|
} from '@finos/legend-shared';
|
|
34
35
|
import { LEGEND_STUDIO_APP_EVENT } from '../../../../../__lib__/LegendStudioEvent.js';
|
|
35
36
|
import {
|
|
@@ -48,7 +49,6 @@ import {
|
|
|
48
49
|
ActionAlertActionType,
|
|
49
50
|
ActionAlertType,
|
|
50
51
|
} from '@finos/legend-application';
|
|
51
|
-
import { compareSemVerVersions } from '@finos/legend-storage';
|
|
52
52
|
import { MASTER_SNAPSHOT_ALIAS } from '@finos/legend-server-depot';
|
|
53
53
|
|
|
54
54
|
export const LATEST_PROJECT_REVISION = 'Latest Project Revision';
|
|
@@ -73,7 +73,7 @@ export enum PACKAGEABLE_ELEMENT_TYPE {
|
|
|
73
73
|
HOSTED_SERVICE = 'HOSTED_SERVICE',
|
|
74
74
|
|
|
75
75
|
TEMPORARY__LOCAL_CONNECTION = 'LOCAL_CONNECTION',
|
|
76
|
-
|
|
76
|
+
INTERNAL__UnknownElement = 'UNKNOWN',
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
export enum PACKAGEABLE_ELEMENT_GROUP_BY_CATEGORY {
|