@truedat/dq 8.7.0 → 8.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/package.json +3 -3
  2. package/src/components/ConceptRules.js +2 -3
  3. package/src/components/ConditionCell.js +9 -9
  4. package/src/components/ExecutionForm.js +1 -1
  5. package/src/components/ExecutionGroup.js +2 -2
  6. package/src/components/ExecutionGroupContent.js +4 -4
  7. package/src/components/ImplementationExecutionFilters.js +1 -1
  8. package/src/components/ImplementationFiltersLoader.js +2 -2
  9. package/src/components/ImplementationResultBar.js +1 -1
  10. package/src/components/ImplementationSearchResults.js +7 -7
  11. package/src/components/ImplementationStructureDelete.js +1 -1
  12. package/src/components/ImplementationStructuresNew.js +6 -3
  13. package/src/components/ImplementationSummary.js +2 -2
  14. package/src/components/Implementations.js +18 -11
  15. package/src/components/ImplementationsHeader.js +16 -21
  16. package/src/components/ImplementationsRoutes.js +7 -7
  17. package/src/components/MoveImplementation.js +1 -1
  18. package/src/components/NewBasicRuleImplementation.js +1 -1
  19. package/src/components/NewRuleImplementation.js +44 -44
  20. package/src/components/QualityEventError.js +11 -7
  21. package/src/components/RawContent.js +1 -1
  22. package/src/components/RemediationForm.js +1 -1
  23. package/src/components/RemediationPlan.js +2 -2
  24. package/src/components/Rule.js +1 -1
  25. package/src/components/RuleActions.js +1 -1
  26. package/src/components/RuleEventDecorator.js +1 -1
  27. package/src/components/RuleEventRow.js +1 -1
  28. package/src/components/RuleFilters.js +1 -1
  29. package/src/components/RuleFiltersLoader.js +1 -1
  30. package/src/components/RuleFormImplementations.js +1 -1
  31. package/src/components/RuleImplementationEventRow.js +1 -1
  32. package/src/components/RuleImplementationHistory.js +1 -1
  33. package/src/components/RuleImplementationProperties.js +2 -2
  34. package/src/components/RuleImplementationResults.js +2 -2
  35. package/src/components/RuleImplementationTabs.js +5 -5
  36. package/src/components/RuleImplementationsDownload.js +4 -4
  37. package/src/components/RuleImplementationsDownloadXlsx.js +6 -6
  38. package/src/components/RuleImplementationsLoader.js +1 -2
  39. package/src/components/RuleImplementationsTable.js +1 -1
  40. package/src/components/RuleResultDecorator.js +3 -3
  41. package/src/components/RuleResultDetails.js +1 -1
  42. package/src/components/RuleResultRemediationLoader.js +1 -1
  43. package/src/components/RuleResultSegments.js +3 -3
  44. package/src/components/RuleResultsTable.js +7 -7
  45. package/src/components/RuleRoutes.js +3 -3
  46. package/src/components/RuleSelectedFilters.js +3 -3
  47. package/src/components/RuleSelector.js +1 -1
  48. package/src/components/RuleSummary.js +3 -3
  49. package/src/components/Rules.js +4 -4
  50. package/src/components/RulesLoader.js +2 -2
  51. package/src/components/RulesRoutes.js +1 -1
  52. package/src/components/SimpleRuleImplementationsTable.js +1 -1
  53. package/src/components/Subscription.js +1 -1
  54. package/src/components/TaxonomySummary.js +1 -1
  55. package/src/components/__tests__/ConceptRules.spec.js +2 -2
  56. package/src/components/__tests__/ExecutionGroup.spec.js +3 -3
  57. package/src/components/__tests__/ExecutionGroupContent.spec.js +1 -1
  58. package/src/components/__tests__/ExecutionGroups.spec.js +1 -1
  59. package/src/components/__tests__/ExecutionGroupsTable.spec.js +1 -1
  60. package/src/components/__tests__/ImplementationExecutionFilters.spec.js +1 -1
  61. package/src/components/__tests__/ImplementationExecutions.spec.js +1 -1
  62. package/src/components/__tests__/ImplementationResultBar.spec.js +6 -6
  63. package/src/components/__tests__/ImplementationSearchResults.spec.js +3 -3
  64. package/src/components/__tests__/ImplementationStructureDelete.spec.js +1 -1
  65. package/src/components/__tests__/ImplementationStructureLink.spec.js +1 -1
  66. package/src/components/__tests__/ImplementationStructureLinksActions.spec.js +31 -27
  67. package/src/components/__tests__/ImplementationStructures.spec.js +6 -6
  68. package/src/components/__tests__/ImplementationStructuresNew.spec.js +2 -2
  69. package/src/components/__tests__/ImplementationSummary.spec.js +2 -2
  70. package/src/components/__tests__/Implementations.spec.js +1 -1
  71. package/src/components/__tests__/ImplementationsRoutes.spec.js +1 -1
  72. package/src/components/__tests__/ImplementationsUploadButton.spec.js +8 -8
  73. package/src/components/__tests__/MoveImplementation.spec.js +5 -5
  74. package/src/components/__tests__/NewBasicRuleImplementation.spec.js +4 -4
  75. package/src/components/__tests__/NewRuleImplementation.spec.js +14 -14
  76. package/src/components/__tests__/QualityRoutes.spec.js +1 -1
  77. package/src/components/__tests__/RemediationForm.spec.js +9 -3
  78. package/src/components/__tests__/RemediationPlan.spec.js +2 -2
  79. package/src/components/__tests__/RuleActions.spec.js +1 -1
  80. package/src/components/__tests__/RuleForm.spec.js +2 -2
  81. package/src/components/__tests__/RuleFormImplementations.spec.js +3 -3
  82. package/src/components/__tests__/RuleImplementation.spec.js +2 -2
  83. package/src/components/__tests__/RuleImplementationProperties.spec.js +3 -3
  84. package/src/components/__tests__/RuleImplementationResults.spec.js +2 -2
  85. package/src/components/__tests__/RuleImplementationsActions.spec.js +4 -4
  86. package/src/components/__tests__/RuleImplementationsLoader.spec.js +1 -1
  87. package/src/components/__tests__/RuleImplementationsOptions.spec.js +1 -1
  88. package/src/components/__tests__/RuleImplementationsTable.spec.js +3 -3
  89. package/src/components/__tests__/RuleResultDecorator.spec.js +15 -6
  90. package/src/components/__tests__/RuleResultDetails.spec.js +1 -1
  91. package/src/components/__tests__/RuleResultRemediations.spec.js +1 -1
  92. package/src/components/__tests__/RuleResultRoutes.spec.js +4 -4
  93. package/src/components/__tests__/RuleResultRow.spec.js +13 -13
  94. package/src/components/__tests__/RuleResultSegments.spec.js +1 -1
  95. package/src/components/__tests__/RuleRoutes.spec.js +1 -1
  96. package/src/components/__tests__/RuleRow.spec.js +4 -4
  97. package/src/components/__tests__/RuleSelectionForm.spec.js +5 -5
  98. package/src/components/__tests__/RuleSummary.spec.js +3 -3
  99. package/src/components/__tests__/Rules.spec.js +1 -1
  100. package/src/components/__tests__/RulesActions.spec.js +1 -1
  101. package/src/components/__tests__/RulesRoutes.spec.js +1 -1
  102. package/src/components/__tests__/Subscription.spec.js +11 -11
  103. package/src/components/ruleImplementationForm/DatasetForm.js +7 -7
  104. package/src/components/ruleImplementationForm/FieldModifier.js +5 -5
  105. package/src/components/ruleImplementationForm/FieldsGrid.js +2 -2
  106. package/src/components/ruleImplementationForm/FieldsGroup.js +1 -1
  107. package/src/components/ruleImplementationForm/FiltersField.js +4 -4
  108. package/src/components/ruleImplementationForm/FiltersFormGroup.js +3 -3
  109. package/src/components/ruleImplementationForm/FiltersGrid.js +3 -3
  110. package/src/components/ruleImplementationForm/FiltersGroup.js +2 -2
  111. package/src/components/ruleImplementationForm/InformationForm.js +1 -1
  112. package/src/components/ruleImplementationForm/RuleImplementationBasicForm.js +3 -3
  113. package/src/components/ruleImplementationForm/RuleImplementationForm.js +15 -11
  114. package/src/components/ruleImplementationForm/RuleImplementationRawForm.js +5 -5
  115. package/src/components/ruleImplementationForm/__tests__/FiltersFormGroup.spec.js +1 -1
  116. package/src/components/ruleImplementationForm/__tests__/FiltersGroup.spec.js +1 -1
  117. package/src/components/ruleImplementationForm/__tests__/InformationForm.spec.js +2 -2
  118. package/src/components/ruleImplementationForm/__tests__/LimitsForm.spec.js +12 -12
  119. package/src/components/ruleImplementationForm/__tests__/RuleImplementationBasicForm.spec.js +13 -13
  120. package/src/components/ruleImplementationForm/__tests__/RuleImplementationForm.spec.js +2 -2
  121. package/src/components/ruleImplementationForm/__tests__/RuleImplementationRawForm.spec.js +25 -25
  122. package/src/components/ruleImplementationForm/__tests__/ValueConditions.spec.js +1 -1
  123. package/src/components/ruleImplementationForm/operators.js +7 -7
  124. package/src/hooks/__tests__/useImplementations.spec.js +0 -1
  125. package/src/hooks/useImplementations.js +5 -5
  126. package/src/messages/en.js +0 -1
  127. package/src/messages/es.js +0 -1
  128. package/src/messages/index.js +1 -1
  129. package/src/reducers/__tests__/conceptRules.spec.js +3 -3
  130. package/src/reducers/__tests__/conceptRulesActions.spec.js +6 -6
  131. package/src/reducers/__tests__/implementationActions.spec.js +2 -2
  132. package/src/reducers/__tests__/implementationLinks.spec.js +4 -4
  133. package/src/reducers/__tests__/implementationsActions.spec.js +2 -2
  134. package/src/reducers/__tests__/previousRuleImplementationQuery.spec.js +6 -6
  135. package/src/reducers/__tests__/remediation.spec.js +7 -7
  136. package/src/reducers/__tests__/remediationActions.spec.js +3 -3
  137. package/src/reducers/__tests__/remediationLoading.spec.js +6 -6
  138. package/src/reducers/__tests__/resultsUploading.spec.js +2 -2
  139. package/src/reducers/__tests__/rule.spec.js +1 -1
  140. package/src/reducers/__tests__/ruleActiveFilters.spec.js +8 -8
  141. package/src/reducers/__tests__/ruleCount.spec.js +3 -3
  142. package/src/reducers/__tests__/ruleFiltersLoading.spec.js +2 -2
  143. package/src/reducers/__tests__/ruleImplementation.spec.js +2 -2
  144. package/src/reducers/__tests__/ruleImplementationActiveFilters.spec.js +11 -11
  145. package/src/reducers/__tests__/ruleImplementationCount.spec.js +5 -5
  146. package/src/reducers/__tests__/ruleImplementationCreating.spec.js +5 -5
  147. package/src/reducers/__tests__/ruleImplementationFilters.spec.js +4 -4
  148. package/src/reducers/__tests__/ruleImplementationLoading.spec.js +5 -3
  149. package/src/reducers/__tests__/ruleImplementationQuery.spec.js +7 -7
  150. package/src/reducers/__tests__/ruleImplementationRedirect.spec.js +13 -13
  151. package/src/reducers/__tests__/ruleImplementationSaving.spec.js +4 -2
  152. package/src/reducers/__tests__/ruleImplementationSelectedFilter.spec.js +7 -7
  153. package/src/reducers/__tests__/ruleImplementations.spec.js +4 -4
  154. package/src/reducers/__tests__/ruleImplementationsDownloading.spec.js +4 -4
  155. package/src/reducers/__tests__/ruleImplementationsLoading.spec.js +5 -5
  156. package/src/reducers/__tests__/ruleImplementationsPageSize.spec.js +4 -4
  157. package/src/reducers/__tests__/ruleQuery.spec.js +6 -6
  158. package/src/reducers/__tests__/ruleRedirect.spec.js +10 -10
  159. package/src/reducers/__tests__/rules.spec.js +2 -2
  160. package/src/reducers/__tests__/segmentResult.spec.js +3 -3
  161. package/src/reducers/__tests__/uploadImplementationsFile.spec.js +2 -2
  162. package/src/reducers/__tests__/uploadRulesFile.spec.js +2 -2
  163. package/src/reducers/conceptRulesActions.js +2 -2
  164. package/src/reducers/dqMessage.js +2 -2
  165. package/src/reducers/implementationsActions.js +1 -1
  166. package/src/reducers/previousRuleImplementationQuery.js +2 -2
  167. package/src/reducers/ruleFilters.js +1 -1
  168. package/src/reducers/ruleImplementationActiveFilters.js +1 -1
  169. package/src/reducers/ruleImplementationCount.js +1 -1
  170. package/src/reducers/ruleImplementationFilters.js +2 -2
  171. package/src/reducers/ruleImplementationRaw.js +1 -1
  172. package/src/reducers/ruleImplementationRedirect.js +3 -3
  173. package/src/reducers/ruleImplementationSelectedFilter.js +1 -1
  174. package/src/reducers/ruleImplementationsLoading.js +1 -1
  175. package/src/reducers/ruleImplementationsPageSize.js +1 -1
  176. package/src/reducers/ruleSelectedFilter.js +1 -1
  177. package/src/reducers/uploadingImplementationsFile.js +1 -1
  178. package/src/routines.js +23 -23
  179. package/src/sagas/__tests__/createExecutionGroup.spec.js +1 -1
  180. package/src/sagas/__tests__/createImplementationStructure.spec.js +1 -1
  181. package/src/sagas/__tests__/createRuleImplementation.spec.js +1 -1
  182. package/src/sagas/__tests__/deleteImplementationStructure.spec.js +1 -1
  183. package/src/sagas/__tests__/deleteRule.spec.js +1 -3
  184. package/src/sagas/__tests__/downloadRuleImplementations.spec.js +1 -1
  185. package/src/sagas/__tests__/fetchConceptRules.spec.js +1 -1
  186. package/src/sagas/__tests__/fetchRule.spec.js +1 -3
  187. package/src/sagas/__tests__/fetchRuleFilters.spec.js +5 -5
  188. package/src/sagas/__tests__/fetchRuleImplementation.spec.js +1 -1
  189. package/src/sagas/__tests__/fetchRuleImplementations.spec.js +1 -1
  190. package/src/sagas/__tests__/fetchRules.spec.js +4 -6
  191. package/src/sagas/__tests__/searchRuleImplementations.spec.js +3 -3
  192. package/src/sagas/__tests__/updateRule.spec.js +1 -3
  193. package/src/sagas/__tests__/updateRuleImplementation.spec.js +1 -1
  194. package/src/sagas/__tests__/uploadImplementations.spec.js +2 -2
  195. package/src/sagas/createExecutionGroup.js +1 -1
  196. package/src/sagas/createImplementationStructure.js +1 -1
  197. package/src/sagas/createRuleImplementation.js +2 -2
  198. package/src/sagas/deleteImplementationStructure.js +1 -1
  199. package/src/sagas/downloadRuleImplementations.js +1 -1
  200. package/src/sagas/downloadRuleImplementationsXlsx.js +1 -1
  201. package/src/sagas/fetchRuleImplementation.js +1 -1
  202. package/src/sagas/fetchRuleImplementationFilters.js +1 -1
  203. package/src/sagas/fetchRuleImplementations.js +2 -2
  204. package/src/sagas/searchRuleImplementations.js +2 -2
  205. package/src/sagas/updateRuleImplementation.js +1 -1
  206. package/src/sagas/uploadImplementations.js +1 -1
  207. package/src/sagas/uploadResults.js +1 -1
  208. package/src/sagas/uploadRules.js +1 -1
  209. package/src/selectors/__tests__/executionGroupsColumnsSelector.spec.js +2 -2
  210. package/src/selectors/__tests__/getImplementationStructureLinksColumns.spec.js +1 -1
  211. package/src/selectors/__tests__/getRuleImplementationSelectedFilterValues.spec.js +1 -1
  212. package/src/selectors/__tests__/ruleColumnsSelector.spec.js +1 -1
  213. package/src/selectors/datasetDefaultFiltersSelector.js +1 -1
  214. package/src/selectors/executionGroupsColumnsSelector.js +1 -1
  215. package/src/selectors/getExecutionGroupColumns.js +1 -1
  216. package/src/selectors/getExecutionQuery.js +1 -1
  217. package/src/selectors/getImplementationStructureLinksColumns.js +10 -10
  218. package/src/selectors/getImplementationStructures.js +10 -8
  219. package/src/selectors/getImplementationsExecution.js +1 -1
  220. package/src/selectors/getLinkedImplementationsToRulesColumns.js +1 -1
  221. package/src/selectors/getRuleAvailableFilters.js +2 -2
  222. package/src/selectors/getRuleFilterTypes.js +1 -1
  223. package/src/selectors/getRuleImplementationAvailableFilters.js +3 -3
  224. package/src/selectors/getRuleImplementationColumns.js +1 -1
  225. package/src/selectors/getRuleImplementationFilterTypes.js +1 -1
  226. package/src/selectors/getRuleImplementationForm.js +11 -11
  227. package/src/selectors/getRuleImplementationSelectedFilterActiveValues.js +2 -2
  228. package/src/selectors/getRuleImplementationSelectedFilterValues.js +2 -2
  229. package/src/selectors/getRuleImplementationSelectedFilters.js +1 -1
  230. package/src/selectors/getRuleSelectedFilterActiveValues.js +1 -1
  231. package/src/selectors/getRuleSelectedFilterValues.js +2 -2
  232. package/src/selectors/getRuleSelectedFilters.js +1 -1
  233. package/src/selectors/getSegmentResultsColumns.js +1 -1
  234. package/src/selectors/getStructureFields.js +3 -3
  235. package/src/selectors/ruleColumnsSelector.js +3 -3
  236. package/src/selectors/ruleResultsColumnsSelector.js +1 -1
  237. package/src/services/__tests__/encodeRawContent.spec.js +1 -1
  238. package/src/services/encodeRawContent.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truedat/dq",
