@finos/legend-application-studio 28.19.56 → 28.19.58
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/QuickInput.d.ts.map +1 -1
- package/lib/components/editor/QuickInput.js +8 -3
- package/lib/components/editor/QuickInput.js.map +1 -1
- package/lib/components/editor/command-center/ProjectSearchCommand.d.ts.map +1 -1
- package/lib/components/editor/command-center/ProjectSearchCommand.js +8 -3
- package/lib/components/editor/command-center/ProjectSearchCommand.js.map +1 -1
- package/lib/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.d.ts.map +1 -1
- package/lib/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.js +5 -3
- package/lib/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.js.map +1 -1
- package/lib/components/editor/editor-group/connection-editor/DatabaseModelBuilder.d.ts.map +1 -1
- package/lib/components/editor/editor-group/connection-editor/DatabaseModelBuilder.js +5 -3
- package/lib/components/editor/editor-group/connection-editor/DatabaseModelBuilder.js.map +1 -1
- package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.js +5 -1
- package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.js.map +1 -1
- package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js +10 -2
- package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/DataProductEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js +7 -32
- package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js.map +1 -1
- package/lib/components/editor/editor-group/element-generation-editor/ElementGenerationEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/element-generation-editor/ElementGenerationEditor.js +8 -5
- package/lib/components/editor/editor-group/element-generation-editor/ElementGenerationEditor.js.map +1 -1
- package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js +4 -2
- package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js.map +1 -1
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.js +5 -1
- package/lib/components/editor/editor-group/function-activator/FunctionEditor.js.map +1 -1
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js +18 -5
- package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js.map +1 -1
- package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.d.ts +6 -0
- package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.js +65 -4
- package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.js +9 -6
- package/lib/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/InstanceSetImplementationSourceSelectorModal.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/InstanceSetImplementationSourceSelectorModal.js +9 -6
- package/lib/components/editor/editor-group/mapping-editor/InstanceSetImplementationSourceSelectorModal.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js +8 -3
- package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js +18 -5
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/NewMappingElementModal.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/NewMappingElementModal.js +9 -6
- package/lib/components/editor/editor-group/mapping-editor/NewMappingElementModal.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/NewServiceModal.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/NewServiceModal.js +8 -5
- package/lib/components/editor/editor-group/service-editor/NewServiceModal.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionEditor.js +15 -3
- package/lib/components/editor/editor-group/service-editor/ServiceExecutionEditor.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js +10 -2
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.js +5 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.js.map +1 -1
- package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts.map +1 -1
- package/lib/components/editor/editor-group/testable/TestableSharedComponents.js +19 -5
- package/lib/components/editor/editor-group/testable/TestableSharedComponents.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.d.ts.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.js +8 -5
- package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.js.map +1 -1
- package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -1
- package/lib/components/editor/side-bar/CreateNewElementModal.js +16 -6
- package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -1
- package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
- package/lib/components/editor/side-bar/Explorer.js +16 -6
- package/lib/components/editor/side-bar/Explorer.js.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.d.ts.map +1 -1
- package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js +5 -1
- package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js.map +1 -1
- package/lib/components/project-view/ProjectViewer.d.ts.map +1 -1
- package/lib/components/project-view/ProjectViewer.js +34 -4
- package/lib/components/project-view/ProjectViewer.js.map +1 -1
- package/lib/components/workspace-setup/CreateProjectModal.d.ts.map +1 -1
- package/lib/components/workspace-setup/CreateProjectModal.js +5 -1
- package/lib/components/workspace-setup/CreateProjectModal.js.map +1 -1
- package/lib/components/workspace-setup/CreateWorkspaceModal.d.ts.map +1 -1
- package/lib/components/workspace-setup/CreateWorkspaceModal.js +8 -3
- package/lib/components/workspace-setup/CreateWorkspaceModal.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/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts +9 -3
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js +58 -15
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.d.ts +7 -1
- package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.js +33 -1
- package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.js.map +1 -1
- package/package.json +10 -10
- package/src/components/editor/QuickInput.tsx +8 -4
- package/src/components/editor/command-center/ProjectSearchCommand.tsx +8 -4
- package/src/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.tsx +5 -3
- package/src/components/editor/editor-group/connection-editor/DatabaseModelBuilder.tsx +5 -3
- package/src/components/editor/editor-group/data-editor/RelationElementsDataEditor.tsx +5 -1
- package/src/components/editor/editor-group/data-editor/RelationalCSVDataEditor.tsx +10 -2
- package/src/components/editor/editor-group/dataProduct/DataProductEditor.tsx +11 -56
- package/src/components/editor/editor-group/element-generation-editor/ElementGenerationEditor.tsx +8 -6
- package/src/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.tsx +4 -2
- package/src/components/editor/editor-group/function-activator/FunctionEditor.tsx +5 -1
- package/src/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.tsx +18 -6
- package/src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx +174 -12
- package/src/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.tsx +8 -6
- package/src/components/editor/editor-group/mapping-editor/InstanceSetImplementationSourceSelectorModal.tsx +8 -6
- package/src/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.tsx +8 -4
- package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +18 -6
- package/src/components/editor/editor-group/mapping-editor/NewMappingElementModal.tsx +8 -6
- package/src/components/editor/editor-group/service-editor/NewServiceModal.tsx +8 -6
- package/src/components/editor/editor-group/service-editor/ServiceExecutionEditor.tsx +15 -3
- package/src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx +10 -2
- package/src/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.tsx +5 -1
- package/src/components/editor/editor-group/testable/TestableSharedComponents.tsx +19 -5
- package/src/components/editor/editor-group/uml-editor/ClassQueryBuilder.tsx +8 -6
- package/src/components/editor/side-bar/CreateNewElementModal.tsx +16 -8
- package/src/components/editor/side-bar/Explorer.tsx +14 -6
- package/src/components/editor/side-bar/WorkspaceSyncConflictResolver.tsx +5 -1
- package/src/components/project-view/ProjectViewer.tsx +85 -1
- package/src/components/workspace-setup/CreateProjectModal.tsx +5 -1
- package/src/components/workspace-setup/CreateWorkspaceModal.tsx +7 -3
- package/src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts +91 -19
- package/src/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.ts +61 -1
|
@@ -30,13 +30,16 @@ import {
|
|
|
30
30
|
PanelHeader,
|
|
31
31
|
PanelHeaderActions,
|
|
32
32
|
RocketIcon,
|
|
33
|
+
EyeIcon,
|
|
34
|
+
ModalHeaderActions,
|
|
35
|
+
CustomSelectorInput,
|
|
33
36
|
} from '@finos/legend-art';
|
|
34
37
|
import {
|
|
35
38
|
generateUrlToDeployOnOpen,
|
|
36
39
|
IngestDefinitionEditorState,
|
|
37
40
|
} from '../../../../stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.js';
|
|
38
41
|
import { CodeEditor } from '@finos/legend-lego/code-editor';
|
|
39
|
-
import React, { useEffect } from 'react';
|
|
42
|
+
import React, { useEffect, useState } from 'react';
|
|
40
43
|
import { CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
|
|
41
44
|
import { flowResult } from 'mobx';
|
|
42
45
|
import { useAuth } from 'react-oidc-context';
|
|
@@ -46,6 +49,11 @@ import {
|
|
|
46
49
|
} from '@finos/legend-server-lakehouse';
|
|
47
50
|
import { useApplicationNavigationContext } from '@finos/legend-application';
|
|
48
51
|
import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../../__lib__/LegendStudioApplicationNavigationContext.js';
|
|
52
|
+
import {
|
|
53
|
+
LINEAGE_VIEW_MODE,
|
|
54
|
+
LineageViewerContent,
|
|
55
|
+
} from '@finos/legend-query-builder';
|
|
56
|
+
import type { MatViewDataSet } from '@finos/legend-graph';
|
|
49
57
|
|
|
50
58
|
const IngestValidationError = observer(
|
|
51
59
|
(props: {
|
|
@@ -186,6 +194,124 @@ const IngestDeploymentResponseModal = observer(
|
|
|
186
194
|
},
|
|
187
195
|
);
|
|
188
196
|
|
|
197
|
+
export const IngestLineageModal = observer(
|
|
198
|
+
(props: { ingestDefinitionEditorState: IngestDefinitionEditorState }) => {
|
|
199
|
+
const { ingestDefinitionEditorState } = props;
|
|
200
|
+
|
|
201
|
+
const matviewFunctions =
|
|
202
|
+
ingestDefinitionEditorState.ingest.TEMPORARY_MATVIEW_FUNCTION_DATA_SETS;
|
|
203
|
+
const matviewNames =
|
|
204
|
+
ingestDefinitionEditorState.ingest.TEMPORARY_MATVIEW_FUNCTION_DATA_SETS?.map(
|
|
205
|
+
(dataset) => dataset.name,
|
|
206
|
+
) ?? [];
|
|
207
|
+
const [selectedMatview, setSelectedMatview] = useState<
|
|
208
|
+
MatViewDataSet | undefined
|
|
209
|
+
>(undefined);
|
|
210
|
+
|
|
211
|
+
useEffect(() => {
|
|
212
|
+
if (!selectedMatview && matviewFunctions && matviewFunctions.length > 0) {
|
|
213
|
+
setSelectedMatview(matviewFunctions[0]);
|
|
214
|
+
}
|
|
215
|
+
}, [matviewFunctions, selectedMatview]);
|
|
216
|
+
|
|
217
|
+
useEffect(() => {
|
|
218
|
+
ingestDefinitionEditorState.lineageState.setSelectedTab(
|
|
219
|
+
LINEAGE_VIEW_MODE.DATABASE_LINEAGE,
|
|
220
|
+
);
|
|
221
|
+
}, [ingestDefinitionEditorState.lineageState]);
|
|
222
|
+
|
|
223
|
+
if (!matviewFunctions || matviewFunctions.length === 0) {
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
const isDarkMode =
|
|
228
|
+
!ingestDefinitionEditorState.lineageState.applicationStore.layoutService
|
|
229
|
+
.TEMPORARY__isLightColorThemeEnabled;
|
|
230
|
+
|
|
231
|
+
const closeLineageViewer = (): void => {
|
|
232
|
+
ingestDefinitionEditorState.lineageState.setLineageData(undefined);
|
|
233
|
+
ingestDefinitionEditorState.lineageState.setSelectedTab(
|
|
234
|
+
LINEAGE_VIEW_MODE.DATABASE_LINEAGE,
|
|
235
|
+
);
|
|
236
|
+
ingestDefinitionEditorState.lineageState.clearPropertySelections();
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
type DatasetOption = {
|
|
240
|
+
label: string;
|
|
241
|
+
value: MatViewDataSet;
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
const datasetOptions: DatasetOption[] = matviewNames
|
|
245
|
+
.map((name, index) => {
|
|
246
|
+
const dataset = matviewFunctions[index];
|
|
247
|
+
if (dataset) {
|
|
248
|
+
return {
|
|
249
|
+
label: name,
|
|
250
|
+
value: dataset,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
return null;
|
|
254
|
+
})
|
|
255
|
+
.filter((option): option is DatasetOption => option !== null);
|
|
256
|
+
|
|
257
|
+
const handleDatasetChange = (option: DatasetOption | null): void => {
|
|
258
|
+
if (option?.value) {
|
|
259
|
+
setSelectedMatview(option.value);
|
|
260
|
+
flowResult(
|
|
261
|
+
ingestDefinitionEditorState.generateLineage(option.value),
|
|
262
|
+
).catch(
|
|
263
|
+
ingestDefinitionEditorState.editorStore.applicationStore
|
|
264
|
+
.alertUnhandledError,
|
|
265
|
+
);
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
return (
|
|
270
|
+
<>
|
|
271
|
+
<Dialog
|
|
272
|
+
open={Boolean(ingestDefinitionEditorState.lineageState.lineageData)}
|
|
273
|
+
onClose={closeLineageViewer}
|
|
274
|
+
>
|
|
275
|
+
<Modal className="editor-modal" darkMode={isDarkMode}>
|
|
276
|
+
<ModalHeader>
|
|
277
|
+
<ModalTitle title="LineageViewer" />
|
|
278
|
+
<ModalHeaderActions>
|
|
279
|
+
<CustomSelectorInput
|
|
280
|
+
options={datasetOptions}
|
|
281
|
+
onChange={handleDatasetChange}
|
|
282
|
+
value={
|
|
283
|
+
selectedMatview
|
|
284
|
+
? {
|
|
285
|
+
label: selectedMatview.name,
|
|
286
|
+
value: selectedMatview,
|
|
287
|
+
}
|
|
288
|
+
: null
|
|
289
|
+
}
|
|
290
|
+
darkMode={isDarkMode}
|
|
291
|
+
/>
|
|
292
|
+
</ModalHeaderActions>
|
|
293
|
+
</ModalHeader>
|
|
294
|
+
<ModalBody>
|
|
295
|
+
<div className="lineage-viewer" style={{ height: '100%' }}>
|
|
296
|
+
<LineageViewerContent
|
|
297
|
+
lineageState={ingestDefinitionEditorState.lineageState}
|
|
298
|
+
/>
|
|
299
|
+
</div>
|
|
300
|
+
</ModalBody>
|
|
301
|
+
<ModalFooter className="editor-modal__footer">
|
|
302
|
+
<ModalFooterButton
|
|
303
|
+
onClick={closeLineageViewer}
|
|
304
|
+
text="Close"
|
|
305
|
+
type="secondary"
|
|
306
|
+
/>
|
|
307
|
+
</ModalFooter>
|
|
308
|
+
</Modal>
|
|
309
|
+
</Dialog>
|
|
310
|
+
</>
|
|
311
|
+
);
|
|
312
|
+
},
|
|
313
|
+
);
|
|
314
|
+
|
|
189
315
|
export const IngestDefinitionEditor = observer(() => {
|
|
190
316
|
const editorStore = useEditorStore();
|
|
191
317
|
const ingestDefinitionEditorState =
|
|
@@ -257,6 +383,7 @@ export const IngestDefinitionEditor = observer(() => {
|
|
|
257
383
|
};
|
|
258
384
|
|
|
259
385
|
const isValid = ingestDefinitionEditorState.validForDeployment;
|
|
386
|
+
const isValidForLineage = ingestDefinitionEditorState.validForLineageViewer;
|
|
260
387
|
useEffect(() => {
|
|
261
388
|
ingestDefinitionEditorState.generateElementGrammar();
|
|
262
389
|
}, [ingestDefinitionEditorState]);
|
|
@@ -277,6 +404,21 @@ export const IngestDefinitionEditor = observer(() => {
|
|
|
277
404
|
ingestDefinitionEditorState,
|
|
278
405
|
]);
|
|
279
406
|
|
|
407
|
+
const viewLineage = () => {
|
|
408
|
+
const firstMatViewQuery =
|
|
409
|
+
ingestDefinitionEditorState.ingest
|
|
410
|
+
.TEMPORARY_MATVIEW_FUNCTION_DATA_SETS?.[0];
|
|
411
|
+
if (firstMatViewQuery) {
|
|
412
|
+
flowResult(
|
|
413
|
+
ingestDefinitionEditorState.generateLineage(firstMatViewQuery),
|
|
414
|
+
).catch(editorStore.applicationStore.alertUnhandledError);
|
|
415
|
+
} else {
|
|
416
|
+
editorStore.applicationStore.notificationService.notifyError(
|
|
417
|
+
'No MatView datasets available for lineage generation',
|
|
418
|
+
);
|
|
419
|
+
}
|
|
420
|
+
};
|
|
421
|
+
|
|
280
422
|
return (
|
|
281
423
|
<div className="data-product-editor">
|
|
282
424
|
<PanelHeader
|
|
@@ -288,17 +430,34 @@ export const IngestDefinitionEditor = observer(() => {
|
|
|
288
430
|
<PanelContent>
|
|
289
431
|
<PanelHeader title="deployment" darkMode={true}>
|
|
290
432
|
<PanelHeaderActions>
|
|
291
|
-
<div className="
|
|
292
|
-
<
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
433
|
+
<div className="panel__header__actions">
|
|
434
|
+
<div className="btn__dropdown-combo btn__dropdown-combo--primary">
|
|
435
|
+
<button
|
|
436
|
+
className="btn__dropdown-combo__label"
|
|
437
|
+
onClick={viewLineage}
|
|
438
|
+
tabIndex={-1}
|
|
439
|
+
disabled={!isValidForLineage}
|
|
440
|
+
>
|
|
441
|
+
<EyeIcon className="btn__dropdown-combo__label__icon" />
|
|
442
|
+
<div className="btn__dropdown-combo__label__title">
|
|
443
|
+
Lineage
|
|
444
|
+
</div>
|
|
445
|
+
</button>
|
|
446
|
+
</div>
|
|
447
|
+
<div className="btn__dropdown-combo btn__dropdown-combo--primary">
|
|
448
|
+
<button
|
|
449
|
+
className="btn__dropdown-combo__label"
|
|
450
|
+
onClick={deployIngest}
|
|
451
|
+
title={ingestDefinitionEditorState.validationMessage}
|
|
452
|
+
tabIndex={-1}
|
|
453
|
+
disabled={!isValid}
|
|
454
|
+
>
|
|
455
|
+
<RocketIcon className="btn__dropdown-combo__label__icon" />
|
|
456
|
+
<div className="btn__dropdown-combo__label__title">
|
|
457
|
+
Deploy
|
|
458
|
+
</div>
|
|
459
|
+
</button>
|
|
460
|
+
</div>
|
|
302
461
|
</div>
|
|
303
462
|
</PanelHeaderActions>
|
|
304
463
|
</PanelHeader>
|
|
@@ -309,6 +468,9 @@ export const IngestDefinitionEditor = observer(() => {
|
|
|
309
468
|
language={CODE_EDITOR_LANGUAGE.PURE}
|
|
310
469
|
/>
|
|
311
470
|
</PanelContent>
|
|
471
|
+
<IngestLineageModal
|
|
472
|
+
ingestDefinitionEditorState={ingestDefinitionEditorState}
|
|
473
|
+
/>
|
|
312
474
|
{renderDeploymentResponse()}
|
|
313
475
|
</PanelContent>
|
|
314
476
|
</div>
|
|
@@ -129,15 +129,17 @@ const EnumerationMappingSourceSelectorModal = observer(
|
|
|
129
129
|
<Dialog
|
|
130
130
|
open={open}
|
|
131
131
|
onClose={closeModal}
|
|
132
|
-
TransitionProps={{
|
|
133
|
-
onEnter: handleEnter,
|
|
134
|
-
}}
|
|
135
132
|
classes={{
|
|
136
133
|
container: 'search-modal__container',
|
|
137
134
|
}}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
135
|
+
slotProps={{
|
|
136
|
+
transition: {
|
|
137
|
+
onEnter: handleEnter,
|
|
138
|
+
},
|
|
139
|
+
paper: {
|
|
140
|
+
classes: {
|
|
141
|
+
root: 'search-modal__inner-container',
|
|
142
|
+
},
|
|
141
143
|
},
|
|
142
144
|
}}
|
|
143
145
|
>
|
|
@@ -242,15 +242,17 @@ export const InstanceSetImplementationSourceSelectorModal = observer(
|
|
|
242
242
|
<Dialog
|
|
243
243
|
open={true}
|
|
244
244
|
onClose={closeModal}
|
|
245
|
-
TransitionProps={{
|
|
246
|
-
onEnter: handleEnter,
|
|
247
|
-
}}
|
|
248
245
|
classes={{
|
|
249
246
|
container: 'search-modal__container',
|
|
250
247
|
}}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
248
|
+
slotProps={{
|
|
249
|
+
transition: {
|
|
250
|
+
onEnter: handleEnter,
|
|
251
|
+
},
|
|
252
|
+
paper: {
|
|
253
|
+
classes: {
|
|
254
|
+
root: 'search-modal__inner-container',
|
|
255
|
+
},
|
|
254
256
|
},
|
|
255
257
|
}}
|
|
256
258
|
>
|
|
@@ -151,11 +151,15 @@ export const ClassMappingSelectorModal = observer(
|
|
|
151
151
|
<Dialog
|
|
152
152
|
open={true}
|
|
153
153
|
onClose={hideClassMappingSelectorModal}
|
|
154
|
-
TransitionProps={{
|
|
155
|
-
onEnter: handleEnterClassMappingSelectorModal,
|
|
156
|
-
}}
|
|
157
154
|
classes={{ container: 'search-modal__container' }}
|
|
158
|
-
|
|
155
|
+
slotProps={{
|
|
156
|
+
transition: {
|
|
157
|
+
onEnter: handleEnterClassMappingSelectorModal,
|
|
158
|
+
},
|
|
159
|
+
paper: {
|
|
160
|
+
classes: { root: 'search-modal__inner-container' },
|
|
161
|
+
},
|
|
162
|
+
}}
|
|
159
163
|
>
|
|
160
164
|
<Modal
|
|
161
165
|
className={clsx('search-modal', {
|
|
@@ -191,11 +191,15 @@ const CreateTestSuiteModal = observer(
|
|
|
191
191
|
<Dialog
|
|
192
192
|
open={true}
|
|
193
193
|
onClose={close}
|
|
194
|
-
TransitionProps={{
|
|
195
|
-
onEnter: handleEnter,
|
|
196
|
-
}}
|
|
197
194
|
classes={{ container: 'search-modal__container' }}
|
|
198
|
-
|
|
195
|
+
slotProps={{
|
|
196
|
+
transition: {
|
|
197
|
+
onEnter: handleEnter,
|
|
198
|
+
},
|
|
199
|
+
paper: {
|
|
200
|
+
classes: { root: 'search-modal__inner-container' },
|
|
201
|
+
},
|
|
202
|
+
}}
|
|
199
203
|
>
|
|
200
204
|
<Modal
|
|
201
205
|
darkMode={
|
|
@@ -338,7 +342,11 @@ const CreateTestModal = observer(
|
|
|
338
342
|
open={mappingSuiteState.showCreateModal}
|
|
339
343
|
onClose={close}
|
|
340
344
|
classes={{ container: 'search-modal__container' }}
|
|
341
|
-
|
|
345
|
+
slotProps={{
|
|
346
|
+
paper: {
|
|
347
|
+
classes: { root: 'search-modal__inner-container' },
|
|
348
|
+
},
|
|
349
|
+
}}
|
|
342
350
|
>
|
|
343
351
|
<Modal
|
|
344
352
|
darkMode={
|
|
@@ -521,7 +529,11 @@ const CreateStoreTestDataModal = observer(
|
|
|
521
529
|
open={mappingTestableDataState.showNewModal}
|
|
522
530
|
onClose={close}
|
|
523
531
|
classes={{ container: 'search-modal__container' }}
|
|
524
|
-
|
|
532
|
+
slotProps={{
|
|
533
|
+
paper: {
|
|
534
|
+
classes: { root: 'search-modal__inner-container' },
|
|
535
|
+
},
|
|
536
|
+
}}
|
|
525
537
|
>
|
|
526
538
|
<Modal
|
|
527
539
|
darkMode={
|
|
@@ -210,15 +210,17 @@ export const NewMappingElementModal = observer(() => {
|
|
|
210
210
|
<Dialog
|
|
211
211
|
open={Boolean(spec)}
|
|
212
212
|
onClose={handleClose}
|
|
213
|
-
TransitionProps={{
|
|
214
|
-
onEnter: handleEnter,
|
|
215
|
-
}}
|
|
216
213
|
classes={{
|
|
217
214
|
container: 'search-modal__container',
|
|
218
215
|
}}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
216
|
+
slotProps={{
|
|
217
|
+
transition: {
|
|
218
|
+
onEnter: handleEnter,
|
|
219
|
+
},
|
|
220
|
+
paper: {
|
|
221
|
+
classes: {
|
|
222
|
+
root: 'search-modal__inner-container',
|
|
223
|
+
},
|
|
222
224
|
},
|
|
223
225
|
}}
|
|
224
226
|
>
|
|
@@ -89,12 +89,14 @@ export const NewServiceModal = observer(
|
|
|
89
89
|
<Dialog
|
|
90
90
|
open={showModal}
|
|
91
91
|
onClose={close}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
92
|
+
slotProps={{
|
|
93
|
+
transition: {
|
|
94
|
+
onEnter: handleEnter,
|
|
95
|
+
},
|
|
96
|
+
paper: {
|
|
97
|
+
classes: {
|
|
98
|
+
root: 'search-modal__inner-container',
|
|
99
|
+
},
|
|
98
100
|
},
|
|
99
101
|
}}
|
|
100
102
|
>
|
|
@@ -417,7 +417,11 @@ export const ChangeExecutionModal = observer(
|
|
|
417
417
|
open={executionState.showChangeExecModal}
|
|
418
418
|
onClose={closeModal}
|
|
419
419
|
classes={{ container: 'search-modal__container' }}
|
|
420
|
-
|
|
420
|
+
slotProps={{
|
|
421
|
+
paper: {
|
|
422
|
+
classes: { root: 'search-modal__inner-container' },
|
|
423
|
+
},
|
|
424
|
+
}}
|
|
421
425
|
>
|
|
422
426
|
<form
|
|
423
427
|
onSubmit={(event) => {
|
|
@@ -580,7 +584,11 @@ export const NewExecutionParameterModal = observer(
|
|
|
580
584
|
open={executionState.newKeyParameterModal}
|
|
581
585
|
onClose={closeModal}
|
|
582
586
|
classes={{ container: 'search-modal__container' }}
|
|
583
|
-
|
|
587
|
+
slotProps={{
|
|
588
|
+
paper: {
|
|
589
|
+
classes: { root: 'search-modal__inner-container' },
|
|
590
|
+
},
|
|
591
|
+
}}
|
|
584
592
|
>
|
|
585
593
|
<form
|
|
586
594
|
onSubmit={(event) => {
|
|
@@ -634,7 +642,11 @@ const RenameModal = observer(
|
|
|
634
642
|
open={showModal}
|
|
635
643
|
onClose={closeModal}
|
|
636
644
|
classes={{ container: 'search-modal__container' }}
|
|
637
|
-
|
|
645
|
+
slotProps={{
|
|
646
|
+
paper: {
|
|
647
|
+
classes: { root: 'search-modal__inner-container' },
|
|
648
|
+
},
|
|
649
|
+
}}
|
|
638
650
|
>
|
|
639
651
|
<form
|
|
640
652
|
onSubmit={(event) => {
|
package/src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx
CHANGED
|
@@ -385,7 +385,11 @@ export const UseDataElementModal = observer(
|
|
|
385
385
|
open={useSharedModal}
|
|
386
386
|
onClose={closeModal}
|
|
387
387
|
classes={{ container: 'search-modal__container' }}
|
|
388
|
-
|
|
388
|
+
slotProps={{
|
|
389
|
+
paper: {
|
|
390
|
+
classes: { root: 'search-modal__inner-container' },
|
|
391
|
+
},
|
|
392
|
+
}}
|
|
389
393
|
>
|
|
390
394
|
<Modal
|
|
391
395
|
darkMode={
|
|
@@ -795,7 +799,11 @@ export const NewConnectionDataModal = observer(
|
|
|
795
799
|
open={newConnectionState.showModal}
|
|
796
800
|
onClose={closeModal}
|
|
797
801
|
classes={{ container: 'search-modal__container' }}
|
|
798
|
-
|
|
802
|
+
slotProps={{
|
|
803
|
+
paper: {
|
|
804
|
+
classes: { root: 'search-modal__inner-container' },
|
|
805
|
+
},
|
|
806
|
+
}}
|
|
799
807
|
>
|
|
800
808
|
<form
|
|
801
809
|
onSubmit={(event) => {
|
|
@@ -107,7 +107,11 @@ export const NewParameterModal = observer(
|
|
|
107
107
|
open={setupState.showNewParameterModal}
|
|
108
108
|
onClose={closeModal}
|
|
109
109
|
classes={{ container: 'search-modal__container' }}
|
|
110
|
-
|
|
110
|
+
slotProps={{
|
|
111
|
+
paper: {
|
|
112
|
+
classes: { root: 'search-modal__inner-container' },
|
|
113
|
+
},
|
|
114
|
+
}}
|
|
111
115
|
>
|
|
112
116
|
<form
|
|
113
117
|
onSubmit={(event) => {
|
|
@@ -121,7 +121,11 @@ export const SharedDataElementModal = observer(
|
|
|
121
121
|
open={true}
|
|
122
122
|
onClose={close}
|
|
123
123
|
classes={{ container: 'search-modal__container' }}
|
|
124
|
-
|
|
124
|
+
slotProps={{
|
|
125
|
+
paper: {
|
|
126
|
+
classes: { root: 'search-modal__inner-container' },
|
|
127
|
+
},
|
|
128
|
+
}}
|
|
125
129
|
>
|
|
126
130
|
<Modal
|
|
127
131
|
darkMode={
|
|
@@ -193,7 +197,11 @@ export const RenameModal = observer(
|
|
|
193
197
|
open={showModal}
|
|
194
198
|
onClose={closeModal}
|
|
195
199
|
classes={{ container: 'search-modal__container' }}
|
|
196
|
-
|
|
200
|
+
slotProps={{
|
|
201
|
+
paper: {
|
|
202
|
+
classes: { root: 'search-modal__inner-container' },
|
|
203
|
+
},
|
|
204
|
+
}}
|
|
197
205
|
>
|
|
198
206
|
<form
|
|
199
207
|
onSubmit={(event) => {
|
|
@@ -613,8 +621,10 @@ const AssertFailViewer = observer(
|
|
|
613
621
|
open={showGenericDiffModal}
|
|
614
622
|
onClose={() => setShowGenericDiffModal(false)}
|
|
615
623
|
classes={{ container: 'search-modal__container' }}
|
|
616
|
-
|
|
617
|
-
|
|
624
|
+
slotProps={{
|
|
625
|
+
paper: {
|
|
626
|
+
classes: { root: 'search-modal__inner-container' },
|
|
627
|
+
},
|
|
618
628
|
}}
|
|
619
629
|
>
|
|
620
630
|
<Modal
|
|
@@ -952,7 +962,11 @@ export const ExternalFormatParameterEditorModal = observer(
|
|
|
952
962
|
open={true}
|
|
953
963
|
onClose={onClose}
|
|
954
964
|
classes={{ container: 'search-modal__container' }}
|
|
955
|
-
|
|
965
|
+
slotProps={{
|
|
966
|
+
paper: {
|
|
967
|
+
classes: { root: 'search-modal__inner-container' },
|
|
968
|
+
},
|
|
969
|
+
}}
|
|
956
970
|
>
|
|
957
971
|
<Modal
|
|
958
972
|
darkMode={
|
|
@@ -239,12 +239,14 @@ export const NewFunctionModal = observer(
|
|
|
239
239
|
<Dialog
|
|
240
240
|
open={showModal}
|
|
241
241
|
onClose={close}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
242
|
+
slotProps={{
|
|
243
|
+
transition: {
|
|
244
|
+
onEnter: handleEnter,
|
|
245
|
+
},
|
|
246
|
+
paper: {
|
|
247
|
+
classes: {
|
|
248
|
+
root: 'search-modal__inner-container',
|
|
249
|
+
},
|
|
248
250
|
},
|
|
249
251
|
}}
|
|
250
252
|
>
|
|
@@ -660,11 +660,15 @@ export const CreateNewLocalConnectionModal = observer(() => {
|
|
|
660
660
|
<Dialog
|
|
661
661
|
open={newElementState.showModal}
|
|
662
662
|
onClose={closeModal}
|
|
663
|
-
TransitionProps={{
|
|
664
|
-
onEnter: handleEnter,
|
|
665
|
-
}}
|
|
666
663
|
classes={{ container: 'search-modal__container' }}
|
|
667
|
-
|
|
664
|
+
slotProps={{
|
|
665
|
+
transition: {
|
|
666
|
+
onEnter: handleEnter,
|
|
667
|
+
},
|
|
668
|
+
paper: {
|
|
669
|
+
classes: { root: 'search-modal__inner-container' },
|
|
670
|
+
},
|
|
671
|
+
}}
|
|
668
672
|
>
|
|
669
673
|
<form
|
|
670
674
|
data-testid={LEGEND_STUDIO_TEST_ID.NEW_ELEMENT_MODAL}
|
|
@@ -773,11 +777,15 @@ export const CreateNewElementModal = observer(() => {
|
|
|
773
777
|
<Dialog
|
|
774
778
|
open={newElementState.showModal}
|
|
775
779
|
onClose={closeModal}
|
|
776
|
-
TransitionProps={{
|
|
777
|
-
onEnter: handleEnter,
|
|
778
|
-
}}
|
|
779
780
|
classes={{ container: 'search-modal__container' }}
|
|
780
|
-
|
|
781
|
+
slotProps={{
|
|
782
|
+
transition: {
|
|
783
|
+
onEnter: handleEnter,
|
|
784
|
+
},
|
|
785
|
+
paper: {
|
|
786
|
+
classes: { root: 'search-modal__inner-container' },
|
|
787
|
+
},
|
|
788
|
+
}}
|
|
781
789
|
>
|
|
782
790
|
<form
|
|
783
791
|
data-testid={LEGEND_STUDIO_TEST_ID.NEW_ELEMENT_MODAL}
|
|
@@ -248,11 +248,15 @@ const ElementRenamer = observer(() => {
|
|
|
248
248
|
<Dialog
|
|
249
249
|
open={Boolean(element)}
|
|
250
250
|
onClose={abort}
|
|
251
|
-
|
|
252
|
-
|
|
251
|
+
slotProps={{
|
|
252
|
+
transition: {
|
|
253
|
+
onEnter: onEnter,
|
|
254
|
+
},
|
|
255
|
+
paper: {
|
|
256
|
+
classes: { root: 'search-modal__inner-container' },
|
|
257
|
+
},
|
|
253
258
|
}}
|
|
254
259
|
classes={{ container: 'search-modal__container' }}
|
|
255
|
-
PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
|
|
256
260
|
>
|
|
257
261
|
<form className="modal modal--dark search-modal explorer__element-renamer">
|
|
258
262
|
<div className="modal__title">Rename Element</div>
|
|
@@ -370,11 +374,15 @@ const SampleDataGenerator = observer(() => {
|
|
|
370
374
|
<Dialog
|
|
371
375
|
open={Boolean(selectedClass)}
|
|
372
376
|
onClose={abort}
|
|
373
|
-
|
|
374
|
-
|
|
377
|
+
slotProps={{
|
|
378
|
+
transition: {
|
|
379
|
+
onEnter: onEnter,
|
|
380
|
+
},
|
|
381
|
+
paper: {
|
|
382
|
+
classes: { root: 'search-modal__inner-container' },
|
|
383
|
+
},
|
|
375
384
|
}}
|
|
376
385
|
classes={{ container: 'search-modal__container' }}
|
|
377
|
-
PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
|
|
378
386
|
>
|
|
379
387
|
<div className="modal modal--dark search-modal explorer__element-renamer">
|
|
380
388
|
<div className="modal__title">Generate Sample Data</div>
|
|
@@ -107,7 +107,11 @@ export const WorkspaceSyncConflictResolver = observer(() => {
|
|
|
107
107
|
open={updateConflictState.showModal}
|
|
108
108
|
onClose={noop}
|
|
109
109
|
classes={{ container: 'search-modal__container' }}
|
|
110
|
-
|
|
110
|
+
slotProps={{
|
|
111
|
+
paper: {
|
|
112
|
+
classes: { root: 'search-modal__inner-container' },
|
|
113
|
+
},
|
|
114
|
+
}}
|
|
111
115
|
>
|
|
112
116
|
<Modal
|
|
113
117
|
darkMode={
|