@truedat/core 4.44.2 → 4.44.5

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 (37) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/package.json +24 -18
  3. package/src/api/queries.js +12 -0
  4. package/src/components/CatalogMenu.js +4 -3
  5. package/src/components/DashboardMenu.js +12 -4
  6. package/src/components/QualityMenu.js +15 -7
  7. package/src/components/SideMenu.js +11 -5
  8. package/src/components/SidebarToggle.js +9 -4
  9. package/src/components/Submenu.js +12 -10
  10. package/src/components/TemplateSelector.js +99 -0
  11. package/src/components/__tests__/DashboardMenu.spec.js +13 -14
  12. package/src/components/__tests__/DateTime.spec.js +5 -3
  13. package/src/components/__tests__/QualityMenu.spec.js +14 -14
  14. package/src/components/__tests__/SideMenu.spec.js +7 -14
  15. package/src/components/__tests__/Submenu.spec.js +7 -19
  16. package/src/components/__tests__/TemplateSelector.spec.js +80 -0
  17. package/src/components/__tests__/__snapshots__/AdminMenu.spec.js.snap +1 -1
  18. package/src/components/__tests__/__snapshots__/CatalogMenu.spec.js.snap +13 -0
  19. package/src/components/__tests__/__snapshots__/DashboardMenu.spec.js.snap +1 -16
  20. package/src/components/__tests__/__snapshots__/DateTime.spec.js.snap +7 -19
  21. package/src/components/__tests__/__snapshots__/GlossaryMenu.spec.js.snap +1 -1
  22. package/src/components/__tests__/__snapshots__/GrantMenu.spec.js.snap +1 -1
  23. package/src/components/__tests__/__snapshots__/IngestMenu.spec.js.snap +1 -1
  24. package/src/components/__tests__/__snapshots__/LineageMenu.spec.js.snap +1 -1
  25. package/src/components/__tests__/__snapshots__/MembersMenu.spec.js.snap +1 -1
  26. package/src/components/__tests__/__snapshots__/QualityMenu.spec.js.snap +60 -26
  27. package/src/components/__tests__/__snapshots__/SearchMenu.spec.js.snap +1 -1
  28. package/src/components/__tests__/__snapshots__/SideMenu.spec.js.snap +58 -30
  29. package/src/components/__tests__/__snapshots__/Submenu.spec.js.snap +30 -38
  30. package/src/components/__tests__/__snapshots__/TaxonomyMenu.spec.js.snap +1 -1
  31. package/src/components/__tests__/__snapshots__/TemplateSelector.spec.js.snap +210 -0
  32. package/src/components/index.js +2 -0
  33. package/src/messages/en.js +6 -0
  34. package/src/messages/es.js +6 -0
  35. package/src/routes.js +21 -18
  36. package/src/services/file.js +9 -0
  37. package/src/services/sort.js +2 -0
