@finos/legend-application-studio 28.18.114 → 28.18.115
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/editor/editor-group/dataProduct/DataPoductEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/DataPoductEditor.js +9 -5
- package/lib/components/editor/editor-group/dataProduct/DataPoductEditor.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts +2 -0
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js +35 -3
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js.map +1 -1
- package/package.json +6 -6
- package/src/components/editor/editor-group/dataProduct/DataPoductEditor.tsx +21 -11
- package/src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts +46 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DataPoductEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/dataProduct/DataPoductEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAEL,yBAAyB,EAC1B,MAAM,mGAAmG,CAAC;
|
1
|
+
{"version":3,"file":"DataPoductEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/dataProduct/DataPoductEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAEL,yBAAyB,EAC1B,MAAM,mGAAmG,CAAC;AA+G3G,eAAO,MAAM,sCAAsC,WACzC;IACN,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,UAAU,EAAE,OAAO,CAAC;CACrB;;CA6DF,CAAC;AAqCF,eAAO,MAAM,iBAAiB;;CAwE5B,CAAC"}
|
@@ -21,6 +21,7 @@ import { clsx, LockIcon, PanelContent, PanelHeader, PanelHeaderActions, Dialog,
|
|
21
21
|
import { useRef, useState, useEffect } from 'react';
|
22
22
|
import { filterByType } from '@finos/legend-shared';
|
23
23
|
import { InlineLambdaEditor } from '@finos/legend-query-builder';
|
24
|
+
import { flowResult } from 'mobx';
|
24
25
|
const NewAccessPointAccessPOint = observer((props) => {
|
25
26
|
const { dataProductEditorState: dataProductEditorState } = props;
|
26
27
|
const accessPointInputRef = useRef(null);
|
@@ -79,7 +80,8 @@ export const LakehouseDataProductAcccessPointEditor = observer((props) => {
|
|
79
80
|
.find((pm) => pm.lambdaState.parserError);
|
80
81
|
return (_jsxs("div", { className: clsx('access-point-editor', {
|
81
82
|
backdrop__element: propertyHasParserError,
|
82
|
-
}), children: [_jsxs("div", { className: "access-point-editor__metadata", children: [_jsx("div", { className: clsx('access-point-editor__name', {}), children: _jsx("div", { className: "access-point-editor__name__label", children: accessPoint.id }) }), _jsx("div", { className: "access-point-editor__info", children: _jsx("div", { className: clsx('access-point-editor__type'), title: accessPoint.targetEnvironment, children: _jsx("div", { className: "access-point-editor__type__label", children: accessPoint.targetEnvironment }) }) })] }), _jsx("div", { className: "access-point-editor__content", children: _jsxs("div", { className: "access-point-editor__generic-entry", children: [_jsx("div", { className: "access-point-editor__entry__container", children: _jsx("div", { className: "access-point-editor__entry", children: _jsx(InlineLambdaEditor, { className: 'access-point-editor__lambda-editor', disabled:
|
83
|
+
}), children: [_jsxs("div", { className: "access-point-editor__metadata", children: [_jsx("div", { className: clsx('access-point-editor__name', {}), children: _jsx("div", { className: "access-point-editor__name__label", children: accessPoint.id }) }), _jsx("div", { className: "access-point-editor__info", children: _jsx("div", { className: clsx('access-point-editor__type'), title: accessPoint.targetEnvironment, children: _jsx("div", { className: "access-point-editor__type__label", children: accessPoint.targetEnvironment }) }) })] }), _jsx("div", { className: "access-point-editor__content", children: _jsxs("div", { className: "access-point-editor__generic-entry", children: [_jsx("div", { className: "access-point-editor__entry__container", children: _jsx("div", { className: "access-point-editor__entry", children: _jsx(InlineLambdaEditor, { className: 'access-point-editor__lambda-editor', disabled: lambdaEditorState.val.state
|
84
|
+
.isConvertingTransformLambdaObjects, lambdaEditorState: lambdaEditorState, forceBackdrop: Boolean(lambdaEditorState.parserError) }) }) }), _jsx("button", { className: "access-point-editor__generic-entry__remove-btn", onClick: () => {
|
83
85
|
productEditorState.deleteAccessPoint(accessPointState);
|
84
86
|
}, tabIndex: -1, title: "Remove", children: _jsx(TimesIcon, {}) })] }) })] }));
|
85
87
|
});
|
@@ -105,9 +107,11 @@ export const DataProductEditor = observer(() => {
|
|
105
107
|
const openNewModal = () => {
|
106
108
|
dataProductEditorState.setAccessPointModal(true);
|
107
109
|
};
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
110
|
+
useEffect(() => {
|
111
|
+
flowResult(dataProductEditorState.convertAccessPointsFuncObjects()).catch(dataProductEditorState.editorStore.applicationStore.alertUnhandledError);
|
112
|
+
}, [dataProductEditorState]);
|
113
|
+
return (_jsx("div", { className: "data-product-editor", children: _jsxs("div", { className: "panel", children: [_jsx("div", { className: "panel__header", children: _jsxs("div", { className: "panel__header__title", children: [isReadOnly && (_jsx("div", { className: "uml-element-editor__header__lock", children: _jsx(LockIcon, {}) })), _jsx("div", { className: "panel__header__title__label", children: "data product" }), _jsx("div", { className: "panel__header__title__content", children: product.name })] }) }), _jsxs("div", { className: "panel", children: [_jsxs(PanelHeader, { children: [_jsx("div", { className: "panel__header__title", children: _jsx("div", { className: "panel__header__title__content", children: "ACCESS POINTS" }) }), _jsx(PanelHeaderActions, { children: _jsx(PanelHeaderActionItem, { className: "panel__header__action", onClick: openNewModal, disabled: isReadOnly, title: "Create new access point", children: _jsx(PlusIcon, {}) }) })] }), _jsxs(PanelContent, { children: [accessPointStates
|
114
|
+
.filter(filterByType(LakehouseAccessPointState))
|
115
|
+
.map((apState) => (_jsx(LakehouseDataProductAcccessPointEditor, { isReadOnly: isReadOnly, accessPointState: apState }, apState.accessPoint.id))), !accessPointStates.length && (_jsx(DataProductEditorSplashScreen, { dataProductEditorState: dataProductEditorState }))] }), dataProductEditorState.accessPointModal && (_jsx(NewAccessPointAccessPOint, { dataProductEditorState: dataProductEditorState }))] })] }) }));
|
112
116
|
});
|
113
117
|
//# sourceMappingURL=DataPoductEditor.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DataPoductEditor.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/dataProduct/DataPoductEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,mGAAmG,CAAC;AAC3G,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,QAAQ,EACR,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;
|
1
|
+
{"version":3,"file":"DataPoductEditor.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/dataProduct/DataPoductEditor.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts
CHANGED
@@ -42,7 +42,9 @@ export declare class LakehouseAccessPointState extends AccessPointState {
|
|
42
42
|
export declare class DataProductEditorState extends ElementEditorState {
|
43
43
|
accessPointModal: boolean;
|
44
44
|
accessPointStates: AccessPointState[];
|
45
|
+
isConvertingTransformLambdaObjects: boolean;
|
45
46
|
constructor(editorStore: EditorStore, element: PackageableElement);
|
47
|
+
convertAccessPointsFuncObjects(): GeneratorFn<void>;
|
46
48
|
buildAccessPointState(val: AccessPoint): AccessPointState;
|
47
49
|
setAccessPointModal(val: boolean): void;
|
48
50
|
deleteAccessPoint(val: AccessPointState): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DataProductEditorState.d.ts","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAQjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAGL,KAAK,WAAW,
|
1
|
+
{"version":3,"file":"DataProductEditorState.d.ts","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAQjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAGL,KAAK,WAAW,EAKjB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,WAAW,EAAE,WAAW,CAAC;gBAEb,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB;CAIlE;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,CAAC;gBAE5B,GAAG,EAAE,yBAAyB;IAM1C,IAAa,QAAQ,IAAI,MAAM,CAE9B;IAEA,kCAAkC,IAAI,WAAW,CAAC,IAAI,CAAC;IA2BvD,kCAAkC,CAAC,OAAO,CAAC,EAAE;QAC5C,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC7B,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAChD,GAAG,WAAW,CAAC,IAAI,CAAC;CAkCtB;AACD,qBAAa,yBAA0B,SAAQ,gBAAgB;IACrD,WAAW,EAAE,oBAAoB,CAAC;IAC1C,WAAW,EAAE,4BAA4B,CAAC;gBAE9B,GAAG,EAAE,oBAAoB,EAAE,WAAW,EAAE,sBAAsB;CAQ3E;AAED,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,gBAAgB,UAAS;IACzB,iBAAiB,EAAE,gBAAgB,EAAE,CAAM;IAC3C,kCAAkC,UAAS;gBAE/B,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB;IAkBhE,8BAA8B,IAAI,WAAW,CAAC,IAAI,CAAC;IAqCpD,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,gBAAgB;IAOzD,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIvC,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAM9C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAahC,IAAI,OAAO,IAAI,WAAW,CAMzB;IAED,IAAI,YAAY,IAAI,WAAW,EAAE,CAEhC;IAEQ,SAAS,CAChB,UAAU,EAAE,kBAAkB,EAC9B,WAAW,EAAE,WAAW,GACvB,sBAAsB;CAI1B"}
|
package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js
CHANGED
@@ -15,8 +15,8 @@
|
|
15
15
|
*/
|
16
16
|
import { DataProduct, LakehouseAccessPoint, stub_RawLambda, LakehouseTargetEnv, LAMBDA_PIPE, ParserError, GRAPH_MANAGER_EVENT, isStubbed_RawLambda, } from '@finos/legend-graph';
|
17
17
|
import { ElementEditorState } from '../ElementEditorState.js';
|
18
|
-
import { action, computed, makeObservable, observable } from 'mobx';
|
19
|
-
import { guaranteeType, addUniqueEntry, assertErrorThrown, LogEvent, deleteEntry, } from '@finos/legend-shared';
|
18
|
+
import { action, computed, flow, makeObservable, observable } from 'mobx';
|
19
|
+
import { guaranteeType, addUniqueEntry, assertErrorThrown, LogEvent, deleteEntry, filterByType, } from '@finos/legend-shared';
|
20
20
|
import { dataProduct_addAccessPoint, dataProduct_deleteAccessPoint, } from '../../../../graph-modifier/DSL_DataProduct_GraphModifierHelper.js';
|
21
21
|
import { LambdaEditorState } from '@finos/legend-query-builder';
|
22
22
|
export class AccessPointState {
|
@@ -60,7 +60,8 @@ export class AccessPointLambdaEditorState extends LambdaEditorState {
|
|
60
60
|
}
|
61
61
|
}
|
62
62
|
*convertLambdaObjectToGrammarString(options) {
|
63
|
-
if (!isStubbed_RawLambda(this.val.accessPoint.func)
|
63
|
+
if (!isStubbed_RawLambda(this.val.accessPoint.func) &&
|
64
|
+
!this.val.state.isConvertingTransformLambdaObjects) {
|
64
65
|
try {
|
65
66
|
const lambdas = new Map();
|
66
67
|
lambdas.set(this.lambdaId, this.val.accessPoint.func);
|
@@ -98,6 +99,7 @@ export class LakehouseAccessPointState extends AccessPointState {
|
|
98
99
|
export class DataProductEditorState extends ElementEditorState {
|
99
100
|
accessPointModal = false;
|
100
101
|
accessPointStates = [];
|
102
|
+
isConvertingTransformLambdaObjects = false;
|
101
103
|
constructor(editorStore, element) {
|
102
104
|
super(editorStore, element);
|
103
105
|
makeObservable(this, {
|
@@ -105,11 +107,41 @@ export class DataProductEditorState extends ElementEditorState {
|
|
105
107
|
accessPointModal: observable,
|
106
108
|
accessPointStates: observable,
|
107
109
|
deleteAccessPoint: observable,
|
110
|
+
isConvertingTransformLambdaObjects: observable,
|
108
111
|
setAccessPointModal: action,
|
109
112
|
addAccessPoint: action,
|
113
|
+
convertAccessPointsFuncObjects: flow,
|
110
114
|
});
|
111
115
|
this.accessPointStates = this.product.accessPoints.map((e) => this.buildAccessPointState(e));
|
112
116
|
}
|
117
|
+
*convertAccessPointsFuncObjects() {
|
118
|
+
const lambdas = new Map();
|
119
|
+
const index = new Map();
|
120
|
+
const states = this.accessPointStates.filter(filterByType(LakehouseAccessPointState));
|
121
|
+
states.forEach((pm) => {
|
122
|
+
if (!isStubbed_RawLambda(pm.accessPoint.func)) {
|
123
|
+
lambdas.set(pm.lambdaState.lambdaId, pm.accessPoint.func);
|
124
|
+
index.set(pm.lambdaState.lambdaId, pm);
|
125
|
+
}
|
126
|
+
});
|
127
|
+
if (lambdas.size) {
|
128
|
+
this.isConvertingTransformLambdaObjects = true;
|
129
|
+
try {
|
130
|
+
const isolatedLambdas = (yield this.editorStore.graphManagerState.graphManager.lambdasToPureCode(lambdas));
|
131
|
+
isolatedLambdas.forEach((grammarText, key) => {
|
132
|
+
const purePropertyMapping = index.get(key);
|
133
|
+
purePropertyMapping?.lambdaState.setLambdaString(purePropertyMapping.lambdaState.extractLambdaString(grammarText));
|
134
|
+
});
|
135
|
+
}
|
136
|
+
catch (error) {
|
137
|
+
assertErrorThrown(error);
|
138
|
+
this.editorStore.applicationStore.logService.error(LogEvent.create(GRAPH_MANAGER_EVENT.PARSING_FAILURE), error);
|
139
|
+
}
|
140
|
+
finally {
|
141
|
+
this.isConvertingTransformLambdaObjects = false;
|
142
|
+
}
|
143
|
+
}
|
144
|
+
}
|
113
145
|
buildAccessPointState(val) {
|
114
146
|
if (val instanceof LakehouseAccessPoint) {
|
115
147
|
return new LakehouseAccessPointState(val, this);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DataProductEditorState.js","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,WAAW,EACX,oBAAoB,EAGpB,cAAc,EACd,kBAAkB,EAClB,WAAW,EAEX,WAAW,EACX,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"DataProductEditorState.js","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-application-studio",
|
3
|
-
"version": "28.18.
|
3
|
+
"version": "28.18.115",
|
4
4
|
"description": "Legend Studio application core",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -47,11 +47,11 @@
|
|
47
47
|
"dependencies": {
|
48
48
|
"@finos/legend-application": "16.0.36",
|
49
49
|
"@finos/legend-art": "7.1.93",
|
50
|
-
"@finos/legend-code-editor": "2.0.
|
51
|
-
"@finos/legend-data-cube": "0.1.
|
52
|
-
"@finos/legend-graph": "32.1.
|
53
|
-
"@finos/legend-lego": "2.0.
|
54
|
-
"@finos/legend-query-builder": "4.16.
|
50
|
+
"@finos/legend-code-editor": "2.0.62",
|
51
|
+
"@finos/legend-data-cube": "0.1.25",
|
52
|
+
"@finos/legend-graph": "32.1.20",
|
53
|
+
"@finos/legend-lego": "2.0.66",
|
54
|
+
"@finos/legend-query-builder": "4.16.26",
|
55
55
|
"@finos/legend-server-depot": "6.0.88",
|
56
56
|
"@finos/legend-server-sdlc": "5.3.56",
|
57
57
|
"@finos/legend-server-showcase": "0.2.52",
|
@@ -38,6 +38,7 @@ import {
|
|
38
38
|
import { useRef, useState, useEffect } from 'react';
|
39
39
|
import { filterByType } from '@finos/legend-shared';
|
40
40
|
import { InlineLambdaEditor } from '@finos/legend-query-builder';
|
41
|
+
import { flowResult } from 'mobx';
|
41
42
|
|
42
43
|
const NewAccessPointAccessPOint = observer(
|
43
44
|
(props: { dataProductEditorState: DataProductEditorState }) => {
|
@@ -170,7 +171,10 @@ export const LakehouseDataProductAcccessPointEditor = observer(
|
|
170
171
|
<div className="access-point-editor__entry">
|
171
172
|
<InlineLambdaEditor
|
172
173
|
className={'access-point-editor__lambda-editor'}
|
173
|
-
disabled={
|
174
|
+
disabled={
|
175
|
+
lambdaEditorState.val.state
|
176
|
+
.isConvertingTransformLambdaObjects
|
177
|
+
}
|
174
178
|
lambdaEditorState={lambdaEditorState}
|
175
179
|
forceBackdrop={Boolean(lambdaEditorState.parserError)}
|
176
180
|
/>
|
@@ -238,6 +242,13 @@ export const DataProductEditor = observer(() => {
|
|
238
242
|
const openNewModal = () => {
|
239
243
|
dataProductEditorState.setAccessPointModal(true);
|
240
244
|
};
|
245
|
+
|
246
|
+
useEffect(() => {
|
247
|
+
flowResult(dataProductEditorState.convertAccessPointsFuncObjects()).catch(
|
248
|
+
dataProductEditorState.editorStore.applicationStore.alertUnhandledError,
|
249
|
+
);
|
250
|
+
}, [dataProductEditorState]);
|
251
|
+
|
241
252
|
return (
|
242
253
|
<div className="data-product-editor">
|
243
254
|
<div className="panel">
|
@@ -269,16 +280,15 @@ export const DataProductEditor = observer(() => {
|
|
269
280
|
</PanelHeaderActions>
|
270
281
|
</PanelHeader>
|
271
282
|
<PanelContent>
|
272
|
-
{
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
))}
|
283
|
+
{accessPointStates
|
284
|
+
.filter(filterByType(LakehouseAccessPointState))
|
285
|
+
.map((apState) => (
|
286
|
+
<LakehouseDataProductAcccessPointEditor
|
287
|
+
key={apState.accessPoint.id}
|
288
|
+
isReadOnly={isReadOnly}
|
289
|
+
accessPointState={apState}
|
290
|
+
/>
|
291
|
+
))}
|
282
292
|
{!accessPointStates.length && (
|
283
293
|
<DataProductEditorSplashScreen
|
284
294
|
dataProductEditorState={dataProductEditorState}
|
package/src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts
CHANGED
@@ -29,7 +29,7 @@ import {
|
|
29
29
|
} from '@finos/legend-graph';
|
30
30
|
import type { EditorStore } from '../../../EditorStore.js';
|
31
31
|
import { ElementEditorState } from '../ElementEditorState.js';
|
32
|
-
import { action, computed, makeObservable, observable } from 'mobx';
|
32
|
+
import { action, computed, flow, makeObservable, observable } from 'mobx';
|
33
33
|
import {
|
34
34
|
guaranteeType,
|
35
35
|
addUniqueEntry,
|
@@ -37,6 +37,7 @@ import {
|
|
37
37
|
assertErrorThrown,
|
38
38
|
LogEvent,
|
39
39
|
deleteEntry,
|
40
|
+
filterByType,
|
40
41
|
} from '@finos/legend-shared';
|
41
42
|
import {
|
42
43
|
dataProduct_addAccessPoint,
|
@@ -99,7 +100,10 @@ export class AccessPointLambdaEditorState extends LambdaEditorState {
|
|
99
100
|
pretty?: boolean | undefined;
|
100
101
|
preserveCompilationError?: boolean | undefined;
|
101
102
|
}): GeneratorFn<void> {
|
102
|
-
if (
|
103
|
+
if (
|
104
|
+
!isStubbed_RawLambda(this.val.accessPoint.func) &&
|
105
|
+
!this.val.state.isConvertingTransformLambdaObjects
|
106
|
+
) {
|
103
107
|
try {
|
104
108
|
const lambdas = new Map<string, RawLambda>();
|
105
109
|
lambdas.set(this.lambdaId, this.val.accessPoint.func);
|
@@ -147,6 +151,7 @@ export class LakehouseAccessPointState extends AccessPointState {
|
|
147
151
|
export class DataProductEditorState extends ElementEditorState {
|
148
152
|
accessPointModal = false;
|
149
153
|
accessPointStates: AccessPointState[] = [];
|
154
|
+
isConvertingTransformLambdaObjects = false;
|
150
155
|
|
151
156
|
constructor(editorStore: EditorStore, element: PackageableElement) {
|
152
157
|
super(editorStore, element);
|
@@ -156,14 +161,53 @@ export class DataProductEditorState extends ElementEditorState {
|
|
156
161
|
accessPointModal: observable,
|
157
162
|
accessPointStates: observable,
|
158
163
|
deleteAccessPoint: observable,
|
164
|
+
isConvertingTransformLambdaObjects: observable,
|
159
165
|
setAccessPointModal: action,
|
160
166
|
addAccessPoint: action,
|
167
|
+
convertAccessPointsFuncObjects: flow,
|
161
168
|
});
|
162
169
|
this.accessPointStates = this.product.accessPoints.map((e) =>
|
163
170
|
this.buildAccessPointState(e),
|
164
171
|
);
|
165
172
|
}
|
166
173
|
|
174
|
+
*convertAccessPointsFuncObjects(): GeneratorFn<void> {
|
175
|
+
const lambdas = new Map<string, RawLambda>();
|
176
|
+
const index = new Map<string, LakehouseAccessPointState>();
|
177
|
+
const states = this.accessPointStates.filter(
|
178
|
+
filterByType(LakehouseAccessPointState),
|
179
|
+
);
|
180
|
+
states.forEach((pm) => {
|
181
|
+
if (!isStubbed_RawLambda(pm.accessPoint.func)) {
|
182
|
+
lambdas.set(pm.lambdaState.lambdaId, pm.accessPoint.func);
|
183
|
+
index.set(pm.lambdaState.lambdaId, pm);
|
184
|
+
}
|
185
|
+
});
|
186
|
+
if (lambdas.size) {
|
187
|
+
this.isConvertingTransformLambdaObjects = true;
|
188
|
+
try {
|
189
|
+
const isolatedLambdas =
|
190
|
+
(yield this.editorStore.graphManagerState.graphManager.lambdasToPureCode(
|
191
|
+
lambdas,
|
192
|
+
)) as Map<string, string>;
|
193
|
+
isolatedLambdas.forEach((grammarText, key) => {
|
194
|
+
const purePropertyMapping = index.get(key);
|
195
|
+
purePropertyMapping?.lambdaState.setLambdaString(
|
196
|
+
purePropertyMapping.lambdaState.extractLambdaString(grammarText),
|
197
|
+
);
|
198
|
+
});
|
199
|
+
} catch (error) {
|
200
|
+
assertErrorThrown(error);
|
201
|
+
this.editorStore.applicationStore.logService.error(
|
202
|
+
LogEvent.create(GRAPH_MANAGER_EVENT.PARSING_FAILURE),
|
203
|
+
error,
|
204
|
+
);
|
205
|
+
} finally {
|
206
|
+
this.isConvertingTransformLambdaObjects = false;
|
207
|
+
}
|
208
|
+
}
|
209
|
+
}
|
210
|
+
|
167
211
|
buildAccessPointState(val: AccessPoint): AccessPointState {
|
168
212
|
if (val instanceof LakehouseAccessPoint) {
|
169
213
|
return new LakehouseAccessPointState(val, this);
|