@finos/legend-application-studio 28.3.5 → 28.4.1
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/application/LegendStudioApplicationConfig.d.ts +5 -0
- package/lib/application/LegendStudioApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendStudioApplicationConfig.js +7 -1
- package/lib/application/LegendStudioApplicationConfig.js.map +1 -1
- package/lib/components/editor/editor-group/FunctionEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/FunctionEditor.js +1 -1
- package/lib/components/editor/editor-group/FunctionEditor.js.map +1 -1
- package/lib/components/editor/editor-group/GrammarTextEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/GrammarTextEditor.js +100 -4
- package/lib/components/editor/editor-group/GrammarTextEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/DEPRECATED__MappingTestEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/DEPRECATED__MappingTestEditor.js +1 -1
- package/lib/components/editor/editor-group/mapping-editor/DEPRECATED__MappingTestEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.js +2 -2
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.d.ts.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.js +1 -1
- package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +8 -8
- package/lib/stores/LegendStudioApplicationPlugin.d.ts +5 -0
- package/lib/stores/LegendStudioApplicationPlugin.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.d.ts +2 -2
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.js +3 -3
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.js.map +1 -1
- package/package.json +19 -19
- package/src/application/LegendStudioApplicationConfig.ts +10 -0
- package/src/components/editor/editor-group/FunctionEditor.tsx +1 -0
- package/src/components/editor/editor-group/GrammarTextEditor.tsx +180 -0
- package/src/components/editor/editor-group/mapping-editor/DEPRECATED__MappingTestEditor.tsx +1 -0
- package/src/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.tsx +1 -0
- package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +1 -0
- package/src/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.tsx +6 -0
- package/src/components/editor/editor-group/uml-editor/ClassQueryBuilder.tsx +1 -0
- package/src/stores/LegendStudioApplicationPlugin.ts +6 -0
- package/src/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.ts +6 -2
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-application-studio",
|
3
|
-
"version": "28.
|
3
|
+
"version": "28.4.1",
|
4
4
|
"description": "Legend Studio application core",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -45,21 +45,21 @@
|
|
45
45
|
"test:watch": "jest --watch"
|
46
46
|
},
|
47
47
|
"dependencies": {
|
48
|
-
"@finos/legend-application": "15.0.
|
49
|
-
"@finos/legend-art": "7.0.
|
50
|
-
"@finos/legend-graph": "31.
|
51
|
-
"@finos/legend-lego": "1.1.
|
52
|
-
"@finos/legend-query-builder": "4.
|
53
|
-
"@finos/legend-server-depot": "6.0.
|
54
|
-
"@finos/legend-server-sdlc": "5.1.
|
55
|
-
"@finos/legend-server-showcase": "0.0.
|
56
|
-
"@finos/legend-shared": "10.0.
|
57
|
-
"@finos/legend-storage": "3.0.
|
48
|
+
"@finos/legend-application": "15.0.40",
|
49
|
+
"@finos/legend-art": "7.0.40",
|
50
|
+
"@finos/legend-graph": "31.2.0",
|
51
|
+
"@finos/legend-lego": "1.1.27",
|
52
|
+
"@finos/legend-query-builder": "4.5.0",
|
53
|
+
"@finos/legend-server-depot": "6.0.29",
|
54
|
+
"@finos/legend-server-sdlc": "5.1.3",
|
55
|
+
"@finos/legend-server-showcase": "0.0.9",
|
56
|
+
"@finos/legend-shared": "10.0.25",
|
57
|
+
"@finos/legend-storage": "3.0.75",
|
58
58
|
"@testing-library/react": "14.0.0",
|
59
|
-
"@types/react": "18.2.
|
59
|
+
"@types/react": "18.2.21",
|
60
60
|
"@types/react-dom": "18.2.7",
|
61
61
|
"fast-xml-parser": "4.2.7",
|
62
|
-
"mobx": "6.10.
|
62
|
+
"mobx": "6.10.2",
|
63
63
|
"mobx-react-lite": "3.4.3",
|
64
64
|
"mobx-utils": "6.0.8",
|
65
65
|
"monaco-editor": "0.41.0",
|
@@ -68,18 +68,18 @@
|
|
68
68
|
"react-dnd": "16.0.1",
|
69
69
|
"react-dom": "18.2.0",
|
70
70
|
"serializr": "3.0.2",
|
71
|
-
"yaml": "2.3.
|
71
|
+
"yaml": "2.3.2"
|
72
72
|
},
|
73
73
|
"devDependencies": {
|
74
|
-
"@finos/legend-dev-utils": "2.0.
|
75
|
-
"@jest/globals": "29.6.
|
74
|
+
"@finos/legend-dev-utils": "2.0.79",
|
75
|
+
"@jest/globals": "29.6.4",
|
76
76
|
"cross-env": "7.0.3",
|
77
|
-
"eslint": "8.
|
78
|
-
"jest": "29.6.
|
77
|
+
"eslint": "8.48.0",
|
78
|
+
"jest": "29.6.4",
|
79
79
|
"npm-run-all": "4.1.5",
|
80
80
|
"rimraf": "5.0.1",
|
81
81
|
"sass": "1.66.1",
|
82
|
-
"typescript": "5.
|
82
|
+
"typescript": "5.2.2"
|
83
83
|
},
|
84
84
|
"peerDependencies": {
|
85
85
|
"react": "^18.0.0"
|
@@ -27,12 +27,14 @@ import {
|
|
27
27
|
assertNonNullable,
|
28
28
|
guaranteeNonEmptyString,
|
29
29
|
SerializationFactory,
|
30
|
+
usingModelSchema,
|
30
31
|
} from '@finos/legend-shared';
|
31
32
|
import {
|
32
33
|
LegendApplicationConfig,
|
33
34
|
type LegendApplicationConfigurationInput,
|
34
35
|
type LegendApplicationConfigurationData,
|
35
36
|
} from '@finos/legend-application';
|
37
|
+
import { QueryBuilderConfig } from '@finos/legend-query-builder';
|
36
38
|
|
37
39
|
export class ServiceRegistrationEnvironmentConfig {
|
38
40
|
env!: string;
|
@@ -99,6 +101,11 @@ class LegendStudioApplicationCoreOptions {
|
|
99
101
|
TEMPORARY__serviceRegistrationConfig: ServiceRegistrationEnvironmentConfig[] =
|
100
102
|
[];
|
101
103
|
|
104
|
+
/**
|
105
|
+
* Config specific to query builder
|
106
|
+
*/
|
107
|
+
queryBuilderConfig: QueryBuilderConfig | undefined;
|
108
|
+
|
102
109
|
private static readonly serialization = new SerializationFactory(
|
103
110
|
createModelSchema(LegendStudioApplicationCoreOptions, {
|
104
111
|
enableGraphBuilderStrictMode: optional(primitive()),
|
@@ -110,6 +117,9 @@ class LegendStudioApplicationCoreOptions {
|
|
110
117
|
TEMPORARY__serviceRegistrationConfig: list(
|
111
118
|
object(ServiceRegistrationEnvironmentConfig),
|
112
119
|
),
|
120
|
+
queryBuilderConfig: optional(
|
121
|
+
usingModelSchema(QueryBuilderConfig.serialization.schema),
|
122
|
+
),
|
113
123
|
}),
|
114
124
|
);
|
115
125
|
|
@@ -1083,6 +1083,7 @@ export const FunctionEditor = observer(() => {
|
|
1083
1083
|
embeddedQueryBuilderState.editorStore.applicationStore,
|
1084
1084
|
embeddedQueryBuilderState.editorStore.graphManagerState,
|
1085
1085
|
functionEditorState.functionElement,
|
1086
|
+
editorStore.applicationStore.config.options.queryBuilderConfig,
|
1086
1087
|
);
|
1087
1088
|
functionQueryBuilderState.initializeWithQuery(
|
1088
1089
|
new RawLambda(
|
@@ -26,6 +26,8 @@ import {
|
|
26
26
|
clsx,
|
27
27
|
WordWrapIcon,
|
28
28
|
MoreHorizontalIcon,
|
29
|
+
FoldIcon,
|
30
|
+
UnfoldIcon,
|
29
31
|
PanelContent,
|
30
32
|
MenuContent,
|
31
33
|
MenuContentItem,
|
@@ -686,6 +688,7 @@ export const GrammarTextEditor = observer(() => {
|
|
686
688
|
GraphEditGrammarModeState,
|
687
689
|
).grammarTextEditorState;
|
688
690
|
const error = editorStore.graphState.error;
|
691
|
+
const [elementsFolded, setFoldingElements] = useState(false);
|
689
692
|
|
690
693
|
const forcedCursorPosition = grammarTextEditorState.forcedCursorPosition;
|
691
694
|
const value = normalizeLineEnding(grammarTextEditorState.graphGrammarText);
|
@@ -974,12 +977,172 @@ export const GrammarTextEditor = observer(() => {
|
|
974
977
|
);
|
975
978
|
}
|
976
979
|
|
980
|
+
function toggleAutoFoldingElements(): void {
|
981
|
+
const autoFoldingElements = editorStore.pluginManager
|
982
|
+
.getApplicationPlugins()
|
983
|
+
.flatMap(
|
984
|
+
(plugin) =>
|
985
|
+
(
|
986
|
+
plugin as DSL_LegendStudioApplicationPlugin_Extension
|
987
|
+
).getAutoFoldingCandidateToken?.() ?? [],
|
988
|
+
);
|
989
|
+
const foldingClass = editor?.getContribution('editor.contrib.folding');
|
990
|
+
|
991
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
992
|
+
(foldingClass as any).getFoldingModel().then(
|
993
|
+
(foldingModel: {
|
994
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
995
|
+
_regions: any;
|
996
|
+
onDidChange: (arg0: () => void) => void;
|
997
|
+
getRegionAtLine: (arg0: unknown) => unknown;
|
998
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
999
|
+
getAllRegionsAtLine(arg0: unknown): any;
|
1000
|
+
toggleCollapseState: (arg0: unknown) => unknown;
|
1001
|
+
}) => {
|
1002
|
+
const model = editor?.getModel();
|
1003
|
+
const toggleFoldingLines: number[] = [];
|
1004
|
+
model?.getLinesContent().forEach((line, j) => {
|
1005
|
+
autoFoldingElements.forEach((elementName) => {
|
1006
|
+
if (line.match(new RegExp(`^${elementName}`))) {
|
1007
|
+
toggleFoldingLines.push(j + 2);
|
1008
|
+
}
|
1009
|
+
});
|
1010
|
+
});
|
1011
|
+
let allElementsFolded = true;
|
1012
|
+
toggleFoldingLines.forEach((foldingLineRegion, i) => {
|
1013
|
+
if (foldingModel.getAllRegionsAtLine(foldingLineRegion)[0]) {
|
1014
|
+
if (
|
1015
|
+
foldingModel._regions.isCollapsed(
|
1016
|
+
foldingModel.getAllRegionsAtLine(foldingLineRegion)[0]
|
1017
|
+
.regionIndex,
|
1018
|
+
) === false
|
1019
|
+
) {
|
1020
|
+
allElementsFolded = false;
|
1021
|
+
}
|
1022
|
+
}
|
1023
|
+
});
|
1024
|
+
|
1025
|
+
setFoldingElements(!allElementsFolded);
|
1026
|
+
|
1027
|
+
toggleFoldingLines.forEach((foldingLineRegion, i) => {
|
1028
|
+
if (foldingModel.getAllRegionsAtLine(foldingLineRegion)[0]) {
|
1029
|
+
if (
|
1030
|
+
foldingModel._regions.isCollapsed(
|
1031
|
+
foldingModel.getAllRegionsAtLine(foldingLineRegion)[0]
|
1032
|
+
.regionIndex,
|
1033
|
+
) !== elementsFolded
|
1034
|
+
) {
|
1035
|
+
foldingModel.toggleCollapseState(
|
1036
|
+
foldingModel.getAllRegionsAtLine(foldingLineRegion),
|
1037
|
+
);
|
1038
|
+
}
|
1039
|
+
}
|
1040
|
+
});
|
1041
|
+
},
|
1042
|
+
);
|
1043
|
+
}
|
1044
|
+
|
977
1045
|
useEffect(() => {
|
978
1046
|
if (editor && forcedCursorPosition) {
|
979
1047
|
moveCursorToPosition(editor, forcedCursorPosition);
|
980
1048
|
}
|
981
1049
|
}, [editor, forcedCursorPosition]);
|
982
1050
|
|
1051
|
+
useEffect(() => {
|
1052
|
+
if (editor) {
|
1053
|
+
const autoFoldingElements = editorStore.pluginManager
|
1054
|
+
.getApplicationPlugins()
|
1055
|
+
.flatMap(
|
1056
|
+
(plugin) =>
|
1057
|
+
(
|
1058
|
+
plugin as DSL_LegendStudioApplicationPlugin_Extension
|
1059
|
+
).getAutoFoldingCandidateToken?.() ?? [],
|
1060
|
+
);
|
1061
|
+
const foldingClass = editor.getContribution('editor.contrib.folding');
|
1062
|
+
|
1063
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
1064
|
+
(foldingClass as any).getFoldingModel().then(
|
1065
|
+
(foldingModel: {
|
1066
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
1067
|
+
_regions: any;
|
1068
|
+
onDidChange: (arg0: () => void) => void;
|
1069
|
+
getRegionAtLine: (arg0: unknown) => unknown;
|
1070
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
1071
|
+
getAllRegionsAtLine(arg0: unknown): any;
|
1072
|
+
toggleCollapseState: (arg0: unknown) => unknown;
|
1073
|
+
}) => {
|
1074
|
+
foldingModel.onDidChange(() => {
|
1075
|
+
const model = editor.getModel();
|
1076
|
+
const toggleFoldingLines: number[] = [];
|
1077
|
+
model?.getLinesContent().forEach((line, j) => {
|
1078
|
+
autoFoldingElements.forEach((elementName) => {
|
1079
|
+
if (line.match(new RegExp(`^${elementName}`))) {
|
1080
|
+
toggleFoldingLines.push(j + 2);
|
1081
|
+
}
|
1082
|
+
});
|
1083
|
+
});
|
1084
|
+
let allElementsFolded = true;
|
1085
|
+
toggleFoldingLines.forEach((foldingLineRegion, i) => {
|
1086
|
+
if (foldingModel.getAllRegionsAtLine(foldingLineRegion)[0]) {
|
1087
|
+
if (
|
1088
|
+
foldingModel._regions.isCollapsed(
|
1089
|
+
foldingModel.getAllRegionsAtLine(foldingLineRegion)[0]
|
1090
|
+
.regionIndex,
|
1091
|
+
) === false
|
1092
|
+
) {
|
1093
|
+
allElementsFolded = false;
|
1094
|
+
}
|
1095
|
+
}
|
1096
|
+
});
|
1097
|
+
|
1098
|
+
setFoldingElements(!allElementsFolded);
|
1099
|
+
});
|
1100
|
+
},
|
1101
|
+
);
|
1102
|
+
}
|
1103
|
+
});
|
1104
|
+
|
1105
|
+
useEffect(() => {
|
1106
|
+
if (editor) {
|
1107
|
+
const autoFoldingElements = editorStore.pluginManager
|
1108
|
+
.getApplicationPlugins()
|
1109
|
+
.flatMap(
|
1110
|
+
(plugin) =>
|
1111
|
+
(
|
1112
|
+
plugin as DSL_LegendStudioApplicationPlugin_Extension
|
1113
|
+
).getAutoFoldingCandidateToken?.() ?? [],
|
1114
|
+
);
|
1115
|
+
const foldingClass = editor.getContribution('editor.contrib.folding');
|
1116
|
+
|
1117
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
1118
|
+
(foldingClass as any)
|
1119
|
+
.getFoldingModel()
|
1120
|
+
.then(
|
1121
|
+
(foldingModel: {
|
1122
|
+
onDidChange: (arg0: () => void) => void;
|
1123
|
+
getRegionAtLine: (arg0: unknown) => unknown;
|
1124
|
+
getAllRegionsAtLine(arg0: unknown): unknown;
|
1125
|
+
toggleCollapseState: (arg0: unknown) => unknown;
|
1126
|
+
}) => {
|
1127
|
+
const model = editor.getModel();
|
1128
|
+
const foldingLines: number[] = [];
|
1129
|
+
model?.getLinesContent().forEach((line, j) => {
|
1130
|
+
autoFoldingElements.forEach((elementName) => {
|
1131
|
+
if (line.match(new RegExp(`^${elementName}`))) {
|
1132
|
+
foldingLines.push(j + 2);
|
1133
|
+
}
|
1134
|
+
});
|
1135
|
+
});
|
1136
|
+
foldingLines.forEach((foldingLineRegion, i) => {
|
1137
|
+
foldingModel.toggleCollapseState(
|
1138
|
+
foldingModel.getAllRegionsAtLine(foldingLineRegion),
|
1139
|
+
);
|
1140
|
+
});
|
1141
|
+
},
|
1142
|
+
);
|
1143
|
+
}
|
1144
|
+
}, [editor, editorStore.pluginManager]);
|
1145
|
+
|
983
1146
|
// NOTE: dispose the editor to prevent potential memory-leak
|
984
1147
|
useEffect(
|
985
1148
|
() => (): void => {
|
@@ -1036,6 +1199,23 @@ export const GrammarTextEditor = observer(() => {
|
|
1036
1199
|
>
|
1037
1200
|
<WordWrapIcon className="editor-group__icon__word-wrap" />
|
1038
1201
|
</button>
|
1202
|
+
<button
|
1203
|
+
className={clsx('editor-group__header__action', {
|
1204
|
+
'editor-group__header__action--active': elementsFolded,
|
1205
|
+
})}
|
1206
|
+
onClick={toggleAutoFoldingElements}
|
1207
|
+
tabIndex={-1}
|
1208
|
+
title={`${
|
1209
|
+
!elementsFolded ? 'Unfold' : 'Fold'
|
1210
|
+
} auto-folding elements`}
|
1211
|
+
>
|
1212
|
+
{!elementsFolded && (
|
1213
|
+
<UnfoldIcon className="editor-group__icon__word-wrap" />
|
1214
|
+
)}
|
1215
|
+
{elementsFolded && (
|
1216
|
+
<FoldIcon className="editor-group__icon__word-wrap" />
|
1217
|
+
)}
|
1218
|
+
</button>
|
1039
1219
|
</div>
|
1040
1220
|
</div>
|
1041
1221
|
<PanelContent className="editor-group__content">
|
@@ -117,6 +117,7 @@ const MappingTestQueryEditor = observer(
|
|
117
117
|
embeddedQueryBuilderState.editorStore.applicationStore,
|
118
118
|
embeddedQueryBuilderState.editorStore.graphManagerState,
|
119
119
|
testState.mappingEditorState.mapping,
|
120
|
+
editorStore.applicationStore.config.options.queryBuilderConfig,
|
120
121
|
);
|
121
122
|
queryBuilderState.initializeWithQuery(testState.queryState.query);
|
122
123
|
if (openInTextMode) {
|
@@ -210,6 +210,7 @@ const MappingExecutionQueryEditor = observer(
|
|
210
210
|
embeddedQueryBuilderState.editorStore.applicationStore,
|
211
211
|
embeddedQueryBuilderState.editorStore.graphManagerState,
|
212
212
|
executionState.mappingEditorState.mapping,
|
213
|
+
editorStore.applicationStore.config.options.queryBuilderConfig,
|
213
214
|
);
|
214
215
|
queryBuilderState.initializeWithQuery(
|
215
216
|
executionState.queryState.query,
|
@@ -594,6 +594,7 @@ const MappingTestSuiteQueryEditor = observer(
|
|
594
594
|
embeddedQueryBuilderState.editorStore.applicationStore,
|
595
595
|
embeddedQueryBuilderState.editorStore.graphManagerState,
|
596
596
|
mapping,
|
597
|
+
editorStore.applicationStore.config.options.queryBuilderConfig,
|
597
598
|
);
|
598
599
|
queryBuilderState.initializeWithQuery(testableQueryState.query);
|
599
600
|
if (openInTextMode) {
|
@@ -135,6 +135,9 @@ export const ServiceExecutionQueryEditor = observer(
|
|
135
135
|
KeyedExecutionParameter
|
136
136
|
? selectedExecutionState.executionContext.key
|
137
137
|
: undefined,
|
138
|
+
undefined,
|
139
|
+
undefined,
|
140
|
+
embeddedQueryBuilderState.editorStore.applicationStore.config.options.queryBuilderConfig,
|
138
141
|
);
|
139
142
|
queryBuilderState.initializeWithQuery(
|
140
143
|
executionState.execution.func,
|
@@ -463,6 +466,9 @@ export const queryService = async (
|
|
463
466
|
service,
|
464
467
|
undefined,
|
465
468
|
selectedExec,
|
469
|
+
undefined,
|
470
|
+
undefined,
|
471
|
+
embeddedQueryBuilderState.editorStore.applicationStore.config.options.queryBuilderConfig,
|
466
472
|
);
|
467
473
|
if (execution) {
|
468
474
|
queryBuilderState.initializeWithQuery(execution.func);
|
@@ -379,6 +379,7 @@ export const queryClass = async (
|
|
379
379
|
const queryBuilderState = new ClassQueryBuilderState(
|
380
380
|
embeddedQueryBuilderState.editorStore.applicationStore,
|
381
381
|
embeddedQueryBuilderState.editorStore.graphManagerState,
|
382
|
+
editorStore.applicationStore.config.options.queryBuilderConfig,
|
382
383
|
);
|
383
384
|
queryBuilderState.changeClass(_class);
|
384
385
|
queryBuilderState.propagateClassChange(_class);
|
@@ -326,4 +326,10 @@ export interface DSL_LegendStudioApplicationPlugin_Extension
|
|
326
326
|
* (e.g. Class, Enum in ###Pure)
|
327
327
|
*/
|
328
328
|
getExtraPureGrammarParserElementSnippetSuggestionsGetters?(): PureGrammarParserElementSnippetSuggestionsGetter[];
|
329
|
+
|
330
|
+
/**
|
331
|
+
* Get a string of the Pure grammar element name for auto-folding the element
|
332
|
+
* (e.g. Diagram, or Text)
|
333
|
+
*/
|
334
|
+
getAutoFoldingCandidateToken?(): string[];
|
329
335
|
}
|
@@ -15,7 +15,10 @@
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
import type { GenericLegendApplicationStore } from '@finos/legend-application';
|
18
|
-
import {
|
18
|
+
import {
|
19
|
+
type QueryBuilderConfig,
|
20
|
+
QueryBuilderState,
|
21
|
+
} from '@finos/legend-query-builder';
|
19
22
|
import type { GraphManagerState, Mapping } from '@finos/legend-graph';
|
20
23
|
import { renderMappingExecutionQueryBuilderSetupPanelContent } from '../../../../../components/editor/editor-group/mapping-editor/MappingExecutionQueryBuilder.js';
|
21
24
|
|
@@ -29,8 +32,9 @@ export class MappingExecutionQueryBuilderState extends QueryBuilderState {
|
|
29
32
|
applicationStore: GenericLegendApplicationStore,
|
30
33
|
graphManagerState: GraphManagerState,
|
31
34
|
mapping: Mapping,
|
35
|
+
config: QueryBuilderConfig | undefined,
|
32
36
|
) {
|
33
|
-
super(applicationStore, graphManagerState);
|
37
|
+
super(applicationStore, graphManagerState, config);
|
34
38
|
this.executionMapping = mapping;
|
35
39
|
this.executionContextState.mapping = mapping;
|
36
40
|
}
|