@truedat/qx 7.0.7 → 7.1.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/package.json +13 -4
- package/src/api.js +29 -20
- package/src/components/QxRoutes.js +18 -16
- package/src/components/__tests__/__fixtures__/helper.js +187 -0
- package/src/components/common/TestFormWrapper.js +38 -0
- package/src/components/common/__tests__/ResourceSelector.spec.js +18 -7
- package/src/components/common/__tests__/__snapshots__/ResourceSelector.spec.js.snap +0 -12
- package/src/components/common/expressions/__tests__/Condition.spec.js +4 -1
- package/src/components/common/expressions/__tests__/FunctionArgs.spec.js +18 -5
- package/src/components/common/expressions/__tests__/ShapeSelector.spec.js +4 -4
- package/src/components/common/expressions/__tests__/__snapshots__/FunctionArgs.spec.js.snap +10 -2
- package/src/components/common/resourceSelectors/__tests__/DataStructureSelector.spec.js +6 -3
- package/src/components/common/resourceSelectors/__tests__/__snapshots__/DataStructureSelector.spec.js.snap +0 -12
- package/src/components/dataViews/__tests__/DataViewEditor.spec.js +83 -53
- package/src/components/dataViews/__tests__/DataViews.spec.js +14 -1
- package/src/components/dataViews/__tests__/__snapshots__/DataViewEditor.spec.js.snap +93 -4
- package/src/components/dataViews/queryableProperties/__tests__/SelectField.spec.js +13 -6
- package/src/components/functions/__tests__/FunctionEditor.spec.js +2 -34
- package/src/components/functions/__tests__/FunctionParams.spec.js +4 -17
- package/src/components/functions/__tests__/Functions.spec.js +2 -34
- package/src/components/functions/__tests__/__snapshots__/FunctionEditor.spec.js.snap +48 -48
- package/src/components/functions/__tests__/__snapshots__/FunctionParams.spec.js.snap +4 -4
- package/src/components/functions/__tests__/__snapshots__/Functions.spec.js.snap +4 -4
- package/src/components/qualityControls/ControlProperties.js +43 -0
- package/src/components/qualityControls/ControlPropertiesView.js +109 -0
- package/src/components/qualityControls/EditQualityControl.js +5 -21
- package/src/components/qualityControls/IconPopup.js +28 -0
- package/src/components/qualityControls/NewDraftQualityControl.js +4 -13
- package/src/components/qualityControls/NewQualityControl.js +10 -25
- package/src/components/qualityControls/QualityBadge.js +33 -0
- package/src/components/qualityControls/QualityControl.js +11 -53
- package/src/components/qualityControls/QualityControlActions.js +133 -46
- package/src/components/qualityControls/QualityControlEditor.js +114 -135
- package/src/components/qualityControls/QualityControlHeader.js +29 -7
- package/src/components/qualityControls/QualityControlHistory.js +6 -12
- package/src/components/qualityControls/QualityControlQueryModal.js +8 -5
- package/src/components/qualityControls/QualityControlRoutes.js +51 -96
- package/src/components/qualityControls/QualityControlRow.js +21 -2
- package/src/components/qualityControls/QualityControlScores.js +140 -0
- package/src/components/qualityControls/QualityControlTabs.js +24 -23
- package/src/components/qualityControls/QualityControls.js +142 -59
- package/src/components/qualityControls/QualityControlsLabelResults.js +51 -0
- package/src/components/qualityControls/QualityControlsTable.js +69 -43
- package/src/components/qualityControls/ScoreCriteria.js +40 -0
- package/src/components/qualityControls/{ResultCriteria.js → ScoreCriteriaView.js} +26 -42
- package/src/components/qualityControls/__tests__/ControlProperties.spec.js +86 -0
- package/src/components/qualityControls/__tests__/ControlPropertiesView.spec.js +86 -0
- package/src/components/qualityControls/__tests__/EditQualityControl.spec.js +219 -0
- package/src/components/qualityControls/__tests__/IconPopup.spec.js +33 -0
- package/src/components/qualityControls/__tests__/NewDraftQualityControl.spec.js +253 -0
- package/src/components/qualityControls/__tests__/NewQualityControl.spec.js +384 -0
- package/src/components/qualityControls/__tests__/QualityBadge.spec.js +30 -0
- package/src/components/qualityControls/__tests__/QualityControl.spec.js +47 -0
- package/src/components/qualityControls/__tests__/QualityControlActions.spec.js +192 -0
- package/src/components/qualityControls/__tests__/QualityControlCrumbs.spec.js +18 -0
- package/src/components/qualityControls/__tests__/QualityControlEditor.spec.js +296 -0
- package/src/components/qualityControls/__tests__/QualityControlHeader.spec.js +68 -0
- package/src/components/qualityControls/__tests__/QualityControlHistory.spec.js +21 -0
- package/src/components/qualityControls/__tests__/QualityControlQueryModal.spec.js +77 -0
- package/src/components/qualityControls/__tests__/QualityControlRow.spec.js +91 -0
- package/src/components/qualityControls/__tests__/QualityControlScores.spec.js +139 -0
- package/src/components/qualityControls/__tests__/QualityControlTabs.spec.js +20 -0
- package/src/components/qualityControls/__tests__/QualityControls.spec.js +202 -0
- package/src/components/qualityControls/__tests__/QualityControlsLabelResults.spec.js +83 -0
- package/src/components/qualityControls/__tests__/QualityControlsTable.spec.js +38 -0
- package/src/components/qualityControls/__tests__/ScoreCriteria.spec.js +77 -0
- package/src/components/qualityControls/__tests__/ScoreCriteriaView.spec.js +62 -0
- package/src/components/qualityControls/__tests__/__fixtures__/qualityControlHelper.js +281 -0
- package/src/components/qualityControls/__tests__/__snapshots__/ControlProperties.spec.js.snap +151 -0
- package/src/components/qualityControls/__tests__/__snapshots__/ControlPropertiesView.spec.js.snap +290 -0
- package/src/components/qualityControls/__tests__/__snapshots__/EditQualityControl.spec.js.snap +672 -0
- package/src/components/qualityControls/__tests__/__snapshots__/IconPopup.spec.js.snap +10 -0
- package/src/components/qualityControls/__tests__/__snapshots__/NewDraftQualityControl.spec.js.snap +648 -0
- package/src/components/qualityControls/__tests__/__snapshots__/NewQualityControl.spec.js.snap +336 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityBadge.spec.js.snap +11 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControl.spec.js.snap +255 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlActions.spec.js.snap +85 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlCrumbs.spec.js.snap +25 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlEditor.spec.js.snap +930 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlHeader.spec.js.snap +127 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlHistory.spec.js.snap +75 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlQueryModal.spec.js.snap +27 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlRow.spec.js.snap +113 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlScores.spec.js.snap +161 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlTabs.spec.js.snap +28 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControls.spec.js.snap +219 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlsLabelResults.spec.js.snap +11 -0
- package/src/components/qualityControls/__tests__/__snapshots__/QualityControlsTable.spec.js.snap +121 -0
- package/src/components/qualityControls/__tests__/__snapshots__/ScoreCriteria.spec.js.snap +186 -0
- package/src/components/qualityControls/__tests__/__snapshots__/ScoreCriteriaView.spec.js.snap +76 -0
- package/src/components/qualityControls/__tests__/qualityByControlMode.spec.js +248 -0
- package/src/components/qualityControls/controlProperties/ErrorCount.js +56 -0
- package/src/components/qualityControls/controlProperties/Ratio.js +79 -0
- package/src/components/qualityControls/controlProperties/__tests__/ErrorCount.spec.js +82 -0
- package/src/components/qualityControls/controlProperties/__tests__/Ratio.spec.js +115 -0
- package/src/components/qualityControls/controlProperties/__tests__/__snapshots__/ErrorCount.spec.js.snap +62 -0
- package/src/components/qualityControls/controlProperties/__tests__/__snapshots__/Ratio.spec.js.snap +143 -0
- package/src/components/qualityControls/qualityByControlMode.js +62 -0
- package/src/components/qualityControls/qualityControlScoresColumns.js +52 -0
- package/src/components/qualityControls/{resultCriterias → scoreCriterias}/Deviation.js +6 -6
- package/src/components/qualityControls/{resultCriterias/ErrorsNumber.js → scoreCriterias/ErrorCount.js} +7 -7
- package/src/components/qualityControls/{resultCriterias → scoreCriterias}/Percentage.js +6 -6
- package/src/components/qualityControls/scoreCriterias/__tests__/Deviation.spec.js +75 -0
- package/src/components/qualityControls/scoreCriterias/__tests__/ErrorCount.spec.js +63 -0
- package/src/components/qualityControls/scoreCriterias/__tests__/Percentage.spec.js +61 -0
- package/src/components/qualityControls/scoreCriterias/__tests__/__snapshots__/Deviation.spec.js.snap +58 -0
- package/src/components/qualityControls/scoreCriterias/__tests__/__snapshots__/ErrorCount.spec.js.snap +58 -0
- package/src/components/qualityControls/scoreCriterias/__tests__/__snapshots__/Percentage.spec.js.snap +58 -0
- package/src/components/{executions/ExecutionGroupsHeader.js → scores/MyScoreGroups.js} +5 -3
- package/src/components/scores/QualityBar.js +73 -0
- package/src/components/scores/Score.js +32 -0
- package/src/components/scores/ScoreContext.js +3 -0
- package/src/components/scores/ScoreCrumbs.js +40 -0
- package/src/components/scores/ScoreDetails.js +67 -0
- package/src/components/scores/ScoreEvents.js +59 -0
- package/src/components/scores/ScoreGroup.js +83 -0
- package/src/components/scores/ScoreGroupBreadcrumbs.js +25 -0
- package/src/components/{qualityControls/ExecutionForm.js → scores/ScoreGroupForm.js} +11 -13
- package/src/components/scores/ScoreGroupLink.js +18 -0
- package/src/components/scores/ScoreGroupMessage.js +25 -0
- package/src/components/{qualityControls/ExecutionPopup.js → scores/ScoreGroupPopup.js} +13 -22
- package/src/components/scores/ScoreGroupsTable.js +113 -0
- package/src/components/scores/ScoreRoutes.js +32 -0
- package/src/components/{executions/ExecutionStatusDecorator.js → scores/ScoreStatusDecorator.js} +10 -8
- package/src/components/scores/ScoreTabs.js +32 -0
- package/src/components/scores/__tests__/MyScoreGroups.spec.js +31 -0
- package/src/components/scores/__tests__/QualityBar.spec.js +55 -0
- package/src/components/scores/__tests__/Score.spec.js +41 -0
- package/src/components/scores/__tests__/ScoreCrumbs.spec.js +39 -0
- package/src/components/scores/__tests__/ScoreDetails.spec.js +38 -0
- package/src/components/scores/__tests__/ScoreEvents.spec.js +24 -0
- package/src/components/scores/__tests__/ScoreGroup.spec.js +43 -0
- package/src/components/scores/__tests__/ScoreGroupBreadcrumbs.spec.js +16 -0
- package/src/components/scores/__tests__/ScoreGroupForm.spec.js +78 -0
- package/src/components/scores/__tests__/ScoreGroupLink.spec.js +16 -0
- package/src/components/scores/__tests__/ScoreGroupMessage.spec.js +20 -0
- package/src/components/scores/__tests__/ScoreGroupPopup.spec.js +59 -0
- package/src/components/scores/__tests__/ScoreGroupsTable.spec.js +40 -0
- package/src/components/scores/__tests__/ScoreStatusDecorator.spec.js +21 -0
- package/src/components/scores/__tests__/ScoreTabs.spec.js +27 -0
- package/src/components/scores/__tests__/__fixtures__/scoreHelper.js +182 -0
- package/src/components/scores/__tests__/__snapshots__/MyScoreGroups.spec.js.snap +154 -0
- package/src/components/scores/__tests__/__snapshots__/QualityBar.spec.js.snap +24 -0
- package/src/components/scores/__tests__/__snapshots__/Score.spec.js.snap +92 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreCrumbs.spec.js.snap +39 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreDetails.spec.js.snap +156 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreEvents.spec.js.snap +167 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroup.spec.js.snap +103 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupBreadcrumbs.spec.js.snap +29 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupForm.spec.js.snap +145 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupLink.spec.js.snap +15 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupMessage.spec.js.snap +43 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupPopup.spec.js.snap +11 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreGroupsTable.spec.js.snap +147 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreStatusDecorator.spec.js.snap +71 -0
- package/src/components/scores/__tests__/__snapshots__/ScoreTabs.spec.js.snap +43 -0
- package/src/components/scores/index.js +15 -0
- package/src/hooks/useQualityControls.js +3 -9
- package/src/hooks/useScoreGroups.js +23 -0
- package/src/hooks/useScores.js +22 -0
- package/src/styles/Expression.less +16 -0
- package/src/styles/scores.less +63 -0
- package/src/components/executions/ExecutionGroupBreadcrumbs.js +0 -25
- package/src/components/executions/ExecutionGroupContent.js +0 -42
- package/src/components/executions/ExecutionGroupLink.js +0 -18
- package/src/components/executions/ExecutionGroupMessage.js +0 -27
- package/src/components/executions/ExecutionGroupsTable.js +0 -101
- package/src/components/executions/executionGroupDetail.js +0 -87
- package/src/components/qualityControls/ResultType.js +0 -57
|
@@ -30,14 +30,14 @@ exports[`<FunctionEditor /> matches snapshot without onDelete 1`] = `
|
|
|
30
30
|
class="required field"
|
|
31
31
|
>
|
|
32
32
|
<label>
|
|
33
|
-
|
|
33
|
+
Name
|
|
34
34
|
</label>
|
|
35
35
|
<div
|
|
36
36
|
class="ui action input"
|
|
37
37
|
>
|
|
38
38
|
<input
|
|
39
39
|
autocomplete="off"
|
|
40
|
-
placeholder="
|
|
40
|
+
placeholder="Name"
|
|
41
41
|
required=""
|
|
42
42
|
type="text"
|
|
43
43
|
value=""
|
|
@@ -184,7 +184,7 @@ exports[`<FunctionEditor /> matches snapshot without onDelete 1`] = `
|
|
|
184
184
|
style="font-style: italic; font-size: 13px; padding: 9.5px 14px;"
|
|
185
185
|
tabindex="0"
|
|
186
186
|
>
|
|
187
|
-
|
|
187
|
+
Add description
|
|
188
188
|
</a>
|
|
189
189
|
</div>
|
|
190
190
|
</div>
|
|
@@ -193,7 +193,7 @@ exports[`<FunctionEditor /> matches snapshot without onDelete 1`] = `
|
|
|
193
193
|
<h5
|
|
194
194
|
class="ui dividing header"
|
|
195
195
|
>
|
|
196
|
-
|
|
196
|
+
Parameters
|
|
197
197
|
</h5>
|
|
198
198
|
<div
|
|
199
199
|
class="ui list"
|
|
@@ -206,14 +206,14 @@ exports[`<FunctionEditor /> matches snapshot without onDelete 1`] = `
|
|
|
206
206
|
<button
|
|
207
207
|
class="ui button"
|
|
208
208
|
>
|
|
209
|
-
|
|
209
|
+
Add parameter
|
|
210
210
|
</button>
|
|
211
211
|
</div>
|
|
212
212
|
</div>
|
|
213
213
|
<h5
|
|
214
214
|
class="ui dividing header"
|
|
215
215
|
>
|
|
216
|
-
|
|
216
|
+
Expression
|
|
217
217
|
</h5>
|
|
218
218
|
<div
|
|
219
219
|
class="ui grid"
|
|
@@ -257,7 +257,7 @@ exports[`<FunctionEditor /> matches snapshot without onDelete 1`] = `
|
|
|
257
257
|
</code>
|
|
258
258
|
</b>
|
|
259
259
|
</small>
|
|
260
|
-
|
|
260
|
+
Constant
|
|
261
261
|
</div>
|
|
262
262
|
</div>
|
|
263
263
|
<div
|
|
@@ -279,7 +279,7 @@ exports[`<FunctionEditor /> matches snapshot without onDelete 1`] = `
|
|
|
279
279
|
</code>
|
|
280
280
|
</b>
|
|
281
281
|
</small>
|
|
282
|
-
|
|
282
|
+
Function
|
|
283
283
|
</div>
|
|
284
284
|
</div>
|
|
285
285
|
</div>
|
|
@@ -316,7 +316,7 @@ exports[`<FunctionEditor /> matches snapshot without onDelete 1`] = `
|
|
|
316
316
|
class="divider text"
|
|
317
317
|
role="alert"
|
|
318
318
|
>
|
|
319
|
-
function
|
|
319
|
+
Select a function of type boolean
|
|
320
320
|
</div>
|
|
321
321
|
<i
|
|
322
322
|
aria-hidden="true"
|
|
@@ -392,12 +392,12 @@ exports[`<FunctionEditor /> matches snapshot without onDelete 1`] = `
|
|
|
392
392
|
disabled=""
|
|
393
393
|
tabindex="-1"
|
|
394
394
|
>
|
|
395
|
-
|
|
395
|
+
Save
|
|
396
396
|
</button>
|
|
397
397
|
<button
|
|
398
398
|
class="ui button"
|
|
399
399
|
>
|
|
400
|
-
|
|
400
|
+
Cancel
|
|
401
401
|
</button>
|
|
402
402
|
</div>
|
|
403
403
|
</form>
|
|
@@ -436,14 +436,14 @@ exports[`<FunctionEditor /> matches the latest snapshot 1`] = `
|
|
|
436
436
|
class="required field"
|
|
437
437
|
>
|
|
438
438
|
<label>
|
|
439
|
-
|
|
439
|
+
Name
|
|
440
440
|
</label>
|
|
441
441
|
<div
|
|
442
442
|
class="ui action input"
|
|
443
443
|
>
|
|
444
444
|
<input
|
|
445
445
|
autocomplete="off"
|
|
446
|
-
placeholder="
|
|
446
|
+
placeholder="Name"
|
|
447
447
|
required=""
|
|
448
448
|
type="text"
|
|
449
449
|
value=""
|
|
@@ -590,7 +590,7 @@ exports[`<FunctionEditor /> matches the latest snapshot 1`] = `
|
|
|
590
590
|
style="font-style: italic; font-size: 13px; padding: 9.5px 14px;"
|
|
591
591
|
tabindex="0"
|
|
592
592
|
>
|
|
593
|
-
|
|
593
|
+
Add description
|
|
594
594
|
</a>
|
|
595
595
|
</div>
|
|
596
596
|
</div>
|
|
@@ -599,7 +599,7 @@ exports[`<FunctionEditor /> matches the latest snapshot 1`] = `
|
|
|
599
599
|
<h5
|
|
600
600
|
class="ui dividing header"
|
|
601
601
|
>
|
|
602
|
-
|
|
602
|
+
Parameters
|
|
603
603
|
</h5>
|
|
604
604
|
<div
|
|
605
605
|
class="ui list"
|
|
@@ -612,14 +612,14 @@ exports[`<FunctionEditor /> matches the latest snapshot 1`] = `
|
|
|
612
612
|
<button
|
|
613
613
|
class="ui button"
|
|
614
614
|
>
|
|
615
|
-
|
|
615
|
+
Add parameter
|
|
616
616
|
</button>
|
|
617
617
|
</div>
|
|
618
618
|
</div>
|
|
619
619
|
<h5
|
|
620
620
|
class="ui dividing header"
|
|
621
621
|
>
|
|
622
|
-
|
|
622
|
+
Expression
|
|
623
623
|
</h5>
|
|
624
624
|
<div
|
|
625
625
|
class="ui grid"
|
|
@@ -663,7 +663,7 @@ exports[`<FunctionEditor /> matches the latest snapshot 1`] = `
|
|
|
663
663
|
</code>
|
|
664
664
|
</b>
|
|
665
665
|
</small>
|
|
666
|
-
|
|
666
|
+
Constant
|
|
667
667
|
</div>
|
|
668
668
|
</div>
|
|
669
669
|
<div
|
|
@@ -685,7 +685,7 @@ exports[`<FunctionEditor /> matches the latest snapshot 1`] = `
|
|
|
685
685
|
</code>
|
|
686
686
|
</b>
|
|
687
687
|
</small>
|
|
688
|
-
|
|
688
|
+
Function
|
|
689
689
|
</div>
|
|
690
690
|
</div>
|
|
691
691
|
</div>
|
|
@@ -722,7 +722,7 @@ exports[`<FunctionEditor /> matches the latest snapshot 1`] = `
|
|
|
722
722
|
class="divider text"
|
|
723
723
|
role="alert"
|
|
724
724
|
>
|
|
725
|
-
function
|
|
725
|
+
Select a function of type boolean
|
|
726
726
|
</div>
|
|
727
727
|
<i
|
|
728
728
|
aria-hidden="true"
|
|
@@ -798,17 +798,17 @@ exports[`<FunctionEditor /> matches the latest snapshot 1`] = `
|
|
|
798
798
|
disabled=""
|
|
799
799
|
tabindex="-1"
|
|
800
800
|
>
|
|
801
|
-
|
|
801
|
+
Save
|
|
802
802
|
</button>
|
|
803
803
|
<button
|
|
804
804
|
class="ui button"
|
|
805
805
|
>
|
|
806
|
-
|
|
806
|
+
Cancel
|
|
807
807
|
</button>
|
|
808
808
|
<button
|
|
809
809
|
class="ui red button"
|
|
810
810
|
>
|
|
811
|
-
|
|
811
|
+
Delete
|
|
812
812
|
</button>
|
|
813
813
|
</div>
|
|
814
814
|
</form>
|
|
@@ -845,14 +845,14 @@ exports[`<FunctionEditor /> test cancel button with confirm 1`] = `
|
|
|
845
845
|
class="required field"
|
|
846
846
|
>
|
|
847
847
|
<label>
|
|
848
|
-
|
|
848
|
+
Name
|
|
849
849
|
</label>
|
|
850
850
|
<div
|
|
851
851
|
class="ui action input"
|
|
852
852
|
>
|
|
853
853
|
<input
|
|
854
854
|
autocomplete="off"
|
|
855
|
-
placeholder="
|
|
855
|
+
placeholder="Name"
|
|
856
856
|
required=""
|
|
857
857
|
type="text"
|
|
858
858
|
value="name"
|
|
@@ -1008,7 +1008,7 @@ exports[`<FunctionEditor /> test cancel button with confirm 1`] = `
|
|
|
1008
1008
|
<h5
|
|
1009
1009
|
class="ui dividing header"
|
|
1010
1010
|
>
|
|
1011
|
-
|
|
1011
|
+
Parameters
|
|
1012
1012
|
</h5>
|
|
1013
1013
|
<div
|
|
1014
1014
|
class="ui list"
|
|
@@ -1021,14 +1021,14 @@ exports[`<FunctionEditor /> test cancel button with confirm 1`] = `
|
|
|
1021
1021
|
<button
|
|
1022
1022
|
class="ui button"
|
|
1023
1023
|
>
|
|
1024
|
-
|
|
1024
|
+
Add parameter
|
|
1025
1025
|
</button>
|
|
1026
1026
|
</div>
|
|
1027
1027
|
</div>
|
|
1028
1028
|
<h5
|
|
1029
1029
|
class="ui dividing header"
|
|
1030
1030
|
>
|
|
1031
|
-
|
|
1031
|
+
Expression
|
|
1032
1032
|
</h5>
|
|
1033
1033
|
<div
|
|
1034
1034
|
class="ui grid"
|
|
@@ -1072,7 +1072,7 @@ exports[`<FunctionEditor /> test cancel button with confirm 1`] = `
|
|
|
1072
1072
|
</code>
|
|
1073
1073
|
</b>
|
|
1074
1074
|
</small>
|
|
1075
|
-
|
|
1075
|
+
Constant
|
|
1076
1076
|
</div>
|
|
1077
1077
|
</div>
|
|
1078
1078
|
<div
|
|
@@ -1094,7 +1094,7 @@ exports[`<FunctionEditor /> test cancel button with confirm 1`] = `
|
|
|
1094
1094
|
</code>
|
|
1095
1095
|
</b>
|
|
1096
1096
|
</small>
|
|
1097
|
-
|
|
1097
|
+
Function
|
|
1098
1098
|
</div>
|
|
1099
1099
|
</div>
|
|
1100
1100
|
</div>
|
|
@@ -1111,7 +1111,7 @@ exports[`<FunctionEditor /> test cancel button with confirm 1`] = `
|
|
|
1111
1111
|
class="divider text"
|
|
1112
1112
|
role="alert"
|
|
1113
1113
|
>
|
|
1114
|
-
|
|
1114
|
+
True
|
|
1115
1115
|
</div>
|
|
1116
1116
|
<i
|
|
1117
1117
|
aria-hidden="true"
|
|
@@ -1130,7 +1130,7 @@ exports[`<FunctionEditor /> test cancel button with confirm 1`] = `
|
|
|
1130
1130
|
<span
|
|
1131
1131
|
class="text"
|
|
1132
1132
|
>
|
|
1133
|
-
|
|
1133
|
+
True
|
|
1134
1134
|
</span>
|
|
1135
1135
|
</div>
|
|
1136
1136
|
<div
|
|
@@ -1143,7 +1143,7 @@ exports[`<FunctionEditor /> test cancel button with confirm 1`] = `
|
|
|
1143
1143
|
<span
|
|
1144
1144
|
class="text"
|
|
1145
1145
|
>
|
|
1146
|
-
|
|
1146
|
+
False
|
|
1147
1147
|
</span>
|
|
1148
1148
|
</div>
|
|
1149
1149
|
</div>
|
|
@@ -1160,17 +1160,17 @@ exports[`<FunctionEditor /> test cancel button with confirm 1`] = `
|
|
|
1160
1160
|
<button
|
|
1161
1161
|
class="ui primary button"
|
|
1162
1162
|
>
|
|
1163
|
-
|
|
1163
|
+
Save
|
|
1164
1164
|
</button>
|
|
1165
1165
|
<button
|
|
1166
1166
|
class="ui button"
|
|
1167
1167
|
>
|
|
1168
|
-
|
|
1168
|
+
Cancel
|
|
1169
1169
|
</button>
|
|
1170
1170
|
<button
|
|
1171
1171
|
class="ui red button"
|
|
1172
1172
|
>
|
|
1173
|
-
|
|
1173
|
+
Delete
|
|
1174
1174
|
</button>
|
|
1175
1175
|
</div>
|
|
1176
1176
|
</form>
|
|
@@ -1207,14 +1207,14 @@ exports[`<FunctionEditor /> test delete button 1`] = `
|
|
|
1207
1207
|
class="required field"
|
|
1208
1208
|
>
|
|
1209
1209
|
<label>
|
|
1210
|
-
|
|
1210
|
+
Name
|
|
1211
1211
|
</label>
|
|
1212
1212
|
<div
|
|
1213
1213
|
class="ui action input"
|
|
1214
1214
|
>
|
|
1215
1215
|
<input
|
|
1216
1216
|
autocomplete="off"
|
|
1217
|
-
placeholder="
|
|
1217
|
+
placeholder="Name"
|
|
1218
1218
|
required=""
|
|
1219
1219
|
type="text"
|
|
1220
1220
|
value=""
|
|
@@ -1361,7 +1361,7 @@ exports[`<FunctionEditor /> test delete button 1`] = `
|
|
|
1361
1361
|
style="font-style: italic; font-size: 13px; padding: 9.5px 14px;"
|
|
1362
1362
|
tabindex="0"
|
|
1363
1363
|
>
|
|
1364
|
-
|
|
1364
|
+
Add description
|
|
1365
1365
|
</a>
|
|
1366
1366
|
</div>
|
|
1367
1367
|
</div>
|
|
@@ -1370,7 +1370,7 @@ exports[`<FunctionEditor /> test delete button 1`] = `
|
|
|
1370
1370
|
<h5
|
|
1371
1371
|
class="ui dividing header"
|
|
1372
1372
|
>
|
|
1373
|
-
|
|
1373
|
+
Parameters
|
|
1374
1374
|
</h5>
|
|
1375
1375
|
<div
|
|
1376
1376
|
class="ui list"
|
|
@@ -1383,14 +1383,14 @@ exports[`<FunctionEditor /> test delete button 1`] = `
|
|
|
1383
1383
|
<button
|
|
1384
1384
|
class="ui button"
|
|
1385
1385
|
>
|
|
1386
|
-
|
|
1386
|
+
Add parameter
|
|
1387
1387
|
</button>
|
|
1388
1388
|
</div>
|
|
1389
1389
|
</div>
|
|
1390
1390
|
<h5
|
|
1391
1391
|
class="ui dividing header"
|
|
1392
1392
|
>
|
|
1393
|
-
|
|
1393
|
+
Expression
|
|
1394
1394
|
</h5>
|
|
1395
1395
|
<div
|
|
1396
1396
|
class="ui grid"
|
|
@@ -1434,7 +1434,7 @@ exports[`<FunctionEditor /> test delete button 1`] = `
|
|
|
1434
1434
|
</code>
|
|
1435
1435
|
</b>
|
|
1436
1436
|
</small>
|
|
1437
|
-
|
|
1437
|
+
Constant
|
|
1438
1438
|
</div>
|
|
1439
1439
|
</div>
|
|
1440
1440
|
<div
|
|
@@ -1456,7 +1456,7 @@ exports[`<FunctionEditor /> test delete button 1`] = `
|
|
|
1456
1456
|
</code>
|
|
1457
1457
|
</b>
|
|
1458
1458
|
</small>
|
|
1459
|
-
|
|
1459
|
+
Function
|
|
1460
1460
|
</div>
|
|
1461
1461
|
</div>
|
|
1462
1462
|
</div>
|
|
@@ -1493,7 +1493,7 @@ exports[`<FunctionEditor /> test delete button 1`] = `
|
|
|
1493
1493
|
class="divider text"
|
|
1494
1494
|
role="alert"
|
|
1495
1495
|
>
|
|
1496
|
-
function
|
|
1496
|
+
Select a function of type boolean
|
|
1497
1497
|
</div>
|
|
1498
1498
|
<i
|
|
1499
1499
|
aria-hidden="true"
|
|
@@ -1569,17 +1569,17 @@ exports[`<FunctionEditor /> test delete button 1`] = `
|
|
|
1569
1569
|
disabled=""
|
|
1570
1570
|
tabindex="-1"
|
|
1571
1571
|
>
|
|
1572
|
-
|
|
1572
|
+
Save
|
|
1573
1573
|
</button>
|
|
1574
1574
|
<button
|
|
1575
1575
|
class="ui button"
|
|
1576
1576
|
>
|
|
1577
|
-
|
|
1577
|
+
Cancel
|
|
1578
1578
|
</button>
|
|
1579
1579
|
<button
|
|
1580
1580
|
class="ui red button"
|
|
1581
1581
|
>
|
|
1582
|
-
|
|
1582
|
+
Delete
|
|
1583
1583
|
</button>
|
|
1584
1584
|
</div>
|
|
1585
1585
|
</form>
|
|
@@ -37,7 +37,7 @@ exports[`<FunctionParams /> matches the latest snapshot with param 1`] = `
|
|
|
37
37
|
>
|
|
38
38
|
<input
|
|
39
39
|
autocomplete="off"
|
|
40
|
-
placeholder="
|
|
40
|
+
placeholder="Name"
|
|
41
41
|
type="text"
|
|
42
42
|
value="param1"
|
|
43
43
|
/>
|
|
@@ -184,7 +184,7 @@ exports[`<FunctionParams /> matches the latest snapshot with param 1`] = `
|
|
|
184
184
|
style="font-style: italic; font-size: 13px; padding: 9.5px 14px;"
|
|
185
185
|
tabindex="0"
|
|
186
186
|
>
|
|
187
|
-
|
|
187
|
+
Add description
|
|
188
188
|
</a>
|
|
189
189
|
</div>
|
|
190
190
|
</div>
|
|
@@ -200,7 +200,7 @@ exports[`<FunctionParams /> matches the latest snapshot with param 1`] = `
|
|
|
200
200
|
<button
|
|
201
201
|
class="ui button"
|
|
202
202
|
>
|
|
203
|
-
|
|
203
|
+
Add parameter
|
|
204
204
|
</button>
|
|
205
205
|
</div>
|
|
206
206
|
</div>
|
|
@@ -220,7 +220,7 @@ exports[`<FunctionParams /> matches the latest snapshot without param 1`] = `
|
|
|
220
220
|
<button
|
|
221
221
|
class="ui button"
|
|
222
222
|
>
|
|
223
|
-
|
|
223
|
+
Add parameter
|
|
224
224
|
</button>
|
|
225
225
|
</div>
|
|
226
226
|
</div>
|
|
@@ -15,11 +15,11 @@ exports[`<Functions /> matches the latest snapshot 1`] = `
|
|
|
15
15
|
<div
|
|
16
16
|
class="content"
|
|
17
17
|
>
|
|
18
|
-
|
|
18
|
+
Quality Functions
|
|
19
19
|
<div
|
|
20
20
|
class="sub header"
|
|
21
21
|
>
|
|
22
|
-
functions
|
|
22
|
+
List and edit quality functions
|
|
23
23
|
</div>
|
|
24
24
|
</div>
|
|
25
25
|
</h2>
|
|
@@ -32,7 +32,7 @@ exports[`<Functions /> matches the latest snapshot 1`] = `
|
|
|
32
32
|
<button
|
|
33
33
|
class="ui fluid button"
|
|
34
34
|
>
|
|
35
|
-
|
|
35
|
+
New function
|
|
36
36
|
</button>
|
|
37
37
|
<div
|
|
38
38
|
class="ui divided selection list"
|
|
@@ -76,7 +76,7 @@ exports[`<Functions /> matches the latest snapshot 1`] = `
|
|
|
76
76
|
<div
|
|
77
77
|
class="sub header"
|
|
78
78
|
>
|
|
79
|
-
|
|
79
|
+
No function selected
|
|
80
80
|
</div>
|
|
81
81
|
</h2>
|
|
82
82
|
</div>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React, { useContext } from "react";
|
|
2
|
+
import { useFormContext } from "react-hook-form";
|
|
3
|
+
import { Segment } from "semantic-ui-react";
|
|
4
|
+
import QxContext from "@truedat/qx/components/QxContext";
|
|
5
|
+
import ErrorCount from "./controlProperties/ErrorCount";
|
|
6
|
+
import Ratio from "./controlProperties/Ratio";
|
|
7
|
+
|
|
8
|
+
export default function ControlProperties() {
|
|
9
|
+
const { watch } = useFormContext();
|
|
10
|
+
const context = useContext(QxContext);
|
|
11
|
+
|
|
12
|
+
const { control_mode: controlMode, source_id: sourceId } = watch();
|
|
13
|
+
|
|
14
|
+
const componentForMode = {
|
|
15
|
+
error_count: <ErrorCount />,
|
|
16
|
+
deviation: <Ratio />,
|
|
17
|
+
percentage: <Ratio />,
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
return controlMode && sourceId ? (
|
|
21
|
+
<Segment>
|
|
22
|
+
<QxContext.Provider value={{ ...context, field: "control_properties" }}>
|
|
23
|
+
{componentForMode[controlMode]}
|
|
24
|
+
</QxContext.Provider>
|
|
25
|
+
</Segment>
|
|
26
|
+
) : null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const defaultForMode = (controlMode) => {
|
|
30
|
+
switch (controlMode) {
|
|
31
|
+
case "error_count":
|
|
32
|
+
return { errors_resource: null };
|
|
33
|
+
default:
|
|
34
|
+
return {
|
|
35
|
+
resource: null,
|
|
36
|
+
validation: [
|
|
37
|
+
{
|
|
38
|
+
expressions: [{ shape: "function", value: { isCondition: true } }],
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import _ from "lodash/fp";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import { FormattedMessage } from "react-intl";
|
|
5
|
+
import { Header, Icon, Segment, List, Label } from "semantic-ui-react";
|
|
6
|
+
import ClauseViewer from "@truedat/qx/components/common/ClauseViewer";
|
|
7
|
+
|
|
8
|
+
export default function ControlPropertiesView({ qualityControl }) {
|
|
9
|
+
const { control_properties, control_mode } = qualityControl;
|
|
10
|
+
const controlPropertiesForMode = {
|
|
11
|
+
percentage: (
|
|
12
|
+
<ControlPropertiesRatio controlProperties={control_properties} />
|
|
13
|
+
),
|
|
14
|
+
deviation: (
|
|
15
|
+
<ControlPropertiesRatio controlProperties={control_properties} />
|
|
16
|
+
),
|
|
17
|
+
error_count: (
|
|
18
|
+
<ControlPropertiesErrorCount controlProperties={control_properties} />
|
|
19
|
+
),
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<>
|
|
24
|
+
<Header as="h3">
|
|
25
|
+
<Icon name="puzzle piece" size="small" />
|
|
26
|
+
<Header.Content>
|
|
27
|
+
<FormattedMessage id="quality_control.form.control_properties" />
|
|
28
|
+
</Header.Content>
|
|
29
|
+
</Header>
|
|
30
|
+
<Segment>
|
|
31
|
+
{control_properties ? (
|
|
32
|
+
controlPropertiesForMode[control_mode]
|
|
33
|
+
) : (
|
|
34
|
+
<FormattedMessage id="quality_control.control_properties.empty" />
|
|
35
|
+
)}
|
|
36
|
+
</Segment>
|
|
37
|
+
</>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const ControlPropertiesRatio = ({ controlProperties }) => (
|
|
42
|
+
<List>
|
|
43
|
+
<List.Item>
|
|
44
|
+
<List.Header>
|
|
45
|
+
<FormattedMessage id="quality_control.ratio.resource" />
|
|
46
|
+
</List.Header>
|
|
47
|
+
<List.Content>
|
|
48
|
+
{controlProperties.resource ? (
|
|
49
|
+
<List.Description>
|
|
50
|
+
<Label horizontal>
|
|
51
|
+
<FormattedMessage
|
|
52
|
+
id={`queryables.resource.selector.${controlProperties.resource?.type}`}
|
|
53
|
+
/>
|
|
54
|
+
</Label>
|
|
55
|
+
<Label color="blue">
|
|
56
|
+
{_.prop("resource.embedded.name")(controlProperties)}
|
|
57
|
+
</Label>
|
|
58
|
+
</List.Description>
|
|
59
|
+
) : (
|
|
60
|
+
<FormattedMessage id="quality_control.ratio.resource.empty" />
|
|
61
|
+
)}
|
|
62
|
+
</List.Content>
|
|
63
|
+
</List.Item>
|
|
64
|
+
<List.Item>
|
|
65
|
+
<List.Header>
|
|
66
|
+
<FormattedMessage id="quality_control.ratio.validation" />
|
|
67
|
+
</List.Header>
|
|
68
|
+
<List.Content>
|
|
69
|
+
{controlProperties.validation ? (
|
|
70
|
+
<List.Description>
|
|
71
|
+
<ClauseViewer clause={controlProperties.validation} />
|
|
72
|
+
</List.Description>
|
|
73
|
+
) : (
|
|
74
|
+
<FormattedMessage id="quality_control.ratio.validation.empty" />
|
|
75
|
+
)}
|
|
76
|
+
</List.Content>
|
|
77
|
+
</List.Item>
|
|
78
|
+
</List>
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
const ControlPropertiesErrorCount = ({ controlProperties }) => (
|
|
82
|
+
<List>
|
|
83
|
+
<List.Item>
|
|
84
|
+
<List.Header>
|
|
85
|
+
<FormattedMessage id="quality_control.error_count.errors_resource" />
|
|
86
|
+
</List.Header>
|
|
87
|
+
<List.Content>
|
|
88
|
+
{controlProperties.errors_resource ? (
|
|
89
|
+
<List.Description>
|
|
90
|
+
<Label horizontal>
|
|
91
|
+
<FormattedMessage
|
|
92
|
+
id={`queryables.resource.selector.${controlProperties.errors_resource?.type}`}
|
|
93
|
+
/>
|
|
94
|
+
</Label>
|
|
95
|
+
<Label color="blue">
|
|
96
|
+
{_.prop("errors_resource.embedded.name")(controlProperties)}
|
|
97
|
+
</Label>
|
|
98
|
+
</List.Description>
|
|
99
|
+
) : (
|
|
100
|
+
<FormattedMessage id="quality_control.error_count.errors_resource.empty" />
|
|
101
|
+
)}
|
|
102
|
+
</List.Content>
|
|
103
|
+
</List.Item>
|
|
104
|
+
</List>
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
ControlPropertiesView.propTypes = {
|
|
108
|
+
qualityControl: PropTypes.object,
|
|
109
|
+
};
|
|
@@ -15,31 +15,15 @@ export default function EditQualityControl() {
|
|
|
15
15
|
const history = useHistory();
|
|
16
16
|
|
|
17
17
|
const { trigger, isMutating } = useQualityControlUpdateDraft(id);
|
|
18
|
-
const { data, loading } = useQualityControl(id);
|
|
18
|
+
const { data, loading: qualityControlLoading } = useQualityControl(id);
|
|
19
19
|
const qualityControl = data?.data;
|
|
20
|
+
const loading = qualityControlLoading || isMutating;
|
|
20
21
|
|
|
21
22
|
const handleSubmit = (qualityControl) => {
|
|
22
|
-
const resource = _.prop("resource")(qualityControl);
|
|
23
|
-
const validation = _.prop("validation")(qualityControl);
|
|
24
23
|
trigger({
|
|
25
24
|
quality_control: {
|
|
26
25
|
...qualityControl,
|
|
27
26
|
status: "draft",
|
|
28
|
-
resource:
|
|
29
|
-
!resource || _.conforms({ type: _.isNil })(resource)
|
|
30
|
-
? null
|
|
31
|
-
: resource,
|
|
32
|
-
validation:
|
|
33
|
-
!validation ||
|
|
34
|
-
_.isEqual([
|
|
35
|
-
{
|
|
36
|
-
expressions: [
|
|
37
|
-
{ shape: "function", value: { isCondition: true } },
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
])(validation)
|
|
41
|
-
? []
|
|
42
|
-
: validation,
|
|
43
27
|
},
|
|
44
28
|
}).then((data) => {
|
|
45
29
|
const id = _.prop("data.data.id")(data);
|
|
@@ -47,14 +31,14 @@ export default function EditQualityControl() {
|
|
|
47
31
|
});
|
|
48
32
|
};
|
|
49
33
|
return (
|
|
50
|
-
<Segment floated="left" loading={
|
|
34
|
+
<Segment floated="left" loading={loading}>
|
|
51
35
|
<Container text>
|
|
52
36
|
<Header as="h2">
|
|
53
37
|
<Icon circular name="archive" />
|
|
54
38
|
<Header.Content>
|
|
55
39
|
<FormattedMessage id="quality_controls.new.header" />
|
|
56
40
|
<Header.Subheader>
|
|
57
|
-
<FormattedMessage id="quality_controls.
|
|
41
|
+
<FormattedMessage id="quality_controls.edit.subheader" />
|
|
58
42
|
</Header.Subheader>
|
|
59
43
|
</Header.Content>
|
|
60
44
|
</Header>
|
|
@@ -64,7 +48,7 @@ export default function EditQualityControl() {
|
|
|
64
48
|
value={qualityControl}
|
|
65
49
|
onSave={handleSubmit}
|
|
66
50
|
onCancel={() => history.push(QUALITY_CONTROLS)}
|
|
67
|
-
isSubmitting={
|
|
51
|
+
isSubmitting={loading}
|
|
68
52
|
/>
|
|
69
53
|
) : null}
|
|
70
54
|
</Container>
|