@truedat/dd 4.48.13 → 4.49.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.
Files changed (89) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +5 -5
  3. package/src/api/fragments.js +2 -2
  4. package/src/api/mutations.js +33 -11
  5. package/src/api/queries.js +37 -10
  6. package/src/api.js +0 -4
  7. package/src/components/DictionaryRoutes.js +4 -4
  8. package/src/components/StructureSummary.js +12 -22
  9. package/src/components/StructureTag.js +83 -54
  10. package/src/components/StructureTagForm.js +149 -89
  11. package/src/components/StructureTags.js +57 -27
  12. package/src/components/Tag.js +62 -0
  13. package/src/components/TagCards.js +85 -0
  14. package/src/components/TagCrumbs.js +25 -0
  15. package/src/components/TagForm.js +101 -0
  16. package/src/components/TagStructureButton.js +58 -0
  17. package/src/components/Tags.js +33 -0
  18. package/src/components/TagsRoutes.js +39 -0
  19. package/src/components/__tests__/StructureSummary.spec.js +0 -7
  20. package/src/components/__tests__/StructureTag.spec.js +79 -5
  21. package/src/components/__tests__/StructureTagForm.spec.js +99 -50
  22. package/src/components/__tests__/Tag.spec.js +11 -0
  23. package/src/components/__tests__/{StructureTagsCards.spec.js → TagCards.spec.js} +10 -10
  24. package/src/components/__tests__/TagCrumbs.spec.js +10 -0
  25. package/src/components/__tests__/TagForm.spec.js +72 -0
  26. package/src/components/__tests__/Tags.spec.js +10 -0
  27. package/src/components/__tests__/__snapshots__/StructureSummary.spec.js.snap +18 -42
  28. package/src/components/__tests__/__snapshots__/StructureTag.spec.js.snap +10 -30
  29. package/src/components/__tests__/__snapshots__/StructureTagForm.spec.js.snap +255 -51
  30. package/src/components/__tests__/__snapshots__/Tag.spec.js.snap +36 -0
  31. package/src/components/__tests__/__snapshots__/{StructureTagsCards.spec.js.snap → TagCards.spec.js.snap} +1 -1
  32. package/src/components/__tests__/__snapshots__/TagCrumbs.spec.js.snap +102 -0
  33. package/src/components/__tests__/__snapshots__/TagForm.spec.js.snap +70 -0
  34. package/src/components/__tests__/__snapshots__/{StructureTags.spec.js.snap → Tags.spec.js.snap} +1 -1
  35. package/src/messages/en.js +25 -30
  36. package/src/messages/es.js +25 -30
  37. package/src/reducers/__tests__/{editableStructureTags.spec.js → availableTags.spec.js} +7 -11
  38. package/src/reducers/__tests__/structureTagSaving.spec.js +36 -0
  39. package/src/reducers/__tests__/tagSaving.spec.js +32 -0
  40. package/src/reducers/{editableStructureTags.js → availableTags.js} +2 -2
  41. package/src/reducers/index.js +6 -12
  42. package/src/reducers/structureRedirect.js +7 -7
  43. package/src/reducers/structureTagSaving.js +12 -10
  44. package/src/reducers/tagSaving.js +18 -0
  45. package/src/routines.js +5 -6
  46. package/src/sagas/__tests__/createTag.spec.js +81 -0
  47. package/src/sagas/__tests__/deleteStructureTag.spec.js +11 -12
  48. package/src/sagas/__tests__/deleteTag.spec.js +76 -0
  49. package/src/sagas/__tests__/tagStructure.spec.js +86 -0
  50. package/src/sagas/__tests__/updateTag.spec.js +81 -0
  51. package/src/sagas/createTag.js +29 -0
  52. package/src/sagas/deleteStructureTag.js +12 -9
  53. package/src/sagas/deleteTag.js +34 -0
  54. package/src/sagas/index.js +15 -18
  55. package/src/sagas/tagStructure.js +37 -0
  56. package/src/sagas/updateTag.js +23 -0
  57. package/src/components/LinkStructureTagForm.js +0 -163
  58. package/src/components/LinkedStructureTag.js +0 -124
  59. package/src/components/StructureLinkTagButton.js +0 -47
  60. package/src/components/StructureTagsCards.js +0 -92
  61. package/src/components/StructureTagsCrumbs.js +0 -44
  62. package/src/components/StructureTagsRoutes.js +0 -45
  63. package/src/components/TagsHeader.js +0 -32
  64. package/src/components/__tests__/LinkStructureTagForm.spec.js +0 -184
  65. package/src/components/__tests__/LinkedStructureTag.spec.js +0 -133
  66. package/src/components/__tests__/StructureTags.spec.js +0 -14
  67. package/src/components/__tests__/StructureTagsCrumbs.spec.js +0 -13
  68. package/src/components/__tests__/__snapshots__/LinkStructureTagForm.spec.js.snap +0 -456
  69. package/src/components/__tests__/__snapshots__/LinkedStructureTag.spec.js.snap +0 -16
  70. package/src/components/__tests__/__snapshots__/StructureTagsCrumbs.spec.js.snap +0 -36
  71. package/src/reducers/__tests__/deletingStructureTags.spec.js +0 -30
  72. package/src/reducers/__tests__/linkedStructureTags.spec.js +0 -69
  73. package/src/reducers/__tests__/linkedStructureTagsLoading.spec.js +0 -32
  74. package/src/reducers/__tests__/linkingStructureTags.spec.js +0 -30
  75. package/src/reducers/__tests__/structureTagsSaving.spec.js +0 -40
  76. package/src/reducers/deletingStructureTags.js +0 -16
  77. package/src/reducers/linkedStructureTags.js +0 -28
  78. package/src/reducers/linkedStructureTagsLoading.js +0 -16
  79. package/src/reducers/linkingStructureTags.js +0 -16
  80. package/src/sagas/__tests__/createStructureTag.spec.js +0 -85
  81. package/src/sagas/__tests__/deleteLinkStructureTag.spec.js +0 -96
  82. package/src/sagas/__tests__/fetchLinksStructureTags.spec.js +0 -105
  83. package/src/sagas/__tests__/linkStructureTag.spec.js +0 -102
  84. package/src/sagas/__tests__/updateStructureTag.spec.js +0 -84
  85. package/src/sagas/createStructureTag.js +0 -29
  86. package/src/sagas/deleteLinkStructureTag.js +0 -29
  87. package/src/sagas/fetchLinksStructureTags.js +0 -31
  88. package/src/sagas/linkStructureTag.js +0 -30
  89. package/src/sagas/updateStructureTag.js +0 -23