@@ -0,0 +1,210 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`<TemplateSelector /> matches the latest snapshot (loading) 1`] = `
4
+ <div>
5
+ <div
6
+ class="field"
7
+ >
8
+ <label>
9
+ Template
10
+ </label>
11
+ <div
12
+ class="field"
13
+ >
14
+ <div
15
+ aria-busy="true"
16
+ aria-expanded="false"
17
+ class="ui loading search selection dropdown"
18
+ name="template"
19
+ role="combobox"
20
+ >
21
+ <input
22
+ aria-autocomplete="list"
23
+ autocomplete="off"
24
+ class="search"
25
+ tabindex="0"
26
+ type="text"
27
+ value=""
28
+ />
29
+ <div
30
+ aria-atomic="true"
31
+ aria-live="polite"
32
+ class="divider default text"
33
+ role="alert"
34
+ >
35
+ loading...
36
+ </div>
37
+ <i
38
+ aria-hidden="true"
39
+ class="dropdown icon"
40
+ />
41
+ <div
42
+ class="menu transition"
43
+ role="listbox"
44
+ >
45
+ <div
46
+ class="message"
47
+ >
48
+ No results found.
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ `;
56
+
57
+ exports[`<TemplateSelector /> matches the latest snapshot 1`] = `
58
+ <div>
59
+ <div
60
+ class="field"
61
+ >
62
+ <label>
63
+ Template
64
+ </label>
65
+ <div
66
+ class="field"
67
+ >
68
+ <div
69
+ aria-busy="false"
70
+ aria-expanded="false"
71
+ class="ui search selection dropdown"
72
+ name="template"
73
+ role="combobox"
74
+ >
75
+ <input
76
+ aria-autocomplete="list"
77
+ autocomplete="off"
78
+ class="search"
79
+ tabindex="0"
80
+ type="text"
81
+ value=""
82
+ />
83
+ <div
84
+ aria-atomic="true"
85
+ aria-live="polite"
86
+ class="divider default text"
87
+ role="alert"
88
+ >
89
+ Select a template...
90
+ </div>
91
+ <i
92
+ aria-hidden="true"
93
+ class="dropdown icon"
94
+ />
95
+ <div
96
+ class="menu transition"
97
+ role="listbox"
98
+ >
99
+ <div
100
+ aria-checked="false"
101
+ aria-selected="true"
102
+ class="selected item"
103
+ role="option"
104
+ style="pointer-events: all;"
105
+ >
106
+ <span
107
+ class="text"
108
+ >
109
+ template1
110
+ </span>
111
+ </div>
112
+ <div
113
+ aria-checked="false"
114
+ aria-selected="false"
115
+ class="item"
116
+ role="option"
117
+ style="pointer-events: all;"
118
+ >
119
+ <span
120
+ class="text"
121
+ >
122
+ template2
123
+ </span>
124
+ </div>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ </div>
130
+ `;
131
+
132
+ exports[`<TemplateSelector /> matches the latest snapshot when required 1`] = `
133
+ <div>
134
+ <div
135
+ class="required field"
136
+ >
137
+ <label>
138
+ Template
139
+ <div
140
+ class="ui left pointing label"
141
+ >
142
+ Empty required field
143
+ </div>
144
+ </label>
145
+ <div
146
+ class="field"
147
+ >
148
+ <div
149
+ aria-busy="false"
150
+ aria-expanded="false"
151
+ class="ui search selection dropdown"
152
+ name="template"
153
+ role="combobox"
154
+ >
155
+ <input
156
+ aria-autocomplete="list"
157
+ autocomplete="off"
158
+ class="search"
159
+ tabindex="0"
160
+ type="text"
161
+ value=""
162
+ />
163
+ <div
164
+ aria-atomic="true"
165
+ aria-live="polite"
166
+ class="divider default text"
167
+ role="alert"
168
+ >
169
+ Select a template...
170
+ </div>
171
+ <i
172
+ aria-hidden="true"
173
+ class="dropdown icon"
174
+ />
175
+ <div
176
+ class="menu transition"
177
+ role="listbox"
178
+ >
179
+ <div
180
+ aria-checked="false"
181
+ aria-selected="true"
182
+ class="selected item"
183
+ role="option"
184
+ style="pointer-events: all;"
185
+ >
186
+ <span
187
+ class="text"
188
+ >
189
+ template1
190
+ </span>
191
+ </div>
192
+ <div
193
+ aria-checked="false"
194
+ aria-selected="false"
195
+ class="item"
196
+ role="option"
197
+ style="pointer-events: all;"
198
+ >
199
+ <span
200
+ class="text"
201
+ >
202
+ template2
203
+ </span>
204
+ </div>
205
+ </div>
206
+ </div>
207
+ </div>
208
+ </div>
209
+ </div>
210
+ `;
@@ -37,6 +37,7 @@ import SidebarToggle from "./SidebarToggle";
37
37
  import SideMenu from "./SideMenu";
38
38
  import Submenu from "./Submenu";
39
39
  import TaxonomyMenu from "./TaxonomyMenu";
40
+ import TemplateSelector from "./TemplateSelector";
40
41
  import TreeSelector from "./TreeSelector";
41
42
  import Unauthorized from "./Unauthorized";
42
43
  import UploadModal from "./UploadModal";
