@finos/legend-extension-dsl-data-space-studio 0.1.340 → 0.1.342
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.map +1 -1
- package/lib/components/DSL_DataProduct_ElementDriver.js +1 -10
- package/lib/components/DSL_DataProduct_ElementDriver.js.map +1 -1
- package/lib/components/DataSpaceEditor.js +9 -4
- package/lib/components/DataSpaceEditor.js.map +1 -1
- package/lib/components/DataSpaceExecutableQueryAction.d.ts +20 -0
- package/lib/components/DataSpaceExecutableQueryAction.d.ts.map +1 -0
- package/lib/components/DataSpaceExecutableQueryAction.js +85 -0
- package/lib/components/DataSpaceExecutableQueryAction.js.map +1 -0
- package/lib/components/DataSpaceExecutionContextEditor.d.ts +1 -12
- package/lib/components/DataSpaceExecutionContextEditor.d.ts.map +1 -1
- package/lib/components/DataSpaceExecutionContextEditor.js +206 -134
- package/lib/components/DataSpaceExecutionContextEditor.js.map +1 -1
- package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.d.ts.map +1 -1
- package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.js +130 -26
- package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.js.map +1 -1
- package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.d.ts.map +1 -1
- package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.js +16 -75
- package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.js.map +1 -1
- package/lib/components/DataSpaceGeneralEditor/{DataSpaceDefaultExecutionContextSection.d.ts → DataSpaceHomeTab.d.ts} +3 -3
- package/lib/components/DataSpaceGeneralEditor/DataSpaceHomeTab.d.ts.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceHomeTab.js +100 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceHomeTab.js.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceSidebar.d.ts +23 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceSidebar.d.ts.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceSidebar.js +31 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceSidebar.js.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceValidation.d.ts +28 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceValidation.d.ts.map +1 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceValidation.js +45 -0
- package/lib/components/DataSpaceGeneralEditor/DataSpaceValidation.js.map +1 -0
- package/lib/components/DataSpaceQueryAction.d.ts.map +1 -1
- package/lib/components/DataSpaceQueryAction.js +11 -8
- package/lib/components/DataSpaceQueryAction.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/DataSpaceEditorState.d.ts +9 -0
- package/lib/stores/DataSpaceEditorState.d.ts.map +1 -1
- package/lib/stores/DataSpaceEditorState.js +15 -0
- package/lib/stores/DataSpaceEditorState.js.map +1 -1
- package/lib/stores/DataSpaceExecutableTemplateState.d.ts +48 -0
- package/lib/stores/DataSpaceExecutableTemplateState.d.ts.map +1 -0
- package/lib/stores/DataSpaceExecutableTemplateState.js +105 -0
- package/lib/stores/DataSpaceExecutableTemplateState.js.map +1 -0
- package/lib/stores/DataSpaceExecutionContextState.d.ts +4 -9
- package/lib/stores/DataSpaceExecutionContextState.d.ts.map +1 -1
- package/lib/stores/DataSpaceExecutionContextState.js +13 -39
- package/lib/stores/DataSpaceExecutionContextState.js.map +1 -1
- package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.d.ts +12 -6
- package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.js +45 -3
- package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.js.map +1 -1
- package/package.json +9 -9
- package/src/components/DSL_DataProduct_ElementDriver.tsx +0 -14
- package/src/components/DataSpaceEditor.tsx +10 -10
- package/src/components/DataSpaceExecutableQueryAction.tsx +159 -0
- package/src/components/DataSpaceExecutionContextEditor.tsx +699 -558
- package/src/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.tsx +517 -60
- package/src/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.tsx +22 -198
- package/src/components/DataSpaceGeneralEditor/DataSpaceHomeTab.tsx +235 -0
- package/src/components/DataSpaceGeneralEditor/DataSpaceSidebar.tsx +60 -0
- package/src/components/DataSpaceGeneralEditor/DataSpaceValidation.tsx +83 -0
- package/src/components/DataSpaceQueryAction.tsx +19 -12
- package/src/stores/DataSpaceEditorState.ts +18 -0
- package/src/stores/DataSpaceExecutableTemplateState.ts +152 -0
- package/src/stores/DataSpaceExecutionContextState.ts +17 -70
- package/src/stores/studio/DSL_DataSpace_GraphModifierHelper.ts +79 -6
- package/tsconfig.json +6 -2
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.d.ts.map +0 -1
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.js +0 -138
- package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.js.map +0 -1
- package/src/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.tsx +0 -393
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* Copyright (c) 2020-present, Goldman Sachs
|
|
4
4
|
*
|
|
@@ -14,43 +14,147 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { DataSpacePackageableElementExecutable, } from '@finos/legend-extension-dsl-data-space/graph';
|
|
17
|
+
import { DataSpaceExecutableTemplate, DataSpacePackageableElementExecutable, } from '@finos/legend-extension-dsl-data-space/graph';
|
|
18
18
|
import { observer } from 'mobx-react-lite';
|
|
19
|
-
import {
|
|
19
|
+
import { useEffect, useState } from 'react';
|
|
20
|
+
import { flowResult } from 'mobx';
|
|
21
|
+
import { dataSpace_addExecutable, dataSpace_removeExecutable, dataSpace_setExecutableDescription, dataSpace_setExecutableExecutionContextKey, dataSpace_setExecutableTitle, } from '../../stores/studio/DSL_DataSpace_GraphModifierHelper.js';
|
|
20
22
|
import { useEditorStore } from '@finos/legend-application-studio';
|
|
21
23
|
import { DataSpaceEditorState } from '../../stores/DataSpaceEditorState.js';
|
|
22
|
-
import { CustomSelectorInput,
|
|
24
|
+
import { BlankPanelPlaceholder, clsx, CustomSelectorInput, Dialog, LongArrowRightIcon, ModalTitle, PanelContent, PanelDivider, PanelFormSection, PanelFormTextField, PanelFormValidatedTextField, PanelHeader, PencilEditIcon, PlusIcon, TimesIcon, } from '@finos/legend-art';
|
|
23
25
|
import { PackageableElementExplicitReference, } from '@finos/legend-graph';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
import { InlineLambdaEditor } from '@finos/legend-query-builder';
|
|
27
|
+
import { stub_DataSpaceExecutableTemplateQuery, } from '../../stores/DataSpaceExecutableTemplateState.js';
|
|
28
|
+
import { editDataSpaceExecutableTemplateInQueryBuilder } from '../DataSpaceExecutableQueryAction.js';
|
|
29
|
+
const NewExecutableModal = observer((props) => {
|
|
30
|
+
const { dataSpaceState, isOpen, isReadOnly, onClose, onCreated } = props;
|
|
27
31
|
const dataSpace = dataSpaceState.dataSpace;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
const existingIds = (dataSpace.executables ?? [])
|
|
33
|
+
.map((executable) => executable.id)
|
|
34
|
+
.filter((executableId) => Boolean(executableId));
|
|
35
|
+
const [kind, setKind] = useState('element');
|
|
36
|
+
const [selectedElement, setSelectedElement] = useState(undefined);
|
|
37
|
+
const [title, setTitle] = useState('');
|
|
38
|
+
const [isTitleValid, setIsTitleValid] = useState(false);
|
|
39
|
+
const [id, setId] = useState('');
|
|
40
|
+
const [isIdValid, setIsIdValid] = useState(false);
|
|
41
|
+
const elementOptions = dataSpaceState.getDataSpaceExecutableOptions();
|
|
42
|
+
const closeModal = () => {
|
|
43
|
+
setKind('element');
|
|
44
|
+
setSelectedElement(undefined);
|
|
45
|
+
setTitle('');
|
|
46
|
+
setId('');
|
|
47
|
+
onClose();
|
|
48
|
+
};
|
|
49
|
+
const validateTitle = (val) => val ? undefined : `Title can't be empty`;
|
|
50
|
+
const validateId = (val) => {
|
|
51
|
+
if (!val) {
|
|
52
|
+
return `Id can't be empty`;
|
|
53
|
+
}
|
|
54
|
+
if (existingIds.includes(val)) {
|
|
55
|
+
return `Id '${val}' already exists`;
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
};
|
|
59
|
+
const canCreate = kind === 'element'
|
|
60
|
+
? Boolean(selectedElement) && isTitleValid
|
|
61
|
+
: isTitleValid && isIdValid;
|
|
62
|
+
const create = () => {
|
|
63
|
+
if (isReadOnly || !canCreate) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (kind === 'element' && selectedElement) {
|
|
32
67
|
const executablePointer = new DataSpacePackageableElementExecutable();
|
|
33
68
|
executablePointer.executable =
|
|
34
|
-
PackageableElementExplicitReference.create(
|
|
35
|
-
executablePointer.title =
|
|
69
|
+
PackageableElementExplicitReference.create(selectedElement);
|
|
70
|
+
executablePointer.title = title;
|
|
36
71
|
dataSpace_addExecutable(dataSpace, executablePointer);
|
|
72
|
+
onCreated(executablePointer);
|
|
73
|
+
}
|
|
74
|
+
else if (kind === 'inlineQuery') {
|
|
75
|
+
const executableTemplate = new DataSpaceExecutableTemplate();
|
|
76
|
+
executableTemplate.id = id;
|
|
77
|
+
executableTemplate.title = title;
|
|
78
|
+
executableTemplate.query = stub_DataSpaceExecutableTemplateQuery();
|
|
79
|
+
dataSpace_addExecutable(dataSpace, executableTemplate);
|
|
80
|
+
onCreated(executableTemplate);
|
|
81
|
+
}
|
|
82
|
+
closeModal();
|
|
83
|
+
};
|
|
84
|
+
return (_jsx(Dialog, { open: isOpen, onClose: closeModal, classes: { container: 'search-modal__container' }, slotProps: {
|
|
85
|
+
paper: { classes: { root: 'search-modal__inner-container' } },
|
|
86
|
+
}, children: _jsxs("form", { onSubmit: (event) => {
|
|
87
|
+
event.preventDefault();
|
|
88
|
+
create();
|
|
89
|
+
}, className: "modal search-modal modal--dark", children: [_jsx(ModalTitle, { title: "New Executable" }), _jsx(PanelFormSection, { children: _jsxs("div", { className: "dataSpace-editor__tab-toggle", children: [_jsx("button", { type: "button", className: clsx('dataSpace-editor__tab-toggle__tab', {
|
|
90
|
+
'dataSpace-editor__tab-toggle__tab--active': kind === 'element',
|
|
91
|
+
}), onClick: () => setKind('element'), children: "Existing Element" }), _jsx("button", { type: "button", className: clsx('dataSpace-editor__tab-toggle__tab', {
|
|
92
|
+
'dataSpace-editor__tab-toggle__tab--active': kind === 'inlineQuery',
|
|
93
|
+
}), onClick: () => setKind('inlineQuery'), children: "Inline Query" })] }) }), kind === 'element' && (_jsxs(_Fragment, { children: [_jsxs(PanelFormSection, { children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Element" }), _jsx(CustomSelectorInput, { options: elementOptions, onChange: (option) => {
|
|
94
|
+
const element = option?.value;
|
|
95
|
+
setSelectedElement(element);
|
|
96
|
+
if (element && !title) {
|
|
97
|
+
setTitle(element.name);
|
|
98
|
+
}
|
|
99
|
+
}, value: selectedElement
|
|
100
|
+
? {
|
|
101
|
+
label: selectedElement.path,
|
|
102
|
+
value: selectedElement,
|
|
103
|
+
}
|
|
104
|
+
: null, placeholder: "Select a function or service...", darkMode: true })] }), _jsx(PanelFormValidatedTextField, { name: "Title", value: title, update: (value) => setTitle(value ?? ''), validate: validateTitle, onValidate: (issue) => setIsTitleValid(!issue), isReadOnly: isReadOnly, placeholder: "Enter a title", fullWidth: true })] })), kind === 'inlineQuery' && (_jsxs(_Fragment, { children: [_jsx(PanelFormValidatedTextField, { name: "Id", value: id, update: (value) => setId(value ?? ''), validate: validateId, onValidate: (issue) => setIsIdValid(!issue), isReadOnly: isReadOnly, placeholder: "Enter a unique id", fullWidth: true }), _jsx(PanelFormValidatedTextField, { name: "Title", value: title, update: (value) => setTitle(value ?? ''), validate: validateTitle, onValidate: (issue) => setIsTitleValid(!issue), isReadOnly: isReadOnly, placeholder: "Enter a title", fullWidth: true })] })), _jsx(PanelDivider, {}), _jsx(PanelFormSection, { children: _jsxs("div", { className: "search-modal__actions", children: [_jsx("button", { type: "button", className: "btn btn--dark", onClick: closeModal, children: "Cancel" }), _jsx("button", { type: "submit", className: "btn btn--dark", disabled: isReadOnly || !canCreate, children: "Create" })] }) })] }) }));
|
|
105
|
+
});
|
|
106
|
+
const ExecutableTemplateQueryEditor = observer((props) => {
|
|
107
|
+
const { dataSpaceState, executableTemplate, isReadOnly } = props;
|
|
108
|
+
const editorStore = dataSpaceState.editorStore;
|
|
109
|
+
const applicationStore = editorStore.applicationStore;
|
|
110
|
+
const lambdaState = dataSpaceState.executableTemplateStates.getLambdaState(executableTemplate);
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
flowResult(lambdaState.convertLambdaObjectToGrammarString({ pretty: true })).catch(applicationStore.alertUnhandledError);
|
|
113
|
+
}, [lambdaState, applicationStore]);
|
|
114
|
+
const editInQueryBuilder = applicationStore.guardUnhandledError(async () => editDataSpaceExecutableTemplateInQueryBuilder(dataSpaceState.dataSpace, executableTemplate, lambdaState, editorStore));
|
|
115
|
+
return (_jsxs("div", { className: "dataSpace-editor__configuration__section", children: [_jsx("div", { className: "dataSpace-editor__configuration__section__header", children: _jsx("div", { className: "dataSpace-editor__configuration__section__title", children: "Query" }) }), _jsxs("div", { className: "dataSpace-editor__executable__query", children: [_jsxs("button", { className: "dataSpace-editor__executable__query-builder-btn", onClick: editInQueryBuilder, disabled: isReadOnly, title: "Edit query with Query Builder", children: [_jsx(PencilEditIcon, {}), _jsx("span", { children: "Query Builder" })] }), _jsx(InlineLambdaEditor, { className: "dataSpace-editor__executable__lambda-editor", disabled: isReadOnly, lambdaEditorState: lambdaState, forceBackdrop: Boolean(lambdaState.parserError) })] })] }));
|
|
116
|
+
});
|
|
117
|
+
const ExecutableConfigurationEditor = observer((props) => {
|
|
118
|
+
const { dataSpaceState, executable, isReadOnly } = props;
|
|
119
|
+
const editorStore = dataSpaceState.editorStore;
|
|
120
|
+
const dataSpace = dataSpaceState.dataSpace;
|
|
121
|
+
const executionContextOptions = (dataSpace.executionContexts ?? []).map((context) => ({ label: context.name, value: context.name }));
|
|
122
|
+
const executionContextKeyOption = executable.executionContextKey
|
|
123
|
+
? {
|
|
124
|
+
label: executable.executionContextKey,
|
|
125
|
+
value: executable.executionContextKey,
|
|
37
126
|
}
|
|
127
|
+
: null;
|
|
128
|
+
return (_jsxs("div", { className: "dataSpace-editor__configuration", children: [_jsx(PanelFormTextField, { name: "Title", value: executable.title, update: (value) => dataSpace_setExecutableTitle(executable, value ?? ''), isReadOnly: isReadOnly, placeholder: "Enter title", prompt: "Provide a title for this executable", fullWidth: true }), _jsxs(PanelFormSection, { children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Description" }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Provide a description for this executable." }), _jsx("textarea", { className: "panel__content__form__section__textarea", spellCheck: false, disabled: isReadOnly, value: executable.description ?? '', onChange: (event) => dataSpace_setExecutableDescription(executable, event.target.value || undefined), rows: 3, placeholder: "Enter description" })] }), executable instanceof DataSpacePackageableElementExecutable && (_jsxs("div", { className: "dataSpace-editor__configuration__section", children: [_jsx("div", { className: "dataSpace-editor__configuration__section__header", children: _jsx("div", { className: "dataSpace-editor__configuration__section__title", children: "Element" }) }), _jsxs("div", { className: "dataSpace-editor__configuration__row", children: [_jsx("span", { className: "dataSpace-editor__executable__pointer__path", children: executable.executable.value.path }), _jsx("button", { className: "btn--dark btn--sm dataSpace-editor__configuration__row__btn", onClick: () => editorStore.graphEditorMode.openElement(executable.executable.value), title: "See element", tabIndex: -1, children: _jsx(LongArrowRightIcon, {}) })] })] })), Boolean(executionContextOptions.length) && (_jsxs("div", { className: "dataSpace-editor__configuration__section", children: [_jsxs("div", { className: "dataSpace-editor__configuration__section__header", children: [_jsx("div", { className: "dataSpace-editor__configuration__section__title", children: "Execution Context" }), _jsx("div", { className: "dataSpace-editor__configuration__section__hint", children: "Optional. Pins this executable to a specific execution. If not provided, points to the default execution context if set" })] }), _jsx(CustomSelectorInput, { className: "dataSpace-editor__configuration__row__select", disabled: isReadOnly, options: executionContextOptions, onChange: (option) => dataSpace_setExecutableExecutionContextKey(executable, option?.value), value: executionContextKeyOption, placeholder: dataSpace.defaultExecutionContext
|
|
129
|
+
? 'Use default execution context'
|
|
130
|
+
: 'Choose execution context', isClearable: true, darkMode: true })] })), executable instanceof DataSpaceExecutableTemplate && (_jsx(ExecutableTemplateQueryEditor, { dataSpaceState: dataSpaceState, executableTemplate: executable, isReadOnly: isReadOnly }))] }));
|
|
131
|
+
});
|
|
132
|
+
const ExecutableTab = observer((props) => {
|
|
133
|
+
const { executable, isActive, isReadOnly, onSelect, onDelete } = props;
|
|
134
|
+
const remove = (event) => {
|
|
135
|
+
event.stopPropagation();
|
|
136
|
+
onDelete();
|
|
38
137
|
};
|
|
138
|
+
return (_jsxs("div", { onClick: onSelect, className: clsx('service-editor__tab', 'dataSpace-editor__tab', {
|
|
139
|
+
'service-editor__tab--active': isActive,
|
|
140
|
+
}), role: "tab", children: [_jsx("span", { className: "dataSpace-editor__tab__label", children: executable.title || '(untitled)' }), !isReadOnly && (_jsx("button", { className: "dataSpace-editor__tab__close-btn", onClick: remove, tabIndex: -1, title: "Delete executable", children: _jsx(TimesIcon, {}) }))] }));
|
|
141
|
+
});
|
|
142
|
+
export const DataspaceExecutablesSection = observer(() => {
|
|
143
|
+
const editorStore = useEditorStore();
|
|
144
|
+
const dataSpaceState = editorStore.tabManagerState.getCurrentEditorState(DataSpaceEditorState);
|
|
145
|
+
const dataSpace = dataSpaceState.dataSpace;
|
|
146
|
+
const isReadOnly = dataSpaceState.isReadOnly;
|
|
147
|
+
const executables = dataSpace.executables ?? [];
|
|
148
|
+
const [selectedExecutable, setSelectedExecutable] = useState(executables[0]);
|
|
149
|
+
const [isNewModalOpen, setIsNewModalOpen] = useState(false);
|
|
150
|
+
const currentSelection = selectedExecutable && executables.includes(selectedExecutable)
|
|
151
|
+
? selectedExecutable
|
|
152
|
+
: executables[0];
|
|
39
153
|
const handleRemoveExecutable = (executable) => {
|
|
40
154
|
dataSpace_removeExecutable(dataSpace, executable);
|
|
155
|
+
setSelectedExecutable((dataSpace.executables ?? [])[0]);
|
|
41
156
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const { item } = props;
|
|
45
|
-
return (_jsx("div", { className: "panel__content__form__section__list__item__content", children: _jsx("div", { className: "panel__content__form__section__list__item__content__label", children: item.title }) }));
|
|
46
|
-
});
|
|
47
|
-
const NewExecutableComponent = observer((props) => {
|
|
48
|
-
const { onFinishEditing } = props;
|
|
49
|
-
return (_jsx("div", { className: "panel__content__form__section__list__new-item__input", children: _jsx(CustomSelectorInput, { options: dataSpaceState.getDataSpaceExecutableOptions(), onChange: (event) => {
|
|
50
|
-
onFinishEditing();
|
|
51
|
-
handleAddExecutable(event);
|
|
52
|
-
}, placeholder: "Select an element to add...", darkMode: true }) }));
|
|
53
|
-
});
|
|
54
|
-
return (_jsx(ListEditor, { title: "Executables", prompt: "Add functions and services to display under Quick Start for users to see how this Data Product can be used.", items: dataSpace.executables, keySelector: (element) => element.hashCode, ItemComponent: ExecutableComponent, NewItemComponent: NewExecutableComponent, handleRemoveItem: handleRemoveExecutable, isReadOnly: dataSpaceState.isReadOnly, emptyMessage: "No executables specified" }));
|
|
157
|
+
const addExecutable = () => setIsNewModalOpen(true);
|
|
158
|
+
return (_jsxs("div", { className: "panel dataSpace-editor__tab-panel", children: [_jsx(PanelHeader, { children: _jsxs("div", { className: "uml-element-editor__tabs", children: [executables.map((executable) => (_jsx(ExecutableTab, { executable: executable, isActive: executable === currentSelection, isReadOnly: isReadOnly, onSelect: () => setSelectedExecutable(executable), onDelete: () => handleRemoveExecutable(executable) }, executable.hashCode))), _jsx("button", { className: "panel__header__action", disabled: isReadOnly, onClick: addExecutable, title: "Add an executable", tabIndex: -1, children: _jsx(PlusIcon, {}) })] }) }), _jsx(PanelContent, { children: currentSelection ? (_jsx(ExecutableConfigurationEditor, { dataSpaceState: dataSpaceState, executable: currentSelection, isReadOnly: isReadOnly })) : (_jsx(BlankPanelPlaceholder, { text: "Add an executable", onClick: addExecutable, clickActionType: "add", tooltipText: "Click to add an executable", disabled: isReadOnly })) }), _jsx(NewExecutableModal, { dataSpaceState: dataSpaceState, isOpen: isNewModalOpen, isReadOnly: isReadOnly, onClose: () => setIsNewModalOpen(false), onCreated: (executable) => setSelectedExecutable(executable) })] }));
|
|
55
159
|
});
|
|
56
160
|
//# sourceMappingURL=DataSpaceExecutablesSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceExecutablesSection.js","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,qCAAqC,GACtC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAEL,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,2BAA2B,GAAG,QAAQ,CAAC,GAAG,EAAE;IACvD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,cAAc,GAClB,WAAW,CAAC,eAAe,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;IAE3C,iBAAiB;IACjB,MAAM,mBAAmB,GAAG,CAAC,MAG5B,EAAQ,EAAE;QACT,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;YAC7B,MAAM,iBAAiB,GAAG,IAAI,qCAAqC,EAAE,CAAC;YACtE,iBAAiB,CAAC,UAAU;gBAC1B,mCAAmC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,iBAAiB,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YACvC,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,UAA+B,EAAQ,EAAE;QACvE,0BAA0B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,iCAAiC;IACjC,MAAM,mBAAmB,GAAG,QAAQ,CAClC,CAAC,KAAoC,EAAsB,EAAE;QAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAEvB,OAAO,CACL,cAAK,SAAS,EAAC,oDAAoD,YACjE,cAAK,SAAS,EAAC,2DAA2D,YACvE,IAAI,CAAC,KAAK,GACP,GACF,CACP,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,sBAAsB,GAAG,QAAQ,CACrC,CAAC,KAAsC,EAAE,EAAE;QACzC,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;QAElC,OAAO,CACL,cAAK,SAAS,EAAC,sDAAsD,YACnE,KAAC,mBAAmB,IAClB,OAAO,EAAE,cAAc,CAAC,6BAA6B,EAAE,EACvD,QAAQ,EAAE,CAAC,KAAmD,EAAE,EAAE;oBAChE,eAAe,EAAE,CAAC;oBAClB,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,EACD,WAAW,EAAC,6BAA6B,EACzC,QAAQ,EAAE,IAAI,GACd,GACE,CACP,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO,CACL,KAAC,UAAU,IACT,KAAK,EAAC,aAAa,EACnB,MAAM,EAAC,6GAA6G,EACpH,KAAK,EAAE,SAAS,CAAC,WAAW,EAC5B,WAAW,EAAE,CAAC,OAA4B,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAC/D,aAAa,EAAE,mBAAmB,EAClC,gBAAgB,EAAE,sBAAsB,EACxC,gBAAgB,EAAE,sBAAsB,EACxC,UAAU,EAAE,cAAc,CAAC,UAAU,EACrC,YAAY,EAAC,0BAA0B,GACvC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"DataSpaceExecutablesSection.js","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceGeneralEditor.d.ts","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"DataSpaceGeneralEditor.d.ts","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAcH,eAAO,MAAM,sBAAsB;;CA0BjC,CAAC"}
|
|
@@ -14,87 +14,28 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { useEditorStore
|
|
18
|
-
import {
|
|
17
|
+
import { useEditorStore } from '@finos/legend-application-studio';
|
|
18
|
+
import { PanelContentLists } from '@finos/legend-art';
|
|
19
19
|
import { observer } from 'mobx-react-lite';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import { DataSpaceDefaultExecutionContextSection } from './DataSpaceDefaultExecutionContextSection.js';
|
|
25
|
-
import { DataSpaceDiagramsSection } from './DataSpaceDiagramsSection.js';
|
|
26
|
-
import { DataSpaceElementsSection } from './DataSpaceElementsSection.js';
|
|
20
|
+
import { DATA_SPACE_TAB, DataSpaceEditorState, } from '../../stores/DataSpaceEditorState.js';
|
|
21
|
+
import { DataSpaceSidebar } from './DataSpaceSidebar.js';
|
|
22
|
+
import { DataSpaceHomeTab } from './DataSpaceHomeTab.js';
|
|
23
|
+
import { DataSpaceExecutionContextEditor } from '../DataSpaceExecutionContextEditor.js';
|
|
27
24
|
import { DataspaceExecutablesSection } from './DataSpaceExecutablesSection.js';
|
|
28
|
-
import { DataSpaceSupportInfoSection } from './DataSpaceSupportInfoSection.js';
|
|
29
25
|
export const DataSpaceGeneralEditor = observer(() => {
|
|
30
26
|
const editorStore = useEditorStore();
|
|
31
27
|
const dataSpaceState = editorStore.tabManagerState.getCurrentEditorState(DataSpaceEditorState);
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// AI documentation suggestion
|
|
42
|
-
const legendAIUrl = editorStore.applicationStore.config.legendAIUrl;
|
|
43
|
-
const aiDocSuggester = legendAIUrl
|
|
44
|
-
? editorStore.pluginManager
|
|
45
|
-
.getApplicationPlugins()
|
|
46
|
-
.map((p) => p.getExtraDataSpaceDocumentationAISuggester?.bind(p))
|
|
47
|
-
.find(Boolean)
|
|
48
|
-
: undefined;
|
|
49
|
-
const [isSuggestingWithAI, setIsSuggestingWithAI] = useState(false);
|
|
50
|
-
const [aiDocSuggestion, setAIDocSuggestion] = useState(undefined);
|
|
51
|
-
const suggestDocumentationWithAI = async () => {
|
|
52
|
-
if (!aiDocSuggester || !legendAIUrl) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestLaunched(editorStore.applicationStore.telemetryService, dataSpace.path);
|
|
56
|
-
setIsSuggestingWithAI(true);
|
|
57
|
-
setAIDocSuggestion(undefined);
|
|
58
|
-
try {
|
|
59
|
-
const definitions = await editorStore.graphManagerState.graphManager.graphToPureCode(editorStore.graphManagerState.graph);
|
|
60
|
-
const suggestion = await aiDocSuggester({ definitions, data_space_name: dataSpace.path }, legendAIUrl);
|
|
61
|
-
setAIDocSuggestion(suggestion.description);
|
|
62
|
-
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
assertErrorThrown(error);
|
|
65
|
-
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestFailure(editorStore.applicationStore.telemetryService, dataSpace.path, error.message);
|
|
66
|
-
if (error instanceof NetworkClientError &&
|
|
67
|
-
(error.response.status === HttpStatus.UNAUTHORIZED ||
|
|
68
|
-
error.response.status === HttpStatus.FORBIDDEN)) {
|
|
69
|
-
const docEntry = editorStore.applicationStore.documentationService.getDocEntry(LEGEND_STUDIO_DOCUMENTATION_KEY.LEGENDAI_HOW_TO_GET_ENTITLEMENTS);
|
|
70
|
-
if (docEntry?.url) {
|
|
71
|
-
error.message = `${error.message}. Please check how to get entitlements: ${docEntry.url}`;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
throw error;
|
|
28
|
+
const renderTab = () => {
|
|
29
|
+
switch (dataSpaceState.selectedTab) {
|
|
30
|
+
case DATA_SPACE_TAB.EXECUTION_CONTEXTS:
|
|
31
|
+
return _jsx(DataSpaceExecutionContextEditor, {});
|
|
32
|
+
case DATA_SPACE_TAB.EXECUTABLES:
|
|
33
|
+
return _jsx(DataspaceExecutablesSection, {});
|
|
34
|
+
case DATA_SPACE_TAB.HOME:
|
|
35
|
+
default:
|
|
36
|
+
return _jsx(DataSpaceHomeTab, {});
|
|
75
37
|
}
|
|
76
|
-
finally {
|
|
77
|
-
setIsSuggestingWithAI(false);
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
const applyAIDocSuggestion = () => {
|
|
81
|
-
if (!aiDocSuggestion) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestApplied(editorStore.applicationStore.telemetryService, dataSpace.path);
|
|
85
|
-
dataSpace_setDescription(dataSpace, aiDocSuggestion);
|
|
86
|
-
setAIDocSuggestion(undefined);
|
|
87
|
-
};
|
|
88
|
-
const discardAIDocSuggestion = () => {
|
|
89
|
-
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestDiscarded(editorStore.applicationStore.telemetryService, dataSpace.path);
|
|
90
|
-
setAIDocSuggestion(undefined);
|
|
91
38
|
};
|
|
92
|
-
return (
|
|
93
|
-
suggestDocumentationWithAI().catch(editorStore.applicationStore.alertUnhandledError);
|
|
94
|
-
}, disabled: isSuggestingWithAI || isReadOnly, title: "Use AI to suggest a description for this data product", children: [_jsx(SparkleIcon, {}), _jsx("span", { children: isSuggestingWithAI ? 'Suggesting...' : 'Suggest with AI' })] }))] }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Provide a description for this Data Product." }), _jsx(PanelLoadingIndicator, { isLoading: isSuggestingWithAI }), _jsx("textarea", { className: clsx('panel__content__form__section__textarea', {
|
|
95
|
-
'textarea--ai-suggested': Boolean(aiDocSuggestion),
|
|
96
|
-
}), spellCheck: false, disabled: isReadOnly, readOnly: Boolean(aiDocSuggestion), value: aiDocSuggestion ?? dataSpace.description ?? '', onChange: (event) => {
|
|
97
|
-
handleDescriptionChange(event.target.value);
|
|
98
|
-
}, placeholder: "Enter description" }), aiDocSuggestion && (_jsxs("div", { className: "dataSpace-editor__ai-suggestion__actions", children: [_jsx("button", { className: "btn btn--dark dataSpace-editor__ai-suggestion__apply-btn", onClick: applyAIDocSuggestion, title: "Apply AI suggestion to description", children: "Apply Suggestion" }), _jsx("button", { className: "btn dataSpace-editor__ai-suggestion__dismiss-btn", onClick: discardAIDocSuggestion, title: "Dismiss AI suggestion", children: "Dismiss" })] }))] }), _jsx(DataSpaceDefaultExecutionContextSection, {}), _jsx(DataSpaceDiagramsSection, {}), _jsx(DataSpaceElementsSection, {}), _jsx(DataspaceExecutablesSection, {}), _jsx(DataSpaceSupportInfoSection, {})] }) }));
|
|
39
|
+
return (_jsxs(PanelContentLists, { className: "dataSpace-editor__general", children: [_jsx(DataSpaceSidebar, { selectedTab: dataSpaceState.selectedTab, setSelectedTab: (tab) => dataSpaceState.setSelectedTab(tab) }), _jsx("div", { className: "dataSpace-editor__general__content", children: renderTab() })] }));
|
|
99
40
|
});
|
|
100
41
|
//# sourceMappingURL=DataSpaceGeneralEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceGeneralEditor.js","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"DataSpaceGeneralEditor.js","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,GAAG,EAAE;IAClD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,cAAc,GAClB,WAAW,CAAC,eAAe,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;IAE1E,MAAM,SAAS,GAAG,GAAoB,EAAE;QACtC,QAAQ,cAAc,CAAC,WAAW,EAAE,CAAC;YACnC,KAAK,cAAc,CAAC,kBAAkB;gBACpC,OAAO,KAAC,+BAA+B,KAAG,CAAC;YAC7C,KAAK,cAAc,CAAC,WAAW;gBAC7B,OAAO,KAAC,2BAA2B,KAAG,CAAC;YACzC,KAAK,cAAc,CAAC,IAAI,CAAC;YACzB;gBACE,OAAO,KAAC,gBAAgB,KAAG,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,iBAAiB,IAAC,SAAS,EAAC,2BAA2B,aACtD,KAAC,gBAAgB,IACf,WAAW,EAAE,cAAc,CAAC,WAAW,EACvC,cAAc,EAAE,CAAC,GAAG,EAAQ,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,GACjE,EACF,cAAK,SAAS,EAAC,oCAAoC,YAAE,SAAS,EAAE,GAAO,IACrD,CACrB,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export declare const
|
|
16
|
+
export declare const DataSpaceHomeTab: (() => import("react/jsx-runtime").JSX.Element) & {
|
|
17
17
|
displayName: string;
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=DataSpaceHomeTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSpaceHomeTab.d.ts","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceHomeTab.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmCH,eAAO,MAAM,gBAAgB;;CAyL3B,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { useEditorStore, LEGEND_STUDIO_DOCUMENTATION_KEY, LegendStudioTelemetryHelper, } from '@finos/legend-application-studio';
|
|
18
|
+
import { clsx, PanelForm, PanelFormTextField, PanelLoadingIndicator, SparkleIcon, } from '@finos/legend-art';
|
|
19
|
+
import { observer } from 'mobx-react-lite';
|
|
20
|
+
import { useState } from 'react';
|
|
21
|
+
import { assertErrorThrown, HttpStatus, NetworkClientError, } from '@finos/legend-shared';
|
|
22
|
+
import { DataSpaceEditorState } from '../../stores/DataSpaceEditorState.js';
|
|
23
|
+
import { dataSpace_setDescription, dataSpace_setTitle, } from '../../stores/studio/DSL_DataSpace_GraphModifierHelper.js';
|
|
24
|
+
import { DataSpaceDiagramsSection } from './DataSpaceDiagramsSection.js';
|
|
25
|
+
import { DataSpaceElementsSection } from './DataSpaceElementsSection.js';
|
|
26
|
+
import { DataSpaceSupportInfoSection } from './DataSpaceSupportInfoSection.js';
|
|
27
|
+
import { dataSpaceNeedsExecutionContextOrExecutable, InlineIssue, } from './DataSpaceValidation.js';
|
|
28
|
+
export const DataSpaceHomeTab = observer(() => {
|
|
29
|
+
const editorStore = useEditorStore();
|
|
30
|
+
const dataSpaceState = editorStore.tabManagerState.getCurrentEditorState(DataSpaceEditorState);
|
|
31
|
+
const dataSpace = dataSpaceState.dataSpace;
|
|
32
|
+
const isReadOnly = dataSpaceState.isReadOnly;
|
|
33
|
+
const handleTitleChange = (value) => {
|
|
34
|
+
dataSpace_setTitle(dataSpace, value);
|
|
35
|
+
};
|
|
36
|
+
const handleDescriptionChange = (value) => {
|
|
37
|
+
dataSpace_setDescription(dataSpace, value);
|
|
38
|
+
};
|
|
39
|
+
const legendAIUrl = editorStore.applicationStore.config.legendAIUrl;
|
|
40
|
+
const aiDocSuggester = legendAIUrl
|
|
41
|
+
? editorStore.pluginManager
|
|
42
|
+
.getApplicationPlugins()
|
|
43
|
+
.map((p) => p.getExtraDataSpaceDocumentationAISuggester?.bind(p))
|
|
44
|
+
.find(Boolean)
|
|
45
|
+
: undefined;
|
|
46
|
+
const [isSuggestingWithAI, setIsSuggestingWithAI] = useState(false);
|
|
47
|
+
const [aiDocSuggestion, setAIDocSuggestion] = useState(undefined);
|
|
48
|
+
const suggestDocumentationWithAI = async () => {
|
|
49
|
+
if (!aiDocSuggester || !legendAIUrl) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestLaunched(editorStore.applicationStore.telemetryService, dataSpace.path);
|
|
53
|
+
setIsSuggestingWithAI(true);
|
|
54
|
+
setAIDocSuggestion(undefined);
|
|
55
|
+
try {
|
|
56
|
+
const definitions = await editorStore.graphManagerState.graphManager.graphToPureCode(editorStore.graphManagerState.graph);
|
|
57
|
+
const suggestion = await aiDocSuggester({ definitions, data_space_name: dataSpace.path }, legendAIUrl);
|
|
58
|
+
setAIDocSuggestion(suggestion.description);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
assertErrorThrown(error);
|
|
62
|
+
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestFailure(editorStore.applicationStore.telemetryService, dataSpace.path, error.message);
|
|
63
|
+
if (error instanceof NetworkClientError &&
|
|
64
|
+
(error.response.status === HttpStatus.UNAUTHORIZED ||
|
|
65
|
+
error.response.status === HttpStatus.FORBIDDEN)) {
|
|
66
|
+
const docEntry = editorStore.applicationStore.documentationService.getDocEntry(LEGEND_STUDIO_DOCUMENTATION_KEY.LEGENDAI_HOW_TO_GET_ENTITLEMENTS);
|
|
67
|
+
if (docEntry?.url) {
|
|
68
|
+
error.message = `${error.message}. Please check how to get entitlements: ${docEntry.url}`;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
setIsSuggestingWithAI(false);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
const applyAIDocSuggestion = () => {
|
|
78
|
+
if (!aiDocSuggestion) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestApplied(editorStore.applicationStore.telemetryService, dataSpace.path);
|
|
82
|
+
dataSpace_setDescription(dataSpace, aiDocSuggestion);
|
|
83
|
+
setAIDocSuggestion(undefined);
|
|
84
|
+
};
|
|
85
|
+
const discardAIDocSuggestion = () => {
|
|
86
|
+
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestDiscarded(editorStore.applicationStore.telemetryService, dataSpace.path);
|
|
87
|
+
setAIDocSuggestion(undefined);
|
|
88
|
+
};
|
|
89
|
+
return (_jsxs(PanelForm, { children: [dataSpaceNeedsExecutionContextOrExecutable(dataSpace) && (_jsx(InlineIssue, { issue: {
|
|
90
|
+
severity: 'error',
|
|
91
|
+
message: 'Add at least one execution context, or at least one executable.',
|
|
92
|
+
} })), _jsx(PanelFormTextField, { name: "Title", value: dataSpace.title ?? '', prompt: "Provide a title for this Data Product.", update: handleTitleChange, placeholder: "Enter title" }), _jsxs("div", { className: "panel__content__form__section", children: [_jsxs("div", { className: "panel__content__form__section__header__label", children: ["Description", aiDocSuggestion && (_jsxs("span", { className: "dataSpace-editor__ai-suggestion-badge", style: { marginLeft: '0.8rem' }, children: [_jsx(SparkleIcon, {}), "AI Suggestion"] })), aiDocSuggester && !aiDocSuggestion && (_jsxs("button", { className: "dataSpace-editor__ai-suggest-btn", style: { marginLeft: '0.8rem' }, onClick: () => {
|
|
93
|
+
suggestDocumentationWithAI().catch(editorStore.applicationStore.alertUnhandledError);
|
|
94
|
+
}, disabled: isSuggestingWithAI || isReadOnly, title: "Use AI to suggest a description for this data product", children: [_jsx(SparkleIcon, {}), _jsx("span", { children: isSuggestingWithAI ? 'Suggesting...' : 'Suggest with AI' })] }))] }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Provide a description for this Data Product." }), _jsx(PanelLoadingIndicator, { isLoading: isSuggestingWithAI }), _jsx("textarea", { className: clsx('panel__content__form__section__textarea', {
|
|
95
|
+
'textarea--ai-suggested': Boolean(aiDocSuggestion),
|
|
96
|
+
}), spellCheck: false, disabled: isReadOnly, readOnly: Boolean(aiDocSuggestion), value: aiDocSuggestion ?? dataSpace.description ?? '', onChange: (event) => {
|
|
97
|
+
handleDescriptionChange(event.target.value);
|
|
98
|
+
}, placeholder: "Enter description" }), aiDocSuggestion && (_jsxs("div", { className: "dataSpace-editor__ai-suggestion__actions", children: [_jsx("button", { className: "btn btn--dark dataSpace-editor__ai-suggestion__apply-btn", onClick: applyAIDocSuggestion, title: "Apply AI suggestion to description", children: "Apply Suggestion" }), _jsx("button", { className: "btn dataSpace-editor__ai-suggestion__dismiss-btn", onClick: discardAIDocSuggestion, title: "Dismiss AI suggestion", children: "Dismiss" })] }))] }), _jsx(DataSpaceDiagramsSection, {}), _jsx(DataSpaceElementsSection, {}), _jsx(DataSpaceSupportInfoSection, {})] }));
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=DataSpaceHomeTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSpaceHomeTab.js","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceHomeTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-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
|
+
import { DATA_SPACE_TAB } from '../../stores/DataSpaceEditorState.js';
|
|
17
|
+
export declare const DataSpaceSidebar: ((props: {
|
|
18
|
+
selectedTab: DATA_SPACE_TAB;
|
|
19
|
+
setSelectedTab: (tab: DATA_SPACE_TAB) => void;
|
|
20
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
21
|
+
displayName: string;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=DataSpaceSidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSpaceSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceSidebar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAQtE,eAAO,MAAM,gBAAgB,WACnB;IACN,WAAW,EAAE,cAAc,CAAC;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;CAC/C;;CA6BF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { observer } from 'mobx-react-lite';
|
|
18
|
+
import { clsx, HomeIcon, PlayIcon, SitemapIcon } from '@finos/legend-art';
|
|
19
|
+
import { DATA_SPACE_TAB } from '../../stores/DataSpaceEditorState.js';
|
|
20
|
+
const SIDEBAR_TABS = [
|
|
21
|
+
{ tab: DATA_SPACE_TAB.HOME, icon: _jsx(HomeIcon, {}) },
|
|
22
|
+
{ tab: DATA_SPACE_TAB.EXECUTION_CONTEXTS, icon: _jsx(SitemapIcon, {}) },
|
|
23
|
+
{ tab: DATA_SPACE_TAB.EXECUTABLES, icon: _jsx(PlayIcon, {}) },
|
|
24
|
+
];
|
|
25
|
+
export const DataSpaceSidebar = observer((props) => {
|
|
26
|
+
const { selectedTab, setSelectedTab } = props;
|
|
27
|
+
return (_jsx("div", { className: "data-space__viewer__activity-bar dataSpace-editor__sidebar", style: { position: 'static', maxHeight: '100%' }, children: _jsx("div", { className: "data-space__viewer__activity-bar__items", children: SIDEBAR_TABS.map((item) => (_jsxs("button", { className: clsx('data-space__viewer__activity-bar__item', {
|
|
28
|
+
'data-space__viewer__activity-bar__item--active': selectedTab === item.tab,
|
|
29
|
+
}), onClick: () => setSelectedTab(item.tab), tabIndex: -1, title: item.tab, children: [item.icon, _jsx("span", { className: "dataSpace-editor__sidebar__item__label", children: item.tab })] }, item.tab))) }) }));
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=DataSpaceSidebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSpaceSidebar.js","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceSidebar.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,MAAM,YAAY,GAAG;IACnB,EAAE,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,KAAC,QAAQ,KAAG,EAAE;IAChD,EAAE,GAAG,EAAE,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAC,WAAW,KAAG,EAAE;IACjE,EAAE,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,KAAC,QAAQ,KAAG,EAAE;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CACtC,CAAC,KAGA,EAAE,EAAE;IACH,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC9C,OAAO,CACL,cACE,SAAS,EAAC,4DAA4D,EACtE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAEhD,cAAK,SAAS,EAAC,yCAAyC,YACrD,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC1B,kBAEE,SAAS,EAAE,IAAI,CAAC,wCAAwC,EAAE;oBACxD,gDAAgD,EAC9C,WAAW,KAAK,IAAI,CAAC,GAAG;iBAC3B,CAAC,EACF,OAAO,EAAE,GAAS,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAC7C,QAAQ,EAAE,CAAC,CAAC,EACZ,KAAK,EAAE,IAAI,CAAC,GAAG,aAEd,IAAI,CAAC,IAAI,EACV,eAAM,SAAS,EAAC,wCAAwC,YACrD,IAAI,CAAC,GAAG,GACJ,KAZF,IAAI,CAAC,GAAG,CAaN,CACV,CAAC,GACE,GACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-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
|
+
import type { DataSpace, DataSpaceExecutionContext } from '@finos/legend-extension-dsl-data-space/graph';
|
|
17
|
+
export type DataSpaceValidationIssue = {
|
|
18
|
+
severity: 'error' | 'warning';
|
|
19
|
+
message: string;
|
|
20
|
+
};
|
|
21
|
+
export declare const InlineIssue: React.FC<{
|
|
22
|
+
issue: DataSpaceValidationIssue;
|
|
23
|
+
}>;
|
|
24
|
+
export declare const hasNoMappingSource: (executionContext: DataSpaceExecutionContext) => boolean;
|
|
25
|
+
export declare const collectExecutionContextValidationIssues: (executionContext: DataSpaceExecutionContext) => DataSpaceValidationIssue[];
|
|
26
|
+
export declare const hasExecutionContextValidationError: (executionContext: DataSpaceExecutionContext) => boolean;
|
|
27
|
+
export declare const dataSpaceNeedsExecutionContextOrExecutable: (dataSpace: DataSpace) => boolean;
|
|
28
|
+
//# sourceMappingURL=DataSpaceValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataSpaceValidation.d.ts","sourceRoot":"","sources":["../../../src/components/DataSpaceGeneralEditor/DataSpaceValidation.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EACV,SAAS,EACT,yBAAyB,EAC1B,MAAM,8CAA8C,CAAC;AAEtD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,KAAK,EAAE,wBAAwB,CAAA;CAAE,CAcrE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,kBAAkB,yBAAyB,KAC1C,OAAyE,CAAC;AAE7E,eAAO,MAAM,uCAAuC,GAClD,kBAAkB,yBAAyB,KAC1C,wBAAwB,EAoB1B,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,kBAAkB,yBAAyB,KAC1C,OAIA,CAAC;AAEJ,eAAO,MAAM,0CAA0C,GACrD,WAAW,SAAS,KACnB,OACqE,CAAC"}
|