@@ -1,84 +0,0 @@
1
- import { testSaga } from "redux-saga-test-plan";
2
- import {
3
- updateStructureTagRequestSaga,
4
- updateStructureTagSaga,
5
- } from "../updateStructureTag";
6
- import { UPDATE_STRUCTURE_TAG } from "../../api/mutations";
7
- import { updateStructureTag } from "../../routines";
8
-
9
- describe("sagas: updateStructureTagRequestSaga", () => {
10
- it("should invoke updateStructureTagSaga on updateStructureTag.TRIGGER", () => {
11
- expect(() => {
12
- testSaga(updateStructureTagRequestSaga)
13
- .next()
14
- .takeLatest(updateStructureTag.TRIGGER, updateStructureTagSaga)
15
- .finish()
16
- .isDone();
17
- }).not.toThrow();
18
- });
19
-
20
- it("should throw exception if an unhandled action is received", () => {
21
- expect(() => {
22
- testSaga(updateStructureTagRequestSaga)
23
- .next()
24
- .takeLatest("FOO", updateStructureTagRequestSaga);
25
- }).toThrow();
26
- });
27
- });
28
-
29
- describe("sagas: updateStructureTagSaga", () => {
30
- const client = { mutate: jest.fn() };
31
- const structureTag = {
32
- id: "123",
33
- name: "tag1",
34
- domainIds: ["1", "2"],
35
- };
36
- const payload = structureTag;
37
- const variables = { id: structureTag.id, structureTag };
38
- const data = { foo: "bar" };
39
-
40
- it("should put a success action when a response is returned", () => {
41
- expect(() => {
42
- testSaga(updateStructureTagSaga, { payload })
43
- .next()
44
- .getContext("client")
45
- .next(client)
46
- .put(updateStructureTag.request(payload))
47
- .next()
48
- .call(client.mutate, {
49
- mutation: UPDATE_STRUCTURE_TAG,
50
- variables,
51
- })
52
- .next({ data })
53
- .put(updateStructureTag.success(data))
54
- .next()
55
- .put(updateStructureTag.fulfill())
56
- .next()
57
- .isDone();
58
- }).not.toThrow();
59
- });
60
-
61
- it("should put a failure action when the call returns an error", () => {
62
- const message = "Request failed";
63
- const error = { message };
64
-
65
- expect(() => {
66
- testSaga(updateStructureTagSaga, { payload })
67
- .next()
68
- .getContext("client")
69
- .next(client)
70
- .put(updateStructureTag.request(payload))
71
- .next()
72
- .call(client.mutate, {
73
- mutation: UPDATE_STRUCTURE_TAG,
74
- variables,
75
- })
76
- .throw(error)
77
- .put(updateStructureTag.failure(message))
78
- .next()
79
- .put(updateStructureTag.fulfill())
80
- .next()
81
- .isDone();
82
- }).not.toThrow();
83
- });
84
- });
@@ -1,29 +0,0 @@
1
- import { call, put, takeLatest, getContext } from "redux-saga/effects";
2
- import { CREATE_STRUCTURE_TAG } from "../api/mutations";
3
- import { createStructureTag } from "../routines";
4
-
5
- export const onSuccess = (cache) => {
6
- cache.evict({ id: "ROOT_QUERY", fieldName: "structureTags" });
7
- cache.gc();
8
- };
9
-
10
- export function* createStructureTagSaga({ payload }) {
11
- const client = yield getContext("client");
12
- try {
13
- yield put(createStructureTag.request(payload));
14
- const { data } = yield call(client.mutate, {
15
- mutation: CREATE_STRUCTURE_TAG,
16
- update: onSuccess,
17
- variables: { structureTag: payload },
18
- });
19
- yield put(createStructureTag.success(data));
20
- } catch (error) {
21
- yield put(createStructureTag.failure(error.message));
22
- } finally {
23
- yield put(createStructureTag.fulfill());
24
- }
25
- }
26
-
27
- export function* createStructureTagRequestSaga() {
28
- yield takeLatest(createStructureTag.TRIGGER, createStructureTagSaga);
29
- }
@@ -1,29 +0,0 @@
1
- import { compile } from "path-to-regexp";
2
- import { call, put, takeLatest } from "redux-saga/effects";
3
- import { apiJsonDelete, JSON_OPTS } from "@truedat/core/services/api";
4
- import { fetchLinksStructureTags, deleteLinkStructureTag } from "../routines";
5
- import { API_STRUCTURES_TAG } from "../api";
6
-
7
- export function* deleteLinkStructureTagSaga({ payload }) {
8
- try {
9
- const { structureId: data_structure_id, tagId: id } = payload;
10
- const url = compile(API_STRUCTURES_TAG)({ data_structure_id, id });
11
- yield put(deleteLinkStructureTag.request());
12
- const { data } = yield call(apiJsonDelete, url, JSON_OPTS);
13
- yield put(deleteLinkStructureTag.success(data));
14
- yield put(fetchLinksStructureTags.trigger(payload));
15
- } catch (error) {
16
- if (error.response) {
17
- const { status, data } = error.response;
18
- yield put(deleteLinkStructureTag.failure({ status, data }));
19
- } else {
20
- yield put(deleteLinkStructureTag.failure(error.message));
21
- }
22
- } finally {
23
- yield put(deleteLinkStructureTag.fulfill());
24
- }
25
- }
26
-
27
- export function* deleteLinkStructureTagRequestSaga() {
28
- yield takeLatest(deleteLinkStructureTag.TRIGGER, deleteLinkStructureTagSaga);
29
- }
@@ -1,31 +0,0 @@
1
- import { compile } from "path-to-regexp";
2
- import { call, put, takeLatest } from "redux-saga/effects";
3
- import { apiJson, JSON_OPTS } from "@truedat/core/services/api";
4
- import { fetchLinksStructureTags } from "../routines";
5
- import { API_STRUCTURES_TAGS } from "../api";
6
-
7
- export function* fetchLinksStructureTagsSaga({ payload }) {
8
- try {
9
- const { structureId: data_structure_id } = payload;
10
- const url = compile(API_STRUCTURES_TAGS)({ data_structure_id });
11
- yield put(fetchLinksStructureTags.request());
12
- const { data } = yield call(apiJson, url, JSON_OPTS);
13
- yield put(fetchLinksStructureTags.success(data));
14
- } catch (error) {
15
- if (error.response) {
16
- const { status, data } = error.response;
17
- yield put(fetchLinksStructureTags.failure({ status, data }));
18
- } else {
19
- yield put(fetchLinksStructureTags.failure(error.message));
20
- }
21
- } finally {
22
- yield put(fetchLinksStructureTags.fulfill());
23
- }
24
- }
25
-
26
- export function* fetchLinksStructureTagsRequestSaga() {
27
- yield takeLatest(
28
- fetchLinksStructureTags.TRIGGER,
29
- fetchLinksStructureTagsSaga
30
- );
31
- }
@@ -1,30 +0,0 @@
1
- import { compile } from "path-to-regexp";
2
- import { call, put, takeLatest } from "redux-saga/effects";
3
- import { apiJsonPatch, JSON_OPTS } from "@truedat/core/services/api";
4
- import { fetchLinksStructureTags, linkStructureTag } from "../routines";
5
- import { API_STRUCTURES_TAG } from "../api";
6
-
7
- export function* linkStructureTagSaga({ payload }) {
8
- try {
9
- const { structureId: data_structure_id, tagId: id, tag } = payload;
10
- const url = compile(API_STRUCTURES_TAG)({ data_structure_id, id });
11
- const requestData = { tag };
12
- yield put(linkStructureTag.request());
13
- const { data } = yield call(apiJsonPatch, url, requestData, JSON_OPTS);
14
- yield put(linkStructureTag.success(data));
15
- yield put(fetchLinksStructureTags.trigger(payload));
16
- } catch (error) {
17
- if (error.response) {
18
- const { status, data } = error.response;
19
- yield put(linkStructureTag.failure({ status, data }));
20
- } else {
21
- yield put(linkStructureTag.failure(error.message));
22
- }
23
- } finally {
24
- yield put(linkStructureTag.fulfill());
25
- }
26
- }
27
-
28
- export function* linkStructureTagRequestSaga() {
29
- yield takeLatest(linkStructureTag.TRIGGER, linkStructureTagSaga);
30
- }
@@ -1,23 +0,0 @@
1
- import { call, put, takeLatest, getContext } from "redux-saga/effects";
2
- import { updateStructureTag } from "../routines";
3
- import { UPDATE_STRUCTURE_TAG } from "../api/mutations";
4
-
5
- export function* updateStructureTagSaga({ payload }) {
6
- const client = yield getContext("client");
7
- try {
8
- yield put(updateStructureTag.request(payload));
9
- const { data } = yield call(client.mutate, {
10
- mutation: UPDATE_STRUCTURE_TAG,
11
- variables: { id: payload?.id, structureTag: payload },
12
- });
13
- yield put(updateStructureTag.success(data));
14
- } catch (error) {
15
- yield put(updateStructureTag.failure(error.message));
16
- } finally {
17
- yield put(updateStructureTag.fulfill());
18
- }
19
- }
20
-
21
- export function* updateStructureTagRequestSaga() {
22
- yield takeLatest(updateStructureTag.TRIGGER, updateStructureTagSaga);
23
- }