@truedat/dd 4.44.3 → 4.44.4

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 (67) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/package.json +6 -6
  3. package/src/api/mutations.js +27 -0
  4. package/src/api/queries.js +24 -0
  5. package/src/api.js +2 -0
  6. package/src/components/DictionaryRoutes.js +7 -5
  7. package/src/components/FilteredNav.js +9 -9
  8. package/src/components/GrantRequestApprovalPopup.js +0 -1
  9. package/src/components/ReferenceDataset.js +23 -0
  10. package/src/components/ReferenceDatasetActions.js +88 -0
  11. package/src/components/ReferenceDatasetBreadcrumbs.js +22 -0
  12. package/src/components/ReferenceDatasetCreate.js +36 -0
  13. package/src/components/ReferenceDatasetDetail.js +42 -0
  14. package/src/components/ReferenceDatasetForm.js +109 -0
  15. package/src/components/ReferenceDatasetHeader.js +32 -0
  16. package/src/components/ReferenceDatasetRoutes.js +56 -0
  17. package/src/components/ReferenceDatasetTable.js +42 -0
  18. package/src/components/ReferenceDatasets.js +61 -0
  19. package/src/components/ReferenceDatasetsTable.js +105 -0
  20. package/src/components/StructureTagsRoutes.js +0 -1
  21. package/src/components/StructureTypesCrumbs.js +0 -1
  22. package/src/components/StructureView.js +1 -3
  23. package/src/components/SystemForm.js +1 -1
  24. package/src/components/__tests__/ReferenceDataset.spec.js +64 -0
  25. package/src/components/__tests__/ReferenceDatasetActions.spec.js +17 -0
  26. package/src/components/__tests__/ReferenceDatasetBreadcrumbs.spec.js +12 -0
  27. package/src/components/__tests__/ReferenceDatasetCreate.spec.js +12 -0
  28. package/src/components/__tests__/ReferenceDatasetDetail.spec.js +37 -0
  29. package/src/components/__tests__/ReferenceDatasetForm.spec.js +51 -0
  30. package/src/components/__tests__/ReferenceDatasetHeader.spec.js +17 -0
  31. package/src/components/__tests__/ReferenceDatasetRoutes.spec.js +74 -0
  32. package/src/components/__tests__/ReferenceDatasetTable.spec.js +18 -0
  33. package/src/components/__tests__/ReferenceDatasets.spec.js +32 -0
  34. package/src/components/__tests__/ReferenceDatasetsTable.spec.js +22 -0
  35. package/src/components/__tests__/__snapshots__/DictionaryRoutes.spec.js.snap +4 -0
  36. package/src/components/__tests__/__snapshots__/ReferenceDataset.spec.js.snap +365 -0
  37. package/src/components/__tests__/__snapshots__/ReferenceDatasetActions.spec.js.snap +65 -0
  38. package/src/components/__tests__/__snapshots__/ReferenceDatasetBreadcrumbs.spec.js.snap +25 -0
  39. package/src/components/__tests__/__snapshots__/ReferenceDatasetCreate.spec.js.snap +98 -0
  40. package/src/components/__tests__/__snapshots__/ReferenceDatasetDetail.spec.js.snap +135 -0
  41. package/src/components/__tests__/__snapshots__/ReferenceDatasetForm.spec.js.snap +61 -0
  42. package/src/components/__tests__/__snapshots__/ReferenceDatasetHeader.spec.js.snap +95 -0
  43. package/src/components/__tests__/__snapshots__/ReferenceDatasetRoutes.spec.js.snap +414 -0
  44. package/src/components/__tests__/__snapshots__/ReferenceDatasetTable.spec.js.snap +75 -0
  45. package/src/components/__tests__/__snapshots__/ReferenceDatasets.spec.js.snap +128 -0
  46. package/src/components/__tests__/__snapshots__/ReferenceDatasetsTable.spec.js.snap +86 -0
  47. package/src/messages/en.js +18 -0
  48. package/src/messages/es.js +20 -0
  49. package/src/reducers/__tests__/ddMessage.spec.js +26 -5
  50. package/src/reducers/__tests__/graph.spec.js +1 -6
  51. package/src/reducers/__tests__/referenceDatasetSaving.spec.js +44 -0
  52. package/src/reducers/__tests__/structureRedirect.spec.js +37 -13
  53. package/src/reducers/ddMessage.js +26 -1
  54. package/src/reducers/index.js +2 -0
  55. package/src/reducers/referenceDatasetSaving.js +16 -0
  56. package/src/reducers/structureRedirect.js +36 -15
  57. package/src/reducers/structuresUploadEvents.js +0 -1
  58. package/src/routines.js +35 -74
  59. package/src/sagas/__tests__/createReferenceDataset.spec.js +90 -0
  60. package/src/sagas/__tests__/deleteReferenceDataset.spec.js +81 -0
  61. package/src/sagas/__tests__/updateReferenceDataset.spec.js +116 -0
  62. package/src/sagas/createReferenceDataset.js +34 -0
  63. package/src/sagas/deleteReferenceDataset.js +29 -0
  64. package/src/sagas/downloadReferenceDataset.js +44 -0
  65. package/src/sagas/index.js +31 -22
  66. package/src/sagas/updateReferenceDataset.js +35 -0
  67. package/src/selectors/getRelationSortingCriteria.js +3 -5
