@finos/legend-extension-dsl-data-space-studio 0.1.151 → 0.1.153
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/DSL_DataProduct_ElementDriver.d.ts +27 -0
- package/lib/components/DSL_DataProduct_ElementDriver.d.ts.map +1 -0
- package/lib/components/DSL_DataProduct_ElementDriver.js +60 -0
- package/lib/components/DSL_DataProduct_ElementDriver.js.map +1 -0
- package/lib/components/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts +3 -1
- package/lib/components/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts.map +1 -1
- package/lib/components/DSL_DataSpace_LegendStudioApplicationPlugin.js +30 -15
- package/lib/components/DSL_DataSpace_LegendStudioApplicationPlugin.js.map +1 -1
- package/lib/components/DSL_NewDataProductEditor.d.ts +19 -0
- package/lib/components/DSL_NewDataProductEditor.d.ts.map +1 -0
- package/lib/components/DSL_NewDataProductEditor.js +33 -0
- package/lib/components/DSL_NewDataProductEditor.js.map +1 -0
- package/lib/components/DataSpaceEditor.d.ts +1 -1
- package/lib/components/DataSpaceEditor.d.ts.map +1 -1
- package/lib/components/DataSpaceEditor.js +19 -9
- package/lib/components/DataSpaceEditor.js.map +1 -1
- package/lib/components/DataSpaceExecutionContextEditor.d.ts +37 -0
- package/lib/components/DataSpaceExecutionContextEditor.d.ts.map +1 -0
- package/lib/components/DataSpaceExecutionContextEditor.js +170 -0
- package/lib/components/DataSpaceExecutionContextEditor.js.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.d.ts +19 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.d.ts.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.js +138 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.js.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.d.ts +19 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.d.ts.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.js +63 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.js.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceElementsSection.d.ts +19 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceElementsSection.d.ts.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceElementsSection.js +58 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceElementsSection.js.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.d.ts +19 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.d.ts.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.js +56 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.js.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.d.ts +19 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.d.ts.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.js +40 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.js.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.d.ts +19 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.d.ts.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.js +120 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.js.map +1 -0
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +3 -2
- package/lib/stores/DataSpaceEditorState.d.ts +18 -2
- package/lib/stores/DataSpaceEditorState.d.ts.map +1 -1
- package/lib/stores/DataSpaceEditorState.js +55 -3
- package/lib/stores/DataSpaceEditorState.js.map +1 -1
- package/lib/stores/DataSpaceExecutionContextState.d.ts +37 -0
- package/lib/stores/DataSpaceExecutionContextState.d.ts.map +1 -0
- package/lib/stores/DataSpaceExecutionContextState.js +87 -0
- package/lib/stores/DataSpaceExecutionContextState.js.map +1 -0
- package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.d.ts +34 -3
- package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.js +128 -2
- package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.js.map +1 -1
- package/package.json +13 -12
- package/src/components/DSL_DataProduct_ElementDriver.tsx +82 -0
- package/src/components/DSL_DataSpace_LegendStudioApplicationPlugin.tsx +35 -19
- package/src/components/DSL_NewDataProductEditor.tsx +58 -0
- package/src/components/DataSpaceEditor.tsx +55 -33
- package/src/components/DataSpaceExecutionContextEditor.tsx +692 -0
- package/src/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.tsx +393 -0
- package/src/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.tsx +147 -0
- package/src/components/DataSpaceGeneralEditor/DataSpaceElementsSection.tsx +135 -0
- package/src/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.tsx +114 -0
- package/src/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.tsx +81 -0
- package/src/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.tsx +276 -0
- package/src/stores/DataSpaceEditorState.ts +92 -4
- package/src/stores/DataSpaceExecutionContextState.ts +135 -0
- package/src/stores/studio/DSL_DataSpace_GraphModifierHelper.ts +278 -3
- package/tsconfig.json +11 -1
@@ -14,10 +14,136 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import { action } from 'mobx';
|
17
|
-
|
17
|
+
import { observe_DataSpaceDiagram, observe_DataSpaceElementPointer, observe_DataSpaceExecutionContext, observe_DataSpaceSupportInfo, } from '@finos/legend-extension-dsl-data-space/graph';
|
18
|
+
import { addUniqueEntry } from '@finos/legend-shared';
|
19
|
+
// Basic properties
|
20
|
+
export const dataSpace_setTitle = action((dataSpace, type) => {
|
18
21
|
dataSpace.title = type;
|
19
22
|
});
|
20
|
-
export const
|
23
|
+
export const dataSpace_setDescription = action((dataSpace, content) => {
|
21
24
|
dataSpace.description = content;
|
22
25
|
});
|
26
|
+
// Array properties
|
27
|
+
export const dataSpace_setExecutionContexts = action((dataSpace, executionContexts) => {
|
28
|
+
dataSpace.executionContexts = executionContexts;
|
29
|
+
});
|
30
|
+
export const dataSpace_setDefaultExecutionContext = action((dataSpace, defaultExecutionContext) => {
|
31
|
+
dataSpace.defaultExecutionContext = defaultExecutionContext;
|
32
|
+
});
|
33
|
+
export const dataSpace_setElements = action((dataSpace, elements) => {
|
34
|
+
dataSpace.elements = elements;
|
35
|
+
});
|
36
|
+
export const dataSpace_setExecutables = action((dataSpace, executables) => {
|
37
|
+
dataSpace.executables = executables;
|
38
|
+
});
|
39
|
+
export const dataSpace_setDiagrams = action((dataSpace, diagrams) => {
|
40
|
+
dataSpace.diagrams = diagrams;
|
41
|
+
});
|
42
|
+
export const dataSpace_setSupportInfo = action((dataSpace, supportInfo) => {
|
43
|
+
dataSpace.supportInfo =
|
44
|
+
supportInfo !== undefined
|
45
|
+
? observe_DataSpaceSupportInfo(supportInfo)
|
46
|
+
: undefined;
|
47
|
+
});
|
48
|
+
// Array item management
|
49
|
+
export const dataSpace_addExecutionContext = action((dataSpace, executionContext) => {
|
50
|
+
addUniqueEntry(dataSpace.executionContexts, observe_DataSpaceExecutionContext(executionContext));
|
51
|
+
});
|
52
|
+
export const dataSpace_removeExecutionContext = action((dataSpace, dataSpaceExecutionContext) => {
|
53
|
+
const index = dataSpace.executionContexts.indexOf(dataSpaceExecutionContext);
|
54
|
+
dataSpace.executionContexts.splice(index, 1);
|
55
|
+
});
|
56
|
+
export const dataSpace_addElement = action((dataSpace, element) => {
|
57
|
+
if (!dataSpace.elements) {
|
58
|
+
dataSpace.elements = [];
|
59
|
+
}
|
60
|
+
addUniqueEntry(dataSpace.elements, observe_DataSpaceElementPointer(element));
|
61
|
+
});
|
62
|
+
export const dataSpace_removeElement = action((dataSpace, element) => {
|
63
|
+
if (dataSpace.elements) {
|
64
|
+
const index = dataSpace.elements.indexOf(element);
|
65
|
+
dataSpace.elements.splice(index, 1);
|
66
|
+
}
|
67
|
+
});
|
68
|
+
export const dataSpace_setElementExclude = action((element, exclude) => {
|
69
|
+
element.exclude = exclude;
|
70
|
+
});
|
71
|
+
export const dataSpace_addExecutable = action((dataSpace, executable) => {
|
72
|
+
if (!dataSpace.executables) {
|
73
|
+
dataSpace.executables = [];
|
74
|
+
}
|
75
|
+
dataSpace.executables.push(executable);
|
76
|
+
});
|
77
|
+
export const dataSpace_removeExecutable = action((dataSpace, executable) => {
|
78
|
+
if (dataSpace.executables) {
|
79
|
+
const index = dataSpace.executables.indexOf(executable);
|
80
|
+
dataSpace.executables.splice(index, 1);
|
81
|
+
}
|
82
|
+
});
|
83
|
+
export const dataSpace_addDiagram = action((dataSpace, diagram) => {
|
84
|
+
if (!dataSpace.diagrams) {
|
85
|
+
dataSpace.diagrams = [];
|
86
|
+
}
|
87
|
+
dataSpace.diagrams.push(observe_DataSpaceDiagram(diagram));
|
88
|
+
});
|
89
|
+
export const dataSpace_removeDiagram = action((dataSpace, diagram) => {
|
90
|
+
if (dataSpace.diagrams) {
|
91
|
+
const index = dataSpace.diagrams.indexOf(diagram);
|
92
|
+
if (index !== -1) {
|
93
|
+
dataSpace.diagrams.splice(index, 1);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
});
|
97
|
+
export const dataSpace_setDiagramTitle = action((diagram, title) => {
|
98
|
+
diagram.title = title;
|
99
|
+
});
|
100
|
+
export const dataSpace_setDiagramDescription = action((diagram, description) => {
|
101
|
+
diagram.description = description;
|
102
|
+
});
|
103
|
+
// Nested object properties
|
104
|
+
export const dataSpace_setExecutionContextName = action((executionContext, name) => {
|
105
|
+
executionContext.name = name;
|
106
|
+
});
|
107
|
+
export const dataSpace_setExecutionContextTitle = action((executionContext, title) => {
|
108
|
+
executionContext.title = title;
|
109
|
+
});
|
110
|
+
export const dataSpace_setExecutionContextDescription = action((executionContext, description) => {
|
111
|
+
executionContext.description = description;
|
112
|
+
});
|
113
|
+
export const dataSpace_setExecutionContextMapping = action((executionContext, mapping) => {
|
114
|
+
executionContext.mapping = mapping;
|
115
|
+
});
|
116
|
+
export const dataSpace_setExecutionContextDefaultRuntime = action((executionContext, defaultRuntime) => {
|
117
|
+
executionContext.defaultRuntime = defaultRuntime;
|
118
|
+
});
|
119
|
+
export const dataSpace_setExecutionContextTestData = action((executionContext, testData) => {
|
120
|
+
executionContext.testData = testData;
|
121
|
+
});
|
122
|
+
export const dataSpace_setDocumentationUrl = action((supportInfo, url) => {
|
123
|
+
supportInfo.documentationUrl = url;
|
124
|
+
});
|
125
|
+
export const dataSpace_email_setSupportInfoEmail = action((supportInfo, email) => {
|
126
|
+
supportInfo.address = email;
|
127
|
+
});
|
128
|
+
export const dataSpace_combined_addEmail = action((supportInfo, email) => {
|
129
|
+
if (supportInfo.emails === undefined) {
|
130
|
+
supportInfo.emails = [];
|
131
|
+
}
|
132
|
+
addUniqueEntry(supportInfo.emails, email);
|
133
|
+
});
|
134
|
+
export const dataSpace_combined_deleteEmail = action((supportInfo, email) => {
|
135
|
+
const index = supportInfo.emails?.indexOf(email);
|
136
|
+
if (index !== undefined && index !== -1) {
|
137
|
+
supportInfo.emails?.splice(index, 1);
|
138
|
+
}
|
139
|
+
});
|
140
|
+
export const dataSpace_combined_setWebsite = action((supportInfo, website) => {
|
141
|
+
supportInfo.website = website;
|
142
|
+
});
|
143
|
+
export const dataSpace_combined_setFaqUrl = action((supportInfo, faqUrl) => {
|
144
|
+
supportInfo.faqUrl = faqUrl;
|
145
|
+
});
|
146
|
+
export const dataSpace_combined_setSupportUrl = action((supportInfo, supportUrl) => {
|
147
|
+
supportInfo.supportUrl = supportUrl;
|
148
|
+
});
|
23
149
|
//# sourceMappingURL=DSL_DataSpace_GraphModifierHelper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DSL_DataSpace_GraphModifierHelper.js","sourceRoot":"","sources":["../../../src/stores/studio/DSL_DataSpace_GraphModifierHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"DSL_DataSpace_GraphModifierHelper.js","sourceRoot":"","sources":["../../../src/stores/studio/DSL_DataSpace_GraphModifierHelper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-extension-dsl-data-space-studio",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.153",
|
4
4
|
"description": "Legend extension for Data Space DSL - Studio",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -42,20 +42,21 @@
|
|
42
42
|
"test:watch": "jest --watch"
|
43
43
|
},
|
44
44
|
"dependencies": {
|
45
|
-
"@finos/legend-application": "16.0.
|
46
|
-
"@finos/legend-application-studio": "28.18.
|
47
|
-
"@finos/legend-art": "7.1.
|
48
|
-
"@finos/legend-code-editor": "2.0.
|
49
|
-
"@finos/legend-extension-dsl-data-space": "10.4.
|
50
|
-
"@finos/legend-graph": "32.1.
|
51
|
-
"@finos/legend-query-builder": "4.16.
|
52
|
-
"@finos/legend-server-depot": "6.0.
|
53
|
-
"@finos/legend-server-sdlc": "5.3.
|
54
|
-
"@finos/legend-shared": "11.0.
|
45
|
+
"@finos/legend-application": "16.0.34",
|
46
|
+
"@finos/legend-application-studio": "28.18.112",
|
47
|
+
"@finos/legend-art": "7.1.91",
|
48
|
+
"@finos/legend-code-editor": "2.0.59",
|
49
|
+
"@finos/legend-extension-dsl-data-space": "10.4.65",
|
50
|
+
"@finos/legend-graph": "32.1.17",
|
51
|
+
"@finos/legend-query-builder": "4.16.23",
|
52
|
+
"@finos/legend-server-depot": "6.0.87",
|
53
|
+
"@finos/legend-server-sdlc": "5.3.55",
|
54
|
+
"@finos/legend-shared": "11.0.10",
|
55
55
|
"@types/react": "19.0.10",
|
56
56
|
"mobx": "6.13.6",
|
57
57
|
"mobx-react-lite": "4.1.0",
|
58
|
-
"react": "19.0.0"
|
58
|
+
"react": "19.0.0",
|
59
|
+
"react-dnd": "16.0.1"
|
59
60
|
},
|
60
61
|
"devDependencies": {
|
61
62
|
"@finos/legend-dev-utils": "2.2.4",
|
@@ -0,0 +1,82 @@
|
|
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
|
+
|
17
|
+
import {
|
18
|
+
type EditorStore,
|
19
|
+
NewElementDriver,
|
20
|
+
} from '@finos/legend-application-studio';
|
21
|
+
import {
|
22
|
+
DataSpace,
|
23
|
+
DataSpaceExecutionContext,
|
24
|
+
DataSpaceSupportCombinedInfo,
|
25
|
+
} from '@finos/legend-extension-dsl-data-space/graph';
|
26
|
+
import {
|
27
|
+
PackageableElementExplicitReference,
|
28
|
+
stub_Mapping,
|
29
|
+
stub_PackageableRuntime,
|
30
|
+
} from '@finos/legend-graph';
|
31
|
+
import { action, makeObservable, observable } from 'mobx';
|
32
|
+
import {
|
33
|
+
dataSpace_setDescription,
|
34
|
+
dataSpace_setSupportInfo,
|
35
|
+
dataSpace_setTitle,
|
36
|
+
} from '../stores/studio/DSL_DataSpace_GraphModifierHelper.js';
|
37
|
+
|
38
|
+
export class NewDataProductDriver extends NewElementDriver<DataSpace> {
|
39
|
+
title: string | undefined;
|
40
|
+
description: string | undefined;
|
41
|
+
|
42
|
+
constructor(editorStore: EditorStore) {
|
43
|
+
super(editorStore);
|
44
|
+
|
45
|
+
makeObservable(this, {
|
46
|
+
title: observable,
|
47
|
+
description: observable,
|
48
|
+
setTitle: action,
|
49
|
+
setDescription: action,
|
50
|
+
});
|
51
|
+
|
52
|
+
this.title = '';
|
53
|
+
this.description = '';
|
54
|
+
}
|
55
|
+
|
56
|
+
setTitle(value: string | undefined): void {
|
57
|
+
this.title = value;
|
58
|
+
}
|
59
|
+
|
60
|
+
setDescription(value: string | undefined): void {
|
61
|
+
this.description = value;
|
62
|
+
}
|
63
|
+
|
64
|
+
override get isValid(): boolean {
|
65
|
+
return Boolean(this.title && this.description);
|
66
|
+
}
|
67
|
+
override createElement(name: string): DataSpace {
|
68
|
+
const dataSpace = new DataSpace(name);
|
69
|
+
const dataSpaceExecutionContext = new DataSpaceExecutionContext();
|
70
|
+
dataSpaceExecutionContext.name = 'defaultContext';
|
71
|
+
dataSpaceExecutionContext.mapping =
|
72
|
+
PackageableElementExplicitReference.create(stub_Mapping());
|
73
|
+
dataSpaceExecutionContext.defaultRuntime =
|
74
|
+
PackageableElementExplicitReference.create(stub_PackageableRuntime());
|
75
|
+
dataSpace.executionContexts = [dataSpaceExecutionContext];
|
76
|
+
dataSpace.defaultExecutionContext = dataSpaceExecutionContext;
|
77
|
+
dataSpace_setTitle(dataSpace, this.title);
|
78
|
+
dataSpace_setDescription(dataSpace, this.description);
|
79
|
+
dataSpace_setSupportInfo(dataSpace, new DataSpaceSupportCombinedInfo());
|
80
|
+
return dataSpace;
|
81
|
+
}
|
82
|
+
}
|
@@ -34,12 +34,11 @@ import {
|
|
34
34
|
type EditorExtensionStateBuilder,
|
35
35
|
type EditorExtensionComponentRendererConfiguration,
|
36
36
|
PACKAGEABLE_ELEMENT_GROUP_BY_CATEGORY,
|
37
|
-
|
37
|
+
type NewElementDriverEditorRenderer,
|
38
|
+
type NewElementDriverCreator,
|
39
|
+
type NewElementDriver,
|
38
40
|
} from '@finos/legend-application-studio';
|
39
41
|
import {
|
40
|
-
PackageableElementExplicitReference,
|
41
|
-
stub_Mapping,
|
42
|
-
stub_PackageableRuntime,
|
43
42
|
type ElementObserver,
|
44
43
|
type PackageableElement,
|
45
44
|
} from '@finos/legend-graph';
|
@@ -47,7 +46,6 @@ import type { ApplicationPageEntry } from '@finos/legend-application';
|
|
47
46
|
import type { PureGrammarTextSuggestion } from '@finos/legend-code-editor';
|
48
47
|
import {
|
49
48
|
DataSpace,
|
50
|
-
DataSpaceExecutionContext,
|
51
49
|
observe_DataSpace,
|
52
50
|
} from '@finos/legend-extension-dsl-data-space/graph';
|
53
51
|
import { DSL_DATA_SPACE_LEGEND_STUDIO_DOCUMENTATION_KEY } from '../__lib__/DSL_DataSpace_LegendStudioDocumentation.js';
|
@@ -67,6 +65,8 @@ import {
|
|
67
65
|
import { DataSpaceEditorState } from '../stores/DataSpaceEditorState.js';
|
68
66
|
import { DataSpaceEditor } from './DataSpaceEditor.js';
|
69
67
|
import type { DocumentationEntry } from '@finos/legend-shared';
|
68
|
+
import { NewDataProductDriverEditor } from './DSL_NewDataProductEditor.js';
|
69
|
+
import { NewDataProductDriver } from './DSL_DataProduct_ElementDriver.js';
|
70
70
|
|
71
71
|
const DATA_SPACE_ELEMENT_TYPE = 'DATA PRODUCT';
|
72
72
|
const DATA_SPACE_ELEMENT_PROJECT_EXPLORER_DND_TYPE =
|
@@ -185,18 +185,34 @@ export class DSL_DataSpace_LegendStudioApplicationPlugin
|
|
185
185
|
state: NewElementState,
|
186
186
|
): PackageableElement | undefined => {
|
187
187
|
if (type === DATA_SPACE_ELEMENT_TYPE) {
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
188
|
+
return state
|
189
|
+
.getNewElementDriver(NewDataProductDriver)
|
190
|
+
.createElement(name);
|
191
|
+
}
|
192
|
+
return undefined;
|
193
|
+
},
|
194
|
+
];
|
195
|
+
}
|
196
|
+
|
197
|
+
getExtraNewElementDriverEditorRenderers(): NewElementDriverEditorRenderer[] {
|
198
|
+
return [
|
199
|
+
(type: string): React.ReactNode | undefined => {
|
200
|
+
if (type === DATA_SPACE_ELEMENT_TYPE) {
|
201
|
+
return <NewDataProductDriverEditor />;
|
202
|
+
}
|
203
|
+
return undefined;
|
204
|
+
},
|
205
|
+
];
|
206
|
+
}
|
207
|
+
|
208
|
+
getExtraNewElementDriverCreators(): NewElementDriverCreator[] {
|
209
|
+
return [
|
210
|
+
(
|
211
|
+
editorStore: EditorStore,
|
212
|
+
type: string,
|
213
|
+
): NewElementDriver<PackageableElement> | undefined => {
|
214
|
+
if (type === DATA_SPACE_ELEMENT_TYPE) {
|
215
|
+
return new NewDataProductDriver(editorStore);
|
200
216
|
}
|
201
217
|
return undefined;
|
202
218
|
},
|
@@ -223,8 +239,8 @@ export class DSL_DataSpace_LegendStudioApplicationPlugin
|
|
223
239
|
element: PackageableElement,
|
224
240
|
): ElementEditorState | undefined => {
|
225
241
|
if (element instanceof DataSpace) {
|
226
|
-
return new UnsupportedElementEditorState(editorStore, element);
|
227
|
-
|
242
|
+
// return new UnsupportedElementEditorState(editorStore, element);
|
243
|
+
return new DataSpaceEditorState(editorStore, element);
|
228
244
|
}
|
229
245
|
return undefined;
|
230
246
|
},
|
@@ -0,0 +1,58 @@
|
|
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
|
+
|
17
|
+
import { useEditorStore } from '@finos/legend-application-studio';
|
18
|
+
import { PanelFormTextField } from '@finos/legend-art';
|
19
|
+
import { observer } from 'mobx-react-lite';
|
20
|
+
import { NewDataProductDriver } from './DSL_DataProduct_ElementDriver.js';
|
21
|
+
|
22
|
+
//KXT here
|
23
|
+
export const NewDataProductDriverEditor = observer(() => {
|
24
|
+
const editorStore = useEditorStore();
|
25
|
+
|
26
|
+
const dataProductDriver =
|
27
|
+
editorStore.newElementState.getNewElementDriver(NewDataProductDriver);
|
28
|
+
|
29
|
+
const handleTitleChange = (value: string | undefined): void => {
|
30
|
+
dataProductDriver.setTitle(value);
|
31
|
+
};
|
32
|
+
|
33
|
+
const handleDescriptionChange = (value: string | undefined): void => {
|
34
|
+
dataProductDriver.setDescription(value);
|
35
|
+
};
|
36
|
+
|
37
|
+
return (
|
38
|
+
<div>
|
39
|
+
<PanelFormTextField
|
40
|
+
name="Title"
|
41
|
+
value={dataProductDriver.title ?? ''}
|
42
|
+
prompt="Provide a title for this Data Product."
|
43
|
+
update={handleTitleChange}
|
44
|
+
placeholder="Enter title"
|
45
|
+
className="explorer__new-element-modal__driver__dropdown"
|
46
|
+
/>
|
47
|
+
|
48
|
+
<PanelFormTextField
|
49
|
+
name="Description"
|
50
|
+
value={dataProductDriver.description ?? ''}
|
51
|
+
prompt="Provide a description for this Data Product."
|
52
|
+
update={handleDescriptionChange}
|
53
|
+
placeholder="Enter description"
|
54
|
+
className="explorer__new-element-modal__driver__dropdown"
|
55
|
+
/>
|
56
|
+
</div>
|
57
|
+
);
|
58
|
+
});
|
@@ -16,52 +16,74 @@
|
|
16
16
|
|
17
17
|
import { observer } from 'mobx-react-lite';
|
18
18
|
import { useEditorStore } from '@finos/legend-application-studio';
|
19
|
-
import {
|
19
|
+
import { EyeIcon, Panel, PanelContent, PanelHeader } from '@finos/legend-art';
|
20
20
|
import { DataSpaceEditorState } from '../stores/DataSpaceEditorState.js';
|
21
|
-
import {
|
22
|
-
|
23
|
-
|
24
|
-
} from '
|
21
|
+
import { DataSpaceGeneralEditor } from './DataSpaceGeneralEditor/DataSpaceGeneralEditor.js';
|
22
|
+
import { DataSpacePreviewState } from '../stores/DataSpacePreviewState.js';
|
23
|
+
import { flowResult } from 'mobx';
|
24
|
+
import { isStubbed_PackageableElement } from '@finos/legend-graph';
|
25
25
|
|
26
26
|
export const DataSpaceEditor = observer(() => {
|
27
27
|
const editorStore = useEditorStore();
|
28
28
|
|
29
|
-
const
|
29
|
+
const dataSpaceState =
|
30
30
|
editorStore.tabManagerState.getCurrentEditorState(DataSpaceEditorState);
|
31
31
|
|
32
|
-
const
|
32
|
+
const dataSpace = dataSpaceState.dataSpace;
|
33
33
|
|
34
|
-
const
|
35
|
-
|
34
|
+
const dataSpacePreviewState =
|
35
|
+
DataSpacePreviewState.retrieveNullableState(editorStore);
|
36
|
+
if (!dataSpacePreviewState) {
|
37
|
+
return null;
|
38
|
+
}
|
39
|
+
|
40
|
+
const validPreviewState = (): boolean => {
|
41
|
+
//KXT isStubbed_PackageableElement
|
42
|
+
const stubDefault = Boolean(
|
43
|
+
isStubbed_PackageableElement(
|
44
|
+
dataSpace.defaultExecutionContext.defaultRuntime.value,
|
45
|
+
) &&
|
46
|
+
isStubbed_PackageableElement(
|
47
|
+
dataSpace.defaultExecutionContext.mapping.value,
|
48
|
+
),
|
49
|
+
);
|
50
|
+
return Boolean(!stubDefault);
|
36
51
|
};
|
37
52
|
|
38
|
-
const
|
39
|
-
|
53
|
+
const previewDataSpace = (): void => {
|
54
|
+
flowResult(
|
55
|
+
dataSpacePreviewState.previewDataSpace(dataSpaceState.dataSpace),
|
56
|
+
).catch(editorStore.applicationStore.alertUnhandledError);
|
40
57
|
};
|
41
58
|
|
42
59
|
return (
|
43
|
-
<
|
44
|
-
<
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
60
|
+
<Panel className="dataSpace-editor">
|
61
|
+
<PanelHeader
|
62
|
+
title="Data Product"
|
63
|
+
titleContent={dataSpaceState.dataSpace.name}
|
64
|
+
darkMode={true}
|
65
|
+
isReadOnly={dataSpaceState.isReadOnly}
|
66
|
+
/>
|
67
|
+
<PanelHeader title="General" darkMode={true}>
|
68
|
+
<div className="panel__header__actions">
|
69
|
+
<div className="btn__dropdown-combo btn__dropdown-combo--primary">
|
70
|
+
<button
|
71
|
+
className="btn__dropdown-combo__label"
|
72
|
+
onClick={previewDataSpace}
|
73
|
+
title="Preview Data Product"
|
74
|
+
tabIndex={-1}
|
75
|
+
disabled={!validPreviewState()}
|
76
|
+
>
|
77
|
+
<EyeIcon className="btn__dropdown-combo__label__icon" />
|
78
|
+
<div className="btn__dropdown-combo__label__title">Preview</div>
|
79
|
+
</button>
|
80
|
+
</div>
|
63
81
|
</div>
|
64
|
-
</
|
65
|
-
|
82
|
+
</PanelHeader>
|
83
|
+
|
84
|
+
<PanelContent>
|
85
|
+
<DataSpaceGeneralEditor />
|
86
|
+
</PanelContent>
|
87
|
+
</Panel>
|
66
88
|
);
|
67
89
|
});
|