@finos/legend-extension-dsl-data-quality 1.0.60 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.0",
|
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.57",
|
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.18",
|
49
|
+
"@finos/legend-extension-dsl-data-space": "10.4.8",
|
50
|
+
"@finos/legend-graph": "31.10.52",
|
51
|
+
"@finos/legend-lego": "2.0.20",
|
52
|
+
"@finos/legend-query-builder": "4.15.17",
|
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
|
+
});
|