@@ -1,24 +1,26 @@
1
1
  import { bulkUpdateStructuresRequestsSaga } from "./bulkUpdateStructures";
2
- //import { cancelPollRequestSaga } from "./cancelPoll";
3
2
  import { createGrantRequestApprovalRequestSaga } from "./createGrantRequestApproval";
4
3
  import { createGraphRequestSaga } from "./createGraph";
5
4
  import { createProfileGroupRequestSaga } from "./createProfileGroup";
5
+ import { createReferenceDatasetRequestSaga } from "./createReferenceDataset";
6
6
  import { createStructureGraphRequestSaga } from "./createStructureGraph";
7
7
  import { createStructureTagRequestSaga } from "./createStructureTag";
8
- import { deleteStructureRequestSaga } from "./deleteStructure";
9
8
  import { createSystemRequestSaga } from "./createSystem";
10
9
  import { deleteLinkStructureTagRequestSaga } from "./deleteLinkStructureTag";
10
+ import { deleteReferenceDatasetRequestSaga } from "./deleteReferenceDataset";
11
+ import { deleteStructureRequestSaga } from "./deleteStructure";
11
12
  import { deleteStructureTagRequestSaga } from "./deleteStructureTag";
12
13
  import { deleteUserSearchFilterRequestSaga } from "./deleteUserSearchFilter";
13
14
  import { doStructureNoteActionRequestSaga } from "./doStructureNoteAction";
14
15
  import { downloadCsvGraphRequestSaga } from "./downloadCsvGraph";
15
- import { downloadGrantsRequestSaga } from "./downloadGrants";
16
16
  import { downloadEditableStructuresRequestSaga } from "./downloadEditableStructures";
17
+ import { downloadGrantsRequestSaga } from "./downloadGrants";
18
+ import { downloadReferenceDatasetRequestSaga } from "./downloadReferenceDataset";
17
19
  import { downloadStructuresRequestSaga } from "./downloadStructures";
18
20
  import { fetchGrantFiltersRequestSaga } from "./fetchGrantFilters";
19
- import { fetchGrantsRequestSaga } from "./fetchGrants";
20
21
  import { fetchGrantRequestRequestSaga } from "./fetchGrantRequest";
21
22
  import { fetchGrantRequestsRequestSaga } from "./fetchGrantRequests";
23
+ import { fetchGrantsRequestSaga } from "./fetchGrants";
22
24
  import { fetchGraphRequestSaga } from "./fetchGraph";
23
25
  import { fetchLineageEventsRequestSaga } from "./fetchLineageEvents";
24
26
  import { fetchLinksStructureTagsRequestSaga } from "./fetchLinksStructureTags";
@@ -31,45 +33,48 @@ import { fetchStructureNotesRequestSaga } from "./fetchStructureNotes";
31
33
  import { fetchStructureRequestSaga } from "./fetchStructure";
32
34
  import { fetchStructureTypeRequestSaga } from "./fetchStructureType";
33
35
  import { fetchStructureTypesRequestSaga } from "./fetchStructureTypes";
34
- import { fetchUserSearchFiltersRequestSaga } from "./fetchUserSearchFilters";
35
36
  import { fetchStructuresRequestSaga } from "./fetchStructures";
36
37
  import { fetchStructuresUploadEventsRequestSaga } from "./fetchStructuresUploadEvents";
37
38
  import { fetchSystemRequestSaga } from "./fetchSystem";
38
39
  import { fetchSystemStructuresRequestSaga } from "./fetchSystemStructures";
39
40
  import { fetchSystemsRequestSaga } from "./fetchSystems";
40
41
  import { fetchUnitDomainsRequestSaga } from "./fetchUnitDomains";
42
+ import { fetchUserSearchFiltersRequestSaga } from "./fetchUserSearchFilters";
41
43
  import { linkStructureTagRequestSaga } from "./linkStructureTag";
44
+ import { operateGrantRequestToCartRequestSaga } from "./operateGrantRequestCart";
42
45
  import { saveUserSearchFiltersRequestSaga } from "./saveUserSearchFilters";
