@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.
Files changed (75) hide show
  1. package/lib/components/DSL_DataProduct_ElementDriver.d.ts +27 -0
  2. package/lib/components/DSL_DataProduct_ElementDriver.d.ts.map +1 -0
  3. package/lib/components/DSL_DataProduct_ElementDriver.js +60 -0
  4. package/lib/components/DSL_DataProduct_ElementDriver.js.map +1 -0
  5. package/lib/components/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts +3 -1
  6. package/lib/components/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts.map +1 -1
  7. package/lib/components/DSL_DataSpace_LegendStudioApplicationPlugin.js +30 -15
  8. package/lib/components/DSL_DataSpace_LegendStudioApplicationPlugin.js.map +1 -1
  9. package/lib/components/DSL_NewDataProductEditor.d.ts +19 -0
  10. package/lib/components/DSL_NewDataProductEditor.d.ts.map +1 -0
  11. package/lib/components/DSL_NewDataProductEditor.js +33 -0
  12. package/lib/components/DSL_NewDataProductEditor.js.map +1 -0
  13. package/lib/components/DataSpaceEditor.d.ts +1 -1
  14. package/lib/components/DataSpaceEditor.d.ts.map +1 -1
  15. package/lib/components/DataSpaceEditor.js +19 -9
  16. package/lib/components/DataSpaceEditor.js.map +1 -1
  17. package/lib/components/DataSpaceExecutionContextEditor.d.ts +37 -0
  18. package/lib/components/DataSpaceExecutionContextEditor.d.ts.map +1 -0
  19. package/lib/components/DataSpaceExecutionContextEditor.js +170 -0
  20. package/lib/components/DataSpaceExecutionContextEditor.js.map +1 -0
  21. package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.d.ts +19 -0
  22. package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.d.ts.map +1 -0
  23. package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.js +138 -0
  24. package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.js.map +1 -0
  25. package/lib/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.d.ts +19 -0
  26. package/lib/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.d.ts.map +1 -0
  27. package/lib/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.js +63 -0
  28. package/lib/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.js.map +1 -0
  29. package/lib/components/DataSpaceGeneralEditor/DataSpaceElementsSection.d.ts +19 -0
  30. package/lib/components/DataSpaceGeneralEditor/DataSpaceElementsSection.d.ts.map +1 -0
  31. package/lib/components/DataSpaceGeneralEditor/DataSpaceElementsSection.js +58 -0
  32. package/lib/components/DataSpaceGeneralEditor/DataSpaceElementsSection.js.map +1 -0
  33. package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.d.ts +19 -0
  34. package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.d.ts.map +1 -0
  35. package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.js +56 -0
  36. package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.js.map +1 -0
  37. package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.d.ts +19 -0
  38. package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.d.ts.map +1 -0
  39. package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.js +40 -0
  40. package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.js.map +1 -0
  41. package/lib/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.d.ts +19 -0
  42. package/lib/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.d.ts.map +1 -0
  43. package/lib/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.js +120 -0
  44. package/lib/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.js.map +1 -0
  45. package/lib/index.css +2 -2
  46. package/lib/index.css.map +1 -1
  47. package/lib/package.json +3 -2
  48. package/lib/stores/DataSpaceEditorState.d.ts +18 -2
  49. package/lib/stores/DataSpaceEditorState.d.ts.map +1 -1
  50. package/lib/stores/DataSpaceEditorState.js +55 -3
  51. package/lib/stores/DataSpaceEditorState.js.map +1 -1
  52. package/lib/stores/DataSpaceExecutionContextState.d.ts +37 -0
  53. package/lib/stores/DataSpaceExecutionContextState.d.ts.map +1 -0
  54. package/lib/stores/DataSpaceExecutionContextState.js +87 -0
  55. package/lib/stores/DataSpaceExecutionContextState.js.map +1 -0
  56. package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.d.ts +34 -3
  57. package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.d.ts.map +1 -1
  58. package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.js +128 -2
  59. package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.js.map +1 -1
  60. package/package.json +13 -12
  61. package/src/components/DSL_DataProduct_ElementDriver.tsx +82 -0
  62. package/src/components/DSL_DataSpace_LegendStudioApplicationPlugin.tsx +35 -19
  63. package/src/components/DSL_NewDataProductEditor.tsx +58 -0
  64. package/src/components/DataSpaceEditor.tsx +55 -33
  65. package/src/components/DataSpaceExecutionContextEditor.tsx +692 -0
  66. package/src/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.tsx +393 -0
  67. package/src/components/DataSpaceGeneralEditor/DataSpaceDiagramsSection.tsx +147 -0
  68. package/src/components/DataSpaceGeneralEditor/DataSpaceElementsSection.tsx +135 -0
  69. package/src/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.tsx +114 -0
  70. package/src/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.tsx +81 -0
  71. package/src/components/DataSpaceGeneralEditor/DataSpaceSupportInfoSection.tsx +276 -0
  72. package/src/stores/DataSpaceEditorState.ts +92 -4
  73. package/src/stores/DataSpaceExecutionContextState.ts +135 -0
  74. package/src/stores/studio/DSL_DataSpace_GraphModifierHelper.ts +278 -3
  75. package/tsconfig.json +11 -1
