@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.
Files changed (73) hide show
  1. package/lib/components/DSL_DataProduct_ElementDriver.d.ts.map +1 -1
  2. package/lib/components/DSL_DataProduct_ElementDriver.js +1 -10
  3. package/lib/components/DSL_DataProduct_ElementDriver.js.map +1 -1
  4. package/lib/components/DataSpaceEditor.js +9 -4
  5. package/lib/components/DataSpaceEditor.js.map +1 -1
  6. package/lib/components/DataSpaceExecutableQueryAction.d.ts +20 -0
  7. package/lib/components/DataSpaceExecutableQueryAction.d.ts.map +1 -0
  8. package/lib/components/DataSpaceExecutableQueryAction.js +85 -0
  9. package/lib/components/DataSpaceExecutableQueryAction.js.map +1 -0
  10. package/lib/components/DataSpaceExecutionContextEditor.d.ts +1 -12
  11. package/lib/components/DataSpaceExecutionContextEditor.d.ts.map +1 -1
  12. package/lib/components/DataSpaceExecutionContextEditor.js +206 -134
  13. package/lib/components/DataSpaceExecutionContextEditor.js.map +1 -1
  14. package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.d.ts.map +1 -1
  15. package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.js +130 -26
  16. package/lib/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.js.map +1 -1
  17. package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.d.ts.map +1 -1
  18. package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.js +16 -75
  19. package/lib/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.js.map +1 -1
  20. package/lib/components/DataSpaceGeneralEditor/{DataSpaceDefaultExecutionContextSection.d.ts → DataSpaceHomeTab.d.ts} +3 -3
  21. package/lib/components/DataSpaceGeneralEditor/DataSpaceHomeTab.d.ts.map +1 -0
  22. package/lib/components/DataSpaceGeneralEditor/DataSpaceHomeTab.js +100 -0
  23. package/lib/components/DataSpaceGeneralEditor/DataSpaceHomeTab.js.map +1 -0
  24. package/lib/components/DataSpaceGeneralEditor/DataSpaceSidebar.d.ts +23 -0
  25. package/lib/components/DataSpaceGeneralEditor/DataSpaceSidebar.d.ts.map +1 -0
  26. package/lib/components/DataSpaceGeneralEditor/DataSpaceSidebar.js +31 -0
  27. package/lib/components/DataSpaceGeneralEditor/DataSpaceSidebar.js.map +1 -0
  28. package/lib/components/DataSpaceGeneralEditor/DataSpaceValidation.d.ts +28 -0
  29. package/lib/components/DataSpaceGeneralEditor/DataSpaceValidation.d.ts.map +1 -0
  30. package/lib/components/DataSpaceGeneralEditor/DataSpaceValidation.js +45 -0
  31. package/lib/components/DataSpaceGeneralEditor/DataSpaceValidation.js.map +1 -0
  32. package/lib/components/DataSpaceQueryAction.d.ts.map +1 -1
  33. package/lib/components/DataSpaceQueryAction.js +11 -8
  34. package/lib/components/DataSpaceQueryAction.js.map +1 -1
  35. package/lib/index.css +2 -2
  36. package/lib/index.css.map +1 -1
  37. package/lib/package.json +1 -1
  38. package/lib/stores/DataSpaceEditorState.d.ts +9 -0
  39. package/lib/stores/DataSpaceEditorState.d.ts.map +1 -1
  40. package/lib/stores/DataSpaceEditorState.js +15 -0
  41. package/lib/stores/DataSpaceEditorState.js.map +1 -1
  42. package/lib/stores/DataSpaceExecutableTemplateState.d.ts +48 -0
  43. package/lib/stores/DataSpaceExecutableTemplateState.d.ts.map +1 -0
  44. package/lib/stores/DataSpaceExecutableTemplateState.js +105 -0
  45. package/lib/stores/DataSpaceExecutableTemplateState.js.map +1 -0
  46. package/lib/stores/DataSpaceExecutionContextState.d.ts +4 -9
  47. package/lib/stores/DataSpaceExecutionContextState.d.ts.map +1 -1
  48. package/lib/stores/DataSpaceExecutionContextState.js +13 -39
  49. package/lib/stores/DataSpaceExecutionContextState.js.map +1 -1
  50. package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.d.ts +12 -6
  51. package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.d.ts.map +1 -1
  52. package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.js +45 -3
  53. package/lib/stores/studio/DSL_DataSpace_GraphModifierHelper.js.map +1 -1
  54. package/package.json +9 -9
  55. package/src/components/DSL_DataProduct_ElementDriver.tsx +0 -14
  56. package/src/components/DataSpaceEditor.tsx +10 -10
  57. package/src/components/DataSpaceExecutableQueryAction.tsx +159 -0
  58. package/src/components/DataSpaceExecutionContextEditor.tsx +699 -558
  59. package/src/components/DataSpaceGeneralEditor/DataSpaceExecutablesSection.tsx +517 -60
  60. package/src/components/DataSpaceGeneralEditor/DataSpaceGeneralEditor.tsx +22 -198
  61. package/src/components/DataSpaceGeneralEditor/DataSpaceHomeTab.tsx +235 -0
  62. package/src/components/DataSpaceGeneralEditor/DataSpaceSidebar.tsx +60 -0
  63. package/src/components/DataSpaceGeneralEditor/DataSpaceValidation.tsx +83 -0
  64. package/src/components/DataSpaceQueryAction.tsx +19 -12
  65. package/src/stores/DataSpaceEditorState.ts +18 -0
  66. package/src/stores/DataSpaceExecutableTemplateState.ts +152 -0
  67. package/src/stores/DataSpaceExecutionContextState.ts +17 -70
  68. package/src/stores/studio/DSL_DataSpace_GraphModifierHelper.ts +79 -6
  69. package/tsconfig.json +6 -2
  70. package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.d.ts.map +0 -1
  71. package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.js +0 -138
  72. package/lib/components/DataSpaceGeneralEditor/DataSpaceDefaultExecutionContextSection.js.map +0 -1
  73. 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 { dataSpace_addExecutable, dataSpace_removeExecutable, } from '../../stores/studio/DSL_DataSpace_GraphModifierHelper.js';
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, ListEditor } from '@finos/legend-art';
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
- export const DataspaceExecutablesSection = observer(() => {
25
- const editorStore = useEditorStore();
26
- const dataSpaceState = editorStore.tabManagerState.getCurrentEditorState(DataSpaceEditorState);
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
- // Event handlers
29
- const handleAddExecutable = (option) => {
30
- if (typeof option.value === 'object') {
31
- const element = option.value;
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(element);
35
- executablePointer.title = element.name;
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
- // ListEditor component renderers
43
- const ExecutableComponent = observer((props) => {
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;AAkCH,eAAO,MAAM,sBAAsB;;CAsLjC,CAAC"}
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, LEGEND_STUDIO_DOCUMENTATION_KEY, LegendStudioTelemetryHelper, } from '@finos/legend-application-studio';
18
- import { clsx, PanelContentLists, PanelForm, PanelFormTextField, PanelLoadingIndicator, SparkleIcon, } from '@finos/legend-art';
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 { 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 { 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 dataSpace = dataSpaceState.dataSpace;
33
- const isReadOnly = dataSpaceState.isReadOnly;
34
- // Basic properties handlers
35
- const handleTitleChange = (value) => {
36
- dataSpace_setTitle(dataSpace, value);
37
- };
38
- const handleDescriptionChange = (value) => {
39
- dataSpace_setDescription(dataSpace, value);
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 (_jsx(PanelContentLists, { className: "dataSpace-editor__general", children: _jsxs(PanelForm, { children: [_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(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":"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"}
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) 2020-present, Goldman Sachs
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 DataSpaceDefaultExecutionContextSection: (() => import("react/jsx-runtime").JSX.Element) & {
16
+ export declare const DataSpaceHomeTab: (() => import("react/jsx-runtime").JSX.Element) & {
17
17
  displayName: string;
18
18
  };
19
- //# sourceMappingURL=DataSpaceDefaultExecutionContextSection.d.ts.map
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"}