46
+ import { updateReferenceDatasetRequestSaga } from "./updateReferenceDataset";
43
47
  import { updateStructureRequestSaga } from "./updateStructure";
44
48
  import { updateStructureTagRequestSaga } from "./updateStructureTag";
45
49
  import { updateStructureTypeRequestSaga } from "./updateStructureType";
46
50
  import { updateSystemRequestSaga } from "./updateSystem";
47
- import { uploadStructuresRequestSaga } from "./uploadStructures";
48
51
  import { uploadStructuresDomainsRequestSaga } from "./uploadStructuresDomains";
49
- import { operateGrantRequestToCartRequestSaga } from "./operateGrantRequestCart";
52
+ import { uploadStructuresRequestSaga } from "./uploadStructures";
50
53
 
51
54
  export {
52
55
  bulkUpdateStructuresRequestsSaga,
53
- //cancelPollRequestSaga,
54
56
  createGrantRequestApprovalRequestSaga,
55
57
  createGraphRequestSaga,
56
58
  createProfileGroupRequestSaga,
59
+ createReferenceDatasetRequestSaga,
57
60
  createStructureGraphRequestSaga,
58
61
  createStructureTagRequestSaga,
59
- deleteStructureRequestSaga,
60
62
  createSystemRequestSaga,
61
63
  deleteLinkStructureTagRequestSaga,
64
+ deleteReferenceDatasetRequestSaga,
65
+ deleteStructureRequestSaga,
62
66
  deleteStructureTagRequestSaga,
63
67
  deleteUserSearchFilterRequestSaga,
64
68
  doStructureNoteActionRequestSaga,
65
69
  downloadCsvGraphRequestSaga,
66
- downloadGrantsRequestSaga,
67
70
  downloadEditableStructuresRequestSaga,
71
+ downloadGrantsRequestSaga,
72
+ downloadReferenceDatasetRequestSaga,
68
73
  downloadStructuresRequestSaga,
69
74
  fetchGrantFiltersRequestSaga,
70
- fetchGrantsRequestSaga,
71
75
  fetchGrantRequestRequestSaga,
72
76
  fetchGrantRequestsRequestSaga,
77
+ fetchGrantsRequestSaga,
73
78
  fetchGraphRequestSaga,
74
79
  fetchLineageEventsRequestSaga,
75
80
  fetchLinksStructureTagsRequestSaga,
@@ -82,46 +87,49 @@ export {
82
87
  fetchStructureRequestSaga,
83
88
  fetchStructureTypeRequestSaga,
84
89
  fetchStructureTypesRequestSaga,
85
- fetchStructuresUploadEventsRequestSaga,
86
- fetchUserSearchFiltersRequestSaga,
87
90
  fetchStructuresRequestSaga,
91
+ fetchStructuresUploadEventsRequestSaga,
88
92
  fetchSystemRequestSaga,
89
93
  fetchSystemStructuresRequestSaga,
90
94
  fetchSystemsRequestSaga,
91
95
  fetchUnitDomainsRequestSaga,
96
+ fetchUserSearchFiltersRequestSaga,
92
97
  linkStructureTagRequestSaga,
98
+ operateGrantRequestToCartRequestSaga,
93
99
  saveUserSearchFiltersRequestSaga,
100
+ updateReferenceDatasetRequestSaga,
94
101
  updateStructureRequestSaga,
95
102
  updateStructureTagRequestSaga,
96
103
  updateStructureTypeRequestSaga,
97
104
  updateSystemRequestSaga,
98
- uploadStructuresRequestSaga,
99
105
  uploadStructuresDomainsRequestSaga,
100
- operateGrantRequestToCartRequestSaga,
106
+ uploadStructuresRequestSaga,
101
107
  };
102
108
 
103
109
  export default [
104
110
  bulkUpdateStructuresRequestsSaga(),
105
- //cancelPollRequestSaga(),
106
111
  createGrantRequestApprovalRequestSaga(),
107
112
  createGraphRequestSaga(),
108
113
  createProfileGroupRequestSaga(),
114
+ createReferenceDatasetRequestSaga(),
109
115
  createStructureGraphRequestSaga(),
110
116
  createStructureTagRequestSaga(),
111
- deleteStructureRequestSaga(),
112
117
  createSystemRequestSaga(),
113
118
  deleteLinkStructureTagRequestSaga(),
119
+ deleteReferenceDatasetRequestSaga(),
120
+ deleteStructureRequestSaga(),
114
121
  deleteStructureTagRequestSaga(),
115
122
  deleteUserSearchFilterRequestSaga(),
116
123
  doStructureNoteActionRequestSaga(),
117
124
  downloadCsvGraphRequestSaga(),
118
- downloadGrantsRequestSaga(),
119
125
  downloadEditableStructuresRequestSaga(),
126
+ downloadGrantsRequestSaga(),
127
+ downloadReferenceDatasetRequestSaga(),
120
128
  downloadStructuresRequestSaga(),
121
129
  fetchGrantFiltersRequestSaga(),
122
- fetchGrantsRequestSaga(),
123
130
  fetchGrantRequestRequestSaga(),
124
131
  fetchGrantRequestsRequestSaga(),
132
+ fetchGrantsRequestSaga(),
125
133
  fetchGraphRequestSaga(),
126
134
  fetchLineageEventsRequestSaga(),
127
135
  fetchLinksStructureTagsRequestSaga(),
@@ -134,20 +142,21 @@ export default [
134
142
  fetchStructureRequestSaga(),
135
143
  fetchStructureTypeRequestSaga(),
136
144
  fetchStructureTypesRequestSaga(),
137
- fetchUserSearchFiltersRequestSaga(),
138
145
  fetchStructuresRequestSaga(),
139
146
  fetchStructuresUploadEventsRequestSaga(),
140
147
  fetchSystemRequestSaga(),
141
148
  fetchSystemStructuresRequestSaga(),
142
149
  fetchSystemsRequestSaga(),
143
150
  fetchUnitDomainsRequestSaga(),
151
+ fetchUserSearchFiltersRequestSaga(),
144
152
  linkStructureTagRequestSaga(),
153
+ operateGrantRequestToCartRequestSaga(),
145
154
  saveUserSearchFiltersRequestSaga(),
155
+ updateReferenceDatasetRequestSaga(),
146
156
  updateStructureRequestSaga(),
147
157
  updateStructureTagRequestSaga(),
148
158
  updateStructureTypeRequestSaga(),
149
159
  updateSystemRequestSaga(),
150
- uploadStructuresRequestSaga(),
151
160
  uploadStructuresDomainsRequestSaga(),
152
- operateGrantRequestToCartRequestSaga(),
161
+ uploadStructuresRequestSaga(),
153
162
  ];
@@ -0,0 +1,35 @@
1
+ import { call, put, takeLatest, getContext } from "redux-saga/effects";
2
+ import { toBase64 } from "@truedat/core/services/file";
3
+ import { UPDATE_REFERENCE_DATASET } from "../api/mutations";
4
+ import { updateReferenceDataset } from "../routines";
5
+
6
+ export const onSuccess = (cache, { data: { updateReferenceDataset } }) => {
7
+ cache.evict({ id: "ROOT_QUERY", fieldName: "referenceDatasets" });
8
+ cache.evict({ id: cache.identify(updateReferenceDataset) });
9
+ cache.gc();
10
+ };
11
+
12
+ export function* updateReferenceDatasetSaga({
13
+ payload: { file, ...rest } = {},
14
+ }) {
15
+ const client = yield getContext("client");
16
+ try {
17
+ const dataUrl = file ? yield call(toBase64, file) : null;
18
+ const dataset = dataUrl ? { ...rest, data: dataUrl } : rest;
19
+ yield put(updateReferenceDataset.request(dataset));
20
+ const { data } = yield call(client.mutate, {
21
+ mutation: UPDATE_REFERENCE_DATASET,
22
+ update: onSuccess,
23
+ variables: { dataset },
24
+ });
25
+ yield put(updateReferenceDataset.success(data));
26
+ } catch (error) {
27
+ yield put(updateReferenceDataset.failure(error.message));
28
+ } finally {
29
+ yield put(updateReferenceDataset.fulfill());
30
+ }
31
+ }
32
+
33
+ export function* updateReferenceDatasetRequestSaga() {
34
+ yield takeLatest(updateReferenceDataset.TRIGGER, updateReferenceDatasetSaga);
35
+ }
@@ -1,11 +1,9 @@
1
1
  import _ from "lodash/fp";
2
2
  import { createSelector } from "reselect";
3
- import { lowerDeburr } from "@truedat/core/services/sort";
3
+ import { lowerDeburrPath } from "@truedat/core/services/sort";
4
4
 
5
- const lowerDeburrPath = (field, key) => _.flow(_.path(key), lowerDeburr)(field);
6
-
7
- const nameCriteria = field => lowerDeburrPath(field, "structure.name");
8
- const typeCriteria = field => lowerDeburrPath(field, "relation_type.name");
5
+ const nameCriteria = lowerDeburrPath("structure.name");
6
+ const typeCriteria = lowerDeburrPath("relation_type.name");
9
7
 
10
8
  const defaultRelationSortingCriteria = [typeCriteria, nameCriteria];
11
9