@@ -14,10 +14,136 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { action } from 'mobx';
17
- export const set_title = action((dataSpace, type) => {
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 set_description = action((dataSpace, content) => {
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;AAG9B,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAC7B,CAAC,SAAoB,EAAE,IAAwB,EAAQ,EAAE;IACvD,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;AACzB,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CACnC,CAAC,SAAoB,EAAE,OAA2B,EAAQ,EAAE;IAC1D,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC;AAClC,CAAC,CACF,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.151",
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.32",
46
- "@finos/legend-application-studio": "28.18.110",
47
- "@finos/legend-art": "7.1.89",
48
- "@finos/legend-code-editor": "2.0.57",
49
- "@finos/legend-extension-dsl-data-space": "10.4.63",
50
- "@finos/legend-graph": "32.1.15",
51
- "@finos/legend-query-builder": "4.16.21",
52
- "@finos/legend-server-depot": "6.0.86",
53
- "@finos/legend-server-sdlc": "5.3.54",
54
- "@finos/legend-shared": "11.0.9",
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
- UnsupportedElementEditorState,
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
- const dataSpace = new DataSpace(name);
189
- const dataSpaceExecutionContext = new DataSpaceExecutionContext();
190
- dataSpaceExecutionContext.name = 'dummyContext';
191
- dataSpaceExecutionContext.mapping =
192
- PackageableElementExplicitReference.create(stub_Mapping());
193
- dataSpaceExecutionContext.defaultRuntime =
194
- PackageableElementExplicitReference.create(
195
- stub_PackageableRuntime(),
196
- );
197
- dataSpace.executionContexts = [dataSpaceExecutionContext];
198
- dataSpace.defaultExecutionContext = dataSpaceExecutionContext;
199
- return dataSpace;
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
- // return new DataSpaceEditorState(editorStore, element);
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 { PanelFormTextField } from '@finos/legend-art';
19
+ import { EyeIcon, Panel, PanelContent, PanelHeader } from '@finos/legend-art';
20
20
  import { DataSpaceEditorState } from '../stores/DataSpaceEditorState.js';
21
- import {
22
- set_description,
23
- set_title,
24
- } from '../stores/studio/DSL_DataSpace_GraphModifierHelper.js';
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 formEditorState =
29
+ const dataSpaceState =
30
30
  editorStore.tabManagerState.getCurrentEditorState(DataSpaceEditorState);
31
31
 
32
- const formElement = formEditorState.dataSpace;
32
+ const dataSpace = dataSpaceState.dataSpace;
33
33
 
34
- const handleTitleChange = (value: string | undefined): void => {
35
- set_title(formElement, value);
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 handleDescriptionChange = (value: string | undefined): void => {
39
- set_description(formElement, value);
53
+ const previewDataSpace = (): void => {
54
+ flowResult(
55
+ dataSpacePreviewState.previewDataSpace(dataSpaceState.dataSpace),
56
+ ).catch(editorStore.applicationStore.alertUnhandledError);
40
57
  };
41
58
 
42
59
  return (
43
- <div className="dataSpace-editor panel dataSpace-editor--dark">
44
- <div className="panel__content__form">
45
- <div className="panel__content__form__section">
46
- <PanelFormTextField
47
- name="Data Product Title"
48
- value={formElement.title ?? ''}
49
- prompt="Data Product title is the user facing name for the Data Product. It used in downstream applications as the default identifier for this Data Product. When not provided, the DataProduct name property is used"
50
- update={handleTitleChange}
51
- placeholder="Enter title"
52
- />
53
- </div>
54
- </div>
55
- <div className="panel__content__form">
56
- <div className="panel__content__form__section">
57
- <PanelFormTextField
58
- name="Data Product Description"
59
- value={formElement.description ?? ''}
60
- update={handleDescriptionChange}
61
- placeholder="Enter Description"
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
- </div>
65
- </div>
82
+ </PanelHeader>
83
+
84
+ <PanelContent>
85
+ <DataSpaceGeneralEditor />
86
+ </PanelContent>
87
+ </Panel>
66
88
  );
67
89
  });