3
- "version": "8.7.0",
3
+ "version": "8.7.1",
4
4
  "description": "Truedat Web Data Quality Module",
5
5
  "sideEffects": false,
6
6
  "module": "src/index.js",
@@ -56,7 +56,7 @@
56
56
  "@testing-library/jest-dom": "^6.6.3",
57
57
  "@testing-library/react": "^16.3.0",
58
58
  "@testing-library/user-event": "^14.6.1",
59
- "@truedat/test": "8.7.0",
59
+ "@truedat/test": "8.7.1",
60
60
  "identity-obj-proxy": "^3.0.0",
61
61
  "jest": "^29.7.0",
62
62
  "redux-saga-test-plan": "^4.0.6"
@@ -89,5 +89,5 @@
89
89
  "semantic-ui-react": "^3.0.0-beta.2",
90
90
  "swr": "^2.3.3"
91
91
  },
92
- "gitHead": "375298315086154cea326bfaebc504d6e45873ed"
92
+ "gitHead": "f7605a6ea3f78839b42bb7d8339eec125ba49acb"
93
93
  }
@@ -126,14 +126,13 @@ const mapStateToProps = ({
126
126
  concept,
127
127
  conceptRules: _.flow(
128
128
  _.reject("deleted_at"),
129
- _.orderBy(["business_concept_id", "df_name"], ["desc", "asc"])
129
+ _.orderBy(["business_concept_id", "df_name"], ["desc", "asc"]),
130
130
  )(conceptRules),
131
131
  showExpandableColumn: _.some("business_concept_name")(conceptRules),
132
132
  createRuleUrl: conceptRulesActions?.create
133
133
  ? linkTo.CONCEPT_RULES_NEW(concept)
134
134
  : null,
135
- visible:
136
- _.prop("status")(concept) != "deprecated" && manageQualityRule,
135
+ visible: _.prop("status")(concept) != "deprecated" && manageQualityRule,
137
136
  };
138
137
  };
