@finos/legend-extension-dsl-data-quality 1.0.61 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/{DSL_DataQuality_ClassElementDriver.d.ts → DSL_DataQuality_ElementDriver.d.ts} +17 -7
- package/lib/components/DSL_DataQuality_ElementDriver.d.ts.map +1 -0
- package/lib/components/{DSL_DataQuality_ClassElementDriver.js → DSL_DataQuality_ElementDriver.js} +70 -23
- package/lib/components/DSL_DataQuality_ElementDriver.js.map +1 -0
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts.map +1 -1
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js +20 -39
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js.map +1 -1
- package/lib/components/{DSL_NewDataQualityClassValidationElement.d.ts → DSL_NewDataQualityValidationElement.d.ts} +2 -2
- package/lib/components/DSL_NewDataQualityValidationElement.d.ts.map +1 -0
- package/lib/components/DSL_NewDataQualityValidationElement.js +80 -0
- package/lib/components/DSL_NewDataQualityValidationElement.js.map +1 -0
- package/lib/components/DataQualityRelationTrialRuns.d.ts +22 -0
- package/lib/components/DataQualityRelationTrialRuns.d.ts.map +1 -0
- package/lib/components/DataQualityRelationTrialRuns.js +87 -0
- package/lib/components/DataQualityRelationTrialRuns.js.map +1 -0
- package/lib/components/{DSL_NewDataQualityServiceValidationElement.d.ts → DataQualityRelationValidationConfigurationEditor.d.ts} +2 -2
- package/lib/components/DataQualityRelationValidationConfigurationEditor.d.ts.map +1 -0
- package/lib/components/DataQualityRelationValidationConfigurationEditor.js +99 -0
- package/lib/components/DataQualityRelationValidationConfigurationEditor.js.map +1 -0
- package/lib/components/DataQualityRelationValidationEditor.d.ts +30 -0
- package/lib/components/DataQualityRelationValidationEditor.d.ts.map +1 -0
- package/lib/components/DataQualityRelationValidationEditor.js +89 -0
- package/lib/components/DataQualityRelationValidationEditor.js.map +1 -0
- package/lib/components/DataQualityResultPanel.d.ts.map +1 -1
- package/lib/components/DataQualityResultPanel.js +1 -1
- package/lib/components/DataQualityResultPanel.js.map +1 -1
- package/lib/components/DataQualityResultValues.d.ts +0 -2
- package/lib/components/DataQualityResultValues.d.ts.map +1 -1
- package/lib/components/DataQualityResultValues.js.map +1 -1
- package/lib/components/DataQualitySideBar.js +2 -2
- package/lib/components/DataQualitySideBar.js.map +1 -1
- package/lib/components/DataQualityValidationDetailPanel.d.ts +36 -0
- package/lib/components/DataQualityValidationDetailPanel.d.ts.map +1 -0
- package/lib/components/DataQualityValidationDetailPanel.js +39 -0
- package/lib/components/DataQualityValidationDetailPanel.js.map +1 -0
- package/lib/components/DataQualityValidationParametersEditor.d.ts +15 -0
- package/lib/components/DataQualityValidationParametersEditor.d.ts.map +1 -0
- package/lib/components/DataQualityValidationParametersEditor.js +129 -0
- package/lib/components/DataQualityValidationParametersEditor.js.map +1 -0
- package/lib/components/states/ConstraintState.d.ts +2 -0
- package/lib/components/states/ConstraintState.d.ts.map +1 -1
- package/lib/components/states/ConstraintState.js +2 -0
- package/lib/components/states/ConstraintState.js.map +1 -1
- package/lib/components/states/DataQualityClassValidationState.d.ts +2 -2
- package/lib/components/states/DataQualityClassValidationState.d.ts.map +1 -1
- package/lib/components/states/DataQualityClassValidationState.js +4 -4
- package/lib/components/states/DataQualityClassValidationState.js.map +1 -1
- package/lib/components/states/DataQualityRelationResultState.d.ts +46 -0
- package/lib/components/states/DataQualityRelationResultState.d.ts.map +1 -0
- package/lib/components/states/DataQualityRelationResultState.js +194 -0
- package/lib/components/states/DataQualityRelationResultState.js.map +1 -0
- package/lib/components/states/DataQualityRelationValidationConfigurationState.d.ts +73 -0
- package/lib/components/states/DataQualityRelationValidationConfigurationState.d.ts.map +1 -0
- package/lib/components/states/DataQualityRelationValidationConfigurationState.js +255 -0
- package/lib/components/states/DataQualityRelationValidationConfigurationState.js.map +1 -0
- package/lib/components/states/DataQualityRelationValidationLambdaEditorState.d.ts +32 -0
- package/lib/components/states/DataQualityRelationValidationLambdaEditorState.d.ts.map +1 -0
- package/lib/components/states/DataQualityRelationValidationLambdaEditorState.js +79 -0
- package/lib/components/states/DataQualityRelationValidationLambdaEditorState.js.map +1 -0
- package/lib/components/states/DataQualityRelationValidationState.d.ts +38 -0
- package/lib/components/states/DataQualityRelationValidationState.d.ts.map +1 -0
- package/lib/components/states/DataQualityRelationValidationState.js +119 -0
- package/lib/components/states/DataQualityRelationValidationState.js.map +1 -0
- package/lib/components/states/DataQualityResultState.d.ts.map +1 -1
- package/lib/components/states/DataQualityResultState.js +6 -3
- package/lib/components/states/DataQualityResultState.js.map +1 -1
- package/lib/components/states/DataQualityState.js +1 -1
- package/lib/components/states/DataQualityState.js.map +1 -1
- package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts +5 -1
- package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts.map +1 -1
- package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js +4 -0
- package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js.map +1 -1
- package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts.map +1 -1
- package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js +2 -1
- package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts +36 -3
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js +58 -4
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js.map +1 -1
- package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts +2 -1
- package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts.map +1 -1
- package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js +2 -1
- package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js.map +1 -1
- package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts +13 -2
- package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts.map +1 -1
- package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js +36 -2
- package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js.map +1 -1
- package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts.map +1 -1
- package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js +5 -2
- package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js.map +1 -1
- package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts +5 -1
- package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts.map +1 -1
- package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js +29 -2
- package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts +6 -5
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js +34 -40
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts +8 -6
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js +19 -12
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/{V1_DataQualityConstraintsConfiguration.d.ts → V1_DataQualityValidationConfiguration.d.ts} +26 -4
- package/lib/graph-manager/protocol/pure/v1/V1_DataQualityValidationConfiguration.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/{V1_DataQualityConstraintsConfiguration.js → V1_DataQualityValidationConfiguration.js} +49 -4
- package/lib/graph-manager/protocol/pure/v1/V1_DataQualityValidationConfiguration.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.d.ts +7 -3
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.js +43 -3
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.d.ts +6 -3
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.js +39 -2
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts +5 -2
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js +27 -9
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/package.json +7 -7
- package/src/components/{DSL_DataQuality_ClassElementDriver.tsx → DSL_DataQuality_ElementDriver.tsx} +87 -18
- package/src/components/DSL_DataQuality_LegendStudioApplicationPlugin.tsx +33 -48
- package/src/components/DSL_NewDataQualityValidationElement.tsx +208 -0
- package/src/components/DataQualityRelationTrialRuns.tsx +288 -0
- package/src/components/DataQualityRelationValidationConfigurationEditor.tsx +364 -0
- package/src/components/DataQualityRelationValidationEditor.tsx +290 -0
- package/src/components/DataQualityResultPanel.tsx +1 -4
- package/src/components/DataQualityResultValues.tsx +1 -5
- package/src/components/DataQualitySideBar.tsx +2 -2
- package/src/components/DataQualityValidationDetailPanel.tsx +182 -0
- package/src/components/DataQualityValidationParametersEditor.tsx +355 -0
- package/src/components/states/ConstraintState.ts +2 -0
- package/src/components/states/DataQualityClassValidationState.ts +5 -5
- package/src/components/states/DataQualityRelationResultState.ts +274 -0
- package/src/components/states/DataQualityRelationValidationConfigurationState.ts +429 -0
- package/src/components/states/DataQualityRelationValidationLambdaEditorState.ts +138 -0
- package/src/components/states/DataQualityRelationValidationState.ts +180 -0
- package/src/components/states/DataQualityResultState.ts +6 -8
- package/src/components/states/DataQualityState.ts +1 -1
- package/src/graph/metamodel/DSL_DataQuality_HashUtils.ts +4 -0
- package/src/graph/metamodel/DSL_DataQuality_PureGraphPlugin.ts +2 -0
- package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.ts +79 -3
- package/src/graph-manager/DSL_DataQuality_GraphManagerHelper.ts +13 -0
- package/src/graph-manager/DSL_DataQuality_GraphModifierHelper.ts +107 -0
- package/src/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.ts +8 -0
- package/src/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.ts +54 -1
- package/src/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.ts +5 -3
- package/src/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.ts +72 -81
- package/src/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.ts +20 -23
- package/src/graph-manager/protocol/pure/v1/{V1_DataQualityConstraintsConfiguration.ts → V1_DataQualityValidationConfiguration.ts} +63 -4
- package/src/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationBuilderHelper.ts +116 -2
- package/src/graph-manager/protocol/pure/v1/transformation/V1_DSL_DataQuality_ValueSpecificationTransformer.ts +78 -1
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.ts +55 -8
- package/style/_data-quality-relation-validation-builder.scss +454 -0
- package/style/index.scss +6 -0
- package/tsconfig.json +13 -6
- package/lib/components/DSL_DataQuality_ClassElementDriver.d.ts.map +0 -1
- package/lib/components/DSL_DataQuality_ClassElementDriver.js.map +0 -1
- package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts +0 -27
- package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts.map +0 -1
- package/lib/components/DSL_DataQuality_ServiceElementDriver.js +0 -41
- package/lib/components/DSL_DataQuality_ServiceElementDriver.js.map +0 -1
- package/lib/components/DSL_NewDataQualityClassValidationElement.d.ts.map +0 -1
- package/lib/components/DSL_NewDataQualityClassValidationElement.js +0 -64
- package/lib/components/DSL_NewDataQualityClassValidationElement.js.map +0 -1
- package/lib/components/DSL_NewDataQualityServiceValidationElement.d.ts.map +0 -1
- package/lib/components/DSL_NewDataQualityServiceValidationElement.js +0 -41
- package/lib/components/DSL_NewDataQualityServiceValidationElement.js.map +0 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.d.ts.map +0 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.js.map +0 -1
- package/src/components/DSL_DataQuality_ServiceElementDriver.tsx +0 -57
- package/src/components/DSL_NewDataQualityClassValidationElement.tsx +0 -156
- package/src/components/DSL_NewDataQualityServiceValidationElement.tsx +0 -74
package/lib/package.json
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-extension-dsl-data-quality",
|
3
|
-
"version": "
|
3
|
+
"version": "2.0.1",
|
4
4
|
"description": "Legend extension for Data Quality",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -43,13 +43,13 @@
|
|
43
43
|
},
|
44
44
|
"dependencies": {
|
45
45
|
"@finos/legend-application": "16.0.10",
|
46
|
-
"@finos/legend-application-studio": "28.18.
|
46
|
+
"@finos/legend-application-studio": "28.18.58",
|
47
47
|
"@finos/legend-art": "7.1.68",
|
48
|
-
"@finos/legend-code-editor": "2.0.
|
49
|
-
"@finos/legend-extension-dsl-data-space": "10.4.
|
50
|
-
"@finos/legend-graph": "31.10.
|
51
|
-
"@finos/legend-lego": "2.0.
|
52
|
-
"@finos/legend-query-builder": "4.15.
|
48
|
+
"@finos/legend-code-editor": "2.0.19",
|
49
|
+
"@finos/legend-extension-dsl-data-space": "10.4.9",
|
50
|
+
"@finos/legend-graph": "31.10.53",
|
51
|
+
"@finos/legend-lego": "2.0.21",
|
52
|
+
"@finos/legend-query-builder": "4.15.18",
|
53
53
|
"@finos/legend-shared": "10.0.61",
|
54
54
|
"@finos/legend-storage": "3.0.112",
|
55
55
|
"@types/react": "18.3.12",
|
package/src/components/{DSL_DataQuality_ClassElementDriver.tsx → DSL_DataQuality_ElementDriver.tsx}
RENAMED
@@ -19,9 +19,13 @@ import {
|
|
19
19
|
NewElementDriver,
|
20
20
|
} from '@finos/legend-application-studio';
|
21
21
|
import {
|
22
|
+
type DataQualityValidationConfiguration,
|
22
23
|
DataQualityClassValidationsConfiguration,
|
24
|
+
DataQualityServiceValidationConfiguration,
|
25
|
+
DataQualityRelationValidationConfiguration,
|
23
26
|
DataSpaceDataQualityExecutionContext,
|
24
27
|
MappingAndRuntimeDataQualityExecutionContext,
|
28
|
+
DataQualityRelationQueryLambda,
|
25
29
|
} from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
|
26
30
|
import { action, computed, makeObservable, observable } from 'mobx';
|
27
31
|
import {
|
@@ -53,13 +57,20 @@ export type RuntimeOption = {
|
|
53
57
|
value: PackageableRuntime | undefined;
|
54
58
|
};
|
55
59
|
|
56
|
-
export enum
|
60
|
+
export enum CLASS_ELEMENT_CREATION_BASIS {
|
57
61
|
MAPPING_RUNTIME_BASED = 'Mapping/Runtime',
|
58
62
|
DATASPACE_BASED = 'DataSpace',
|
59
63
|
}
|
60
64
|
|
61
|
-
export
|
62
|
-
|
65
|
+
export enum DQ_VALIDATION_ELEMENT_TYPE {
|
66
|
+
CLASS_VALIDATION = 'ClassValidation',
|
67
|
+
SERVICE_VALIDATION = 'ServiceValidation',
|
68
|
+
RELATION_VALIDATION = 'RelationValidation',
|
69
|
+
}
|
70
|
+
|
71
|
+
export class DataQuality_ElementDriver extends NewElementDriver<DataQualityValidationConfiguration> {
|
72
|
+
dqValidationElementType: DQ_VALIDATION_ELEMENT_TYPE;
|
73
|
+
dqClassElementCreationBasis: CLASS_ELEMENT_CREATION_BASIS;
|
63
74
|
dataSpaceSelected: PackageableElementOption<DataSpace> | undefined;
|
64
75
|
mappingSelected: PackageableElementOption<Mapping> | undefined;
|
65
76
|
runtimeSelected: RuntimeOption | undefined;
|
@@ -71,14 +82,18 @@ export class DataQuality_ClassElementDriver extends NewElementDriver<DataQuality
|
|
71
82
|
dataSpaceSelected: observable,
|
72
83
|
mappingSelected: observable,
|
73
84
|
runtimeSelected: observable,
|
74
|
-
|
85
|
+
dqValidationElementType: observable,
|
86
|
+
dqClassElementCreationBasis: observable,
|
75
87
|
setDataSpaceSelected: action,
|
76
88
|
setMappingSelected: action,
|
77
89
|
setRuntimeSelected: action,
|
78
|
-
|
90
|
+
setDqClassElementCreationBasis: action,
|
91
|
+
setDqValidationElementType: action,
|
79
92
|
runtimeOptions: computed,
|
80
93
|
});
|
81
|
-
this.
|
94
|
+
this.dqValidationElementType = DQ_VALIDATION_ELEMENT_TYPE.CLASS_VALIDATION;
|
95
|
+
this.dqClassElementCreationBasis =
|
96
|
+
CLASS_ELEMENT_CREATION_BASIS.DATASPACE_BASED;
|
82
97
|
this.dataSpaceSelected = getNullableFirstEntry(this.dataSpaceOptions);
|
83
98
|
this.mappingSelected = getNullableFirstEntry(this.mappingOptions);
|
84
99
|
this.runtimeSelected = getNullableFirstEntry(this.runtimeOptions);
|
@@ -127,27 +142,64 @@ export class DataQuality_ClassElementDriver extends NewElementDriver<DataQuality
|
|
127
142
|
this.runtimeSelected = runtimeSelected;
|
128
143
|
}
|
129
144
|
|
130
|
-
|
131
|
-
|
145
|
+
setDqClassElementCreationBasis(
|
146
|
+
dqClassElementCreationBasis: CLASS_ELEMENT_CREATION_BASIS,
|
147
|
+
): void {
|
148
|
+
this.dqClassElementCreationBasis = dqClassElementCreationBasis;
|
149
|
+
}
|
150
|
+
|
151
|
+
setDqValidationElementType(
|
152
|
+
dqValidationElementType: DQ_VALIDATION_ELEMENT_TYPE,
|
132
153
|
): void {
|
133
|
-
this.
|
154
|
+
this.dqValidationElementType = dqValidationElementType;
|
134
155
|
}
|
135
156
|
|
136
157
|
get isValid(): boolean {
|
137
158
|
if (
|
138
|
-
this.
|
159
|
+
this.dqValidationElementType ===
|
160
|
+
DQ_VALIDATION_ELEMENT_TYPE.RELATION_VALIDATION ||
|
161
|
+
this.dqValidationElementType ===
|
162
|
+
DQ_VALIDATION_ELEMENT_TYPE.SERVICE_VALIDATION
|
163
|
+
) {
|
164
|
+
return true;
|
165
|
+
}
|
166
|
+
if (
|
167
|
+
this.dqClassElementCreationBasis ===
|
168
|
+
CLASS_ELEMENT_CREATION_BASIS.DATASPACE_BASED
|
139
169
|
) {
|
140
170
|
return Boolean(this.dataSpaceSelected);
|
141
171
|
}
|
142
172
|
return Boolean(this.mappingSelected && this.runtimeSelected);
|
143
173
|
}
|
144
174
|
|
145
|
-
|
175
|
+
createRelationValidationElement(
|
176
|
+
name: string,
|
177
|
+
): DataQualityValidationConfiguration {
|
178
|
+
const relationValidationConfiguration =
|
179
|
+
new DataQualityRelationValidationConfiguration(name);
|
180
|
+
relationValidationConfiguration.query =
|
181
|
+
new DataQualityRelationQueryLambda();
|
182
|
+
relationValidationConfiguration.query.body =
|
183
|
+
this.editorStore.graphManagerState.graphManager.createDefaultBasicRawLambda().body;
|
184
|
+
this.editorStore.graphManagerState.graphManager.createDefaultBasicRawLambda();
|
185
|
+
return relationValidationConfiguration;
|
186
|
+
}
|
187
|
+
|
188
|
+
createServiceValidationElement(
|
189
|
+
name: string,
|
190
|
+
): DataQualityValidationConfiguration {
|
191
|
+
return new DataQualityServiceValidationConfiguration(name);
|
192
|
+
}
|
193
|
+
|
194
|
+
createClassValidationElement(
|
195
|
+
name: string,
|
196
|
+
): DataQualityValidationConfiguration {
|
146
197
|
let usableClasses: Class[] = [];
|
147
|
-
const
|
198
|
+
const dataQualityClassConstraintsConfiguration =
|
148
199
|
new DataQualityClassValidationsConfiguration(name);
|
149
200
|
if (
|
150
|
-
this.
|
201
|
+
this.dqClassElementCreationBasis ===
|
202
|
+
CLASS_ELEMENT_CREATION_BASIS.DATASPACE_BASED
|
151
203
|
) {
|
152
204
|
const dataSpaceToSet = PackageableElementExplicitReference.create(
|
153
205
|
this.dataSpaceSelected!.value,
|
@@ -157,8 +209,9 @@ export class DataQuality_ClassElementDriver extends NewElementDriver<DataQuality
|
|
157
209
|
dataSpaceExecutionContext.context =
|
158
210
|
dataSpaceToSet.value.defaultExecutionContext.name;
|
159
211
|
dataSpaceExecutionContext.dataSpace = dataSpaceToSet;
|
160
|
-
|
161
|
-
|
212
|
+
dataQualityClassConstraintsConfiguration.context =
|
213
|
+
dataSpaceExecutionContext;
|
214
|
+
dataQualityClassConstraintsConfiguration.dataQualityRootGraphFetchTree =
|
162
215
|
undefined;
|
163
216
|
usableClasses = resolveUsableDataSpaceClasses(
|
164
217
|
dataSpaceToSet.value,
|
@@ -177,7 +230,7 @@ export class DataQuality_ClassElementDriver extends NewElementDriver<DataQuality
|
|
177
230
|
new MappingAndRuntimeDataQualityExecutionContext();
|
178
231
|
mappingAndRuntimeExecutionContext.mapping = mapping;
|
179
232
|
mappingAndRuntimeExecutionContext.runtime = runtimeValue;
|
180
|
-
|
233
|
+
dataQualityClassConstraintsConfiguration.context =
|
181
234
|
mappingAndRuntimeExecutionContext;
|
182
235
|
usableClasses = getMappingCompatibleClasses(
|
183
236
|
mapping.value,
|
@@ -190,8 +243,24 @@ export class DataQuality_ClassElementDriver extends NewElementDriver<DataQuality
|
|
190
243
|
'Must have at least one usable class with given mapping',
|
191
244
|
);
|
192
245
|
}
|
193
|
-
|
246
|
+
dataQualityClassConstraintsConfiguration.dataQualityRootGraphFetchTree =
|
194
247
|
buildDefaultDataQualityRootGraphFetchTree(usableClasses[0]!);
|
195
|
-
return
|
248
|
+
return dataQualityClassConstraintsConfiguration;
|
249
|
+
}
|
250
|
+
|
251
|
+
createElement(name: string): DataQualityValidationConfiguration {
|
252
|
+
switch (this.dqValidationElementType) {
|
253
|
+
case DQ_VALIDATION_ELEMENT_TYPE.RELATION_VALIDATION:
|
254
|
+
return this.createRelationValidationElement(name);
|
255
|
+
case DQ_VALIDATION_ELEMENT_TYPE.SERVICE_VALIDATION:
|
256
|
+
return this.createServiceValidationElement(name);
|
257
|
+
case DQ_VALIDATION_ELEMENT_TYPE.CLASS_VALIDATION:
|
258
|
+
return this.createClassValidationElement(name);
|
259
|
+
|
260
|
+
default:
|
261
|
+
throw new UnsupportedOperationError(
|
262
|
+
`Can't create data quality validation configuration of type '${this.dqValidationElementType}'`,
|
263
|
+
);
|
264
|
+
}
|
196
265
|
}
|
197
266
|
}
|
@@ -17,44 +17,41 @@
|
|
17
17
|
import packageJson from '../../package.json';
|
18
18
|
import {
|
19
19
|
type DSL_LegendStudioApplicationPlugin_Extension,
|
20
|
+
type EditorStore,
|
20
21
|
type ElementClassifier,
|
21
22
|
type ElementEditorRenderer,
|
23
|
+
type ElementEditorState,
|
22
24
|
type ElementEditorStateCreator,
|
23
25
|
type ElementIconGetter,
|
24
26
|
type ElementTypeLabelGetter,
|
27
|
+
type NewElementDriver,
|
25
28
|
type NewElementDriverCreator,
|
26
29
|
type NewElementDriverEditorRenderer,
|
27
30
|
type NewElementFromStateCreator,
|
28
|
-
type ElementEditorState,
|
29
|
-
type NewElementDriver,
|
30
|
-
type EditorStore,
|
31
31
|
type NewElementState,
|
32
32
|
LegendStudioApplicationPlugin,
|
33
33
|
PACKAGEABLE_ELEMENT_GROUP_BY_CATEGORY,
|
34
34
|
} from '@finos/legend-application-studio';
|
35
35
|
import type { PackageableElement } from '@finos/legend-graph';
|
36
|
+
import { type ReactNode } from 'react';
|
36
37
|
import {
|
37
38
|
DataQualityClassValidationsConfiguration,
|
38
39
|
DataQualityServiceValidationConfiguration,
|
40
|
+
DataQualityRelationValidationConfiguration,
|
41
|
+
DataQualityValidationConfiguration,
|
39
42
|
} from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
|
40
43
|
import { EyeIcon } from '@finos/legend-art';
|
41
44
|
import { DataQualityClassValidationEditor } from './DataQualityClassValidationEditor.js';
|
42
|
-
import {
|
43
|
-
import { NewDataQualityServiceValidationElementEditor } from './DSL_NewDataQualityServiceValidationElement.js';
|
44
|
-
import { DataQuality_ServiceElementDriver } from './DSL_DataQuality_ServiceElementDriver.js';
|
45
|
+
import { DataQuality_ElementDriver } from './DSL_DataQuality_ElementDriver.js';
|
45
46
|
import { DataQualityServiceValidationEditor } from './DataQualityServiceValidationEditor.js';
|
46
47
|
import { DataQualityClassValidationState } from './states/DataQualityClassValidationState.js';
|
47
|
-
import {
|
48
|
-
import { type ReactNode } from 'react';
|
48
|
+
import { NewDataQualityValidationElementEditor } from './DSL_NewDataQualityValidationElement.js';
|
49
49
|
import { DataQualityServiceValidationState } from './states/DataQualityServiceValidationState.js';
|
50
|
+
import { DataQualityRelationValidationConfigurationState } from './states/DataQualityRelationValidationConfigurationState.js';
|
51
|
+
import { DataQualityRelationValidationConfigurationEditor } from './DataQualityRelationValidationConfigurationEditor.js';
|
50
52
|
|
51
|
-
const DATA_QUALITY_ELEMENT_TYPE = '
|
52
|
-
const
|
53
|
-
'DATAQUALITYSERVICEVALIDATION';
|
54
|
-
|
55
|
-
const DATA_QUALITY_ELEMENT_TYPE_LABEL = 'Data Quality Class Validation';
|
56
|
-
const DATA_QUALITY_SERVICE_VALIDATION_TYPE_LABEL =
|
57
|
-
'Data Quality Service Validation';
|
53
|
+
const DATA_QUALITY_ELEMENT_TYPE = 'DATAQUALITYVALIDATION';
|
54
|
+
const DATA_QUALITY_ELEMENT_TYPE_LABEL = 'Data Quality Validation';
|
58
55
|
|
59
56
|
export class DSL_DataQuality_LegendStudioApplicationPlugin
|
60
57
|
extends LegendStudioApplicationPlugin
|
@@ -65,17 +62,13 @@ export class DSL_DataQuality_LegendStudioApplicationPlugin
|
|
65
62
|
}
|
66
63
|
|
67
64
|
getExtraSupportedElementTypes(): string[] {
|
68
|
-
return [
|
69
|
-
DATA_QUALITY_ELEMENT_TYPE,
|
70
|
-
DATA_QUALITY_SERVICE_VALIDATION_ELEMENT_TYPE,
|
71
|
-
];
|
65
|
+
return [DATA_QUALITY_ELEMENT_TYPE];
|
72
66
|
}
|
73
67
|
|
74
68
|
getExtraSupportedElementTypesWithCategory(): Map<string, string[]> {
|
75
69
|
const elementTypeswithCategory = new Map<string, string[]>();
|
76
70
|
elementTypeswithCategory.set(PACKAGEABLE_ELEMENT_GROUP_BY_CATEGORY.OTHER, [
|
77
71
|
DATA_QUALITY_ELEMENT_TYPE,
|
78
|
-
// DATA_QUALITY_SERVICE_VALIDATION_ELEMENT_TYPE,
|
79
72
|
]);
|
80
73
|
return elementTypeswithCategory;
|
81
74
|
}
|
@@ -83,12 +76,9 @@ export class DSL_DataQuality_LegendStudioApplicationPlugin
|
|
83
76
|
getExtraElementClassifiers(): ElementClassifier[] {
|
84
77
|
return [
|
85
78
|
(element: PackageableElement): string | undefined => {
|
86
|
-
if (element instanceof
|
79
|
+
if (element instanceof DataQualityValidationConfiguration) {
|
87
80
|
return DATA_QUALITY_ELEMENT_TYPE;
|
88
81
|
}
|
89
|
-
if (element instanceof DataQualityServiceValidationConfiguration) {
|
90
|
-
return DATA_QUALITY_SERVICE_VALIDATION_ELEMENT_TYPE;
|
91
|
-
}
|
92
82
|
return undefined;
|
93
83
|
},
|
94
84
|
];
|
@@ -104,13 +94,6 @@ export class DSL_DataQuality_LegendStudioApplicationPlugin
|
|
104
94
|
</div>
|
105
95
|
);
|
106
96
|
}
|
107
|
-
if (type === DATA_QUALITY_SERVICE_VALIDATION_ELEMENT_TYPE) {
|
108
|
-
return (
|
109
|
-
<div className="icon icon--dataQuality">
|
110
|
-
<EyeIcon />
|
111
|
-
</div>
|
112
|
-
);
|
113
|
-
}
|
114
97
|
return undefined;
|
115
98
|
},
|
116
99
|
];
|
@@ -122,9 +105,6 @@ export class DSL_DataQuality_LegendStudioApplicationPlugin
|
|
122
105
|
if (type === DATA_QUALITY_ELEMENT_TYPE) {
|
123
106
|
return DATA_QUALITY_ELEMENT_TYPE_LABEL;
|
124
107
|
}
|
125
|
-
if (type === DATA_QUALITY_SERVICE_VALIDATION_ELEMENT_TYPE) {
|
126
|
-
return DATA_QUALITY_SERVICE_VALIDATION_TYPE_LABEL;
|
127
|
-
}
|
128
108
|
return undefined;
|
129
109
|
},
|
130
110
|
];
|
@@ -139,12 +119,7 @@ export class DSL_DataQuality_LegendStudioApplicationPlugin
|
|
139
119
|
): PackageableElement | undefined => {
|
140
120
|
if (type === DATA_QUALITY_ELEMENT_TYPE) {
|
141
121
|
return state
|
142
|
-
.getNewElementDriver(
|
143
|
-
.createElement(name);
|
144
|
-
}
|
145
|
-
if (type === DATA_QUALITY_SERVICE_VALIDATION_ELEMENT_TYPE) {
|
146
|
-
return state
|
147
|
-
.getNewElementDriver(DataQuality_ServiceElementDriver)
|
122
|
+
.getNewElementDriver(DataQuality_ElementDriver)
|
148
123
|
.createElement(name);
|
149
124
|
}
|
150
125
|
return undefined;
|
@@ -165,6 +140,16 @@ export class DSL_DataQuality_LegendStudioApplicationPlugin
|
|
165
140
|
<DataQualityClassValidationEditor key={elementEditorState.uuid} />
|
166
141
|
);
|
167
142
|
}
|
143
|
+
if (
|
144
|
+
elementEditorState instanceof
|
145
|
+
DataQualityRelationValidationConfigurationState
|
146
|
+
) {
|
147
|
+
return (
|
148
|
+
<DataQualityRelationValidationConfigurationEditor
|
149
|
+
key={elementEditorState.uuid}
|
150
|
+
/>
|
151
|
+
);
|
152
|
+
}
|
168
153
|
return undefined;
|
169
154
|
},
|
170
155
|
];
|
@@ -182,6 +167,12 @@ export class DSL_DataQuality_LegendStudioApplicationPlugin
|
|
182
167
|
if (element instanceof DataQualityServiceValidationConfiguration) {
|
183
168
|
return new DataQualityServiceValidationState(editorStore, element);
|
184
169
|
}
|
170
|
+
if (element instanceof DataQualityRelationValidationConfiguration) {
|
171
|
+
return new DataQualityRelationValidationConfigurationState(
|
172
|
+
editorStore,
|
173
|
+
element,
|
174
|
+
);
|
175
|
+
}
|
185
176
|
return undefined;
|
186
177
|
},
|
187
178
|
];
|
@@ -191,10 +182,7 @@ export class DSL_DataQuality_LegendStudioApplicationPlugin
|
|
191
182
|
return [
|
192
183
|
(type: string): ReactNode | undefined => {
|
193
184
|
if (type === DATA_QUALITY_ELEMENT_TYPE) {
|
194
|
-
return <
|
195
|
-
}
|
196
|
-
if (type === DATA_QUALITY_SERVICE_VALIDATION_ELEMENT_TYPE) {
|
197
|
-
return <NewDataQualityServiceValidationElementEditor />;
|
185
|
+
return <NewDataQualityValidationElementEditor />;
|
198
186
|
}
|
199
187
|
return undefined;
|
200
188
|
},
|
@@ -208,10 +196,7 @@ export class DSL_DataQuality_LegendStudioApplicationPlugin
|
|
208
196
|
type: string,
|
209
197
|
): NewElementDriver<PackageableElement> | undefined => {
|
210
198
|
if (type === DATA_QUALITY_ELEMENT_TYPE) {
|
211
|
-
return new
|
212
|
-
}
|
213
|
-
if (type === DATA_QUALITY_SERVICE_VALIDATION_ELEMENT_TYPE) {
|
214
|
-
return new DataQuality_ServiceElementDriver(editorStore);
|
199
|
+
return new DataQuality_ElementDriver(editorStore);
|
215
200
|
}
|
216
201
|
return undefined;
|
217
202
|
},
|
@@ -0,0 +1,208 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2020-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
|
+
|
17
|
+
import { observer } from 'mobx-react-lite';
|
18
|
+
import { useEditorStore } from '@finos/legend-application-studio';
|
19
|
+
import { BaseRadioGroup, CustomSelectorInput } from '@finos/legend-art';
|
20
|
+
import type { Mapping } from '@finos/legend-graph';
|
21
|
+
import {
|
22
|
+
type PackageableElementOption,
|
23
|
+
buildElementOption,
|
24
|
+
} from '@finos/legend-lego/graph-editor';
|
25
|
+
import {
|
26
|
+
type RuntimeOption,
|
27
|
+
DataQuality_ElementDriver,
|
28
|
+
CLASS_ELEMENT_CREATION_BASIS,
|
29
|
+
DQ_VALIDATION_ELEMENT_TYPE,
|
30
|
+
} from './DSL_DataQuality_ElementDriver.js';
|
31
|
+
import type { DataSpace } from '@finos/legend-extension-dsl-data-space/graph';
|
32
|
+
import { prettyCONSTName } from '@finos/legend-shared';
|
33
|
+
|
34
|
+
export const NewDataQualityValidationElementEditor = observer(() => {
|
35
|
+
const editorStore = useEditorStore();
|
36
|
+
const applicationStore = editorStore.applicationStore;
|
37
|
+
|
38
|
+
const dataQualityValidationDriver =
|
39
|
+
editorStore.newElementState.getNewElementDriver(DataQuality_ElementDriver);
|
40
|
+
const dqValidationElementType =
|
41
|
+
dataQualityValidationDriver.dqValidationElementType;
|
42
|
+
const dqElementCreationBasis =
|
43
|
+
dataQualityValidationDriver.dqClassElementCreationBasis;
|
44
|
+
const dataSpacesOptions = dataQualityValidationDriver.dataSpaceOptions;
|
45
|
+
const mappingOptions = dataQualityValidationDriver.mappingOptions;
|
46
|
+
const runtimeOptions =
|
47
|
+
dataQualityValidationDriver.compatibleMappingRuntimes.map(
|
48
|
+
buildElementOption,
|
49
|
+
);
|
50
|
+
const dqValidationElementTypeOptions = Object.values(
|
51
|
+
DQ_VALIDATION_ELEMENT_TYPE,
|
52
|
+
)
|
53
|
+
.filter(
|
54
|
+
(validation) =>
|
55
|
+
validation !== DQ_VALIDATION_ELEMENT_TYPE.SERVICE_VALIDATION,
|
56
|
+
)
|
57
|
+
.map((validationType) => ({
|
58
|
+
label: prettyCONSTName(validationType),
|
59
|
+
value: validationType,
|
60
|
+
}));
|
61
|
+
|
62
|
+
const onDataSpaceChange = (
|
63
|
+
val: PackageableElementOption<DataSpace> | null,
|
64
|
+
): void => {
|
65
|
+
if (val) {
|
66
|
+
dataQualityValidationDriver.setDataSpaceSelected(val);
|
67
|
+
}
|
68
|
+
};
|
69
|
+
|
70
|
+
const onMappingChange = (
|
71
|
+
val: PackageableElementOption<Mapping> | null,
|
72
|
+
): void => {
|
73
|
+
if (val) {
|
74
|
+
dataQualityValidationDriver.setMappingSelected(val);
|
75
|
+
} else {
|
76
|
+
dataQualityValidationDriver.setMappingSelected(undefined);
|
77
|
+
}
|
78
|
+
dataQualityValidationDriver.setRuntimeSelected(
|
79
|
+
dataQualityValidationDriver.runtimeOptions.length > 0
|
80
|
+
? dataQualityValidationDriver.runtimeOptions[0]
|
81
|
+
: undefined,
|
82
|
+
);
|
83
|
+
};
|
84
|
+
|
85
|
+
const onRuntimeChange = (val: RuntimeOption | null): void => {
|
86
|
+
if (val) {
|
87
|
+
dataQualityValidationDriver.setRuntimeSelected(val);
|
88
|
+
}
|
89
|
+
};
|
90
|
+
|
91
|
+
const handleDQClassElementCreationBasisChange = (
|
92
|
+
event: React.ChangeEvent<HTMLInputElement>,
|
93
|
+
): void => {
|
94
|
+
const classValidationElementCreationBasis = (
|
95
|
+
event.target as HTMLInputElement
|
96
|
+
).value as CLASS_ELEMENT_CREATION_BASIS;
|
97
|
+
dataQualityValidationDriver.setDqClassElementCreationBasis(
|
98
|
+
classValidationElementCreationBasis,
|
99
|
+
);
|
100
|
+
};
|
101
|
+
|
102
|
+
const handleDQValidationElementTypeChange = (val: {
|
103
|
+
label: string;
|
104
|
+
value: DQ_VALIDATION_ELEMENT_TYPE;
|
105
|
+
}): void => {
|
106
|
+
dataQualityValidationDriver.setDqValidationElementType(val.value);
|
107
|
+
};
|
108
|
+
|
109
|
+
const selectedDqValidationElementType = {
|
110
|
+
label: prettyCONSTName(dataQualityValidationDriver.dqValidationElementType),
|
111
|
+
value: dataQualityValidationDriver.dqValidationElementType,
|
112
|
+
};
|
113
|
+
|
114
|
+
return (
|
115
|
+
<div>
|
116
|
+
<div className="panel__content__form__section__header__label">
|
117
|
+
Validation Type
|
118
|
+
</div>
|
119
|
+
<div className="panel__content__form__section__header__prompt">
|
120
|
+
Type of Data Quality Validation to be configured
|
121
|
+
</div>
|
122
|
+
<CustomSelectorInput
|
123
|
+
options={dqValidationElementTypeOptions}
|
124
|
+
onChange={handleDQValidationElementTypeChange}
|
125
|
+
value={selectedDqValidationElementType}
|
126
|
+
darkMode={
|
127
|
+
!applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled
|
128
|
+
}
|
129
|
+
placeholder="Choose a data quality validation type"
|
130
|
+
isClearable={false}
|
131
|
+
className={'dq-validation-element-type'}
|
132
|
+
/>
|
133
|
+
{dqValidationElementType ===
|
134
|
+
DQ_VALIDATION_ELEMENT_TYPE.CLASS_VALIDATION && (
|
135
|
+
<div>
|
136
|
+
<div className="element-creation-basis">
|
137
|
+
<div className="panel__content__form__section__header__label">
|
138
|
+
Basis of Data Quality Class Validation
|
139
|
+
</div>
|
140
|
+
<BaseRadioGroup
|
141
|
+
value={dqElementCreationBasis}
|
142
|
+
onChange={handleDQClassElementCreationBasisChange}
|
143
|
+
row={false}
|
144
|
+
options={[
|
145
|
+
CLASS_ELEMENT_CREATION_BASIS.DATASPACE_BASED,
|
146
|
+
CLASS_ELEMENT_CREATION_BASIS.MAPPING_RUNTIME_BASED,
|
147
|
+
]}
|
148
|
+
size={2}
|
149
|
+
/>
|
150
|
+
</div>
|
151
|
+
{dqElementCreationBasis ===
|
152
|
+
CLASS_ELEMENT_CREATION_BASIS.DATASPACE_BASED ? (
|
153
|
+
<div>
|
154
|
+
<div className="panel__content__form__section__header__label">
|
155
|
+
DataSpace
|
156
|
+
</div>
|
157
|
+
<div className="data-quality-explorer__new-element-modal__driver">
|
158
|
+
<CustomSelectorInput
|
159
|
+
className="data-quality-explorer__new-element-modal__driver__dropdown"
|
160
|
+
options={dataSpacesOptions}
|
161
|
+
onChange={onDataSpaceChange}
|
162
|
+
value={dataQualityValidationDriver.dataSpaceSelected}
|
163
|
+
darkMode={
|
164
|
+
!applicationStore.layoutService
|
165
|
+
.TEMPORARY__isLightColorThemeEnabled
|
166
|
+
}
|
167
|
+
/>
|
168
|
+
</div>
|
169
|
+
</div>
|
170
|
+
) : (
|
171
|
+
<div>
|
172
|
+
<div className="panel__content__form__section__header__label">
|
173
|
+
Mapping
|
174
|
+
</div>
|
175
|
+
<div className="data-quality-explorer__new-element-modal__driver">
|
176
|
+
<CustomSelectorInput
|
177
|
+
className="data-quality-explorer__new-element-modal__driver__dropdown"
|
178
|
+
options={mappingOptions}
|
179
|
+
onChange={onMappingChange}
|
180
|
+
value={dataQualityValidationDriver.mappingSelected}
|
181
|
+
darkMode={
|
182
|
+
!applicationStore.layoutService
|
183
|
+
.TEMPORARY__isLightColorThemeEnabled
|
184
|
+
}
|
185
|
+
/>
|
186
|
+
</div>
|
187
|
+
<div className="panel__content__form__section__header__label">
|
188
|
+
Runtime
|
189
|
+
</div>
|
190
|
+
<div className="data-quality-explorer__new-element-modal__driver">
|
191
|
+
<CustomSelectorInput
|
192
|
+
className="data-quality-explorer__new-element-modal__driver__dropdown"
|
193
|
+
options={runtimeOptions}
|
194
|
+
onChange={onRuntimeChange}
|
195
|
+
value={dataQualityValidationDriver.runtimeSelected}
|
196
|
+
darkMode={
|
197
|
+
!applicationStore.layoutService
|
198
|
+
.TEMPORARY__isLightColorThemeEnabled
|
199
|
+
}
|
200
|
+
/>
|
201
|
+
</div>
|
202
|
+
</div>
|
203
|
+
)}
|
204
|
+
</div>
|
205
|
+
)}
|
206
|
+
</div>
|
207
|
+
);
|
208
|
+
});
|