@truedat/bg 7.5.9 → 7.5.10
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 +41 -70
- package/src/concepts/components/Concept.js +22 -19
- package/src/concepts/components/ConceptActions.js +1 -2
- package/src/concepts/components/ConceptArchive.js +0 -1
- package/src/concepts/components/ConceptArchiveRow.js +3 -4
- package/src/concepts/components/ConceptCompleteness.js +1 -2
- package/src/concepts/components/ConceptConfidentialButton.js +1 -2
- package/src/concepts/components/ConceptCreate.js +1 -1
- package/src/concepts/components/ConceptCrumbs.js +10 -8
- package/src/concepts/components/ConceptDeleteModalBody.js +7 -10
- package/src/concepts/components/ConceptDetails.js +3 -3
- package/src/concepts/components/ConceptEdit.js +2 -2
- package/src/concepts/components/ConceptForm.js +39 -43
- package/src/concepts/components/ConceptHeader.js +0 -1
- package/src/concepts/components/ConceptLinksDropdownSelector.js +1 -2
- package/src/concepts/components/ConceptLoader.js +3 -3
- package/src/concepts/components/ConceptManageDomain.js +2 -1
- package/src/concepts/components/ConceptManageDomainPopup.js +1 -1
- package/src/concepts/components/ConceptRoutes.js +263 -226
- package/src/concepts/components/ConceptRow.js +0 -1
- package/src/concepts/components/ConceptSubscription.js +15 -14
- package/src/concepts/components/ConceptSummary.js +0 -1
- package/src/concepts/components/ConceptTabPane.js +36 -41
- package/src/concepts/components/ConceptTabs.js +1 -4
- package/src/concepts/components/ConceptTaxonomy.js +1 -3
- package/src/concepts/components/Concepts.js +0 -1
- package/src/concepts/components/ConceptsActions.js +2 -3
- package/src/concepts/components/ConceptsBulkUpdate.js +3 -6
- package/src/concepts/components/ConceptsLabelResults.js +0 -1
- package/src/concepts/components/ConceptsLinkDecorator.js +1 -2
- package/src/concepts/components/ConceptsLinksManagement.js +7 -8
- package/src/concepts/components/ConceptsPagination.js +0 -1
- package/src/concepts/components/ConceptsPanel.js +5 -4
- package/src/concepts/components/ConceptsTable.js +2 -3
- package/src/concepts/components/ConceptsUpdateButton.js +6 -6
- package/src/concepts/components/ConceptsUploadButton.js +0 -1
- package/src/concepts/components/ConceptsUploadEvents.js +0 -2
- package/src/concepts/components/ConceptsUploadEventsTable.js +12 -19
- package/src/concepts/components/DomainConcepts.js +0 -1
- package/src/concepts/components/EventRow.js +0 -1
- package/src/concepts/components/Events.js +3 -4
- package/src/concepts/components/FieldGroupTable.js +1 -2
- package/src/concepts/components/LinkedMessage.js +9 -13
- package/src/concepts/components/SharedToDomains.js +8 -7
- package/src/concepts/components/SharedToDomainsPopup.js +1 -1
- package/src/concepts/components/SharedToForm.js +3 -6
- package/src/concepts/components/__tests__/Concept.spec.js +8 -42
- package/src/concepts/components/__tests__/ConceptActions.spec.js +7 -7
- package/src/concepts/components/__tests__/ConceptArchive.spec.js +5 -5
- package/src/concepts/components/__tests__/ConceptArchiveLoader.spec.js +15 -14
- package/src/concepts/components/__tests__/ConceptArchiveRow.spec.js +0 -1
- package/src/concepts/components/__tests__/ConceptCompleteness.spec.js +0 -1
- package/src/concepts/components/__tests__/ConceptConfidentialButton.spec.js +10 -17
- package/src/concepts/components/__tests__/ConceptContext.spec.js +1 -1
- package/src/concepts/components/__tests__/ConceptCrumbs.spec.js +12 -34
- package/src/concepts/components/__tests__/ConceptDeleteModalBody.spec.js +47 -26
- package/src/concepts/components/__tests__/ConceptDetails.spec.js +1 -9
- package/src/concepts/components/__tests__/ConceptEdit.spec.js +2 -2
- package/src/concepts/components/__tests__/ConceptForm.spec.js +26 -19
- package/src/concepts/components/__tests__/ConceptHeader.spec.js +33 -57
- package/src/concepts/components/__tests__/ConceptLinksManagement.spec.js +27 -34
- package/src/concepts/components/__tests__/ConceptLoader.spec.js +51 -37
- package/src/concepts/components/__tests__/ConceptManageDomain.spec.js +12 -47
- package/src/concepts/components/__tests__/ConceptManageDomainPopup.spec.js +65 -24
- package/src/concepts/components/__tests__/ConceptRow.spec.js +6 -17
- package/src/concepts/components/__tests__/ConceptSubscription.spec.js +9 -9
- package/src/concepts/components/__tests__/ConceptSubscriptionLoader.spec.js +20 -16
- package/src/concepts/components/__tests__/ConceptSummary.spec.js +11 -10
- package/src/concepts/components/__tests__/ConceptTabPane.spec.js +73 -5
- package/src/concepts/components/__tests__/ConceptTabs.spec.js +6 -21
- package/src/concepts/components/__tests__/ConceptTaxonomy.spec.js +16 -12
- package/src/concepts/components/__tests__/Concepts.spec.js +6 -26
- package/src/concepts/components/__tests__/ConceptsActions.spec.js +0 -1
- package/src/concepts/components/__tests__/ConceptsBulkUpdate.spec.js +31 -36
- package/src/concepts/components/__tests__/ConceptsLabelResults.spec.js +4 -5
- package/src/concepts/components/__tests__/ConceptsLinkDecorator.spec.js +3 -4
- package/src/concepts/components/__tests__/ConceptsPanel.spec.js +7 -26
- package/src/concepts/components/__tests__/ConceptsTable.spec.js +34 -60
- package/src/concepts/components/__tests__/ConceptsUpdateButton.spec.js +6 -7
- package/src/concepts/components/__tests__/ConceptsUploadButton.spec.js +25 -13
- package/src/concepts/components/__tests__/ConceptsUploadEventsTable.spec.js +11 -9
- package/src/concepts/components/__tests__/Events.spec.js +10 -10
- package/src/concepts/components/__tests__/SharedToDomains.spec.js +25 -19
- package/src/concepts/components/__tests__/SharedToDomainsPopup.spec.js +48 -36
- package/src/concepts/components/__tests__/SharedToForm.spec.js +24 -32
- package/src/concepts/components/__tests__/__snapshots__/Concept.spec.js.snap +108 -23
- package/src/concepts/components/__tests__/__snapshots__/ConceptActions.spec.js.snap +12 -16
- package/src/concepts/components/__tests__/__snapshots__/ConceptArchive.spec.js.snap +77 -65
- package/src/concepts/components/__tests__/__snapshots__/ConceptArchiveRow.spec.js.snap +2 -4
- package/src/concepts/components/__tests__/__snapshots__/ConceptConfidentialButton.spec.js.snap +11 -31
- package/src/concepts/components/__tests__/__snapshots__/ConceptCrumbs.spec.js.snap +41 -56
- package/src/concepts/components/__tests__/__snapshots__/ConceptDeleteModalBody.spec.js.snap +3 -5
- package/src/concepts/components/__tests__/__snapshots__/ConceptDetails.spec.js.snap +0 -1
- package/src/concepts/components/__tests__/__snapshots__/ConceptEdit.spec.js.snap +1 -12
- package/src/concepts/components/__tests__/__snapshots__/ConceptForm.spec.js.snap +10 -11
- package/src/concepts/components/__tests__/__snapshots__/ConceptHeader.spec.js.snap +2 -2
- package/src/concepts/components/__tests__/__snapshots__/ConceptLinksManagement.spec.js.snap +14 -14
- package/src/concepts/components/__tests__/__snapshots__/ConceptLoader.spec.js.snap +14 -9
- package/src/concepts/components/__tests__/__snapshots__/ConceptManageDomain.spec.js.snap +43 -5
- package/src/concepts/components/__tests__/__snapshots__/ConceptManageDomainPopup.spec.js.snap +10 -163
- package/src/concepts/components/__tests__/__snapshots__/ConceptRow.spec.js.snap +4 -7
- package/src/concepts/components/__tests__/__snapshots__/ConceptSubscription.spec.js.snap +8 -55
- package/src/concepts/components/__tests__/__snapshots__/ConceptSubscriptionLoader.spec.js.snap +1 -1
- package/src/concepts/components/__tests__/__snapshots__/ConceptSummary.spec.js.snap +6 -6
- package/src/concepts/components/__tests__/__snapshots__/ConceptTabPane.spec.js.snap +18 -34
- package/src/concepts/components/__tests__/__snapshots__/ConceptTabs.spec.js.snap +26 -13
- package/src/concepts/components/__tests__/__snapshots__/ConceptTaxonomy.spec.js.snap +63 -53
- package/src/concepts/components/__tests__/__snapshots__/Concepts.spec.js.snap +10 -25
- package/src/concepts/components/__tests__/__snapshots__/ConceptsActions.spec.js.snap +1 -0
- package/src/concepts/components/__tests__/__snapshots__/ConceptsBulkUpdate.spec.js.snap +7 -6
- package/src/concepts/components/__tests__/__snapshots__/ConceptsLabelResults.spec.js.snap +1 -1
- package/src/concepts/components/__tests__/__snapshots__/ConceptsLinkDecorator.spec.js.snap +1 -0
- package/src/concepts/components/__tests__/__snapshots__/ConceptsPanel.spec.js.snap +10 -25
- package/src/concepts/components/__tests__/__snapshots__/ConceptsTable.spec.js.snap +1 -1
- package/src/concepts/components/__tests__/__snapshots__/ConceptsUpdateButton.spec.js.snap +1 -1
- package/src/concepts/components/__tests__/__snapshots__/ConceptsUploadButton.spec.js.snap +9 -74
- package/src/concepts/components/__tests__/__snapshots__/ConceptsUploadEventsTable.spec.js.snap +14 -14
- package/src/concepts/components/__tests__/__snapshots__/Events.spec.js.snap +83 -43
- package/src/concepts/components/__tests__/__snapshots__/SharedToDomains.spec.js.snap +56 -33
- package/src/concepts/components/__tests__/__snapshots__/SharedToDomainsPopup.spec.js.snap +9 -145
- package/src/concepts/components/__tests__/__snapshots__/SharedToForm.spec.js.snap +2 -2
- package/src/concepts/reducers/__tests__/conceptRedirect.spec.js +1 -1
- package/src/concepts/reducers/conceptRedirect.js +5 -5
- package/src/concepts/relations/components/ConceptImplementationLinks.js +5 -4
- package/src/concepts/relations/components/ConceptLinkActions.js +1 -1
- package/src/concepts/relations/components/ConceptLinksActions.js +4 -4
- package/src/concepts/relations/components/ConceptRelationActions.js +3 -4
- package/src/concepts/relations/components/ConceptRelationForm.js +3 -3
- package/src/concepts/relations/components/ConceptRelationRow.js +10 -10
- package/src/concepts/relations/components/ConceptRelations.js +9 -11
- package/src/concepts/relations/components/ConceptRelationsRoutes.js +20 -39
- package/src/concepts/relations/components/ConceptRelationsSummary.js +26 -29
- package/src/concepts/relations/components/ConceptSelector.js +4 -7
- package/src/concepts/relations/components/ConceptStructureLinks.js +2 -2
- package/src/concepts/relations/components/__tests__/ConceptImplementationLinks.spec.js +19 -59
- package/src/concepts/relations/components/__tests__/ConceptLinksActions.spec.js +9 -10
- package/src/concepts/relations/components/__tests__/ConceptRelationActions.spec.js +9 -7
- package/src/concepts/relations/components/__tests__/ConceptRelationForm.spec.js +30 -42
- package/src/concepts/relations/components/__tests__/ConceptRelationRow.spec.js +11 -16
- package/src/concepts/relations/components/__tests__/ConceptRelations.spec.js +11 -14
- package/src/concepts/relations/components/__tests__/ConceptRelationsRoutes.spec.js +108 -8
- package/src/concepts/relations/components/__tests__/ConceptRelationsSummary.spec.js +39 -38
- package/src/concepts/relations/components/__tests__/ConceptSelector.spec.js +24 -36
- package/src/concepts/relations/components/__tests__/ConceptStructureLinks.spec.js +21 -11
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptImplementationLinks.spec.js.snap +131 -28
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptLinksActions.spec.js.snap +4 -3
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationActions.spec.js.snap +10 -26
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationForm.spec.js.snap +15 -19
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationRow.spec.js.snap +36 -33
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelations.spec.js.snap +76 -51
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationsRoutes.spec.js.snap +15 -29
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationsSummary.spec.js.snap +45 -100
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptSelector.spec.js.snap +9 -9
- package/src/concepts/relations/components/__tests__/__snapshots__/ConceptStructureLinks.spec.js.snap +10 -10
- package/src/concepts/relations/sagas/conceptLinkAction.js +2 -2
- package/src/concepts/relations/sagas/linkConcept.js +1 -1
- package/src/concepts/relations/selectors/getBusinessConceptsLinksToImplementationsColumns.js +1 -2
- package/src/concepts/relations/selectors/getConceptLinks.js +1 -2
- package/src/concepts/relations/selectors/getConceptRelations.js +14 -14
- package/src/concepts/sagas/__tests__/saveSharedTo.spec.js +3 -3
- package/src/concepts/sagas/__tests__/setConfidentialConcept.spec.js +5 -5
- package/src/concepts/sagas/conceptAction.js +2 -2
- package/src/concepts/sagas/fetchConceptArchive.js +1 -1
- package/src/concepts/sagas/setConfidentialConcept.js +2 -2
- package/src/concepts/selectors/__tests__/getConceptDomainPath.spec.js +2 -2
- package/src/concepts/selectors/getConceptColumns.js +1 -2
- package/src/concepts/selectors/getConceptTemplate.js +1 -1
- package/src/concepts/selectors/getConceptUploadEventColumns.js +0 -1
- package/src/concepts/selectors/getConceptVersionPath.js +2 -2
- package/src/concepts/selectors/getParsedEvents.js +2 -2
- package/src/concepts/selectors/getTemplateFields.js +3 -3
- package/src/concepts/selectors/getTemplateGroups.js +1 -1
- package/src/hooks/__mocks__/useDomains.js +42 -0
- package/src/hooks/useDomains.js +3 -3
- package/src/taxonomy/components/AddDomainMember.js +3 -4
- package/src/taxonomy/components/Domain.js +19 -23
- package/src/taxonomy/components/DomainActions.js +1 -2
- package/src/taxonomy/components/DomainCards.js +4 -6
- package/src/taxonomy/components/DomainContent.js +42 -87
- package/src/taxonomy/components/DomainCrumbs.js +4 -4
- package/src/taxonomy/components/DomainDetail.js +4 -5
- package/src/taxonomy/components/DomainForm.js +1 -3
- package/src/taxonomy/components/DomainImplementations.js +8 -7
- package/src/taxonomy/components/DomainItem.js +1 -2
- package/src/taxonomy/components/DomainMembers.js +0 -1
- package/src/taxonomy/components/DomainRoutes.js +15 -21
- package/src/taxonomy/components/DomainSearch.js +0 -1
- package/src/taxonomy/components/DomainStructures.js +0 -1
- package/src/taxonomy/components/DomainTabs.js +3 -4
- package/src/taxonomy/components/DomainTaxonomy.js +1 -2
- package/src/taxonomy/components/Domains.js +15 -5
- package/src/taxonomy/components/DomainsActions.js +2 -4
- package/src/taxonomy/components/EditDomain.js +5 -5
- package/src/taxonomy/components/NewDomain.js +4 -4
- package/src/taxonomy/components/__tests__/AddDomainMember.spec.js +6 -5
- package/src/taxonomy/components/__tests__/Domain.spec.js +63 -123
- package/src/taxonomy/components/__tests__/DomainActions.spec.js +0 -1
- package/src/taxonomy/components/__tests__/DomainCards.spec.js +44 -51
- package/src/taxonomy/components/__tests__/DomainContent.spec.js +138 -158
- package/src/taxonomy/components/__tests__/DomainCrumbs.spec.js +14 -19
- package/src/taxonomy/components/__tests__/DomainDetail.spec.js +2 -3
- package/src/taxonomy/components/__tests__/DomainForm.spec.js +44 -60
- package/src/taxonomy/components/__tests__/DomainItem.spec.js +17 -14
- package/src/taxonomy/components/__tests__/DomainMembers.spec.js +9 -13
- package/src/taxonomy/components/__tests__/DomainRoutes.spec.js +54 -0
- package/src/taxonomy/components/__tests__/DomainStructures.spec.js +10 -51
- package/src/taxonomy/components/__tests__/DomainTabs.spec.js +14 -33
- package/src/taxonomy/components/__tests__/DomainTaxonomy.spec.js +17 -16
- package/src/taxonomy/components/__tests__/Domains.spec.js +63 -95
- package/src/taxonomy/components/__tests__/DomainsActions.spec.js +12 -11
- package/src/taxonomy/components/__tests__/EditDomain.spec.js +13 -54
- package/src/taxonomy/components/__tests__/NewDomain.spec.js +17 -61
- package/src/taxonomy/components/__tests__/__snapshots__/AddDomainMember.spec.js.snap +10 -9
- package/src/taxonomy/components/__tests__/__snapshots__/Domain.spec.js.snap +53 -72
- package/src/taxonomy/components/__tests__/__snapshots__/DomainActions.spec.js.snap +2 -1
- package/src/taxonomy/components/__tests__/__snapshots__/DomainCards.spec.js.snap +247 -27
- package/src/taxonomy/components/__tests__/__snapshots__/DomainContent.spec.js.snap +14 -294
- package/src/taxonomy/components/__tests__/__snapshots__/DomainCrumbs.spec.js.snap +6 -2
- package/src/taxonomy/components/__tests__/__snapshots__/DomainDetail.spec.js.snap +5 -4
- package/src/taxonomy/components/__tests__/__snapshots__/DomainForm.spec.js.snap +13 -12
- package/src/taxonomy/components/__tests__/__snapshots__/DomainItem.spec.js.snap +16 -12
- package/src/taxonomy/components/__tests__/__snapshots__/DomainRoutes.spec.js.snap +52 -0
- package/src/taxonomy/components/__tests__/__snapshots__/DomainStructures.spec.js.snap +7 -7
- package/src/taxonomy/components/__tests__/__snapshots__/DomainTabs.spec.js.snap +10 -5
- package/src/taxonomy/components/__tests__/__snapshots__/DomainTaxonomy.spec.js.snap +37 -29
- package/src/taxonomy/components/__tests__/__snapshots__/Domains.spec.js.snap +123 -6
- package/src/taxonomy/components/__tests__/__snapshots__/DomainsActions.spec.js.snap +2 -1
- package/src/taxonomy/components/__tests__/__snapshots__/EditDomain.spec.js.snap +15 -14
- package/src/taxonomy/components/__tests__/__snapshots__/NewDomain.spec.js.snap +31 -28
- package/src/taxonomy/selectors/index.js +0 -1
- package/src/concepts/relations/components/__tests__/ConceptSelector2.spec.js +0 -76
- package/src/concepts/selectors/__tests__/getConceptSubscope.spec.js +0 -37
- package/src/concepts/selectors/__tests__/getSidemenuGlossarySubscopes.spec.js +0 -17
- package/src/concepts/selectors/getConceptStatus.js +0 -1
- package/src/concepts/selectors/getConceptSubscope.js +0 -19
- package/src/concepts/selectors/getSidemenuGlossarySubscopes.js +0 -8
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { Unauthorized } from "@truedat/core/components";
|
|
4
|
-
import { useAuthorized } from "@truedat/core/hooks";
|
|
5
3
|
import UserSearchFiltersLoader from "@truedat/dd/components/UserSearchFiltersLoader";
|
|
6
4
|
import PropTypes from "prop-types";
|
|
7
|
-
import {
|
|
5
|
+
import { Routes, Route } from "react-router";
|
|
6
|
+
import { ProtectedRoute } from "@truedat/core/router";
|
|
8
7
|
import {
|
|
9
8
|
DOMAIN,
|
|
10
9
|
DOMAIN_CONCEPTS,
|
|
@@ -21,99 +20,55 @@ import DomainImplementations from "./DomainImplementations";
|
|
|
21
20
|
import DomainMembers from "./DomainMembers";
|
|
22
21
|
import AddDomainMember from "./AddDomainMember";
|
|
23
22
|
|
|
24
|
-
const RolesLoader = React.lazy(
|
|
25
|
-
import("@truedat/auth/roles/components/RolesLoader")
|
|
23
|
+
const RolesLoader = React.lazy(
|
|
24
|
+
() => import("@truedat/auth/roles/components/RolesLoader")
|
|
26
25
|
);
|
|
27
26
|
|
|
28
|
-
const DomainContent = ({
|
|
29
|
-
domain,
|
|
30
|
-
domains,
|
|
31
|
-
taxonomyConfig: { priorityTabs, hiddenTabs },
|
|
32
|
-
}) => {
|
|
33
|
-
const ddAuthorized = useAuthorized("data_dictionary");
|
|
34
|
-
const dqAuthorized = useAuthorized("quality");
|
|
35
|
-
|
|
36
|
-
const routes = [
|
|
37
|
-
{
|
|
38
|
-
key: "subdomains",
|
|
39
|
-
path: DOMAIN_SUBDOMAINS,
|
|
40
|
-
component: <DomainCards domain={domain} domains={domains} />,
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
key: "concepts",
|
|
44
|
-
path: DOMAIN_CONCEPTS,
|
|
45
|
-
component: <DomainConcepts domain={domain} />,
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
key: "structures",
|
|
49
|
-
path: DOMAIN_STRUCTURES,
|
|
50
|
-
component: ddAuthorized ? (
|
|
51
|
-
<DomainStructures domain={domain} />
|
|
52
|
-
) : (
|
|
53
|
-
<Unauthorized />
|
|
54
|
-
),
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
key: "implementations",
|
|
58
|
-
path: DOMAIN_IMPLEMENTATIONS,
|
|
59
|
-
component: dqAuthorized ? (
|
|
60
|
-
<>
|
|
61
|
-
<UserSearchFiltersLoader scope="rule_implementation" />
|
|
62
|
-
<DomainImplementations domain={domain} />
|
|
63
|
-
</>
|
|
64
|
-
) : (
|
|
65
|
-
<Unauthorized />
|
|
66
|
-
),
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
key: "members",
|
|
70
|
-
path: DOMAIN_MEMBERS,
|
|
71
|
-
component: <DomainMembers domainId={domain.id} />,
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
key: "members-new",
|
|
75
|
-
path: DOMAIN_MEMBERS_NEW,
|
|
76
|
-
component: (
|
|
77
|
-
<>
|
|
78
|
-
<RolesLoader />
|
|
79
|
-
<AddDomainMember id={parseInt(domain.id)} />
|
|
80
|
-
</>
|
|
81
|
-
),
|
|
82
|
-
},
|
|
83
|
-
];
|
|
84
|
-
|
|
85
|
-
const getPaths = ({ key, path }) =>
|
|
86
|
-
_.cond([
|
|
87
|
-
[
|
|
88
|
-
(key) => !_.head(priorityTabs) && key === _.head(routes).key,
|
|
89
|
-
() => [path, DOMAIN],
|
|
90
|
-
],
|
|
91
|
-
[(key) => key === _.head(priorityTabs), () => [path, DOMAIN]],
|
|
92
|
-
[_.stubTrue, () => path],
|
|
93
|
-
])(key);
|
|
94
|
-
|
|
27
|
+
const DomainContent = ({ domain, domains }) => {
|
|
95
28
|
return (
|
|
96
|
-
<
|
|
97
|
-
{
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
29
|
+
<Routes>
|
|
30
|
+
<Route path="concepts" element={<DomainConcepts domain={domain} />} />
|
|
31
|
+
|
|
32
|
+
<Route
|
|
33
|
+
path="structures"
|
|
34
|
+
element={
|
|
35
|
+
<ProtectedRoute authorization="data_dictionary">
|
|
36
|
+
<DomainStructures domain={domain} />
|
|
37
|
+
</ProtectedRoute>
|
|
38
|
+
}
|
|
39
|
+
/>
|
|
40
|
+
<Route
|
|
41
|
+
path="implementations"
|
|
42
|
+
element={
|
|
43
|
+
<ProtectedRoute authorization="quality">
|
|
44
|
+
<UserSearchFiltersLoader scope="rule_implementation" />
|
|
45
|
+
<DomainImplementations domain={domain} />
|
|
46
|
+
</ProtectedRoute>
|
|
47
|
+
}
|
|
48
|
+
/>
|
|
49
|
+
<Route path="members">
|
|
50
|
+
<Route index element={<DomainMembers domainId={domain.id} />} />
|
|
51
|
+
<Route
|
|
52
|
+
path="new"
|
|
53
|
+
element={
|
|
54
|
+
<>
|
|
55
|
+
<RolesLoader />
|
|
56
|
+
<AddDomainMember id={parseInt(domain.id)} />
|
|
57
|
+
</>
|
|
58
|
+
}
|
|
59
|
+
/>
|
|
60
|
+
</Route>
|
|
61
|
+
<Route
|
|
62
|
+
path="subdomains?"
|
|
63
|
+
element={<DomainCards domain={domain} domains={domains} />}
|
|
64
|
+
/>
|
|
65
|
+
</Routes>
|
|
110
66
|
);
|
|
111
67
|
};
|
|
112
68
|
|
|
113
69
|
DomainContent.propTypes = {
|
|
114
70
|
domain: PropTypes.object,
|
|
115
71
|
domains: PropTypes.array,
|
|
116
|
-
taxonomyConfig: PropTypes.object,
|
|
117
72
|
};
|
|
118
73
|
|
|
119
74
|
export default DomainContent;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Link } from "react-router
|
|
1
|
+
import { Fragment } from "react";
|
|
2
|
+
import { Link } from "react-router";
|
|
3
3
|
import PropTypes from "prop-types";
|
|
4
4
|
import { Breadcrumb } from "semantic-ui-react";
|
|
5
5
|
import { FormattedMessage } from "react-intl";
|
|
@@ -26,9 +26,9 @@ export const DomainCrumbs = ({ domain, actionCrumb }) => {
|
|
|
26
26
|
<Breadcrumb.Section
|
|
27
27
|
key={i}
|
|
28
28
|
as={Link}
|
|
29
|
-
to={linkTo.DOMAIN({ id:
|
|
29
|
+
to={linkTo.DOMAIN({ id: p })}
|
|
30
30
|
>
|
|
31
|
-
{domains.find((d) => d.id ===
|
|
31
|
+
{domains.find((d) => `${d.id}` === `${p}`).name}
|
|
32
32
|
</Breadcrumb.Section>
|
|
33
33
|
</Fragment>
|
|
34
34
|
))
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
|
-
import React from "react";
|
|
3
2
|
import PropTypes from "prop-types";
|
|
4
3
|
import { Icon, Header, Grid, GridRow } from "semantic-ui-react";
|
|
5
|
-
import {
|
|
4
|
+
import { useNavigate } from "react-router";
|
|
6
5
|
import { FormattedMessage, useIntl } from "react-intl";
|
|
7
6
|
import { linkTo } from "@truedat/core/routes";
|
|
8
7
|
import { DOMAINS_QUERY } from "@truedat/core/api/queries";
|
|
@@ -18,7 +17,7 @@ export const DomainDetail = ({ id }) => {
|
|
|
18
17
|
variables: { action: "viewDomain", fetchPolicy: "no-cache" },
|
|
19
18
|
});
|
|
20
19
|
|
|
21
|
-
const
|
|
20
|
+
const navigate = useNavigate();
|
|
22
21
|
const { formatMessage } = useIntl();
|
|
23
22
|
|
|
24
23
|
const available_actions = domain
|
|
@@ -45,9 +44,9 @@ export const DomainDetail = ({ id }) => {
|
|
|
45
44
|
const { id, parent_id } = domain;
|
|
46
45
|
await deleteDomain(id);
|
|
47
46
|
if (parent_id) {
|
|
48
|
-
|
|
47
|
+
navigate(linkTo.DOMAIN_CONCEPTS({ id: parent_id }));
|
|
49
48
|
} else {
|
|
50
|
-
|
|
49
|
+
navigate(linkTo.DOMAINS());
|
|
51
50
|
}
|
|
52
51
|
client.resetStore();
|
|
53
52
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
|
-
import React from "react";
|
|
3
2
|
import PropTypes from "prop-types";
|
|
4
3
|
import { Button, Form } from "semantic-ui-react";
|
|
5
4
|
import { useIntl } from "react-intl";
|
|
@@ -49,7 +48,6 @@ const DEFAULTS = {
|
|
|
49
48
|
|
|
50
49
|
export const DomainForm = ({ domain = {}, onSubmit }) => {
|
|
51
50
|
const { data: domains } = useDomains();
|
|
52
|
-
|
|
53
51
|
const { formatMessage } = useIntl();
|
|
54
52
|
const { handleSubmit, control, formState, watch } = useForm({
|
|
55
53
|
mode: "all",
|
|
@@ -59,6 +57,7 @@ export const DomainForm = ({ domain = {}, onSubmit }) => {
|
|
|
59
57
|
domain_group: domain?.domain_group?.name || null,
|
|
60
58
|
},
|
|
61
59
|
});
|
|
60
|
+
|
|
62
61
|
const [group, type] = watch(["domain_group", "type"]);
|
|
63
62
|
const domainTypes = getDomainTypes(domains);
|
|
64
63
|
const domainGroups = getDomainGroups(domains);
|
|
@@ -68,7 +67,6 @@ export const DomainForm = ({ domain = {}, onSubmit }) => {
|
|
|
68
67
|
domain?.domain_group?.status === "root" || !domain?.domain_group;
|
|
69
68
|
|
|
70
69
|
const { errors, isDirty, isValid } = formState;
|
|
71
|
-
|
|
72
70
|
const parentableIds = domain.parentable_ids || [];
|
|
73
71
|
const domainParentOptions =
|
|
74
72
|
domain?.id && domains ? getDomainParentOptions(parentableIds)(domains) : [];
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { lazy } from "react";
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
|
|
4
|
-
const ImplementationFiltersLoader =
|
|
5
|
-
import("@truedat/dq/components/ImplementationFiltersLoader")
|
|
4
|
+
const ImplementationFiltersLoader = lazy(
|
|
5
|
+
() => import("@truedat/dq/components/ImplementationFiltersLoader")
|
|
6
6
|
);
|
|
7
7
|
|
|
8
|
-
const ImplementationsLoader =
|
|
9
|
-
import("@truedat/dq/components/RuleImplementationsLoader")
|
|
8
|
+
const ImplementationsLoader = lazy(
|
|
9
|
+
() => import("@truedat/dq/components/RuleImplementationsLoader")
|
|
10
10
|
);
|
|
11
11
|
|
|
12
|
-
const ImplementationSearchResults =
|
|
13
|
-
import("@truedat/dq/components/ImplementationSearchResults")
|
|
12
|
+
const ImplementationSearchResults = lazy(
|
|
13
|
+
() => import("@truedat/dq/components/ImplementationSearchResults")
|
|
14
14
|
);
|
|
15
15
|
|
|
16
16
|
export const DomainImplementations = ({ domain = {} }) => {
|
|
@@ -18,6 +18,7 @@ export const DomainImplementations = ({ domain = {} }) => {
|
|
|
18
18
|
taxonomy: [domain.id],
|
|
19
19
|
status: ["published"],
|
|
20
20
|
};
|
|
21
|
+
|
|
21
22
|
return (
|
|
22
23
|
<>
|
|
23
24
|
<ImplementationFiltersLoader defaultFilters={defaultFilters} />
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
|
-
import React from "react";
|
|
3
2
|
import PropTypes from "prop-types";
|
|
4
3
|
import { List, Icon } from "semantic-ui-react";
|
|
5
4
|
|
|
@@ -19,7 +18,7 @@ export const DomainItem = ({ domain, index, size }) => (
|
|
|
19
18
|
DomainItem.propTypes = {
|
|
20
19
|
domain: PropTypes.object,
|
|
21
20
|
index: PropTypes.number,
|
|
22
|
-
size: PropTypes.number
|
|
21
|
+
size: PropTypes.number,
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
export default DomainItem;
|
|
@@ -1,29 +1,23 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { useAuthorized } from "@truedat/core/hooks";
|
|
2
|
+
import { Routes, Route } from "react-router";
|
|
3
|
+
import { ProtectedRoute } from "@truedat/core/router";
|
|
5
4
|
import { DOMAINS, DOMAIN, DOMAINS_NEW } from "@truedat/core/routes";
|
|
6
5
|
import NewDomain from "./NewDomain";
|
|
7
6
|
import Domains from "./Domains";
|
|
8
7
|
|
|
9
8
|
const DomainRoutes = () => (
|
|
10
|
-
<
|
|
11
|
-
<Route exact path={DOMAINS_NEW} render={() => <NewDomain />} />
|
|
12
|
-
<Route path={DOMAIN} render={() => <Domains />} />
|
|
13
|
-
<Route exact path={DOMAINS} render={() => <Domains />} />
|
|
14
|
-
</Switch>
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
const AuthorizedRoutes = () => <DomainRoutes />;
|
|
18
|
-
|
|
19
|
-
const DomainsRoutes = () => {
|
|
20
|
-
const authorized = useAuthorized(["taxonomy", "taxonomy_membership"]);
|
|
21
|
-
return (
|
|
9
|
+
<Routes>
|
|
22
10
|
<Route
|
|
23
|
-
path=
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
11
|
+
path="domains"
|
|
12
|
+
element={
|
|
13
|
+
<ProtectedRoute authorization={["taxonomy", "taxonomy_membership"]} />
|
|
14
|
+
}
|
|
15
|
+
>
|
|
16
|
+
<Route index element={<Domains />} />
|
|
17
|
+
<Route path="new" element={<NewDomain />} />
|
|
18
|
+
<Route path=":id/*" element={<Domains />} />
|
|
19
|
+
</Route>
|
|
20
|
+
</Routes>
|
|
21
|
+
);
|
|
28
22
|
|
|
29
|
-
export default
|
|
23
|
+
export default DomainRoutes;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
|
-
import React from "react";
|
|
3
2
|
import PropTypes from "prop-types";
|
|
4
3
|
import { FormattedMessage } from "react-intl";
|
|
5
|
-
import { Link, useLocation } from "react-router
|
|
4
|
+
import { Link, useLocation } from "react-router";
|
|
6
5
|
import { Menu } from "semantic-ui-react";
|
|
7
6
|
import { compile } from "path-to-regexp";
|
|
8
7
|
import { useAuthorized } from "@truedat/core/hooks";
|
|
@@ -88,11 +87,11 @@ const DomainTabs = ({
|
|
|
88
87
|
|
|
89
88
|
const maybeAddMain =
|
|
90
89
|
key === _.head(orderedTabs).key
|
|
91
|
-
? _.concat([compile(DOMAIN)({ id })], tabUrls)
|
|
90
|
+
? _.concat([compile(DOMAIN)({ id: `${id}` })], tabUrls)
|
|
92
91
|
: tabUrls;
|
|
93
92
|
|
|
94
93
|
return _.flow(
|
|
95
|
-
_.map((url) => compile(url)({ id })),
|
|
94
|
+
_.map((url) => compile(url)({ id: `${id}` })),
|
|
96
95
|
_.some((url) => path === url)
|
|
97
96
|
)(maybeAddMain);
|
|
98
97
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
|
-
import React from "react";
|
|
3
2
|
import PropTypes from "prop-types";
|
|
4
3
|
import { List } from "semantic-ui-react";
|
|
5
4
|
import DomainItem from "./DomainItem";
|
|
@@ -24,7 +23,7 @@ export const DomainTaxonomy = ({ domain }) => {
|
|
|
24
23
|
};
|
|
25
24
|
|
|
26
25
|
DomainTaxonomy.propTypes = {
|
|
27
|
-
domain: PropTypes.object
|
|
26
|
+
domain: PropTypes.object,
|
|
28
27
|
};
|
|
29
28
|
|
|
30
29
|
export default DomainTaxonomy;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
|
-
import
|
|
2
|
+
import { useState } from "react";
|
|
3
3
|
import { connect } from "react-redux";
|
|
4
4
|
import PropTypes from "prop-types";
|
|
5
5
|
import { FormattedMessage, useIntl } from "react-intl";
|
|
@@ -15,12 +15,13 @@ import {
|
|
|
15
15
|
import { Loading } from "@truedat/core/components";
|
|
16
16
|
import HierarchyNodeFinder from "@truedat/core/components/HierarchyNodeFinder";
|
|
17
17
|
import { linkTo } from "@truedat/core/routes";
|
|
18
|
-
import {
|
|
18
|
+
import { useParams, useNavigate } from "react-router";
|
|
19
19
|
import searchImage from "assets/searching.png";
|
|
20
20
|
import { useDomains } from "../../hooks/useDomains";
|
|
21
21
|
import Domain from "./Domain";
|
|
22
22
|
import DomainCrumbs from "./DomainCrumbs";
|
|
23
23
|
import DomainCards from "./DomainCards";
|
|
24
|
+
import DomainsActions from "./DomainsActions";
|
|
24
25
|
|
|
25
26
|
export const Domains = ({ taxonomyConfig }) => {
|
|
26
27
|
const { minDomainsListWidth, maxDomainsListWidth, defaultDomainsListWidth } =
|
|
@@ -31,14 +32,15 @@ export const Domains = ({ taxonomyConfig }) => {
|
|
|
31
32
|
animated: defaultDomainsListWidth > 0,
|
|
32
33
|
});
|
|
33
34
|
const { formatMessage } = useIntl();
|
|
34
|
-
|
|
35
|
+
|
|
36
|
+
const navigate = useNavigate();
|
|
35
37
|
const { data: domains, actions, loading } = useDomains();
|
|
36
38
|
const { id: urlId } = useParams();
|
|
37
39
|
const domainId = !isNaN(parseInt(urlId)) ? parseInt(urlId) : undefined;
|
|
38
40
|
const domain = _.find((d) => d.id == domainId)(domains);
|
|
39
41
|
|
|
40
42
|
if (!loading && domainId && !domain) {
|
|
41
|
-
|
|
43
|
+
navigate(linkTo.DOMAINS());
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
const EmptyImage = () => (
|
|
@@ -178,7 +180,15 @@ export const Domains = ({ taxonomyConfig }) => {
|
|
|
178
180
|
actions={actions}
|
|
179
181
|
/>
|
|
180
182
|
) : (
|
|
181
|
-
|
|
183
|
+
<>
|
|
184
|
+
<Header as="h4">
|
|
185
|
+
<Header.Content className="taxonomy-domains-domaincards-header-content">
|
|
186
|
+
<div></div>
|
|
187
|
+
<DomainsActions actions={actions} />
|
|
188
|
+
</Header.Content>
|
|
189
|
+
</Header>
|
|
190
|
+
<EmptyImage />
|
|
191
|
+
</>
|
|
182
192
|
)}
|
|
183
193
|
</Grid.Row>
|
|
184
194
|
</Segment>
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
|
-
import React from "react";
|
|
3
2
|
import PropTypes from "prop-types";
|
|
4
3
|
import { useIntl } from "react-intl";
|
|
5
|
-
import { Link } from "react-router
|
|
4
|
+
import { Link } from "react-router";
|
|
6
5
|
import { Button } from "semantic-ui-react";
|
|
7
6
|
import { DOMAINS_NEW } from "@truedat/core/routes";
|
|
8
7
|
|
|
9
8
|
export const DomainsActions = ({ actions }) => {
|
|
10
9
|
const canCreate = !_.isEmpty(actions) && _.has("create")(actions);
|
|
11
|
-
const createUrl = () => DOMAINS_NEW;
|
|
12
10
|
const { formatMessage } = useIntl();
|
|
13
11
|
return (
|
|
14
12
|
<>
|
|
@@ -18,7 +16,7 @@ export const DomainsActions = ({ actions }) => {
|
|
|
18
16
|
content={formatMessage({ id: "domains.actions.create" })}
|
|
19
17
|
icon="cube"
|
|
20
18
|
as={Link}
|
|
21
|
-
to={
|
|
19
|
+
to={DOMAINS_NEW}
|
|
22
20
|
/>
|
|
23
21
|
) : null}
|
|
24
22
|
</>
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
|
-
import React from "react";
|
|
3
2
|
import PropTypes from "prop-types";
|
|
4
3
|
import { Container, Header, Icon, Segment } from "semantic-ui-react";
|
|
5
4
|
import { FormattedMessage } from "react-intl";
|
|
6
|
-
import {
|
|
5
|
+
import { useNavigate } from "react-router";
|
|
7
6
|
import { linkTo } from "@truedat/core/routes";
|
|
8
7
|
|
|
9
8
|
import { useQuery } from "@apollo/client";
|
|
@@ -14,7 +13,8 @@ import DomainForm from "./DomainForm";
|
|
|
14
13
|
|
|
15
14
|
export const EditDomain = ({ domain }) => {
|
|
16
15
|
const { trigger: updateDomain } = useDomainUpdate(domain.id);
|
|
17
|
-
|
|
16
|
+
|
|
17
|
+
const navigate = useNavigate();
|
|
18
18
|
const { client } = useQuery(DOMAINS_QUERY, {
|
|
19
19
|
variables: { action: "viewDomain", fetchPolicy: "no-cache" },
|
|
20
20
|
});
|
|
@@ -23,13 +23,13 @@ export const EditDomain = ({ domain }) => {
|
|
|
23
23
|
await updateDomain({ domain: data });
|
|
24
24
|
const response = await updateDomain({ domain: data });
|
|
25
25
|
if (response?.data?.data) {
|
|
26
|
-
|
|
26
|
+
navigate(linkTo.DOMAIN_CONCEPTS({ id: response?.data?.data?.id }));
|
|
27
27
|
client.resetStore();
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
return _.isEmpty(domain) ? null : (
|
|
32
|
-
<Container
|
|
32
|
+
<Container text>
|
|
33
33
|
<Header as="h2">
|
|
34
34
|
<Icon name="cube" />
|
|
35
35
|
<Header.Content>
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import PropTypes from "prop-types";
|
|
3
2
|
|
|
4
3
|
import { Container, Header, Icon, Segment } from "semantic-ui-react";
|
|
5
4
|
import { FormattedMessage } from "react-intl";
|
|
6
5
|
import { linkTo } from "@truedat/core/routes";
|
|
7
|
-
import {
|
|
6
|
+
import { useNavigate } from "react-router";
|
|
8
7
|
|
|
9
8
|
import { useQuery } from "@apollo/client";
|
|
10
9
|
import { DOMAINS_QUERY } from "@truedat/core/api/queries";
|
|
@@ -15,7 +14,8 @@ import DomainForm from "./DomainForm";
|
|
|
15
14
|
|
|
16
15
|
export const NewDomain = ({ domain }) => {
|
|
17
16
|
const { trigger: createDomain } = useDomainCreate();
|
|
18
|
-
|
|
17
|
+
|
|
18
|
+
const navigate = useNavigate();
|
|
19
19
|
const { client } = useQuery(DOMAINS_QUERY, {
|
|
20
20
|
variables: { action: "viewDomain", fetchPolicy: "no-cache" },
|
|
21
21
|
});
|
|
@@ -23,7 +23,7 @@ export const NewDomain = ({ domain }) => {
|
|
|
23
23
|
const handleCreateDomain = async (data) => {
|
|
24
24
|
const response = await createDomain({ domain: data });
|
|
25
25
|
if (response?.data?.data) {
|
|
26
|
-
|
|
26
|
+
navigate(linkTo.DOMAIN_CONCEPTS({ id: response?.data?.data?.id }));
|
|
27
27
|
}
|
|
28
28
|
client.resetStore();
|
|
29
29
|
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { render } from "@truedat/test/render";
|
|
1
|
+
import userEvent from "@testing-library/user-event";
|
|
2
|
+
import { render, waitForLoad } from "@truedat/test/render";
|
|
3
3
|
import AddDomainMember from "../AddDomainMember";
|
|
4
4
|
|
|
5
5
|
const props = { id: 1 };
|
|
6
6
|
|
|
7
7
|
describe("<AddDomainMember />", () => {
|
|
8
|
-
it("matches the latest snapshot", () => {
|
|
9
|
-
const
|
|
10
|
-
|
|
8
|
+
it("matches the latest snapshot", async () => {
|
|
9
|
+
const rendered = render(<AddDomainMember {...props} />);
|
|
10
|
+
await waitForLoad(rendered);
|
|
11
|
+
expect(rendered.container).toMatchSnapshot();
|
|
11
12
|
});
|
|
12
13
|
});
|