139
138
 
@@ -82,7 +82,7 @@ const filterNilOrEmpties = (values, keys) => {
82
82
 
83
83
  return _.flow(
84
84
  _.map((v) => filterNilOrEmpties(v, keys)),
85
- _.filter((v) => !!v)
85
+ _.filter((v) => !!v),
86
86
  )(values);
87
87
  };
88
88
 
@@ -106,12 +106,12 @@ const valuesFromKeys = (values, keys, optionalKeys, value_modifier) =>
106
106
  _.map((value) => {
107
107
  return Array.isArray(value?.fields)
108
108
  ? _.map((innerValue) => pick(innerValue, keys, optionalKeys))(
109
- value?.fields
109
+ value?.fields,
110
110
  )
111
111
  : pick(value, keys, optionalKeys);
112
112
  }),
113
113
  (v) => filterNilOrEmpties(v, keys),
114
- (v) => convert(v, 0, value_modifier)
114
+ (v) => convert(v, 0, value_modifier),
115
115
  )(values);
116
116
 
117
117
  export const getValues = ({ value = [], operator = {}, value_modifier }) => {
@@ -121,14 +121,14 @@ export const getValues = ({ value = [], operator = {}, value_modifier }) => {
121
121
  defaultOrValue,
122
122
  ["name"],
123
123
  ["path", "metadata", "id", "type", "parent_index"],
124
- value_modifier
124
+ value_modifier,
125
125
  )
126
126
  : operator?.value_type === "reference_dataset_field"
127
127
  ? valuesFromKeys(
128
128
  defaultOrValue,
129
129
  ["referenceDataset", "name"],
130
130
  [],
131
- value_modifier
131
+ value_modifier,
132
132
  )
133
133
  : valuesFromKeys(defaultOrValue, ["raw"], [], value_modifier);
134
134
  };