@@ -81,6 +82,7 @@ export {
81
82
  SideMenu,
82
83
  Submenu,
83
84
  TaxonomyMenu,
85
+ TemplateSelector,
84
86
  TreeSelector,
85
87
  Unauthorized,
86
88
  UploadModal,
@@ -4,8 +4,12 @@ export default {
4
4
  "actions.confirm": "Are you sure?",
5
5
  "actions.create": "Create",
6
6
  "actions.delete": "Delete",
7
+ "actions.download": "Download",
7
8
  "actions.edit": "Edit",
9
+ "actions.next": "Next",
10
+ "actions.prev": "Previous",
8
11
  "actions.save": "Save",
12
+ "actions.share": "Share",
9
13
  "actions.update": "Update",
10
14
  "alert.createComment.failed.header": "Error creating comment",
11
15
  "alert.fetchComments.failed.header": "Error fetching comments list",
@@ -41,6 +45,7 @@ export default {
41
45
  filters: "Filters",
42
46
  "filters.class.raw.field": "Field",
43
47
  "filters.reset": "(reset all filters)",
48
+ loading: "loading...",
44
49
  "form.validation.required": "{prop} is required",
45
50
  "form.validation.minLength": "{prop} must have at least {value} characters",
46
51
  "form.validation.email.invalid": "Invalid email address",
@@ -88,6 +93,7 @@ export default {
88
93
  "sidemenu.pending_structure_notes": "Pending notes",
89
94
  "sidemenu.quality_dashboard": "Quality Dashboard",
90
95
  "sidemenu.quality": "Data Quality",
96
+ "sidemenu.referenceData": "Reference Data",
91
97
  "sidemenu.roles": "Roles",
92
98
  "sidemenu.rules": "Quality Rules",
93
99
  "sidemenu.search": "Search",
@@ -4,8 +4,12 @@ export default {
4
4
  "actions.confirm": "¿Estás seguro?",
5
5
  "actions.create": "Crear",
6
6
  "actions.delete": "Eliminar",
7
+ "actions.download": "Descargar",
7
8
  "actions.edit": "Editar",
9
+ "actions.next": "Siguiente",
10
+ "actions.prev": "Anterior",
8
11
  "actions.save": "Guardar",
12
+ "actions.share": "Compartir",
9
13
  "actions.update": "Actualizar",
10
14
  "alert.createComment.failed.header": "Error creando comentario",
11
15
  "alert.fetchComments.failed.header": "Error cargando la lista de comentarios",
@@ -45,6 +49,7 @@ export default {
45
49
  "form.validation.required": "{prop} es un campo requerido",
46
50
  "form.validation.minLength": "{prop} debe tener al menos {value} elementos",
47
51
  "form.validation.email.invalid": "Dirección de email inválida",
52
+ loading: "cargando...",
48
53
  "navigation.dashboard": "Dashboard",
49
54
  "navigation.menu": "Menú",
50
55
  "search.applied_filters": "Filtros aplicados:",
@@ -91,6 +96,7 @@ export default {
91
96
  "sidemenu.pending_structure_notes": "Notas pendientes",
92
97
  "sidemenu.quality_dashboard": "Dashboard de Calidad",
93
98
  "sidemenu.quality": "Calidad",
99
+ "sidemenu.referenceData": "Datos de referencia",
94
100
  "sidemenu.roles": "Roles",
95
101
  "sidemenu.rules": "Reglas",
96
102
  "sidemenu.search": "Búsqueda",
package/src/routes.js CHANGED
@@ -109,6 +109,10 @@ export const PROFILE_EXECUTION =
109
109
  "/profileGroups/:group_id/profileExecutions/:id";
110
110
  export const PROFILE_GROUP = "/profileGroups/:id";
111
111
  export const QUALITY_DASHBOARD = "/quality_dashboard";
112
+ export const REFERENCE_DATASETS = "/referenceDatasets";
113
+ export const REFERENCE_DATASET_EDIT = "/referenceDatasets/:id/edit";
114
+ export const REFERENCE_DATASET_NEW = "/referenceDatasets/new";
115
+ export const REFERENCE_DATASET = "/referenceDatasets/:id";
112
116
  export const REMEDIATION_EDIT =
113
117
  "/rules/:id/implementations/:implementation_id/results/:rule_result_id/remediation/edit";
114
118
  export const REMEDIATION_NEW =
@@ -229,19 +233,23 @@ const routes = {
229
233
  GROUPS,
230
234
  GROUP_CREATE,
231
235
  GROUP_EDIT,
232
- IMPLEMENTATIONS,
233
- IMPLEMENTATION_NEW,
234
- IMPLEMENTATION_NEW_RAW,
235
236
  IMPLEMENTATION,
237
+ IMPLEMENTATIONS,
238
+ IMPLEMENTATION_CLONE,
239
+ IMPLEMENTATION_CONCEPT_LINKS,
240
+ IMPLEMENTATION_CONCEPT_LINKS_NEW,
236
241
  IMPLEMENTATION_EDIT,
237
242
  IMPLEMENTATION_EVENTS,
238
- IMPLEMENTATION_CLONE,
239
243
  IMPLEMENTATION_MOVE,
240
- IMPLEMENTATION_RESULT_DETAILS,
241
- IMPLEMENTATION_RESULT_SEGMENTS_RESULTS,
242
- IMPLEMENTATION_RESULT_REMEDIATION_PLAN,
244
+ IMPLEMENTATION_NEW,
245
+ IMPLEMENTATION_NEW_RAW,
243
246
  IMPLEMENTATION_RESULTS,
244
247
  IMPLEMENTATION_RESULTS_DETAILS,
248
+ IMPLEMENTATION_RESULT_DETAILS,
249
+ IMPLEMENTATION_RESULT_REMEDIATION_PLAN,
250
+ IMPLEMENTATION_RESULT_SEGMENTS_RESULTS,
251
+ IMPLEMENTATION_STRUCTURES,
252
+ IMPLEMENTATION_STRUCTURES_NEW,
245
253
  INGEST,
246
254
  INGESTS,
247
255
  INGESTS_NEW,
@@ -266,6 +274,10 @@ const routes = {
266
274
  PROFILE_EXECUTION,
267
275
  PROFILE_GROUP,
268
276
  QUALITY_DASHBOARD,
277
+ REFERENCE_DATASET,
278
+ REFERENCE_DATASETS,
279
+ REFERENCE_DATASET_EDIT,
280
+ REFERENCE_DATASET_NEW,
269
281
  REMEDIATION_EDIT,
270
282
  REMEDIATION_NEW,
271
283
  REMEDIATION_PLAN,
@@ -276,13 +288,9 @@ const routes = {
276
288
  RULES,
277
289
  RULE_EDIT,
278
290
  RULE_EVENTS,
279
- IMPLEMENTATION_CONCEPT_LINKS,
280
- IMPLEMENTATION_CONCEPT_LINKS_NEW,
281
- IMPLEMENTATION_STRUCTURES,
282
- IMPLEMENTATION_STRUCTURES_NEW,
291
+ RULE_IMPLEMENTATIONS,
283
292
  RULE_IMPLEMENTATION_NEW,
284
293
  RULE_IMPLEMENTATION_NEW_RAW,
285
- RULE_IMPLEMENTATIONS,
286
294
  RULE_NEW,
287
295
  SAMPLE,
288
296
  SEARCH,
@@ -300,6 +308,7 @@ const routes = {
300
308
  STRUCTURE,
301
309
  STRUCTURES,
302
310
  STRUCTURES_BULK_UPDATE,
311
+ STRUCTURES_UPLOAD_EVENTS,
303
312
  STRUCTURE_CHILDREN,
304
313
  STRUCTURE_EVENTS,
305
314
  STRUCTURE_GRANTS,
@@ -321,12 +330,6 @@ const routes = {
321
330
  STRUCTURE_VERSION,
322
331
  STRUCTURE_VERSIONS,
323
332
  STRUCTURE_VERSION_VERSIONS,
324
- STRUCTURE,
325
- STRUCTURES_BULK_UPDATE,
326
- STRUCTURES,
327
- STRUCTURES_UPLOAD_EVENTS,
328
- SUBSCRIPTION_EDIT,
329
- SUBSCRIPTION_NEW,
330
333
  SUBSCRIPTION,
331
334
  SUBSCRIPTIONS,
332
335
  SUBSCRIPTION_EDIT,
@@ -0,0 +1,9 @@
1
+ export const toBase64 = (file) =>
2
+ new Promise((resolve, reject) => {
3
+ const reader = new FileReader();
4
+ reader.readAsDataURL(file);
5
+ // eslint-disable-next-line fp/no-mutation
6
+ reader.onload = () => resolve(reader.result);
7
+ // eslint-disable-next-line fp/no-mutation
8
+ reader.onerror = (error) => reject(error);
9
+ });
@@ -2,6 +2,8 @@ import _ from "lodash/fp";
2
2
 
3
3
  export const lowerDeburr = _.flow(_.toLower, _.deburr);
4
4
 
5
+ export const lowerDeburrTrim = _.flow(_.toLower, _.deburr, _.trim);
6
+
5
7
  export const lowerDeburrPath = (path) =>
6
8
  _.flow(_.path(path), _.toLower, _.deburr);
7
9