@finos/legend-application-studio 27.1.2 → 27.1.3
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/__lib__/LegendStudioApplicationNavigationContext.d.ts +1 -1
- package/lib/__lib__/LegendStudioApplicationNavigationContext.d.ts.map +1 -1
- package/lib/__lib__/LegendStudioApplicationNavigationContext.js +1 -1
- package/lib/__lib__/LegendStudioApplicationNavigationContext.js.map +1 -1
- package/lib/__lib__/LegendStudioDocumentation.d.ts +3 -1
- package/lib/__lib__/LegendStudioDocumentation.d.ts.map +1 -1
- package/lib/__lib__/LegendStudioDocumentation.js +3 -0
- package/lib/__lib__/LegendStudioDocumentation.js.map +1 -1
- package/lib/__lib__/LegendStudioTesting.d.ts +1 -0
- package/lib/__lib__/LegendStudioTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendStudioTesting.js +1 -0
- package/lib/__lib__/LegendStudioTesting.js.map +1 -1
- package/lib/application/LegendStudioApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendStudioApplicationConfig.js +1 -1
- package/lib/application/LegendStudioApplicationConfig.js.map +1 -1
- package/lib/components/editor/editor-group/FunctionEditor.js +2 -2
- package/lib/components/editor/editor-group/FunctionEditor.js.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/mapping-editor/MappingEditor.js +2 -2
- package/lib/components/editor/editor-group/mapping-editor/MappingEditor.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 +47 -12
- package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectConfigurationEditor.js +61 -11
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.js +1 -1
- package/lib/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/ClassEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/ClassEditor.js +24 -25
- package/lib/components/editor/editor-group/uml-editor/ClassEditor.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/EnumerationEditor.js +2 -2
- package/lib/components/editor/editor-group/uml-editor/EnumerationEditor.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/ProfileEditor.js +3 -3
- package/lib/components/editor/editor-group/uml-editor/ProfileEditor.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/StereotypeSelector.js +2 -2
- package/lib/components/editor/editor-group/uml-editor/StereotypeSelector.js.map +1 -1
- package/lib/components/editor/editor-group/uml-editor/TaggedValueEditor.js +2 -2
- package/lib/components/editor/editor-group/uml-editor/TaggedValueEditor.js.map +1 -1
- package/lib/components/editor/side-bar/ProjectOverview.d.ts.map +1 -1
- package/lib/components/editor/side-bar/ProjectOverview.js +7 -1
- package/lib/components/editor/side-bar/ProjectOverview.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/FunctionEditorState.js +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/FunctionEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/DEPRECATED__MappingTestState.js +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/DEPRECATED__MappingTestState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.d.ts +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.js +2 -2
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionState.js +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceExecutionState.js +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceExecutionState.js.map +1 -1
- package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.d.ts +6 -2
- package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js +39 -3
- package/lib/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js.map +1 -1
- package/lib/stores/editor/utils/TestableUtils.js +2 -2
- package/lib/stores/editor/utils/TestableUtils.js.map +1 -1
- package/package.json +7 -7
- package/src/__lib__/LegendStudioApplicationNavigationContext.ts +1 -1
- package/src/__lib__/LegendStudioDocumentation.ts +4 -0
- package/src/__lib__/LegendStudioTesting.ts +1 -0
- package/src/application/LegendStudioApplicationConfig.ts +1 -1
- package/src/components/editor/editor-group/FunctionEditor.tsx +4 -4
- package/src/components/editor/editor-group/mapping-editor/MappingEditor.tsx +5 -2
- package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +68 -17
- package/src/components/editor/editor-group/project-configuration-editor/ProjectConfigurationEditor.tsx +137 -12
- package/src/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.tsx +0 -1
- package/src/components/editor/editor-group/uml-editor/ClassEditor.tsx +354 -362
- package/src/components/editor/editor-group/uml-editor/EnumerationEditor.tsx +4 -4
- package/src/components/editor/editor-group/uml-editor/ProfileEditor.tsx +7 -7
- package/src/components/editor/editor-group/uml-editor/StereotypeSelector.tsx +4 -4
- package/src/components/editor/editor-group/uml-editor/TaggedValueEditor.tsx +4 -4
- package/src/components/editor/side-bar/ProjectOverview.tsx +14 -3
- package/src/stores/editor/editor-state/element-editor-state/FunctionEditorState.ts +1 -1
- package/src/stores/editor/editor-state/element-editor-state/mapping/DEPRECATED__MappingTestState.ts +1 -1
- package/src/stores/editor/editor-state/element-editor-state/mapping/MappingEditorState.ts +2 -2
- package/src/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionState.ts +1 -1
- package/src/stores/editor/editor-state/element-editor-state/service/ServiceExecutionState.ts +1 -1
- package/src/stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.ts +59 -2
- package/src/stores/editor/utils/TestableUtils.ts +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TestableUtils.js","sourceRoot":"","sources":["../../../../src/stores/editor/utils/TestableUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAeL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,6BAA6B,EAC7B,sBAAsB,EAEtB,sCAAsC,EACtC,cAAc,EACd,iBAAiB,EACjB,mCAAmC,EAInC,YAAY,EACZ,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,WAAW,EACX,+BAA+B,EAC/B,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,IAAI,GACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,qCAAqC,EAAE,MAAM,oBAAoB,CAAC;AAE3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAExC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,EAAsB,EACtB,WAAiC,EACb,EAAE;IACtB,oGAAoG;IACpG,IAAI,EAAE,KAAK,SAAS,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,CAAC,EAAE,EAAE;QACP,OAAO,gBAAgB,CAAC;KACzB;SAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC3B,OAAO,
|
1
|
+
{"version":3,"file":"TestableUtils.js","sourceRoot":"","sources":["../../../../src/stores/editor/utils/TestableUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-application-studio",
|
3
|
-
"version": "27.1.
|
3
|
+
"version": "27.1.3",
|
4
4
|
"description": "Legend Studio application core",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -45,13 +45,13 @@
|
|
45
45
|
"test:watch": "jest --watch"
|
46
46
|
},
|
47
47
|
"dependencies": {
|
48
|
-
"@finos/legend-application": "15.0.
|
49
|
-
"@finos/legend-art": "7.0.
|
50
|
-
"@finos/legend-graph": "30.0.
|
51
|
-
"@finos/legend-lego": "1.1.
|
52
|
-
"@finos/legend-query-builder": "4.1.
|
48
|
+
"@finos/legend-application": "15.0.27",
|
49
|
+
"@finos/legend-art": "7.0.27",
|
50
|
+
"@finos/legend-graph": "30.0.12",
|
51
|
+
"@finos/legend-lego": "1.1.4",
|
52
|
+
"@finos/legend-query-builder": "4.1.3",
|
53
53
|
"@finos/legend-server-depot": "6.0.16",
|
54
|
-
"@finos/legend-server-sdlc": "5.0.
|
54
|
+
"@finos/legend-server-sdlc": "5.0.18",
|
55
55
|
"@finos/legend-shared": "10.0.15",
|
56
56
|
"@finos/legend-storage": "3.0.65",
|
57
57
|
"@testing-library/react": "14.0.0",
|
@@ -46,7 +46,7 @@ export enum LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY {
|
|
46
46
|
ENUMERATION_MAPPING_EDITOR = 'studio.editor.mapping-editor.enumeration-mapping-editor',
|
47
47
|
MAPPING_EXECUTION_EDITOR = 'studio.editor.mapping-editor.execution-editor',
|
48
48
|
DEPRECATED_MAPPING_TEST_EDITOR = 'studio.editor.mapping-editor.deprecated-test-editor',
|
49
|
-
|
49
|
+
MAPPING_EDITOR_TEST = 'studio.editor.mapping-editor.test',
|
50
50
|
|
51
51
|
RUNTIME_EDITOR = 'studio.editor.runtime-editor',
|
52
52
|
|
@@ -70,6 +70,7 @@ export enum LEGEND_STUDIO_DOCUMENTATION_KEY {
|
|
70
70
|
QUESTION_HOW_TO_SPECIFY_A_SUPERTYPE = 'question.how-to-specify-a-class-supertype',
|
71
71
|
QUESTION_HOW_TO_UPDATE_PROJECT_GAV_COORDINATES = 'question.how-to-update-project-gav-coordinates',
|
72
72
|
QUESTION_WHEN_TO_CONFIGURE_PLATFORM_VERSIONS = 'question.when-to-configure-project-platform-dependencies-versions',
|
73
|
+
QUESTION_WHAT_IS_EMBEDDED_MODE_PROJECT_TYPE = 'question.what-is-embedded-project-type',
|
73
74
|
QUESTION_HOW_TO_WRITE_A_SERVICE_TEST = 'question.how-to-write-a-service-test',
|
74
75
|
QUESTION_HOW_TO_WRITE_A_SERVICE_POST_VALIDATION = 'question.how-to-write-a-service-post-validation',
|
75
76
|
QUESTION_WHY_DO_I_SEE_ERROR_WITH_ASSOCIATION_PROPERTY_TYPE = 'question.why-do-i-see-error-with-association-property-type',
|
@@ -80,6 +81,7 @@ export enum LEGEND_STUDIO_DOCUMENTATION_KEY {
|
|
80
81
|
CONTEXT_CLASS_EDITOR = 'context.class-editor',
|
81
82
|
CONTEXT_SERVICE_TEST_EDITOR = 'context.service-editor.test',
|
82
83
|
CONTEXT_DATA_ELEMENT_EDITOR = 'context.data-element-editor',
|
84
|
+
CONTEXT_MAPPING_TEST_EDITOR = 'context.mapping-editor.test',
|
83
85
|
}
|
84
86
|
|
85
87
|
export const CORE_CONTEXTUAL_DOCUMENTATION_CONFIG: ContextualDocumentationConfig =
|
@@ -92,6 +94,8 @@ export const CORE_CONTEXTUAL_DOCUMENTATION_CONFIG: ContextualDocumentationConfig
|
|
92
94
|
LEGEND_STUDIO_DOCUMENTATION_KEY.QUESTION_HOW_TO_WRITE_A_CONSTRAINT_LAMBDA,
|
93
95
|
[LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.SERVICE_EDITOR_TEST]:
|
94
96
|
LEGEND_STUDIO_DOCUMENTATION_KEY.CONTEXT_SERVICE_TEST_EDITOR,
|
97
|
+
[LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.MAPPING_EDITOR_TEST]:
|
98
|
+
LEGEND_STUDIO_DOCUMENTATION_KEY.CONTEXT_MAPPING_TEST_EDITOR,
|
95
99
|
[LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.DATA_ELEMENT_EDITOR]:
|
96
100
|
LEGEND_STUDIO_DOCUMENTATION_KEY.CONTEXT_DATA_ELEMENT_EDITOR,
|
97
101
|
};
|
@@ -46,6 +46,7 @@ export enum LEGEND_STUDIO_TEST_ID {
|
|
46
46
|
CLASS_FORM_EDITOR = 'class-form-editor',
|
47
47
|
ENUMERATION_EDITOR = 'enumeration-editor',
|
48
48
|
ASSOCIATION_EDITOR = 'association-editor',
|
49
|
+
MAPPING_EDITOR = 'mapping-editor',
|
49
50
|
UML_ELEMENT_EDITOR__TABS_HEADER = 'uml-element-editor__tabs__header',
|
50
51
|
PROPERTY_BASIC_EDITOR__TYPE__LABEL_HOVER = 'property-basic-editor__type__label--hover',
|
51
52
|
|
@@ -96,7 +96,7 @@ class LegendStudioApplicationCoreOptions {
|
|
96
96
|
* Indicates whether we should render the new mapping testable editor or the deprecated legacy editor.
|
97
97
|
* This flag will be removed once the editor for testable editor is agreed on.
|
98
98
|
*/
|
99
|
-
TEMPORARY__enableMappingTestableEditor =
|
99
|
+
TEMPORARY__enableMappingTestableEditor = true;
|
100
100
|
|
101
101
|
/**
|
102
102
|
* Provides service registration environment configs.
|
@@ -40,7 +40,7 @@ import {
|
|
40
40
|
PlusIcon,
|
41
41
|
TimesIcon,
|
42
42
|
ArrowCircleRightIcon,
|
43
|
-
|
43
|
+
PanelEntryDragHandle,
|
44
44
|
DragPreviewLayer,
|
45
45
|
useDragPreviewLayer,
|
46
46
|
Panel,
|
@@ -332,9 +332,9 @@ const ParameterBasicEditor = observer(
|
|
332
332
|
className="property-basic-editor__container"
|
333
333
|
showPlaceholder={isBeingDragged}
|
334
334
|
>
|
335
|
-
<
|
336
|
-
|
337
|
-
|
335
|
+
<PanelEntryDragHandle
|
336
|
+
dragSourceConnector={handleRef}
|
337
|
+
isDragging={isBeingDragged}
|
338
338
|
/>
|
339
339
|
<div className="property-basic-editor">
|
340
340
|
{isReadOnly && (
|
@@ -357,7 +357,10 @@ export const MappingEditorWithTestable = observer(() => {
|
|
357
357
|
(): void =>
|
358
358
|
mappingEditorState.setSelectedTab(tab);
|
359
359
|
return (
|
360
|
-
<div
|
360
|
+
<div
|
361
|
+
data-testid={LEGEND_STUDIO_TEST_ID.MAPPING_EDITOR}
|
362
|
+
className="service-editor"
|
363
|
+
>
|
361
364
|
<div className="panel">
|
362
365
|
<div className="panel__header">
|
363
366
|
<div className="panel__header__title">
|
@@ -389,7 +392,7 @@ export const MappingEditorWithTestable = observer(() => {
|
|
389
392
|
{selectedTab === MAPPING_EDITOR_TAB.CLASS_MAPPINGS && (
|
390
393
|
<_MappingEditor />
|
391
394
|
)}
|
392
|
-
{selectedTab === MAPPING_EDITOR_TAB.
|
395
|
+
{selectedTab === MAPPING_EDITOR_TAB.TEST_SUITES && (
|
393
396
|
<MappingTestableEditor
|
394
397
|
mappingTestableState={mappingEditorState.mappingTestableState}
|
395
398
|
/>
|
@@ -20,6 +20,7 @@ import {
|
|
20
20
|
type MappingTestSuite,
|
21
21
|
type Store,
|
22
22
|
type DataElement,
|
23
|
+
type EmbeddedData,
|
23
24
|
ModelStore,
|
24
25
|
Database,
|
25
26
|
getMappingCompatibleClasses,
|
@@ -28,6 +29,10 @@ import {
|
|
28
29
|
MappingTest,
|
29
30
|
PackageableElementExplicitReference,
|
30
31
|
DataElementReference,
|
32
|
+
RelationalCSVData,
|
33
|
+
ModelStoreData,
|
34
|
+
ExternalFormatData,
|
35
|
+
ModelEmbeddedData,
|
31
36
|
} from '@finos/legend-graph';
|
32
37
|
import { forwardRef, useEffect, useRef, useState } from 'react';
|
33
38
|
import {
|
@@ -208,6 +213,7 @@ const CreateTestSuiteModal = observer(
|
|
208
213
|
name="Test Suite Name"
|
209
214
|
prompt="Unique Identifier for Test suite i.e Person_suite"
|
210
215
|
value={suiteName}
|
216
|
+
placeholder="Suite Name"
|
211
217
|
update={(value: string | undefined): void =>
|
212
218
|
setSuiteName(value ?? '')
|
213
219
|
}
|
@@ -216,6 +222,7 @@ const CreateTestSuiteModal = observer(
|
|
216
222
|
<PanelFormTextField
|
217
223
|
name="Test Name"
|
218
224
|
prompt="Unique Identifier for first test in suite"
|
225
|
+
placeholder="Test Name"
|
219
226
|
value={testName}
|
220
227
|
update={(value: string | undefined): void =>
|
221
228
|
setTestName(value ?? '')
|
@@ -245,7 +252,11 @@ const CreateTestSuiteModal = observer(
|
|
245
252
|
disabled={
|
246
253
|
!isValid || creatorState.isCreatingSuiteState.isInProgress
|
247
254
|
}
|
248
|
-
title={
|
255
|
+
title={
|
256
|
+
!isValid
|
257
|
+
? 'Suite Name and Test Name Required'
|
258
|
+
: 'Create Test Suite'
|
259
|
+
}
|
249
260
|
onClick={create}
|
250
261
|
text="Create"
|
251
262
|
/>
|
@@ -648,30 +659,30 @@ const MappingTestSuiteQueryEditor = observer(
|
|
648
659
|
<div className="panel__header__title__label">query</div>
|
649
660
|
</div>
|
650
661
|
<div className="panel__header__actions">
|
651
|
-
<div className="
|
662
|
+
<div className="btn__dropdown-combo">
|
652
663
|
<button
|
653
|
-
className="
|
664
|
+
className="btn__dropdown-combo__label"
|
654
665
|
onClick={editWithQueryBuilder()}
|
655
666
|
title="Edit Query"
|
656
667
|
tabIndex={-1}
|
657
668
|
>
|
658
|
-
<PencilIcon className="
|
659
|
-
<div className="
|
669
|
+
<PencilIcon className="btn__dropdown-combo__label__icon" />
|
670
|
+
<div className="btn__dropdown-combo__label__title">
|
660
671
|
Edit Query
|
661
672
|
</div>
|
662
673
|
</button>
|
663
674
|
<DropdownMenu
|
664
|
-
className="
|
675
|
+
className="btn__dropdown-combo__dropdown-btn"
|
665
676
|
content={
|
666
677
|
<MenuContent>
|
667
678
|
<MenuContentItem
|
668
|
-
className="
|
679
|
+
className="btn__dropdown-combo__option"
|
669
680
|
onClick={editWithQueryBuilder(true)}
|
670
681
|
>
|
671
682
|
Text Mode
|
672
683
|
</MenuContentItem>
|
673
684
|
<MenuContentItem
|
674
|
-
className="
|
685
|
+
className="btn__dropdown-combo__option"
|
675
686
|
onClick={clearQuery}
|
676
687
|
>
|
677
688
|
Clear Query
|
@@ -715,14 +726,14 @@ const StoreTestDataEditor = observer(
|
|
715
726
|
mappingTestState.mappingTestableState.mappingEditorState.isReadOnly;
|
716
727
|
const dataElements =
|
717
728
|
storeTestDataState.editorStore.graphManagerState.graph.dataElements;
|
718
|
-
const
|
719
|
-
const isUsingReference =
|
729
|
+
const currentData = storeTestDataState.storeTestData.data;
|
730
|
+
const isUsingReference = currentData instanceof DataElementReference;
|
720
731
|
const open = (): void => storeTestDataState.setDataElementModal(true);
|
721
732
|
const close = (): void => storeTestDataState.setDataElementModal(false);
|
722
733
|
const changeToUseMyOwn = (): void => {
|
723
734
|
if (isUsingReference) {
|
724
735
|
const newBare = returnUndefOnError(() =>
|
725
|
-
|
736
|
+
currentData.accept_EmbeddedDataVisitor(
|
726
737
|
new EmbeddedDataCreatorFromEmbeddedData(),
|
727
738
|
),
|
728
739
|
);
|
@@ -732,10 +743,49 @@ const StoreTestDataEditor = observer(
|
|
732
743
|
}
|
733
744
|
};
|
734
745
|
|
735
|
-
const
|
736
|
-
const
|
737
|
-
|
738
|
-
|
746
|
+
const sharedDataHandler = (val: DataElement): void => {
|
747
|
+
const dataRef = new DataElementReference();
|
748
|
+
dataRef.dataElement = PackageableElementExplicitReference.create(val);
|
749
|
+
const dataElementValue = val.data;
|
750
|
+
let embeddedData: EmbeddedData = dataRef;
|
751
|
+
if (
|
752
|
+
currentData instanceof ModelStoreData &&
|
753
|
+
dataElementValue instanceof ExternalFormatData
|
754
|
+
) {
|
755
|
+
const modelStoreVal = currentData.modelData?.[0];
|
756
|
+
if (modelStoreVal instanceof ModelEmbeddedData) {
|
757
|
+
const newModelEmbeddedData = new ModelEmbeddedData();
|
758
|
+
newModelEmbeddedData.model =
|
759
|
+
PackageableElementExplicitReference.create(
|
760
|
+
modelStoreVal.model.value,
|
761
|
+
);
|
762
|
+
|
763
|
+
newModelEmbeddedData.data = dataRef;
|
764
|
+
const modelStoreData = new ModelStoreData();
|
765
|
+
modelStoreData.modelData = [newModelEmbeddedData];
|
766
|
+
embeddedData = modelStoreData;
|
767
|
+
}
|
768
|
+
}
|
769
|
+
storeTestDataState.changeEmbeddedData(embeddedData);
|
770
|
+
};
|
771
|
+
const filter = (val: DataElement): boolean => {
|
772
|
+
const dataElementData = val.data;
|
773
|
+
if (currentData instanceof RelationalCSVData) {
|
774
|
+
if (dataElementData instanceof RelationalCSVData) {
|
775
|
+
return true;
|
776
|
+
}
|
777
|
+
return false;
|
778
|
+
} else if (currentData instanceof ModelStoreData) {
|
779
|
+
if (
|
780
|
+
dataElementData instanceof ExternalFormatData ||
|
781
|
+
dataElementData instanceof ModelStoreData
|
782
|
+
) {
|
783
|
+
return true;
|
784
|
+
}
|
785
|
+
return false;
|
786
|
+
}
|
787
|
+
// TODO add extensions
|
788
|
+
return true;
|
739
789
|
};
|
740
790
|
return (
|
741
791
|
<div className="service-test-data-editor">
|
@@ -783,7 +833,8 @@ const StoreTestDataEditor = observer(
|
|
783
833
|
isReadOnly={false}
|
784
834
|
editorStore={storeTestDataState.editorStore}
|
785
835
|
close={close}
|
786
|
-
|
836
|
+
filterBy={filter}
|
837
|
+
handler={sharedDataHandler}
|
787
838
|
/>
|
788
839
|
)}
|
789
840
|
<EmbeddedDataEditor
|
@@ -1241,7 +1292,7 @@ export const MappingTestableEditor = observer(
|
|
1241
1292
|
};
|
1242
1293
|
|
1243
1294
|
useApplicationNavigationContext(
|
1244
|
-
LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.
|
1295
|
+
LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.MAPPING_EDITOR_TEST,
|
1245
1296
|
);
|
1246
1297
|
return (
|
1247
1298
|
<div className="service-test-suite-editor panel">
|
@@ -20,6 +20,7 @@ import { observer } from 'mobx-react-lite';
|
|
20
20
|
import {
|
21
21
|
ProjectConfigurationEditorState,
|
22
22
|
CONFIGURATION_EDITOR_TAB,
|
23
|
+
projectTypeTabFilter,
|
23
24
|
} from '../../../../stores/editor/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js';
|
24
25
|
import {
|
25
26
|
clsx,
|
@@ -41,13 +42,16 @@ import {
|
|
41
42
|
PanelContent,
|
42
43
|
PanelHeader,
|
43
44
|
PanelContentLists,
|
45
|
+
PanelLoadingIndicator,
|
44
46
|
} from '@finos/legend-art';
|
45
47
|
import { flowResult } from 'mobx';
|
46
48
|
import {
|
47
49
|
type Platform,
|
50
|
+
type ProjectConfiguration,
|
51
|
+
type ProjectStructureVersion,
|
48
52
|
PlatformConfiguration,
|
49
53
|
ProjectDependency,
|
50
|
-
|
54
|
+
ProjectType,
|
51
55
|
} from '@finos/legend-server-sdlc';
|
52
56
|
import { useEditorStore } from '../../EditorStoreProvider.js';
|
53
57
|
import {
|
@@ -64,6 +68,28 @@ import {
|
|
64
68
|
} from '@finos/legend-lego/application';
|
65
69
|
import type { StoreProjectData } from '@finos/legend-server-depot';
|
66
70
|
|
71
|
+
const isProjectConfigurationVersionOutdated = (
|
72
|
+
projectConfig: ProjectConfiguration,
|
73
|
+
latestVersion: ProjectStructureVersion | undefined,
|
74
|
+
isEmbeddedMode: boolean,
|
75
|
+
): boolean => {
|
76
|
+
if (!latestVersion) {
|
77
|
+
return false;
|
78
|
+
}
|
79
|
+
const mainVersionOutdated =
|
80
|
+
latestVersion.version > projectConfig.projectStructureVersion.version;
|
81
|
+
if (isEmbeddedMode) {
|
82
|
+
return mainVersionOutdated;
|
83
|
+
}
|
84
|
+
const currentProjectExtensionVersion =
|
85
|
+
projectConfig.projectStructureVersion.extensionVersion ?? -1;
|
86
|
+
const latestProjectExtensionVersion = latestVersion.extensionVersion ?? -1;
|
87
|
+
return (
|
88
|
+
mainVersionOutdated ||
|
89
|
+
latestProjectExtensionVersion > currentProjectExtensionVersion
|
90
|
+
);
|
91
|
+
};
|
92
|
+
|
67
93
|
const ProjectStructureEditor = observer(
|
68
94
|
(props: { projectConfig: ProjectConfiguration; isReadOnly: boolean }) => {
|
69
95
|
const { projectConfig, isReadOnly } = props;
|
@@ -71,13 +97,12 @@ const ProjectStructureEditor = observer(
|
|
71
97
|
const applicationStore = useApplicationStore();
|
72
98
|
const latestVersion =
|
73
99
|
editorStore.projectConfigurationEditorState.latestProjectStructureVersion;
|
74
|
-
const
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
latestProjectExtensionVersion > currentProjectExtensionVersion);
|
100
|
+
const isProjectStructureVersionOutdated =
|
101
|
+
isProjectConfigurationVersionOutdated(
|
102
|
+
projectConfig,
|
103
|
+
latestVersion,
|
104
|
+
editorStore.projectConfigurationEditorState.isInEmbeddedMode,
|
105
|
+
);
|
81
106
|
const isGroupIdChanged =
|
82
107
|
editorStore.projectConfigurationEditorState.isGroupIdChanged;
|
83
108
|
const isArtifactIdChanged =
|
@@ -108,7 +133,7 @@ const ProjectStructureEditor = observer(
|
|
108
133
|
<div className="project-configuration-editor__project__structure__version">
|
109
134
|
<div className="project-configuration-editor__project__structure__version__label">
|
110
135
|
<div className="project-configuration-editor__project__structure__version__label__status">
|
111
|
-
{
|
136
|
+
{isProjectStructureVersionOutdated ? (
|
112
137
|
<ExclamationCircleIcon
|
113
138
|
className="project-configuration-editor__project__structure__version__label__status--outdated"
|
114
139
|
title="Project structure is outdated"
|
@@ -124,7 +149,7 @@ const ProjectStructureEditor = observer(
|
|
124
149
|
{`PROJECT STRUCTURE VERSION ${projectConfig.projectStructureVersion.fullVersion}`}
|
125
150
|
</div>
|
126
151
|
</div>
|
127
|
-
{
|
152
|
+
{isProjectStructureVersionOutdated && latestVersion && (
|
128
153
|
<button
|
129
154
|
className="project-configuration-editor__project__structure__version__update-btn"
|
130
155
|
disabled={isReadOnly}
|
@@ -132,7 +157,10 @@ const ProjectStructureEditor = observer(
|
|
132
157
|
tabIndex={-1}
|
133
158
|
title={`Current project structure is outdated. Click to update to the latest version (v${latestVersion.fullVersion}})`}
|
134
159
|
>
|
135
|
-
Update to version
|
160
|
+
Update to version{' '}
|
161
|
+
{editorStore.projectConfigurationEditorState.isInEmbeddedMode
|
162
|
+
? latestVersion.version
|
163
|
+
: latestVersion.fullVersion}
|
136
164
|
</button>
|
137
165
|
)}
|
138
166
|
</div>
|
@@ -511,20 +539,106 @@ const ProjectPlatformVersionEditor = observer(
|
|
511
539
|
},
|
512
540
|
);
|
513
541
|
|
542
|
+
const ProjectAdvancedEditor = observer(
|
543
|
+
(props: { projectConfig: ProjectConfiguration; isReadOnly: boolean }) => {
|
544
|
+
const { projectConfig } = props;
|
545
|
+
const editorStore = useEditorStore();
|
546
|
+
const applicationStore = useApplicationStore();
|
547
|
+
const currentProjectType = projectConfig.projectType ?? ProjectType.MANAGED;
|
548
|
+
const isEmbeddedMode = currentProjectType === ProjectType.EMBEDDED;
|
549
|
+
const managedModeBlurb =
|
550
|
+
'Managed Projects are managed by our SDLC server, which includes managing the build and deployment of your project.This enables rich features such as releasing and dependency management work within our ecosystem.This is the recommended mode and should not be changed unless your customized build is robust to handle these operations and you are aware of the different features our managed mode provides.';
|
551
|
+
const embeddedModeBlurb =
|
552
|
+
'Embedded Projects have their own customized build. The build is managed directly on the underlying version system (gitlab, github etc) and the owners of the projects are responsible for managing their build and incorporating the necessary steps to enable features such as releasing and dependency management. Our SDLC server still manages the file structure of where the elements entities are located and correlate with the project structure version.';
|
553
|
+
const managedToEmbedded =
|
554
|
+
'You are about to change from managed to embedded project type. This will cause your build files (pom, ci etc) to no longer be managed by our SDLC process. Your element folder structure will remain managed by us but your build will become your responsibility. Please ensure you understand the risks of changing over before continuing.';
|
555
|
+
const embeddedToManaged =
|
556
|
+
'You are about to change from embedded to managed project type. Your build will now be managed by our SDLC sever in addition to your element folder structure. Your current build files will all be deleted and replaces with our own. Please ensure you understand the risks of changing over before continuing.';
|
557
|
+
const changeProjectType = (): void => {
|
558
|
+
applicationStore.alertService.setActionAlertInfo({
|
559
|
+
message: `${isEmbeddedMode ? embeddedToManaged : managedToEmbedded}`,
|
560
|
+
prompt: 'Do you want to proceed?',
|
561
|
+
type: ActionAlertType.CAUTION,
|
562
|
+
actions: [
|
563
|
+
{
|
564
|
+
label: 'Continue',
|
565
|
+
type: ActionAlertActionType.PROCEED_WITH_CAUTION,
|
566
|
+
handler: () => {
|
567
|
+
flowResult(
|
568
|
+
editorStore.projectConfigurationEditorState.changeProjectType(),
|
569
|
+
).catch(applicationStore.alertUnhandledError);
|
570
|
+
},
|
571
|
+
},
|
572
|
+
{
|
573
|
+
label: 'Cancel',
|
574
|
+
type: ActionAlertActionType.PROCEED,
|
575
|
+
default: true,
|
576
|
+
},
|
577
|
+
],
|
578
|
+
});
|
579
|
+
};
|
580
|
+
|
581
|
+
return (
|
582
|
+
<Panel>
|
583
|
+
<PanelForm>
|
584
|
+
<div className="panel__content__form__section__header__label">
|
585
|
+
{`Project Type: ${prettyCONSTName(currentProjectType)} `}
|
586
|
+
</div>
|
587
|
+
<div className="documentation-preview">
|
588
|
+
<div className="documentation-preview__text">
|
589
|
+
<div className="project-configuration-editor__advanced__project-type__info">
|
590
|
+
{managedModeBlurb}
|
591
|
+
</div>
|
592
|
+
<div className="project-configuration-editor__advanced__project-type__info">
|
593
|
+
{embeddedModeBlurb}
|
594
|
+
</div>
|
595
|
+
</div>
|
596
|
+
|
597
|
+
<div className="documentation-preview__hint">
|
598
|
+
<DocumentationLink
|
599
|
+
documentationKey={
|
600
|
+
LEGEND_STUDIO_DOCUMENTATION_KEY.QUESTION_WHAT_IS_EMBEDDED_MODE_PROJECT_TYPE
|
601
|
+
}
|
602
|
+
/>
|
603
|
+
</div>
|
604
|
+
</div>
|
605
|
+
<div className="platform-configurations-editor__dependencies">
|
606
|
+
<div className="platform-configurations-editor__dependencies__header">
|
607
|
+
<button
|
608
|
+
className="btn--dark btn--conflict btn--important project-configuration-editor__advanced__caution__btn"
|
609
|
+
onClick={changeProjectType}
|
610
|
+
tabIndex={-1}
|
611
|
+
>
|
612
|
+
{`Change to ${
|
613
|
+
isEmbeddedMode ? 'Managed Type' : 'Embedded Type'
|
614
|
+
}`}
|
615
|
+
</button>
|
616
|
+
</div>
|
617
|
+
</div>
|
618
|
+
</PanelForm>
|
619
|
+
</Panel>
|
620
|
+
);
|
621
|
+
},
|
622
|
+
);
|
623
|
+
|
514
624
|
export const ProjectConfigurationEditor = observer(() => {
|
515
625
|
const editorStore = useEditorStore();
|
516
626
|
const applicationStore = useApplicationStore();
|
517
627
|
const configState = editorStore.tabManagerState.getCurrentEditorState(
|
518
628
|
ProjectConfigurationEditorState,
|
519
629
|
);
|
630
|
+
const projectType =
|
631
|
+
configState.originalConfig.projectType ?? ProjectType.MANAGED;
|
520
632
|
const sdlcState = editorStore.sdlcState;
|
521
633
|
const isReadOnly = editorStore.isInViewerMode;
|
522
634
|
const selectedTab = configState.selectedTab;
|
635
|
+
const dependencyEditorState = configState.projectDependencyEditorState;
|
523
636
|
const tabs = [
|
524
637
|
CONFIGURATION_EDITOR_TAB.PROJECT_STRUCTURE,
|
525
638
|
CONFIGURATION_EDITOR_TAB.PROJECT_DEPENDENCIES,
|
526
639
|
CONFIGURATION_EDITOR_TAB.PLATFORM_CONFIGURATIONS,
|
527
|
-
|
640
|
+
CONFIGURATION_EDITOR_TAB.ADVANCED,
|
641
|
+
].filter((tab) => projectTypeTabFilter(projectType, tab));
|
528
642
|
const changeTab =
|
529
643
|
(tab: CONFIGURATION_EDITOR_TAB): (() => void) =>
|
530
644
|
(): void =>
|
@@ -664,6 +778,10 @@ export const ProjectConfigurationEditor = observer(() => {
|
|
664
778
|
if (!configState.projectConfiguration) {
|
665
779
|
return null;
|
666
780
|
}
|
781
|
+
const isLoading =
|
782
|
+
configState.updatingConfigurationState.isInProgress ||
|
783
|
+
configState.fetchingProjectVersionsState.isInProgress ||
|
784
|
+
dependencyEditorState.fetchingDependencyInfoState.isInProgress;
|
667
785
|
return (
|
668
786
|
<div className="project-configuration-editor">
|
669
787
|
<Panel>
|
@@ -717,6 +835,7 @@ export const ProjectConfigurationEditor = observer(() => {
|
|
717
835
|
</PanelHeaderActions>
|
718
836
|
</PanelHeader>
|
719
837
|
<PanelContent className="project-configuration-editor__content">
|
838
|
+
<PanelLoadingIndicator isLoading={isLoading} />
|
720
839
|
{selectedTab === CONFIGURATION_EDITOR_TAB.PROJECT_STRUCTURE && (
|
721
840
|
<ProjectStructureEditor
|
722
841
|
projectConfig={currentProjectConfiguration}
|
@@ -732,6 +851,12 @@ export const ProjectConfigurationEditor = observer(() => {
|
|
732
851
|
isReadOnly={isReadOnly}
|
733
852
|
/>
|
734
853
|
)}
|
854
|
+
{selectedTab === CONFIGURATION_EDITOR_TAB.ADVANCED && (
|
855
|
+
<ProjectAdvancedEditor
|
856
|
+
projectConfig={currentProjectConfiguration}
|
857
|
+
isReadOnly={isReadOnly}
|
858
|
+
/>
|
859
|
+
)}
|
735
860
|
</PanelContent>
|
736
861
|
</Panel>
|
737
862
|
</div>
|
package/src/components/editor/editor-group/project-configuration-editor/ProjectDependencyEditor.tsx
CHANGED
@@ -995,7 +995,6 @@ export const ProjectDependencyEditor = observer(() => {
|
|
995
995
|
|
996
996
|
return (
|
997
997
|
<PanelContentLists>
|
998
|
-
<PanelLoadingIndicator isLoading={isLoading} />
|
999
998
|
{isLoading && (
|
1000
999
|
<div className="project-dependency-editor__progress-msg">
|
1001
1000
|
{configState.updatingConfigurationState.isInProgress
|