@finos/legend-application-studio 23.1.3 → 23.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/editor/edit-panel/FunctionEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/FunctionEditor.js +6 -4
- package/lib/components/editor/edit-panel/FunctionEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/GenerationSpecificationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/GenerationSpecificationEditor.js +4 -4
- package/lib/components/editor/edit-panel/GenerationSpecificationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/ClassEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js +34 -26
- package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js +5 -3
- package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.js +10 -6
- package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js +5 -3
- package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.d.ts.map +1 -1
- package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js +6 -4
- package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +3 -3
- package/lib/stores/project-view/ProjectViewerStore.d.ts.map +1 -1
- package/lib/stores/project-view/ProjectViewerStore.js +2 -2
- package/lib/stores/project-view/ProjectViewerStore.js.map +1 -1
- package/package.json +12 -12
- package/src/components/editor/edit-panel/FunctionEditor.tsx +132 -125
- package/src/components/editor/edit-panel/GenerationSpecificationEditor.tsx +43 -44
- package/src/components/editor/edit-panel/uml-editor/ClassEditor.tsx +156 -116
- package/src/components/editor/edit-panel/uml-editor/EnumerationEditor.tsx +46 -36
- package/src/components/editor/edit-panel/uml-editor/ProfileEditor.tsx +80 -62
- package/src/components/editor/edit-panel/uml-editor/StereotypeSelector.tsx +62 -54
- package/src/components/editor/edit-panel/uml-editor/TaggedValueEditor.tsx +98 -92
- package/src/stores/project-view/ProjectViewerStore.ts +1 -1
|
@@ -26,12 +26,12 @@ import {
|
|
|
26
26
|
PlusIcon,
|
|
27
27
|
TimesIcon,
|
|
28
28
|
LockIcon,
|
|
29
|
-
|
|
30
|
-
PanelEntryDropZonePlaceholder,
|
|
29
|
+
PanelDnDEntryDragHandle,
|
|
31
30
|
DragPreviewLayer,
|
|
32
31
|
useDragPreviewLayer,
|
|
33
32
|
Panel,
|
|
34
33
|
PanelContent,
|
|
34
|
+
PanelDnDEntry,
|
|
35
35
|
} from '@finos/legend-art';
|
|
36
36
|
import { LEGEND_STUDIO_TEST_ID } from '../../../../application/LegendStudioTesting.js';
|
|
37
37
|
import { useEditorStore } from '../../EditorStoreProvider.js';
|
|
@@ -70,6 +70,8 @@ const TagBasicEditor = observer(
|
|
|
70
70
|
isReadOnly: boolean;
|
|
71
71
|
}) => {
|
|
72
72
|
const ref = useRef<HTMLDivElement>(null);
|
|
73
|
+
const handleRef = useRef<HTMLDivElement>(null);
|
|
74
|
+
|
|
73
75
|
const { tag, _profile, deleteValue, isReadOnly } = props;
|
|
74
76
|
const changeValue: React.ChangeEventHandler<HTMLInputElement> = (event) => {
|
|
75
77
|
tagStereotype_setValue(tag, event.target.value);
|
|
@@ -112,39 +114,46 @@ const TagBasicEditor = observer(
|
|
|
112
114
|
}),
|
|
113
115
|
[tag],
|
|
114
116
|
);
|
|
115
|
-
dragConnector(
|
|
117
|
+
dragConnector(handleRef);
|
|
118
|
+
dropConnector(ref);
|
|
116
119
|
useDragPreviewLayer(dragPreviewConnector);
|
|
117
120
|
|
|
118
121
|
return (
|
|
119
|
-
<
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
122
|
+
<PanelDnDEntry
|
|
123
|
+
ref={ref}
|
|
124
|
+
className="tag-basic-editor__container"
|
|
125
|
+
placeholder={<div className="dnd__placeholder--light"></div>}
|
|
126
|
+
showPlaceholder={isBeingDragged}
|
|
127
|
+
>
|
|
128
|
+
<PanelDnDEntryDragHandle
|
|
129
|
+
dropTargetConnector={handleRef}
|
|
130
|
+
isBeingDragged={isBeingDragged}
|
|
131
|
+
/>
|
|
132
|
+
<div className="tag-basic-editor">
|
|
133
|
+
<InputWithInlineValidation
|
|
134
|
+
className="tag-basic-editor__value input-group__input"
|
|
135
|
+
spellCheck={false}
|
|
136
|
+
disabled={isReadOnly}
|
|
137
|
+
value={tag.value}
|
|
138
|
+
onChange={changeValue}
|
|
139
|
+
placeholder="Tag value"
|
|
140
|
+
validationErrorMessage={
|
|
141
|
+
isTagDuplicated(tag) ? 'Duplicated tag' : undefined
|
|
142
|
+
}
|
|
143
|
+
/>
|
|
144
|
+
{!isReadOnly && (
|
|
145
|
+
<button
|
|
146
|
+
className="uml-element-editor__remove-btn"
|
|
126
147
|
disabled={isReadOnly}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
className="uml-element-editor__remove-btn"
|
|
137
|
-
disabled={isReadOnly}
|
|
138
|
-
onClick={deleteValue}
|
|
139
|
-
tabIndex={-1}
|
|
140
|
-
title="Remove"
|
|
141
|
-
>
|
|
142
|
-
<TimesIcon />
|
|
143
|
-
</button>
|
|
144
|
-
)}
|
|
145
|
-
</div>
|
|
146
|
-
</PanelEntryDropZonePlaceholder>
|
|
147
|
-
</div>
|
|
148
|
+
onClick={deleteValue}
|
|
149
|
+
tabIndex={-1}
|
|
150
|
+
title="Remove"
|
|
151
|
+
>
|
|
152
|
+
<TimesIcon />
|
|
153
|
+
</button>
|
|
154
|
+
)}
|
|
155
|
+
</div>
|
|
156
|
+
</PanelDnDEntry>
|
|
148
157
|
);
|
|
149
158
|
},
|
|
150
159
|
);
|
|
@@ -163,6 +172,8 @@ const StereotypeBasicEditor = observer(
|
|
|
163
172
|
isReadOnly: boolean;
|
|
164
173
|
}) => {
|
|
165
174
|
const ref = useRef<HTMLDivElement>(null);
|
|
175
|
+
const handleRef = useRef<HTMLDivElement>(null);
|
|
176
|
+
|
|
166
177
|
const { stereotype, _profile, deleteStereotype, isReadOnly } = props;
|
|
167
178
|
const changeValue: React.ChangeEventHandler<HTMLInputElement> = (event) => {
|
|
168
179
|
tagStereotype_setValue(stereotype, event.target.value);
|
|
@@ -208,41 +219,48 @@ const StereotypeBasicEditor = observer(
|
|
|
208
219
|
}),
|
|
209
220
|
[stereotype],
|
|
210
221
|
);
|
|
211
|
-
dragConnector(
|
|
222
|
+
dragConnector(handleRef);
|
|
223
|
+
dropConnector(ref);
|
|
212
224
|
useDragPreviewLayer(dragPreviewConnector);
|
|
213
225
|
|
|
214
226
|
return (
|
|
215
|
-
<
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
227
|
+
<PanelDnDEntry
|
|
228
|
+
ref={ref}
|
|
229
|
+
placeholder={<div className="dnd__placeholder--light"></div>}
|
|
230
|
+
className="stereotype-basic-editor__container"
|
|
231
|
+
showPlaceholder={isBeingDragged}
|
|
232
|
+
>
|
|
233
|
+
<PanelDnDEntryDragHandle
|
|
234
|
+
dropTargetConnector={handleRef}
|
|
235
|
+
isBeingDragged={isBeingDragged}
|
|
236
|
+
/>
|
|
237
|
+
<div className="stereotype-basic-editor">
|
|
238
|
+
<InputWithInlineValidation
|
|
239
|
+
className="stereotype-basic-editor__value input-group__input"
|
|
240
|
+
spellCheck={false}
|
|
241
|
+
disabled={isReadOnly}
|
|
242
|
+
value={stereotype.value}
|
|
243
|
+
onChange={changeValue}
|
|
244
|
+
placeholder="Stereotype value"
|
|
245
|
+
validationErrorMessage={
|
|
246
|
+
isStereotypeDuplicated(stereotype)
|
|
247
|
+
? 'Duplicated stereotype'
|
|
248
|
+
: undefined
|
|
249
|
+
}
|
|
250
|
+
/>
|
|
251
|
+
{!isReadOnly && (
|
|
252
|
+
<button
|
|
253
|
+
className="uml-element-editor__remove-btn"
|
|
222
254
|
disabled={isReadOnly}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
{!isReadOnly && (
|
|
233
|
-
<button
|
|
234
|
-
className="uml-element-editor__remove-btn"
|
|
235
|
-
disabled={isReadOnly}
|
|
236
|
-
onClick={deleteStereotype}
|
|
237
|
-
tabIndex={-1}
|
|
238
|
-
title="Remove"
|
|
239
|
-
>
|
|
240
|
-
<TimesIcon />
|
|
241
|
-
</button>
|
|
242
|
-
)}
|
|
243
|
-
</div>
|
|
244
|
-
</PanelEntryDropZonePlaceholder>
|
|
245
|
-
</div>
|
|
255
|
+
onClick={deleteStereotype}
|
|
256
|
+
tabIndex={-1}
|
|
257
|
+
title="Remove"
|
|
258
|
+
>
|
|
259
|
+
<TimesIcon />
|
|
260
|
+
</button>
|
|
261
|
+
)}
|
|
262
|
+
</div>
|
|
263
|
+
</PanelDnDEntry>
|
|
246
264
|
);
|
|
247
265
|
},
|
|
248
266
|
);
|
|
@@ -21,8 +21,8 @@ import {
|
|
|
21
21
|
createFilter,
|
|
22
22
|
TimesIcon,
|
|
23
23
|
ArrowCircleRightIcon,
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
PanelDnDEntryDragHandle,
|
|
25
|
+
PanelDnDEntry,
|
|
26
26
|
DragPreviewLayer,
|
|
27
27
|
useDragPreviewLayer,
|
|
28
28
|
} from '@finos/legend-art';
|
|
@@ -74,6 +74,7 @@ export const StereotypeSelector = observer(
|
|
|
74
74
|
darkTheme?: boolean;
|
|
75
75
|
}) => {
|
|
76
76
|
const ref = useRef<HTMLDivElement>(null);
|
|
77
|
+
const handleRef = useRef<HTMLDivElement>(null);
|
|
77
78
|
const {
|
|
78
79
|
annotatedElement,
|
|
79
80
|
stereotype,
|
|
@@ -166,65 +167,72 @@ export const StereotypeSelector = observer(
|
|
|
166
167
|
}),
|
|
167
168
|
[stereotype],
|
|
168
169
|
);
|
|
169
|
-
dragConnector(
|
|
170
|
+
dragConnector(handleRef);
|
|
171
|
+
dropConnector(ref);
|
|
170
172
|
useDragPreviewLayer(dragPreviewConnector);
|
|
171
173
|
|
|
172
174
|
return (
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
filterOption={filterOption}
|
|
190
|
-
darkMode={Boolean(darkTheme)}
|
|
191
|
-
/>
|
|
192
|
-
<button
|
|
193
|
-
className={`stereotype-selector__profile__visit-btn ${
|
|
194
|
-
darkTheme ? 'stereotype-selector-dark-theme' : ''
|
|
195
|
-
}`}
|
|
196
|
-
disabled={isStubbed_PackageableElement(stereotype.value._OWNER)}
|
|
197
|
-
onClick={visitProfile}
|
|
198
|
-
tabIndex={-1}
|
|
199
|
-
title="Visit profile"
|
|
200
|
-
>
|
|
201
|
-
<ArrowCircleRightIcon />
|
|
202
|
-
</button>
|
|
203
|
-
</div>
|
|
175
|
+
<PanelDnDEntry
|
|
176
|
+
ref={ref}
|
|
177
|
+
className="stereotype-selector__container"
|
|
178
|
+
placeholder={<div className="dnd__placeholder--light"></div>}
|
|
179
|
+
showPlaceholder={isBeingDragged}
|
|
180
|
+
>
|
|
181
|
+
<PanelDnDEntryDragHandle
|
|
182
|
+
dropTargetConnector={handleRef}
|
|
183
|
+
isBeingDragged={isBeingDragged}
|
|
184
|
+
/>
|
|
185
|
+
<div className="stereotype-selector">
|
|
186
|
+
<div
|
|
187
|
+
className={`stereotype-selector__profile ${
|
|
188
|
+
darkTheme ? 'stereotype-selector-dark-theme' : ''
|
|
189
|
+
} stereotype-selector__profile`}
|
|
190
|
+
>
|
|
204
191
|
<CustomSelectorInput
|
|
205
|
-
className="stereotype-
|
|
192
|
+
className="stereotype-selector__profile__selector"
|
|
206
193
|
disabled={isReadOnly}
|
|
207
|
-
options={
|
|
208
|
-
onChange={
|
|
209
|
-
value={
|
|
210
|
-
placeholder="Choose a
|
|
211
|
-
filterOption={
|
|
212
|
-
darkMode={darkTheme
|
|
194
|
+
options={profileOptions}
|
|
195
|
+
onChange={changeProfile}
|
|
196
|
+
value={selectedProfile}
|
|
197
|
+
placeholder="Choose a profile"
|
|
198
|
+
filterOption={filterOption}
|
|
199
|
+
darkMode={Boolean(darkTheme)}
|
|
213
200
|
/>
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
201
|
+
<button
|
|
202
|
+
className={`stereotype-selector__profile__visit-btn ${
|
|
203
|
+
darkTheme ? 'stereotype-selector-dark-theme' : ''
|
|
204
|
+
}`}
|
|
205
|
+
disabled={isStubbed_PackageableElement(stereotype.value._OWNER)}
|
|
206
|
+
onClick={visitProfile}
|
|
207
|
+
tabIndex={-1}
|
|
208
|
+
title="Visit profile"
|
|
209
|
+
>
|
|
210
|
+
<ArrowCircleRightIcon />
|
|
211
|
+
</button>
|
|
225
212
|
</div>
|
|
226
|
-
|
|
227
|
-
|
|
213
|
+
<CustomSelectorInput
|
|
214
|
+
className="stereotype-selector__stereotype"
|
|
215
|
+
disabled={isReadOnly}
|
|
216
|
+
options={stereotypeOptions}
|
|
217
|
+
onChange={updateStereotype}
|
|
218
|
+
value={selectedStereotype}
|
|
219
|
+
placeholder="Choose a stereotype"
|
|
220
|
+
filterOption={stereotypeFilterOption}
|
|
221
|
+
darkMode={darkTheme ?? false}
|
|
222
|
+
/>
|
|
223
|
+
{!isReadOnly && (
|
|
224
|
+
<button
|
|
225
|
+
className="uml-element-editor__remove-btn"
|
|
226
|
+
disabled={isReadOnly}
|
|
227
|
+
onClick={deleteStereotype}
|
|
228
|
+
tabIndex={-1}
|
|
229
|
+
title="Remove"
|
|
230
|
+
>
|
|
231
|
+
<TimesIcon />
|
|
232
|
+
</button>
|
|
233
|
+
)}
|
|
234
|
+
</div>
|
|
235
|
+
</PanelDnDEntry>
|
|
228
236
|
);
|
|
229
237
|
},
|
|
230
238
|
);
|
|
@@ -24,8 +24,8 @@ import {
|
|
|
24
24
|
TimesIcon,
|
|
25
25
|
ArrowCircleRightIcon,
|
|
26
26
|
LongArrowAltUpIcon,
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
PanelDnDEntryDragHandle,
|
|
28
|
+
PanelDnDEntry,
|
|
29
29
|
DragPreviewLayer,
|
|
30
30
|
useDragPreviewLayer,
|
|
31
31
|
} from '@finos/legend-art';
|
|
@@ -78,6 +78,8 @@ export const TaggedValueEditor = observer(
|
|
|
78
78
|
darkTheme?: boolean;
|
|
79
79
|
}) => {
|
|
80
80
|
const ref = useRef<HTMLDivElement>(null);
|
|
81
|
+
const handleRef = useRef<HTMLDivElement>(null);
|
|
82
|
+
|
|
81
83
|
const {
|
|
82
84
|
annotatedElement,
|
|
83
85
|
taggedValue,
|
|
@@ -176,110 +178,114 @@ export const TaggedValueEditor = observer(
|
|
|
176
178
|
}),
|
|
177
179
|
[taggedValue],
|
|
178
180
|
);
|
|
179
|
-
dragConnector(
|
|
181
|
+
dragConnector(handleRef);
|
|
182
|
+
dropConnector(ref);
|
|
180
183
|
useDragPreviewLayer(dragPreviewConnector);
|
|
181
184
|
|
|
182
185
|
return (
|
|
183
|
-
<
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
>
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
186
|
+
<PanelDnDEntry
|
|
187
|
+
ref={ref}
|
|
188
|
+
className="tagged-value-editor__container"
|
|
189
|
+
showPlaceholder={isBeingDragged}
|
|
190
|
+
placeholder={<div className="dnd__placeholder--light"></div>}
|
|
191
|
+
>
|
|
192
|
+
<PanelDnDEntryDragHandle
|
|
193
|
+
dropTargetConnector={handleRef}
|
|
194
|
+
isBeingDragged={isBeingDragged}
|
|
195
|
+
/>
|
|
196
|
+
<div className="tagged-value-editor">
|
|
197
|
+
<div
|
|
198
|
+
className={`tagged-value-editor__profile ${
|
|
199
|
+
darkTheme ? 'tagged-value-editor-dark-theme' : ''
|
|
200
|
+
}`}
|
|
201
|
+
>
|
|
202
|
+
<CustomSelectorInput
|
|
203
|
+
className="tagged-value-editor__profile__selector"
|
|
204
|
+
disabled={isReadOnly}
|
|
205
|
+
options={profileOptions}
|
|
206
|
+
onChange={changeProfile}
|
|
207
|
+
value={selectedProfile}
|
|
208
|
+
placeholder="Choose a profile"
|
|
209
|
+
filterOption={profileFilterOption}
|
|
210
|
+
darkMode={darkTheme ?? false}
|
|
211
|
+
/>
|
|
212
|
+
<button
|
|
213
|
+
className={`tagged-value-editor__profile__visit-btn ${
|
|
192
214
|
darkTheme ? 'tagged-value-editor-dark-theme' : ''
|
|
193
215
|
}`}
|
|
216
|
+
disabled={isStubbed_PackageableElement(
|
|
217
|
+
taggedValue.tag.value._OWNER,
|
|
218
|
+
)}
|
|
219
|
+
onClick={visitProfile}
|
|
220
|
+
tabIndex={-1}
|
|
221
|
+
title="Visit profile"
|
|
194
222
|
>
|
|
195
|
-
<
|
|
196
|
-
|
|
223
|
+
<ArrowCircleRightIcon />
|
|
224
|
+
</button>
|
|
225
|
+
</div>
|
|
226
|
+
<CustomSelectorInput
|
|
227
|
+
className="tagged-value-editor__tag"
|
|
228
|
+
disabled={isReadOnly}
|
|
229
|
+
options={tagOptions}
|
|
230
|
+
onChange={changeTag}
|
|
231
|
+
value={selectedTag}
|
|
232
|
+
placeholder="Choose a tag"
|
|
233
|
+
filterOption={tagFilterOption}
|
|
234
|
+
darkMode={Boolean(darkTheme)}
|
|
235
|
+
/>
|
|
236
|
+
{!isReadOnly && (
|
|
237
|
+
<button
|
|
238
|
+
className="uml-element-editor__remove-btn"
|
|
239
|
+
disabled={isReadOnly}
|
|
240
|
+
onClick={deleteValue}
|
|
241
|
+
tabIndex={-1}
|
|
242
|
+
title="Remove"
|
|
243
|
+
>
|
|
244
|
+
<TimesIcon />
|
|
245
|
+
</button>
|
|
246
|
+
)}
|
|
247
|
+
<div
|
|
248
|
+
className={clsx('tagged-value-editor__value', {
|
|
249
|
+
'tagged-value-editor__value__expanded': isExpanded,
|
|
250
|
+
})}
|
|
251
|
+
>
|
|
252
|
+
{isExpanded && (
|
|
253
|
+
<textarea
|
|
254
|
+
className={`tagged-value-editor__value__input ${
|
|
255
|
+
darkTheme ? 'tagged-value-editor-dark-theme' : ''
|
|
256
|
+
}`}
|
|
257
|
+
spellCheck={false}
|
|
197
258
|
disabled={isReadOnly}
|
|
198
|
-
|
|
199
|
-
onChange={
|
|
200
|
-
|
|
201
|
-
placeholder="Choose a profile"
|
|
202
|
-
filterOption={profileFilterOption}
|
|
203
|
-
darkMode={darkTheme ?? false}
|
|
259
|
+
value={taggedValue.value}
|
|
260
|
+
onChange={changeValue}
|
|
261
|
+
placeholder="Value"
|
|
204
262
|
/>
|
|
205
|
-
|
|
206
|
-
|
|
263
|
+
)}
|
|
264
|
+
{!isExpanded && (
|
|
265
|
+
<input
|
|
266
|
+
className={`tagged-value-editor__value__input ${
|
|
207
267
|
darkTheme ? 'tagged-value-editor-dark-theme' : ''
|
|
208
268
|
}`}
|
|
209
|
-
|
|
210
|
-
taggedValue.tag.value._OWNER,
|
|
211
|
-
)}
|
|
212
|
-
onClick={visitProfile}
|
|
213
|
-
tabIndex={-1}
|
|
214
|
-
title="Visit profile"
|
|
215
|
-
>
|
|
216
|
-
<ArrowCircleRightIcon />
|
|
217
|
-
</button>
|
|
218
|
-
</div>
|
|
219
|
-
<CustomSelectorInput
|
|
220
|
-
className="tagged-value-editor__tag"
|
|
221
|
-
disabled={isReadOnly}
|
|
222
|
-
options={tagOptions}
|
|
223
|
-
onChange={changeTag}
|
|
224
|
-
value={selectedTag}
|
|
225
|
-
placeholder="Choose a tag"
|
|
226
|
-
filterOption={tagFilterOption}
|
|
227
|
-
darkMode={Boolean(darkTheme)}
|
|
228
|
-
/>
|
|
229
|
-
{!isReadOnly && (
|
|
230
|
-
<button
|
|
231
|
-
className="uml-element-editor__remove-btn"
|
|
269
|
+
spellCheck={false}
|
|
232
270
|
disabled={isReadOnly}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
<TimesIcon />
|
|
238
|
-
</button>
|
|
271
|
+
value={taggedValue.value}
|
|
272
|
+
onChange={changeValue}
|
|
273
|
+
placeholder="Value"
|
|
274
|
+
/>
|
|
239
275
|
)}
|
|
240
|
-
<
|
|
241
|
-
className={
|
|
242
|
-
'tagged-value-
|
|
243
|
-
}
|
|
276
|
+
<button
|
|
277
|
+
className={`tagged-value-editor__value__expand-btn ${
|
|
278
|
+
darkTheme ? 'tagged-value-editor-dark-theme' : ''
|
|
279
|
+
}`}
|
|
280
|
+
onClick={toggleExpandedMode}
|
|
281
|
+
tabIndex={-1}
|
|
282
|
+
title="Expand/Collapse"
|
|
244
283
|
>
|
|
245
|
-
{isExpanded
|
|
246
|
-
|
|
247
|
-
className={`tagged-value-editor__value__input ${
|
|
248
|
-
darkTheme ? 'tagged-value-editor-dark-theme' : ''
|
|
249
|
-
}`}
|
|
250
|
-
spellCheck={false}
|
|
251
|
-
disabled={isReadOnly}
|
|
252
|
-
value={taggedValue.value}
|
|
253
|
-
onChange={changeValue}
|
|
254
|
-
placeholder="Value"
|
|
255
|
-
/>
|
|
256
|
-
)}
|
|
257
|
-
{!isExpanded && (
|
|
258
|
-
<input
|
|
259
|
-
className={`tagged-value-editor__value__input ${
|
|
260
|
-
darkTheme ? 'tagged-value-editor-dark-theme' : ''
|
|
261
|
-
}`}
|
|
262
|
-
spellCheck={false}
|
|
263
|
-
disabled={isReadOnly}
|
|
264
|
-
value={taggedValue.value}
|
|
265
|
-
onChange={changeValue}
|
|
266
|
-
placeholder="Value"
|
|
267
|
-
/>
|
|
268
|
-
)}
|
|
269
|
-
<button
|
|
270
|
-
className={`tagged-value-editor__value__expand-btn ${
|
|
271
|
-
darkTheme ? 'tagged-value-editor-dark-theme' : ''
|
|
272
|
-
}`}
|
|
273
|
-
onClick={toggleExpandedMode}
|
|
274
|
-
tabIndex={-1}
|
|
275
|
-
title="Expand/Collapse"
|
|
276
|
-
>
|
|
277
|
-
{isExpanded ? <LongArrowAltUpIcon /> : <MoreVerticalIcon />}
|
|
278
|
-
</button>
|
|
279
|
-
</div>
|
|
284
|
+
{isExpanded ? <LongArrowAltUpIcon /> : <MoreVerticalIcon />}
|
|
285
|
+
</button>
|
|
280
286
|
</div>
|
|
281
|
-
</
|
|
282
|
-
</
|
|
287
|
+
</div>
|
|
288
|
+
</PanelDnDEntry>
|
|
283
289
|
);
|
|
284
290
|
},
|
|
285
291
|
);
|
|
@@ -37,7 +37,6 @@ import {
|
|
|
37
37
|
type ProjectGAVCoordinates,
|
|
38
38
|
type EntitiesWithOrigin,
|
|
39
39
|
parseGAVCoordinates,
|
|
40
|
-
LegendSDLC,
|
|
41
40
|
} from '@finos/legend-storage';
|
|
42
41
|
import {
|
|
43
42
|
ProjectConfiguration,
|
|
@@ -63,6 +62,7 @@ import {
|
|
|
63
62
|
GraphDataDeserializationError,
|
|
64
63
|
GraphBuilderError,
|
|
65
64
|
createGraphBuilderReport,
|
|
65
|
+
LegendSDLC,
|
|
66
66
|
} from '@finos/legend-graph';
|
|
67
67
|
import { GRAPH_EDITOR_MODE } from '../editor/EditorConfig.js';
|
|
68
68
|
|