@truedat/dq 4.33.10 → 4.34.0
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/CHANGELOG.md +7 -0
- package/package.json +5 -5
- package/src/components/ConditionSummary.js +23 -21
- package/src/components/ExecutionDetails.js +11 -14
- package/src/components/ExecutionGroup.js +24 -15
- package/src/components/ImplementationResultBar.js +80 -0
- package/src/components/ImplementationSummary.js +33 -72
- package/src/components/InformationSummary.js +68 -0
- package/src/components/NewRuleImplementation.js +12 -0
- package/src/components/RuleForm.js +0 -178
- package/src/components/RuleImplementation.js +10 -6
- package/src/components/RuleImplementationProperties.js +31 -64
- package/src/components/RuleImplementationResults.js +87 -53
- package/src/components/RuleProperties.js +1 -10
- package/src/components/RuleResultDecorator.js +43 -26
- package/src/components/RuleResultRow.js +4 -1
- package/src/components/RuleRoutes.js +0 -13
- package/src/components/RuleSummary.js +15 -2
- package/src/components/__tests__/ExecutionGroup.spec.js +11 -7
- package/src/components/__tests__/ImplementationResultBar.spec.js +98 -0
- package/src/components/__tests__/ImplementationSummary.spec.js +9 -26
- package/src/components/__tests__/InformationSummary.spec.js +35 -0
- package/src/components/__tests__/NewRuleImplementation.spec.js +1 -1
- package/src/components/__tests__/RuleForm.spec.js +0 -191
- package/src/components/__tests__/RuleImplementation.spec.js +1 -0
- package/src/components/__tests__/RuleImplementationProperties.spec.js +23 -33
- package/src/components/__tests__/RuleProperties.spec.js +7 -9
- package/src/components/__tests__/RuleResultDecorator.spec.js +17 -11
- package/src/components/__tests__/RuleResultRow.spec.js +25 -46
- package/src/components/__tests__/RuleRow.spec.js +0 -4
- package/src/components/__tests__/RuleSummary.spec.js +6 -6
- package/src/components/__tests__/Rules.spec.js +15 -39
- package/src/components/__tests__/__snapshots__/ConditionSummary.spec.js.snap +55 -51
- package/src/components/__tests__/__snapshots__/ExecutionGroup.spec.js.snap +5 -4
- package/src/components/__tests__/__snapshots__/ImplementationResultBar.spec.js.snap +141 -0
- package/src/components/__tests__/__snapshots__/ImplementationSummary.spec.js.snap +194 -457
- package/src/components/__tests__/__snapshots__/InformationSummary.spec.js.snap +185 -0
- package/src/components/__tests__/__snapshots__/NewRuleImplementation.spec.js.snap +6 -0
- package/src/components/__tests__/__snapshots__/RuleForm.spec.js.snap +0 -148
- package/src/components/__tests__/__snapshots__/RuleImplementation.spec.js.snap +20 -0
- package/src/components/__tests__/__snapshots__/RuleImplementationProperties.spec.js.snap +43 -49
- package/src/components/__tests__/__snapshots__/RuleImplementationResults.spec.js.snap +63 -61
- package/src/components/__tests__/__snapshots__/RuleProperties.spec.js.snap +0 -1
- package/src/components/__tests__/__snapshots__/RuleRow.spec.js.snap +0 -28
- package/src/components/__tests__/__snapshots__/Rules.spec.js.snap +0 -101
- package/src/components/ruleImplementationForm/InformationForm.js +5 -5
- package/src/components/ruleImplementationForm/LimitsForm.js +142 -0
- package/src/components/ruleImplementationForm/RuleImplementationForm.js +14 -4
- package/src/components/ruleImplementationForm/RuleImplementationRawForm.js +16 -6
- package/src/components/ruleImplementationForm/__tests__/LimitsForm.spec.js +186 -0
- package/src/components/ruleImplementationForm/__tests__/RuleImplementationRawForm.spec.js +42 -35
- package/src/components/ruleImplementationForm/__tests__/__snapshots__/LimitsForm.spec.js.snap +1104 -0
- package/src/components/ruleImplementationForm/__tests__/__snapshots__/RuleImplementationForm.spec.js.snap +4 -1
- package/src/components/ruleImplementationForm/__tests__/__snapshots__/RuleImplementationRawForm.spec.js.snap +12 -1
- package/src/components/ruleImplementationForm/limitsValidation.js +72 -0
- package/src/messages/en.js +130 -71
- package/src/messages/es.js +253 -180
- package/src/reducers/__tests__/rule.spec.js +2 -4
- package/src/reducers/__tests__/ruleImplementation.spec.js +2 -0
- package/src/reducers/__tests__/ruleImplementations.spec.js +12 -8
- package/src/reducers/rule.js +0 -3
- package/src/reducers/ruleImplementation.js +3 -0
- package/src/reducers/ruleImplementations.js +3 -0
- package/src/selectors/getRuleImplementationColumns.js +38 -3
- package/src/selectors/ruleColumnsSelector.js +0 -31
- package/src/styles/ruleSummary.less +17 -10
|
@@ -72,13 +72,16 @@ exports[`<RuleImplementationForm /> matches the latest snapshot 1`] = `
|
|
|
72
72
|
/>
|
|
73
73
|
</Form>
|
|
74
74
|
</GridRow>
|
|
75
|
+
<Divider
|
|
76
|
+
hidden={true}
|
|
77
|
+
/>
|
|
75
78
|
<GridRow
|
|
76
79
|
stretched={true}
|
|
77
80
|
>
|
|
78
81
|
<Button
|
|
79
82
|
as="button"
|
|
80
83
|
content="actions.next"
|
|
81
|
-
disabled={
|
|
84
|
+
disabled={true}
|
|
82
85
|
floated="right"
|
|
83
86
|
loading={false}
|
|
84
87
|
onClick={[Function]}
|
|
@@ -30,11 +30,22 @@ exports[`<RuleImplementationRawForm /> matches the latest snapshot 1`] = `
|
|
|
30
30
|
name="implementation_key"
|
|
31
31
|
onChange={[Function]}
|
|
32
32
|
placeholder="ruleImplementation.props.name.placeholder"
|
|
33
|
-
readOnly={false}
|
|
34
33
|
required={true}
|
|
35
34
|
value=""
|
|
36
35
|
/>
|
|
37
36
|
</FormField>
|
|
37
|
+
<LimitsForm
|
|
38
|
+
onChange={[MockFunction]}
|
|
39
|
+
ruleImplementation={
|
|
40
|
+
Object {
|
|
41
|
+
"executable": true,
|
|
42
|
+
"goal": "10",
|
|
43
|
+
"id": 1,
|
|
44
|
+
"minimum": "1",
|
|
45
|
+
"result_type": "percentage",
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/>
|
|
38
49
|
<FormDropdown
|
|
39
50
|
as={[Function]}
|
|
40
51
|
control={[Function]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import _ from "lodash/fp";
|
|
2
|
+
|
|
3
|
+
export default function generateValidationMessages(ruleImplementation) {
|
|
4
|
+
const minimum = Number(ruleImplementation.minimum);
|
|
5
|
+
const goal = Number(ruleImplementation.goal);
|
|
6
|
+
|
|
7
|
+
const invalidNumberMessage = "rule.form.validation.invalid_number_format";
|
|
8
|
+
const invalidMinimumFormat = ruleImplementation.minimum && isNaN(minimum);
|
|
9
|
+
const invalidGoalFormat = ruleImplementation.goal && isNaN(goal);
|
|
10
|
+
if (invalidMinimumFormat || invalidGoalFormat)
|
|
11
|
+
return {
|
|
12
|
+
minimum: invalidMinimumFormat ? [invalidNumberMessage] : undefined,
|
|
13
|
+
goal: invalidGoalFormat ? [invalidNumberMessage] : undefined,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const requiredMessage = "rule.form.validation.empty_required";
|
|
17
|
+
const isEmpty = (value) =>
|
|
18
|
+
_.isNil(value) || (_.isEmpty(value) && !_.isNumber(value));
|
|
19
|
+
|
|
20
|
+
const emptyMinimum = isEmpty(ruleImplementation.minimum);
|
|
21
|
+
const emptyGoal = isEmpty(ruleImplementation.goal);
|
|
22
|
+
if (emptyMinimum || emptyGoal)
|
|
23
|
+
return {
|
|
24
|
+
minimum: emptyMinimum ? [requiredMessage] : undefined,
|
|
25
|
+
goal: emptyGoal ? [requiredMessage] : undefined,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const percentageResultValidationMessages = () =>
|
|
29
|
+
goal > 100
|
|
30
|
+
? {
|
|
31
|
+
goal: ["ruleImplementation.form.validation.max_goal"],
|
|
32
|
+
}
|
|
33
|
+
: minimum > goal
|
|
34
|
+
? {
|
|
35
|
+
minimum: "ruleImplementation.form.validation.minimum_greater",
|
|
36
|
+
goal: "ruleImplementation.form.validation.goal_less",
|
|
37
|
+
}
|
|
38
|
+
: {};
|
|
39
|
+
|
|
40
|
+
const errorsNumberResultValidationMessages = () =>
|
|
41
|
+
minimum < goal
|
|
42
|
+
? {
|
|
43
|
+
minimum: "ruleImplementation.form.validation.minimum.greater_eq.goal",
|
|
44
|
+
goal: "ruleImplementation.form.validation.goal.less_eq.minimum",
|
|
45
|
+
}
|
|
46
|
+
: {};
|
|
47
|
+
|
|
48
|
+
const deviationResultValidationMessages = () =>
|
|
49
|
+
minimum > 100
|
|
50
|
+
? {
|
|
51
|
+
minimum: "ruleImplementation.form.validation.max_minimum",
|
|
52
|
+
}
|
|
53
|
+
: minimum < goal
|
|
54
|
+
? {
|
|
55
|
+
minimum: "ruleImplementation.form.validation.minimum.greater_eq.goal",
|
|
56
|
+
goal: "ruleImplementation.form.validation.goal.less_eq.minimum",
|
|
57
|
+
}
|
|
58
|
+
: {};
|
|
59
|
+
switch (ruleImplementation.result_type) {
|
|
60
|
+
case "percentage":
|
|
61
|
+
return percentageResultValidationMessages();
|
|
62
|
+
case "errors_number":
|
|
63
|
+
return errorsNumberResultValidationMessages();
|
|
64
|
+
case "deviation":
|
|
65
|
+
return deviationResultValidationMessages();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export const areLimitsValid = (ruleImplementation) => {
|
|
70
|
+
const validations = generateValidationMessages(ruleImplementation);
|
|
71
|
+
return _.isNil(validations.minimum) && _.isNil(validations.goal);
|
|
72
|
+
};
|
package/src/messages/en.js
CHANGED
|
@@ -5,23 +5,31 @@ export default {
|
|
|
5
5
|
"actions.prev": "Previous",
|
|
6
6
|
"actions.save": "Save",
|
|
7
7
|
"actions.submit": "Submit",
|
|
8
|
-
"alert.createExecutionGroup.success.content":
|
|
8
|
+
"alert.createExecutionGroup.success.content":
|
|
9
|
+
"{count} implementations queued for execution",
|
|
9
10
|
"alert.createExecutionGroup.success.header": "Executions scheduled",
|
|
10
11
|
"alert.createRule.failed.header": "Error creating rule",
|
|
11
|
-
"alert.createRuleImplementation.failed.header":
|
|
12
|
+
"alert.createRuleImplementation.failed.header":
|
|
13
|
+
"Error creating implementation",
|
|
12
14
|
"alert.deleteRule.failed.header": "Error deleting rule",
|
|
13
15
|
"alert.updateRule.failed.header": "Error updating rule",
|
|
14
|
-
"alert.updateRuleImplementation.failed.header":
|
|
16
|
+
"alert.updateRuleImplementation.failed.header":
|
|
17
|
+
"Error updating implementation",
|
|
15
18
|
"concepts.rules.empty": "This concept has no quality rules",
|
|
16
19
|
"createRule.error.domain_id.required": "Domain is required",
|
|
17
|
-
"createRuleImplementation.error.implementation_key.duplicated":
|
|
18
|
-
|
|
20
|
+
"createRuleImplementation.error.implementation_key.duplicated":
|
|
21
|
+
"Duplicated implementation key",
|
|
22
|
+
"createRule.error.rule_name_bc_id.unique_constraint": "Duplicated rule name. Edit name or associated business concept.",
|
|
23
|
+
"dataset.form.button.add_join.popup":
|
|
24
|
+
"Select both fields to add a new clause",
|
|
19
25
|
"dataset.form.button.add_structure": "Add Structure",
|
|
20
|
-
"datasetForm.implementation_key.tooltip":
|
|
26
|
+
"datasetForm.implementation_key.tooltip":
|
|
27
|
+
"Leave empty for autogeneration of implementation key after saving implementation",
|
|
21
28
|
"executionGroup": "Executions",
|
|
22
29
|
"executions.completed.content": "{count} executions completed.",
|
|
23
30
|
"executions.completed.header": "Executions completed",
|
|
24
|
-
"executions.pending.content":
|
|
31
|
+
"executions.pending.content":
|
|
32
|
+
"There are {pending} executions pending, please check again later.",
|
|
25
33
|
"executions.pending.header": "Executions scheduled",
|
|
26
34
|
"field_type.icon.date": "calendar alternate outline",
|
|
27
35
|
"field_type.icon.number": "hashtag",
|
|
@@ -68,7 +76,7 @@ export default {
|
|
|
68
76
|
"quality.business_concept": "Business Concept",
|
|
69
77
|
"quality.current": "Current",
|
|
70
78
|
"quality.description": "Description",
|
|
71
|
-
"quality.error": "
|
|
79
|
+
"quality.error": "Latest execution failed",
|
|
72
80
|
"quality.domain": "Domain",
|
|
73
81
|
"quality.goal": "Goal",
|
|
74
82
|
"quality.goal.list": "Goal",
|
|
@@ -101,6 +109,7 @@ export default {
|
|
|
101
109
|
"quality.subheader": "Manage data quality rules",
|
|
102
110
|
"quality.template": "Template",
|
|
103
111
|
"quality.threshold": "Threshold",
|
|
112
|
+
"quality.thresholds": "Limits",
|
|
104
113
|
"quality.type": "Type",
|
|
105
114
|
"quality.type_params": "Params",
|
|
106
115
|
"quality_result.no_execution": "Not executed",
|
|
@@ -108,46 +117,73 @@ export default {
|
|
|
108
117
|
"quality_result.under_goal": "Under goal",
|
|
109
118
|
"quality_result.under_minimum": "Under threshold",
|
|
110
119
|
"quality_result.under_minumum": "Under threshold",
|
|
111
|
-
"quality_result.failed"
|
|
120
|
+
"quality_result.failed": "Failed",
|
|
112
121
|
"rule": "Quality Rule",
|
|
113
122
|
"rule.date.placeholder": "YYYY-MM-DD",
|
|
114
123
|
"rule.error.goal.required": "Goal required",
|
|
115
124
|
"rule.error.minimum.required": "Minimun threshold required",
|
|
116
|
-
"rule.error.rule_implementations.rule.delete.existing.implementations":
|
|
117
|
-
|
|
125
|
+
"rule.error.rule_implementations.rule.delete.existing.implementations":
|
|
126
|
+
"All rule implementations should be removed",
|
|
127
|
+
"rule.error.rule_name_bc_id.unique_constraint":
|
|
128
|
+
"Duplicated rule name. Edit name or associated business concept.",
|
|
118
129
|
"rule.form.accordion.select": "Select",
|
|
119
130
|
"rule.form.concept.label": "Concept",
|
|
120
|
-
"
|
|
121
|
-
|
|
122
|
-
"
|
|
123
|
-
|
|
124
|
-
"
|
|
125
|
-
|
|
126
|
-
"
|
|
127
|
-
|
|
131
|
+
"ruleImplementation.form.tooltip.deviation.goal":
|
|
132
|
+
"Maximum errored records percentage for this rule to be considered OK (lower is better)",
|
|
133
|
+
"ruleImplementation.form.tooltip.deviation.minimum":
|
|
134
|
+
"Errored records percentage right/upper bound. Rules over this value will be considered erroneous. Higher than goal.",
|
|
135
|
+
"ruleImplementation.form.tooltip.errors_number.goal":
|
|
136
|
+
"Maximum errored records number for this rule to be considered OK (lower is better).",
|
|
137
|
+
"ruleImplementation.form.tooltip.errors_number.minimum":
|
|
138
|
+
"Errored records number right/upper bound. Rules over this value will be considered erroneous. Higher than goal.",
|
|
139
|
+
"ruleImplementation.form.tooltip.percentage.goal":
|
|
140
|
+
"Minimum correct records percentage required for this rule to be considered OK (higher is better)",
|
|
141
|
+
"ruleImplementation.form.tooltip.percentage.minimum":
|
|
142
|
+
"Correct records percentage left/lower bound. Rules under this value will be considered erroneous. Lower than goal.",
|
|
143
|
+
"ruleImplementation.form.tooltip.result_type":
|
|
144
|
+
"Defines the format of rule execution results: percentage (of good records), deviation (percentage of bad records), absolute number of errored records.",
|
|
145
|
+
"rule.form.tooltip.type":
|
|
146
|
+
"Defines the rule to be executed on the data. For certain types of rules it will be necessary to entry aditional parameters",
|
|
128
147
|
"rule.form.validation.domain_required": "Domain required to select concept",
|
|
129
148
|
"rule.form.validation.empty_required": "Required field is empty",
|
|
130
|
-
"rule.form.validation.
|
|
131
|
-
"
|
|
132
|
-
|
|
133
|
-
"
|
|
134
|
-
|
|
135
|
-
"
|
|
149
|
+
"rule.form.validation.invalid_number_format": "Invalid number format",
|
|
150
|
+
"ruleImplementation.form.validation.goal.less_eq.minimum":
|
|
151
|
+
"Goal must be less than (or equal to) the threshold (lower goal is better)",
|
|
152
|
+
"ruleImplementation.form.validation.goal_less":
|
|
153
|
+
"Goal must be greater than (or equal to) the threshold (higher goal is better).",
|
|
154
|
+
"ruleImplementation.form.validation.max_goal":
|
|
155
|
+
"Goal percentage cannot be greater than 100",
|
|
156
|
+
"ruleImplementation.form.validation.max_minimum":
|
|
157
|
+
"Threshold percentage cannot be greater than 100",
|
|
158
|
+
"ruleImplementation.form.validation.minimum.greater_eq.goal":
|
|
159
|
+
"Threshold must greater than (or equal to) the goal",
|
|
160
|
+
"ruleImplementation.form.validation.minimum_greater":
|
|
161
|
+
"Threshold must be lower than (or equal to) the goal",
|
|
136
162
|
"rule.form_validation.date.invalid": "Invalid date",
|
|
137
|
-
"rule.form_validation.float.decimal_separator.invalid":
|
|
163
|
+
"rule.form_validation.float.decimal_separator.invalid":
|
|
164
|
+
"Invalid decimal separator",
|
|
138
165
|
"rule.form_validation.float.invalid": "Invalid number",
|
|
139
166
|
"rule.form_validation.float.invalid_decimals": "Decimals number exceeded",
|
|
140
167
|
"rule.form_validation.integer.invalid": "Invalid number",
|
|
141
168
|
"rule.form_validation.whole_number.invalid": "Invalid whole number",
|
|
142
|
-
"rule.implementation.error.implementation_key.not_available":
|
|
143
|
-
|
|
144
|
-
"rule.implementation.error.population.value.
|
|
145
|
-
|
|
146
|
-
"rule.implementation.error.
|
|
147
|
-
|
|
148
|
-
"rule.implementation.error.
|
|
149
|
-
|
|
150
|
-
"rule.
|
|
169
|
+
"rule.implementation.error.implementation_key.not_available":
|
|
170
|
+
"Key already asigned. Please, type a new key",
|
|
171
|
+
"rule.implementation.error.population.value.invalid_length_between_value_type":
|
|
172
|
+
"Invalid range of values",
|
|
173
|
+
"rule.implementation.error.population.value.left_value_must_be_le_than_right":
|
|
174
|
+
"Left value should be lower or equals to right value",
|
|
175
|
+
"rule.implementation.error.raw_content.dataset.invalid_content":
|
|
176
|
+
"Found not valid content in dataset",
|
|
177
|
+
"rule.implementation.error.raw_content.population.invalid_content":
|
|
178
|
+
"Found not valid content in population",
|
|
179
|
+
"rule.implementation.error.raw_content.validations.invalid_content":
|
|
180
|
+
"Found not valid content in validations",
|
|
181
|
+
"rule.implementation.error.validations.value.invalid_length_between_value_type":
|
|
182
|
+
"Invalid range of values",
|
|
183
|
+
"rule.implementation.error.validations.value.left_value_must_be_le_than_right":
|
|
184
|
+
"Left value should be lower or equals to right value",
|
|
185
|
+
"rule.implementations.deprecated":
|
|
186
|
+
"Deprecated implementations. You will be able to query its data",
|
|
151
187
|
"rule.max_date": "Maximum date",
|
|
152
188
|
"rule.max_value": "Maximum value",
|
|
153
189
|
"rule.min_date": "Minimum date",
|
|
@@ -161,23 +197,17 @@ export default {
|
|
|
161
197
|
"rule.props.business_concept_id.placeholder": "Related term",
|
|
162
198
|
"rule.props.description": "Description",
|
|
163
199
|
"rule.props.description.placeholder": "Rule description",
|
|
164
|
-
"rule.props.goal": "Goal",
|
|
165
|
-
"rule.props.goal.placeholder": "Goal value",
|
|
166
200
|
"rule.props.implementations": "Implementations",
|
|
167
|
-
"rule.props.minimum": "Threshold",
|
|
168
|
-
"rule.props.minimum.placeholder": "Threshold value",
|
|
169
201
|
"rule.props.name": "Name",
|
|
170
202
|
"rule.props.name.placeholder": "Rule name",
|
|
171
|
-
"rule.props.result_type": "Result Type",
|
|
172
|
-
"rule.props.result_type.deviation": "Deviation",
|
|
173
|
-
"rule.props.result_type.errors_number": "Error count",
|
|
174
|
-
"rule.props.result_type.percentage": "Percentage",
|
|
175
203
|
"rule.props.type": "Rule Type",
|
|
176
204
|
"rule.props.type.placeholder": "Values range",
|
|
177
205
|
"rule.props.type_params": "Parameters",
|
|
178
206
|
"rule.props.type_params.placeholder": "Parameters",
|
|
179
|
-
"rule.ruleImplementation.results.empty":
|
|
180
|
-
|
|
207
|
+
"rule.ruleImplementation.results.empty":
|
|
208
|
+
"No results found for current implementation",
|
|
209
|
+
"rule.ruleImplementation.results.details.empty":
|
|
210
|
+
"No details found for current result",
|
|
181
211
|
"rule.ruleImplementations.empty": "No rule implementations for current rule",
|
|
182
212
|
"rule.type.custom_validation": "Is a custom validation",
|
|
183
213
|
"rule.type.date_format": "Has date format",
|
|
@@ -197,7 +227,8 @@ export default {
|
|
|
197
227
|
"rule.type.numeric_format": "Has a numeric format",
|
|
198
228
|
"rule.type.unique_values": "Has unique values",
|
|
199
229
|
"rule.type_params.error.max_date.cast.date": "Max date invalid",
|
|
200
|
-
"rule.type_params.error.max_date.must.be.greater.than.or.equal.to.min_date":
|
|
230
|
+
"rule.type_params.error.max_date.must.be.greater.than.or.equal.to.min_date":
|
|
231
|
+
"Date not valid",
|
|
201
232
|
"rule.type_params.error.max_date.required": "Max date required",
|
|
202
233
|
"rule.type_params.error.min_date.cast.date": "Min date invalid",
|
|
203
234
|
"rule.type_params.error.min_date.required": "Min date required",
|
|
@@ -205,16 +236,22 @@ export default {
|
|
|
205
236
|
"ruleImplementation.action.deprecate": "deprecated",
|
|
206
237
|
"ruleImplementation.actions.clone": "Clone implementation",
|
|
207
238
|
"ruleImplementation.actions.delete": "Delete implementation",
|
|
208
|
-
"ruleImplementation.actions.delete.confirmation.content":
|
|
209
|
-
|
|
239
|
+
"ruleImplementation.actions.delete.confirmation.content":
|
|
240
|
+
"This rule implementation will be deleted. Are you sure?",
|
|
241
|
+
"ruleImplementation.actions.delete.confirmation.header":
|
|
242
|
+
"Delete implementation",
|
|
210
243
|
"ruleImplementation.actions.deprecate": "Deprecate implementation",
|
|
211
|
-
"ruleImplementation.actions.deprecate.confirmation.content":
|
|
212
|
-
|
|
244
|
+
"ruleImplementation.actions.deprecate.confirmation.content":
|
|
245
|
+
"Once {action} you can only view it on {mode}. Are you sure?",
|
|
246
|
+
"ruleImplementation.actions.deprecate.confirmation.header":
|
|
247
|
+
"Deprecate implementation",
|
|
213
248
|
"ruleImplementation.actions.edit": "Edit implementation",
|
|
214
249
|
"ruleImplementation.actions.move": "Move to another rule",
|
|
215
250
|
"ruleImplementation.actions.restore": "Restore Implementation",
|
|
216
|
-
"ruleImplementation.actions.restore.confirmation.content":
|
|
217
|
-
|
|
251
|
+
"ruleImplementation.actions.restore.confirmation.content":
|
|
252
|
+
"A deleted implementation will be restored. ¿Are you sure?",
|
|
253
|
+
"ruleImplementation.actions.restore.confirmation.header":
|
|
254
|
+
"Restore implementation",
|
|
218
255
|
"ruleImplementation.column": "Column",
|
|
219
256
|
"ruleImplementation.column.placeholder": "Select a column",
|
|
220
257
|
"ruleImplementation.deprecate.folder": '"Deprecated items"',
|
|
@@ -234,11 +271,13 @@ export default {
|
|
|
234
271
|
"ruleImplementation.filtersField.last_day_of_month": "Last day of month",
|
|
235
272
|
"ruleImplementation.filtersField.last_day_of_week": "Last day of week",
|
|
236
273
|
"ruleImplementation.filtersField.last_month_last_day": "Last month last day",
|
|
237
|
-
"ruleImplementation.filtersField.last_validation_period":
|
|
274
|
+
"ruleImplementation.filtersField.last_validation_period":
|
|
275
|
+
"Last validation period",
|
|
238
276
|
"ruleImplementation.filtersField.last_year_last_day": "Last year last day",
|
|
239
277
|
"ruleImplementation.filtersField.number": "Number",
|
|
240
278
|
"ruleImplementation.filtersField.phone": "Phone",
|
|
241
|
-
"ruleImplementation.filtersField.previous_month_last_day":
|
|
279
|
+
"ruleImplementation.filtersField.previous_month_last_day":
|
|
280
|
+
"Previous month last day",
|
|
242
281
|
"ruleImplementation.filtersField.season": "Season",
|
|
243
282
|
"ruleImplementation.filtersField.timestamp": "Date/Time",
|
|
244
283
|
"ruleImplementation.freetext.false": "No",
|
|
@@ -295,7 +334,8 @@ export default {
|
|
|
295
334
|
"ruleImplementation.operator.gte.string": "greater or equal than (text)",
|
|
296
335
|
"ruleImplementation.operator.gte.timestamp": "greater or equal than",
|
|
297
336
|
"ruleImplementation.operator.gte_var": "greater or equal than",
|
|
298
|
-
"ruleImplementation.operator.gte_var.string":
|
|
337
|
+
"ruleImplementation.operator.gte_var.string":
|
|
338
|
+
"greater or equal than variable",
|
|
299
339
|
"ruleImplementation.operator.in_list": "is in list",
|
|
300
340
|
"ruleImplementation.operator.in_list.string_list": "is in list",
|
|
301
341
|
"ruleImplementation.operator.is_false": "is FALSE",
|
|
@@ -307,7 +347,8 @@ export default {
|
|
|
307
347
|
"ruleImplementation.operator.length_gt": "length greater than",
|
|
308
348
|
"ruleImplementation.operator.length_gt.number": "length greater than",
|
|
309
349
|
"ruleImplementation.operator.length_gte": "length greater or equal than",
|
|
310
|
-
"ruleImplementation.operator.length_gte.number":
|
|
350
|
+
"ruleImplementation.operator.length_gte.number":
|
|
351
|
+
"length greater or equal than",
|
|
311
352
|
"ruleImplementation.operator.length_lt": "length less than",
|
|
312
353
|
"ruleImplementation.operator.length_lt.number": "length less than",
|
|
313
354
|
"ruleImplementation.operator.length_lte": "length less or equal than",
|
|
@@ -344,11 +385,13 @@ export default {
|
|
|
344
385
|
"ruleImplementation.operator.not_references": "is not referenced",
|
|
345
386
|
"ruleImplementation.operator.not_references.field": "is not referenced",
|
|
346
387
|
"ruleImplementation.operator.number_of_decimals": "has a number of decimals",
|
|
347
|
-
"ruleImplementation.operator.number_of_decimals.number":
|
|
388
|
+
"ruleImplementation.operator.number_of_decimals.number":
|
|
389
|
+
"has a number of decimals",
|
|
348
390
|
"ruleImplementation.operator.references": "referenced in",
|
|
349
391
|
"ruleImplementation.operator.references.field": "referenced in field",
|
|
350
392
|
"ruleImplementation.operator.regex_format": "matches regular expression",
|
|
351
|
-
"ruleImplementation.operator.regex_format.string":
|
|
393
|
+
"ruleImplementation.operator.regex_format.string":
|
|
394
|
+
"matches regular expression",
|
|
352
395
|
"ruleImplementation.operator.starts_with": "starts with",
|
|
353
396
|
"ruleImplementation.operator.starts_with.string": "starts with",
|
|
354
397
|
"ruleImplementation.operator.unique": "has unique value",
|
|
@@ -390,17 +433,24 @@ export default {
|
|
|
390
433
|
"ruleImplementationRawForm.props.database": "Database",
|
|
391
434
|
"ruleImplementationRawForm.props.database.placeholder": "Select database",
|
|
392
435
|
"ruleImplementationRawForm.props.dataset": "Dataset",
|
|
393
|
-
"ruleImplementationRawForm.props.dataset.help":
|
|
394
|
-
|
|
436
|
+
"ruleImplementationRawForm.props.dataset.help":
|
|
437
|
+
"Subset of structures that will be validated. In SQL systems implementations this clause will be the FROM part of the query",
|
|
438
|
+
"ruleImplementationRawForm.props.dataset.placeholder":
|
|
439
|
+
"TPERSONS p \nLEFT JOIN TCLIENTES c ON c.person_id = p.id",
|
|
395
440
|
"ruleImplementationRawForm.props.population": "Population",
|
|
396
|
-
"ruleImplementationRawForm.props.population.help":
|
|
397
|
-
|
|
441
|
+
"ruleImplementationRawForm.props.population.help":
|
|
442
|
+
"Optional filter to be applied over dataset. This filter will define the number of records of validations",
|
|
443
|
+
"ruleImplementationRawForm.props.population.placeholder":
|
|
444
|
+
"p.tipo = 'F'\nAND c.pais = 'ES' ",
|
|
398
445
|
"ruleImplementationRawForm.props.source": "Data source",
|
|
399
446
|
"ruleImplementationRawForm.props.source.placeholder": "Select data source",
|
|
400
447
|
"ruleImplementationRawForm.props.validations": "Validations",
|
|
401
|
-
"ruleImplementationRawForm.props.validations.help":
|
|
402
|
-
|
|
403
|
-
"ruleImplementationRawForm.
|
|
448
|
+
"ruleImplementationRawForm.props.validations.help":
|
|
449
|
+
"Validations to be performed against selected data. It will output the count of valid registers over the data defined in dataset and population",
|
|
450
|
+
"ruleImplementationRawForm.props.validations.placeholder":
|
|
451
|
+
"p.nombre is not null\nAND p.nombre <> ",
|
|
452
|
+
"ruleImplementationRawForm.rawText.error":
|
|
453
|
+
"Entered content not allowed: {invalid_content}",
|
|
404
454
|
"ruleImplementations.actions.active.tooltip": "Active implementations",
|
|
405
455
|
"ruleImplementations.actions.create": "New Implementation",
|
|
406
456
|
"ruleImplementations.actions.edit": "Edit Implementation",
|
|
@@ -412,12 +462,18 @@ export default {
|
|
|
412
462
|
"ruleImplementations.props.executable.true": "Executable",
|
|
413
463
|
"ruleImplementations.props.executable.false": "Internal",
|
|
414
464
|
"ruleImplementations.props.execution": "Execution",
|
|
415
|
-
"ruleImplementations.props.goal": "Goal",
|
|
416
465
|
"ruleImplementations.props.implementation_key": "Identifier",
|
|
417
466
|
"ruleImplementations.props.implementation_type": "Type",
|
|
418
467
|
"ruleImplementations.props.inserted_at": "Inserted at",
|
|
419
468
|
"ruleImplementations.props.last_execution_at": "Last Execution",
|
|
420
|
-
"ruleImplementations.props.minimum": "
|
|
469
|
+
"ruleImplementations.props.minimum": "Threshold",
|
|
470
|
+
"ruleImplementations.props.minimum.placeholder": "Threshold value",
|
|
471
|
+
"ruleImplementations.props.goal": "Goal",
|
|
472
|
+
"ruleImplementations.props.goal.placeholder": "Goal value",
|
|
473
|
+
"ruleImplementations.props.result_type": "Result Type",
|
|
474
|
+
"ruleImplementations.props.result_type.deviation": "Deviation",
|
|
475
|
+
"ruleImplementations.props.result_type.errors_number": "Error count",
|
|
476
|
+
"ruleImplementations.props.result_type.percentage": "Percentage",
|
|
421
477
|
"ruleImplementations.props.quality_result.no_execution": "Not executed",
|
|
422
478
|
"ruleImplementations.props.quality_result.over_goal": "Over goal",
|
|
423
479
|
"ruleImplementations.props.quality_result.under_goal": "Under goal",
|
|
@@ -442,11 +498,13 @@ export default {
|
|
|
442
498
|
"ruleResult.props.quality": "Quality",
|
|
443
499
|
"ruleResult.props.records": "Records",
|
|
444
500
|
"ruleSubscription.actions.remove": "Eliminar",
|
|
445
|
-
"rule_result.actions.delete.confirmation.content":
|
|
501
|
+
"rule_result.actions.delete.confirmation.content":
|
|
502
|
+
"This rule result will be deleted. Are you sure?",
|
|
446
503
|
"rule_result.actions.delete.confirmation.header": "Delete result",
|
|
447
504
|
"rules.actions.activate_execution": "Activate executions",
|
|
448
505
|
"rules.actions.create": "New Quality Rule",
|
|
449
|
-
"rules.actions.delete.confirmation.content":
|
|
506
|
+
"rules.actions.delete.confirmation.content":
|
|
507
|
+
"The rule {name} will be deleted. ¿Are you sure?",
|
|
450
508
|
"rules.actions.delete.confirmation.header": "Delete Quality Rule",
|
|
451
509
|
"rules.crumbs.top": "Rules",
|
|
452
510
|
"rules.retrieved.results": "{count} rules found",
|
|
@@ -461,6 +519,7 @@ export default {
|
|
|
461
519
|
"tabs.dq.ruleImplementation.results": "Results",
|
|
462
520
|
"tabs.dq.ruleImplementations": "Implementations",
|
|
463
521
|
"tabs.qualityRules": "Quality Rules",
|
|
464
|
-
"updateRuleImplementation.error.implementation_key.duplicated":
|
|
465
|
-
|
|
522
|
+
"updateRuleImplementation.error.implementation_key.duplicated":
|
|
523
|
+
"Duplicated implementation key",
|
|
524
|
+
"updateRule.error.domain_id.required": "Domain is required",
|
|
466
525
|
};
|