@@ -152,7 +152,7 @@ const qualifySqlIdentifier = ({ aliasArray, value }) =>
152
152
  _.find({ index: value?.parent_index }),
153
153
  _.propOr(null, "text"),
154
154
  _.defaultTo(value?.metadata?.table || _.last(value?.path)),
155
- (qualifier) => (qualifier ? `(${qualifier}).${value?.name}` : value?.name)
155
+ (qualifier) => (qualifier ? `(${qualifier}).${value?.name}` : value?.name),
156
156
  )(aliasArray);
157
157
 
158
158
  export const ConditionCell = ({
@@ -213,11 +213,11 @@ export const ConditionCell = ({
213
213
  <div key={`${paramName}_${i}`}>
214
214
  `${paramValueItem}`
215
215
  </div>
216
- )
216
+ ),
217
217
  )
218
218
  : `${paramValue}`}
219
219
  </div>
220
- ))
220
+ )),
221
221
  )(row)}
222
222
  </>
223
223
  )}
@@ -260,7 +260,7 @@ export const ConditionCell = ({
260
260
  id: `filtersGrid.field.modifier.${value.modifier.name}.${paramName}`,
261
261
  defaultMessage: paramName,
262
262
  })}: ${paramValue}`}</div>
263
- ))
263
+ )),
264
264
  )(value)}
265
265
  </>
266
266
  )}
@@ -74,7 +74,7 @@ export const ExecutionForm = ({ count, onSubmit, onCancel }) => {
74
74
  ? "implementation.actions.execution.confirmation.content"
75
75
  : "implementations.actions.execution.confirmation.content",
76
76
  },
77
- { implementations_count: count }
77
+ { implementations_count: count },
78
78
  )}
79
79
  </p>
80
80
  <div className="actions">
@@ -29,13 +29,13 @@ ExecutionRow.propTypes = {
29
29
  };
30
30
 
31
31
  const isCompleted = _.flow(_.prop("_embedded.status"), (s) =>
32
- _.includes(s)(["SUCCEEDED", "FAILED"])
32
+ _.includes(s)(["SUCCEEDED", "FAILED"]),
33
33
  );
34
34
 
35
35
  export const ExecutionGroup = ({ executionGroup, columns }) => {
36
36
  const { formatMessage } = useIntl();
37
37
  const executions = _.sortBy("_embedded.implementation.implementation_key")(
38
- executionGroup?._embedded?.executions
38
+ executionGroup?._embedded?.executions,
39
39
  );
40
40
  const count = _.size(executions);
41
41
  const pendingCount = _.flow(_.reject(isCompleted), _.size)(executions);
@@ -5,13 +5,13 @@ import { useQuery } from "@apollo/client";
5
5
  import { TEMPLATES_QUERY } from "@truedat/core/api/queries";
6
6
 
7
7
  const DynamicFormViewer = lazy(
8
- () => import("@truedat/df/components/DynamicFormViewer")
8
+ () => import("@truedat/df/components/DynamicFormViewer"),
9
9
  );
10
10
 
11
11
  const templateFieldNames = _.flow(
12
12
  _.prop("content"),
13
13
  _.flatMap("fields"),
14
- _.map("name")
14
+ _.map("name"),
15
15
  );
16
16
 
17
17
  export const ExecutionGroupContent = ({ content }) => {
@@ -23,11 +23,11 @@ export const ExecutionGroupContent = ({ content }) => {
23
23
  const matchingFieldCount = _.flow(
24
24
  templateFieldNames,
25
25
  _.intersection(contentFieldNames),
26
- _.size
26
+ _.size,
27
27
  );
28
28
  const template = _.flow(
29
29
  _.propOr([], "templates"),
30
- _.maxBy(matchingFieldCount)
30
+ _.maxBy(matchingFieldCount),
31
31
  )(data);
32
32
 
33
33
  return template ? (
@@ -68,7 +68,7 @@ export const ImplementationExecutionFilters = () => {
68
68
  const variables = { id };
69
69
  const { data, error, loading } = useQuery(
70
70
  IMPLEMENTATION_EXECUTION_FILTERS_QUERY,
71
- { variables }
71
+ { variables },
72
72
  );
73
73
  if (error) return null;
74
74
  if (loading) return <Loading />;
@@ -15,12 +15,12 @@ const mapDispatchToProps = (dispatch) =>
15
15
  clearFilters: clearImplementationFilters,
16
16
  fetchFilters: fetchImplementationFilters,
17
17
  },
18
- dispatch
18
+ dispatch,
19
19
  );
20
20
 
21
21
  export const makeMapStateToProps = () => {
22
22
  const activeFiltersSelector = makeActiveFiltersSelector(
23
- "ruleImplementationActiveFilters"
23
+ "ruleImplementationActiveFilters",
24
24
  );
25
25
  const mapStateToProps = (state, props) => ({
26
26
  selectedFilter: state.ruleImplementationSelectedFilter,
@@ -22,7 +22,7 @@ export default function ImplementationResultBar({ implementation }) {
22
22
  color: "empyDataset",
23
23
  resultText: intl.formatMessage(
24
24
  { id: `quality.result.empty_dataset.date` },
25
- { date: <DateTime value={ruleResult.date} /> }
25
+ { date: <DateTime value={ruleResult.date} /> },
26
26
  ),
27
27
  }
28
28
  : calculateResultDecoration({
@@ -46,32 +46,32 @@ export const ImplementationSearchResults = ({ embedded, role, columns }) => {
46
46
  const ids = _.map(_.prop("id"))(ruleImplementations);
47
47
  checkedAll
48
48
  ? setSelectedImplementations(
49
- _.flow(_.concat(ids), _.uniq)(selectedImplementations)
49
+ _.flow(_.concat(ids), _.uniq)(selectedImplementations),
50
50
  )
51
51
  : setSelectedImplementations(
52
- _.flow(_.difference(selectedImplementations), _.uniq)(ids)
52
+ _.flow(_.difference(selectedImplementations), _.uniq)(ids),
53
53
  );
54
54
  };
55
55
  const checkRow = (implementation) => {
56
56
  const id = _.prop("id")(implementation);
57
57
  const exists = _.some((selectedId) => _.eq(id, selectedId))(
58
- selectedImplementations
58
+ selectedImplementations,
59
59
  );
60
60
  exists
61
61
  ? setSelectedImplementations(
62
62
  _.flow(
63
63
  _.remove((selectedId) => _.eq(id, selectedId)),
64
- _.uniq
65
- )(selectedImplementations)
64
+ _.uniq,
65
+ )(selectedImplementations),
66
66
  )
67
67
  : setSelectedImplementations(
68
- _.flow(_.concat(id), _.uniq)(selectedImplementations)
68
+ _.flow(_.concat(id), _.uniq)(selectedImplementations),
69
69
  );
70
70
  };
71
71
  const isRowChecked = (implementation) => {
72
72
  const id = _.prop("id")(implementation);
73
73
  return _.some((selectedId) => _.eq(id, selectedId))(
74
- selectedImplementations
74
+ selectedImplementations,
75
75
  );
76
76
  };
77
77
  const filteredColumns = useActiveRoute(IMPLEMENTATIONS_PENDING)
@@ -39,5 +39,5 @@ ImplementationStructureDelete.propTypes = {
39
39
  };
40
40
 
41
41
  export default connect(null, { deleteImplementationStructure })(
42
- ImplementationStructureDelete
42
+ ImplementationStructureDelete,
43
43
  );
@@ -9,7 +9,7 @@ import { linkTo } from "@truedat/core/routes";
9
9
  import { createImplementationStructure } from "../routines";
10
10
 
11
11
  const StructureSelector = lazy(
12
- () => import("@truedat/dd/components/StructureSelector")
12
+ () => import("@truedat/dd/components/StructureSelector"),
13
13
  );
14
14
 
15
15
  export const ImplementationStructuresNew = ({
@@ -23,13 +23,16 @@ export const ImplementationStructuresNew = ({
23
23
  linkTo.IMPLEMENTATION_STRUCTURES({
24
24
  id: implementation.rule_id,
25
25
  implementation_id: implementation.id,
26
- })
26
+ }),
27
27
  );
28
28
  return null;
29
29
  }
30
30
 
31
+ // eslint-disable-next-line react-hooks/rules-of-hooks
31
32
  const { formatMessage } = useIntl();
33
+ // eslint-disable-next-line react-hooks/rules-of-hooks
32
34
  const [selectedTarget, setSelectedTarget] = useState(null);
35
+ // eslint-disable-next-line react-hooks/rules-of-hooks
33
36
  const [type, setType] = useState("dataset");
34
37
  const submitDisabled = creatingImplementationStructure || !selectedTarget;
35
38
 
@@ -135,5 +138,5 @@ const mapStateToProps = (state) => ({
135
138
  });
136
139
 
137
140
  export default connect(mapStateToProps, { createImplementationStructure })(
138
- ImplementationStructuresNew
141
+ ImplementationStructuresNew,
139
142
  );
@@ -50,7 +50,7 @@ FormattedLink.propTypes = {
50
50
  const AliasText = ({ alias, clause }) => {
51
51
  const text = _.flow(
52
52
  _.find({ index: clause?.parent_index }),
53
- _.propOr(null, "text")
53
+ _.propOr(null, "text"),
54
54
  )(alias);
55
55
  return _.isNull(text) ? clause?.name : `(${text}).${clause?.name}`;
56
56
  };
@@ -82,7 +82,7 @@ const UnionSummary = ({ alias, row }) => {
82
82
  {clause.left && <AliasText alias={alias} clause={clause.left} />}={" "}
83
83
  {clause.right && <AliasText alias={alias} clause={clause.right} />}
84
84
  </List.Item>
85
- ) : null
85
+ ) : null,
86
86
  )}
87
87
  </List>
88
88
  );
@@ -7,7 +7,7 @@ import { SearchContextProvider } from "@truedat/core/search/SearchContext";
7
7
  import { getRiSubscopes } from "@truedat/core/selectors";
8
8
  import {
9
9
  IMPLEMENTATIONS,
10
- IMPLEMENTATIONS_BY_SUBSCOPE
10
+ IMPLEMENTATIONS_BY_SUBSCOPE,
11
11
  } from "@truedat/core/routes";
12
12
  import {
13
13
  useRuleImplementationFilters,
@@ -20,25 +20,32 @@ import ImplementationSearchResults from "./ImplementationSearchResults";
20
20
 
21
21
  export const Implementations = ({ defaultFilters }) => {
22
22
  const { subscope } = useParams();
23
- const isImplementations=useActiveRoute(IMPLEMENTATIONS)
24
- const isImplementationsBySubscope=useActiveRoute(IMPLEMENTATIONS_BY_SUBSCOPE)
23
+ const isImplementations = useActiveRoute(IMPLEMENTATIONS);
24
+ const isImplementationsBySubscope = useActiveRoute(
25
+ IMPLEMENTATIONS_BY_SUBSCOPE,
26
+ );
25
27
  const riSubscopes = useSelector(getRiSubscopes);
26
28
 
29
+ // eslint-disable-next-line fp/no-let
27
30
  let filtersWithSubscope = { ...defaultFilters };
28
-
29
- if (isImplementations && riSubscopes && riSubscopes.length > 0){
31
+
32
+ if (isImplementations && riSubscopes && riSubscopes.length > 0) {
30
33
  const mustNotFilters = {};
34
+ // eslint-disable-next-line fp/no-mutation
31
35
  mustNotFilters[`mustnot.template.subscope`] = riSubscopes;
32
36
 
37
+ // eslint-disable-next-line fp/no-mutation
33
38
  filtersWithSubscope = {
34
39
  ...defaultFilters,
35
- ...mustNotFilters
40
+ ...mustNotFilters,
41
+ };
42
+ } else if (isImplementationsBySubscope) {
43
+ // eslint-disable-next-line fp/no-mutation
44
+ filtersWithSubscope = {
45
+ ...defaultFilters,
46
+ "template.subscope": [subscope],
36
47
  };
37
48
  }
38
- else if (isImplementationsBySubscope){
39
- filtersWithSubscope = { ...defaultFilters, "template.subscope": [subscope] };
40
- }
41
-
42
49
 
43
50
  const searchProps = {
44
51
  initialSortColumn: "implementation_key.raw",
@@ -71,4 +78,4 @@ Implementations.propTypes = {
71
78
  defaultFilters: PropTypes.object,
72
79
  };
73
80
 
74
- export default Implementations;
81
+ export default Implementations;
@@ -17,22 +17,23 @@ export const ImplementationSearchResultsHeader = () => {
17
17
 
18
18
  const { header, subheader } = useMemo(() => {
19
19
  // Check if current URL is a subscope URL
20
- const pathParts = location.pathname.split('/');
21
- const isSubscopeUrl = pathParts.includes('subscope') && pathParts.length > 2;
22
-
20
+ const pathParts = location.pathname.split("/");
21
+ const isSubscopeUrl =
22
+ pathParts.includes("subscope") && pathParts.length > 2;
23
+
23
24
  if (isSubscopeUrl) {
24
- const subscopeIndex = pathParts.indexOf('subscope');
25
+ const subscopeIndex = pathParts.indexOf("subscope");
25
26
  const subscopeName = pathParts[subscopeIndex + 1];
26
-
27
+
27
28
  if (subscopeName) {
28
29
  const decodedName = decodeURIComponent(subscopeName);
29
30
  const normalizedSubscopeName = decodedName
30
- .replace(/\s+/g, '_')
31
- .replace(/[^\w_]/g, '');
32
-
31
+ .replace(/\s+/g, "_")
32
+ .replace(/[^\w_]/g, "");
33
+
33
34
  return {
34
35
  header: `implementations.${normalizedSubscopeName}.main.header`,
35
- subheader: `implementations.${normalizedSubscopeName}.main.subheader`
36
+ subheader: `implementations.${normalizedSubscopeName}.main.subheader`,
36
37
  };
37
38
  }
38
39
  }
@@ -40,20 +41,20 @@ export const ImplementationSearchResultsHeader = () => {
40
41
  if (pending) {
41
42
  return {
42
43
  header: "implementations.header.manage",
43
- subheader: "implementations.subheader.manage"
44
+ subheader: "implementations.subheader.manage",
44
45
  };
45
46
  }
46
47
 
47
48
  if (deprecated) {
48
49
  return {
49
50
  header: "implementations.header.deprecated",
50
- subheader: "implementations.subheader.deprecated"
51
+ subheader: "implementations.subheader.deprecated",
51
52
  };
52
53
  }
53
54
 
54
55
  return {
55
56
  header: "implementations.header",
56
- subheader: "implementations.subheader"
57
+ subheader: "implementations.subheader",
57
58
  };
58
59
  }, [location.pathname, pending, deprecated]);
59
60
 
@@ -67,19 +68,13 @@ export const ImplementationSearchResultsHeader = () => {
67
68
  })}
68
69
  />
69
70
  <Header.Content>
70
- <FormattedMessage
71
- id={header}
72
- defaultMessage={header}
73
- />
71
+ <FormattedMessage id={header} defaultMessage={header} />
74
72
  <Header.Subheader>
75
- <FormattedMessage
76
- id={subheader}
77
- defaultMessage={subheader}
78
- />
73
+ <FormattedMessage id={subheader} defaultMessage={subheader} />
79
74
  </Header.Subheader>
80
75
  </Header.Content>
81
76
  </Header>
82
77
  );
83
78
  };
84
79
 
85
- export default ImplementationSearchResultsHeader;
80
+ export default ImplementationSearchResultsHeader;
@@ -6,6 +6,8 @@ import { connect } from "react-redux";
6
6
  import { Segment } from "semantic-ui-react";
7
7
  import { ProtectedRoute, Loader } from "@truedat/core/router";
8
8
  // This is only for information purposes
9
+ import UploadJobs from "@truedat/core/components/UploadJobs";
10
+ import UploadJob from "@truedat/core/components/UploadJob";
9
11
  import {
10
12
  getImplementationStructures,
11
13
  getImplementationStructuresLoaded,
@@ -27,23 +29,21 @@ import RuleImplementationResults from "./RuleImplementationResults";
27
29
  import RuleResultRemediationLoader from "./RuleResultRemediationLoader";
28
30
  import RuleResultsRoutes from "./RuleResultsRoutes";
29
31
  import RuleSubscriptionLoader from "./RuleSubscriptionLoader";
30
- import UploadJobs from "@truedat/core/components/UploadJobs";
31
- import UploadJob from "@truedat/core/components/UploadJob";
32
32
 
33
33
  const TemplatesLoader = React.lazy(
34
- () => import("@truedat/core/components/TemplatesLoader")
34
+ () => import("@truedat/core/components/TemplatesLoader"),
35
35
  );
36
36
  const EventsLoader = React.lazy(
37
- () => import("@truedat/audit/components/EventsLoader")
37
+ () => import("@truedat/audit/components/EventsLoader"),
38
38
  );
39
39
  const ImplementationStructuresLoader = React.lazy(
40
- () => import("@truedat/dd/components/ImplementationStructuresLoader")
40
+ () => import("@truedat/dd/components/ImplementationStructuresLoader"),
41
41
  );
42
42
  const ImplementationLinks = React.lazy(
43
- () => import("@truedat/lm/components/ImplementationLinks")
43
+ () => import("@truedat/lm/components/ImplementationLinks"),
44
44
  );
45
45
  const ImplementationRelationForm = React.lazy(
46
- () => import("@truedat/lm/components/ImplementationRelationForm")
46
+ () => import("@truedat/lm/components/ImplementationRelationForm"),
47
47
  );
48
48
 
49
49
  const ImplementationEventsLoader = () => {
@@ -45,5 +45,5 @@ export const mapStateToProps = ({
45
45
  });
46
46
 
47
47
  export default connect(mapStateToProps, { updateRuleImplementation })(
48
- MoveImplementation
48
+ MoveImplementation,
49
49
  );
@@ -48,7 +48,7 @@ export const NewBasicRuleImplementation = ({
48
48
  rule_id: _.propOr(null, "id")(rule),
49
49
  domain_id: rule?.domain_id || null,
50
50
  rule: rule,
51
- }
51
+ },
52
52
  );
53
53
 
54
54
  const onChange = (prop, value) =>