@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.
Files changed (236) hide show
  1. package/package.json +41 -70
  2. package/src/concepts/components/Concept.js +22 -19
  3. package/src/concepts/components/ConceptActions.js +1 -2
  4. package/src/concepts/components/ConceptArchive.js +0 -1
  5. package/src/concepts/components/ConceptArchiveRow.js +3 -4
  6. package/src/concepts/components/ConceptCompleteness.js +1 -2
  7. package/src/concepts/components/ConceptConfidentialButton.js +1 -2
  8. package/src/concepts/components/ConceptCreate.js +1 -1
  9. package/src/concepts/components/ConceptCrumbs.js +10 -8
  10. package/src/concepts/components/ConceptDeleteModalBody.js +7 -10
  11. package/src/concepts/components/ConceptDetails.js +3 -3
  12. package/src/concepts/components/ConceptEdit.js +2 -2
  13. package/src/concepts/components/ConceptForm.js +39 -43
  14. package/src/concepts/components/ConceptHeader.js +0 -1
  15. package/src/concepts/components/ConceptLinksDropdownSelector.js +1 -2
  16. package/src/concepts/components/ConceptLoader.js +3 -3
  17. package/src/concepts/components/ConceptManageDomain.js +2 -1
  18. package/src/concepts/components/ConceptManageDomainPopup.js +1 -1
  19. package/src/concepts/components/ConceptRoutes.js +263 -226
  20. package/src/concepts/components/ConceptRow.js +0 -1
  21. package/src/concepts/components/ConceptSubscription.js +15 -14
  22. package/src/concepts/components/ConceptSummary.js +0 -1
  23. package/src/concepts/components/ConceptTabPane.js +36 -41
  24. package/src/concepts/components/ConceptTabs.js +1 -4
  25. package/src/concepts/components/ConceptTaxonomy.js +1 -3
  26. package/src/concepts/components/Concepts.js +0 -1
  27. package/src/concepts/components/ConceptsActions.js +2 -3
  28. package/src/concepts/components/ConceptsBulkUpdate.js +3 -6
  29. package/src/concepts/components/ConceptsLabelResults.js +0 -1
  30. package/src/concepts/components/ConceptsLinkDecorator.js +1 -2
  31. package/src/concepts/components/ConceptsLinksManagement.js +7 -8
  32. package/src/concepts/components/ConceptsPagination.js +0 -1
  33. package/src/concepts/components/ConceptsPanel.js +5 -4
  34. package/src/concepts/components/ConceptsTable.js +2 -3
  35. package/src/concepts/components/ConceptsUpdateButton.js +6 -6
  36. package/src/concepts/components/ConceptsUploadButton.js +0 -1
  37. package/src/concepts/components/ConceptsUploadEvents.js +0 -2
  38. package/src/concepts/components/ConceptsUploadEventsTable.js +12 -19
  39. package/src/concepts/components/DomainConcepts.js +0 -1
  40. package/src/concepts/components/EventRow.js +0 -1
  41. package/src/concepts/components/Events.js +3 -4
  42. package/src/concepts/components/FieldGroupTable.js +1 -2
  43. package/src/concepts/components/LinkedMessage.js +9 -13
  44. package/src/concepts/components/SharedToDomains.js +8 -7
  45. package/src/concepts/components/SharedToDomainsPopup.js +1 -1
  46. package/src/concepts/components/SharedToForm.js +3 -6
  47. package/src/concepts/components/__tests__/Concept.spec.js +8 -42
  48. package/src/concepts/components/__tests__/ConceptActions.spec.js +7 -7
  49. package/src/concepts/components/__tests__/ConceptArchive.spec.js +5 -5
  50. package/src/concepts/components/__tests__/ConceptArchiveLoader.spec.js +15 -14
  51. package/src/concepts/components/__tests__/ConceptArchiveRow.spec.js +0 -1
  52. package/src/concepts/components/__tests__/ConceptCompleteness.spec.js +0 -1
  53. package/src/concepts/components/__tests__/ConceptConfidentialButton.spec.js +10 -17
  54. package/src/concepts/components/__tests__/ConceptContext.spec.js +1 -1
  55. package/src/concepts/components/__tests__/ConceptCrumbs.spec.js +12 -34
  56. package/src/concepts/components/__tests__/ConceptDeleteModalBody.spec.js +47 -26
  57. package/src/concepts/components/__tests__/ConceptDetails.spec.js +1 -9
  58. package/src/concepts/components/__tests__/ConceptEdit.spec.js +2 -2
  59. package/src/concepts/components/__tests__/ConceptForm.spec.js +26 -19
  60. package/src/concepts/components/__tests__/ConceptHeader.spec.js +33 -57
  61. package/src/concepts/components/__tests__/ConceptLinksManagement.spec.js +27 -34
  62. package/src/concepts/components/__tests__/ConceptLoader.spec.js +51 -37
  63. package/src/concepts/components/__tests__/ConceptManageDomain.spec.js +12 -47
  64. package/src/concepts/components/__tests__/ConceptManageDomainPopup.spec.js +65 -24
  65. package/src/concepts/components/__tests__/ConceptRow.spec.js +6 -17
  66. package/src/concepts/components/__tests__/ConceptSubscription.spec.js +9 -9
  67. package/src/concepts/components/__tests__/ConceptSubscriptionLoader.spec.js +20 -16
  68. package/src/concepts/components/__tests__/ConceptSummary.spec.js +11 -10
  69. package/src/concepts/components/__tests__/ConceptTabPane.spec.js +73 -5
  70. package/src/concepts/components/__tests__/ConceptTabs.spec.js +6 -21
  71. package/src/concepts/components/__tests__/ConceptTaxonomy.spec.js +16 -12
  72. package/src/concepts/components/__tests__/Concepts.spec.js +6 -26
  73. package/src/concepts/components/__tests__/ConceptsActions.spec.js +0 -1
  74. package/src/concepts/components/__tests__/ConceptsBulkUpdate.spec.js +31 -36
  75. package/src/concepts/components/__tests__/ConceptsLabelResults.spec.js +4 -5
  76. package/src/concepts/components/__tests__/ConceptsLinkDecorator.spec.js +3 -4
  77. package/src/concepts/components/__tests__/ConceptsPanel.spec.js +7 -26
  78. package/src/concepts/components/__tests__/ConceptsTable.spec.js +34 -60
  79. package/src/concepts/components/__tests__/ConceptsUpdateButton.spec.js +6 -7
  80. package/src/concepts/components/__tests__/ConceptsUploadButton.spec.js +25 -13
  81. package/src/concepts/components/__tests__/ConceptsUploadEventsTable.spec.js +11 -9
  82. package/src/concepts/components/__tests__/Events.spec.js +10 -10
  83. package/src/concepts/components/__tests__/SharedToDomains.spec.js +25 -19
  84. package/src/concepts/components/__tests__/SharedToDomainsPopup.spec.js +48 -36
  85. package/src/concepts/components/__tests__/SharedToForm.spec.js +24 -32
  86. package/src/concepts/components/__tests__/__snapshots__/Concept.spec.js.snap +108 -23
  87. package/src/concepts/components/__tests__/__snapshots__/ConceptActions.spec.js.snap +12 -16
  88. package/src/concepts/components/__tests__/__snapshots__/ConceptArchive.spec.js.snap +77 -65
  89. package/src/concepts/components/__tests__/__snapshots__/ConceptArchiveRow.spec.js.snap +2 -4
  90. package/src/concepts/components/__tests__/__snapshots__/ConceptConfidentialButton.spec.js.snap +11 -31
  91. package/src/concepts/components/__tests__/__snapshots__/ConceptCrumbs.spec.js.snap +41 -56
  92. package/src/concepts/components/__tests__/__snapshots__/ConceptDeleteModalBody.spec.js.snap +3 -5
  93. package/src/concepts/components/__tests__/__snapshots__/ConceptDetails.spec.js.snap +0 -1
  94. package/src/concepts/components/__tests__/__snapshots__/ConceptEdit.spec.js.snap +1 -12
  95. package/src/concepts/components/__tests__/__snapshots__/ConceptForm.spec.js.snap +10 -11
  96. package/src/concepts/components/__tests__/__snapshots__/ConceptHeader.spec.js.snap +2 -2
  97. package/src/concepts/components/__tests__/__snapshots__/ConceptLinksManagement.spec.js.snap +14 -14
  98. package/src/concepts/components/__tests__/__snapshots__/ConceptLoader.spec.js.snap +14 -9
  99. package/src/concepts/components/__tests__/__snapshots__/ConceptManageDomain.spec.js.snap +43 -5
  100. package/src/concepts/components/__tests__/__snapshots__/ConceptManageDomainPopup.spec.js.snap +10 -163
  101. package/src/concepts/components/__tests__/__snapshots__/ConceptRow.spec.js.snap +4 -7
  102. package/src/concepts/components/__tests__/__snapshots__/ConceptSubscription.spec.js.snap +8 -55
  103. package/src/concepts/components/__tests__/__snapshots__/ConceptSubscriptionLoader.spec.js.snap +1 -1
  104. package/src/concepts/components/__tests__/__snapshots__/ConceptSummary.spec.js.snap +6 -6
  105. package/src/concepts/components/__tests__/__snapshots__/ConceptTabPane.spec.js.snap +18 -34
  106. package/src/concepts/components/__tests__/__snapshots__/ConceptTabs.spec.js.snap +26 -13
  107. package/src/concepts/components/__tests__/__snapshots__/ConceptTaxonomy.spec.js.snap +63 -53
  108. package/src/concepts/components/__tests__/__snapshots__/Concepts.spec.js.snap +10 -25
  109. package/src/concepts/components/__tests__/__snapshots__/ConceptsActions.spec.js.snap +1 -0
  110. package/src/concepts/components/__tests__/__snapshots__/ConceptsBulkUpdate.spec.js.snap +7 -6
  111. package/src/concepts/components/__tests__/__snapshots__/ConceptsLabelResults.spec.js.snap +1 -1
  112. package/src/concepts/components/__tests__/__snapshots__/ConceptsLinkDecorator.spec.js.snap +1 -0
  113. package/src/concepts/components/__tests__/__snapshots__/ConceptsPanel.spec.js.snap +10 -25
  114. package/src/concepts/components/__tests__/__snapshots__/ConceptsTable.spec.js.snap +1 -1
  115. package/src/concepts/components/__tests__/__snapshots__/ConceptsUpdateButton.spec.js.snap +1 -1
  116. package/src/concepts/components/__tests__/__snapshots__/ConceptsUploadButton.spec.js.snap +9 -74
  117. package/src/concepts/components/__tests__/__snapshots__/ConceptsUploadEventsTable.spec.js.snap +14 -14
  118. package/src/concepts/components/__tests__/__snapshots__/Events.spec.js.snap +83 -43
  119. package/src/concepts/components/__tests__/__snapshots__/SharedToDomains.spec.js.snap +56 -33
  120. package/src/concepts/components/__tests__/__snapshots__/SharedToDomainsPopup.spec.js.snap +9 -145
  121. package/src/concepts/components/__tests__/__snapshots__/SharedToForm.spec.js.snap +2 -2
  122. package/src/concepts/reducers/__tests__/conceptRedirect.spec.js +1 -1
  123. package/src/concepts/reducers/conceptRedirect.js +5 -5
  124. package/src/concepts/relations/components/ConceptImplementationLinks.js +5 -4
  125. package/src/concepts/relations/components/ConceptLinkActions.js +1 -1
  126. package/src/concepts/relations/components/ConceptLinksActions.js +4 -4
  127. package/src/concepts/relations/components/ConceptRelationActions.js +3 -4
  128. package/src/concepts/relations/components/ConceptRelationForm.js +3 -3
  129. package/src/concepts/relations/components/ConceptRelationRow.js +10 -10
  130. package/src/concepts/relations/components/ConceptRelations.js +9 -11
  131. package/src/concepts/relations/components/ConceptRelationsRoutes.js +20 -39
  132. package/src/concepts/relations/components/ConceptRelationsSummary.js +26 -29
  133. package/src/concepts/relations/components/ConceptSelector.js +4 -7
  134. package/src/concepts/relations/components/ConceptStructureLinks.js +2 -2
  135. package/src/concepts/relations/components/__tests__/ConceptImplementationLinks.spec.js +19 -59
  136. package/src/concepts/relations/components/__tests__/ConceptLinksActions.spec.js +9 -10
  137. package/src/concepts/relations/components/__tests__/ConceptRelationActions.spec.js +9 -7
  138. package/src/concepts/relations/components/__tests__/ConceptRelationForm.spec.js +30 -42
  139. package/src/concepts/relations/components/__tests__/ConceptRelationRow.spec.js +11 -16
  140. package/src/concepts/relations/components/__tests__/ConceptRelations.spec.js +11 -14
  141. package/src/concepts/relations/components/__tests__/ConceptRelationsRoutes.spec.js +108 -8
  142. package/src/concepts/relations/components/__tests__/ConceptRelationsSummary.spec.js +39 -38
  143. package/src/concepts/relations/components/__tests__/ConceptSelector.spec.js +24 -36
  144. package/src/concepts/relations/components/__tests__/ConceptStructureLinks.spec.js +21 -11
  145. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptImplementationLinks.spec.js.snap +131 -28
  146. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptLinksActions.spec.js.snap +4 -3
  147. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationActions.spec.js.snap +10 -26
  148. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationForm.spec.js.snap +15 -19
  149. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationRow.spec.js.snap +36 -33
  150. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelations.spec.js.snap +76 -51
  151. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationsRoutes.spec.js.snap +15 -29
  152. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptRelationsSummary.spec.js.snap +45 -100
  153. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptSelector.spec.js.snap +9 -9
  154. package/src/concepts/relations/components/__tests__/__snapshots__/ConceptStructureLinks.spec.js.snap +10 -10
  155. package/src/concepts/relations/sagas/conceptLinkAction.js +2 -2
  156. package/src/concepts/relations/sagas/linkConcept.js +1 -1
  157. package/src/concepts/relations/selectors/getBusinessConceptsLinksToImplementationsColumns.js +1 -2
  158. package/src/concepts/relations/selectors/getConceptLinks.js +1 -2
  159. package/src/concepts/relations/selectors/getConceptRelations.js +14 -14
  160. package/src/concepts/sagas/__tests__/saveSharedTo.spec.js +3 -3
  161. package/src/concepts/sagas/__tests__/setConfidentialConcept.spec.js +5 -5
  162. package/src/concepts/sagas/conceptAction.js +2 -2
  163. package/src/concepts/sagas/fetchConceptArchive.js +1 -1
  164. package/src/concepts/sagas/setConfidentialConcept.js +2 -2
  165. package/src/concepts/selectors/__tests__/getConceptDomainPath.spec.js +2 -2
  166. package/src/concepts/selectors/getConceptColumns.js +1 -2
  167. package/src/concepts/selectors/getConceptTemplate.js +1 -1
  168. package/src/concepts/selectors/getConceptUploadEventColumns.js +0 -1
  169. package/src/concepts/selectors/getConceptVersionPath.js +2 -2
  170. package/src/concepts/selectors/getParsedEvents.js +2 -2
  171. package/src/concepts/selectors/getTemplateFields.js +3 -3
  172. package/src/concepts/selectors/getTemplateGroups.js +1 -1
  173. package/src/hooks/__mocks__/useDomains.js +42 -0
  174. package/src/hooks/useDomains.js +3 -3
  175. package/src/taxonomy/components/AddDomainMember.js +3 -4
  176. package/src/taxonomy/components/Domain.js +19 -23
  177. package/src/taxonomy/components/DomainActions.js +1 -2
  178. package/src/taxonomy/components/DomainCards.js +4 -6
  179. package/src/taxonomy/components/DomainContent.js +42 -87
  180. package/src/taxonomy/components/DomainCrumbs.js +4 -4
  181. package/src/taxonomy/components/DomainDetail.js +4 -5
  182. package/src/taxonomy/components/DomainForm.js +1 -3
  183. package/src/taxonomy/components/DomainImplementations.js +8 -7
  184. package/src/taxonomy/components/DomainItem.js +1 -2
  185. package/src/taxonomy/components/DomainMembers.js +0 -1
  186. package/src/taxonomy/components/DomainRoutes.js +15 -21
  187. package/src/taxonomy/components/DomainSearch.js +0 -1
  188. package/src/taxonomy/components/DomainStructures.js +0 -1
  189. package/src/taxonomy/components/DomainTabs.js +3 -4
  190. package/src/taxonomy/components/DomainTaxonomy.js +1 -2
  191. package/src/taxonomy/components/Domains.js +15 -5
  192. package/src/taxonomy/components/DomainsActions.js +2 -4
  193. package/src/taxonomy/components/EditDomain.js +5 -5
  194. package/src/taxonomy/components/NewDomain.js +4 -4
  195. package/src/taxonomy/components/__tests__/AddDomainMember.spec.js +6 -5
  196. package/src/taxonomy/components/__tests__/Domain.spec.js +63 -123
  197. package/src/taxonomy/components/__tests__/DomainActions.spec.js +0 -1
  198. package/src/taxonomy/components/__tests__/DomainCards.spec.js +44 -51
  199. package/src/taxonomy/components/__tests__/DomainContent.spec.js +138 -158
  200. package/src/taxonomy/components/__tests__/DomainCrumbs.spec.js +14 -19
  201. package/src/taxonomy/components/__tests__/DomainDetail.spec.js +2 -3
  202. package/src/taxonomy/components/__tests__/DomainForm.spec.js +44 -60
  203. package/src/taxonomy/components/__tests__/DomainItem.spec.js +17 -14
  204. package/src/taxonomy/components/__tests__/DomainMembers.spec.js +9 -13
  205. package/src/taxonomy/components/__tests__/DomainRoutes.spec.js +54 -0
  206. package/src/taxonomy/components/__tests__/DomainStructures.spec.js +10 -51
  207. package/src/taxonomy/components/__tests__/DomainTabs.spec.js +14 -33
  208. package/src/taxonomy/components/__tests__/DomainTaxonomy.spec.js +17 -16
  209. package/src/taxonomy/components/__tests__/Domains.spec.js +63 -95
  210. package/src/taxonomy/components/__tests__/DomainsActions.spec.js +12 -11
  211. package/src/taxonomy/components/__tests__/EditDomain.spec.js +13 -54
  212. package/src/taxonomy/components/__tests__/NewDomain.spec.js +17 -61
  213. package/src/taxonomy/components/__tests__/__snapshots__/AddDomainMember.spec.js.snap +10 -9
  214. package/src/taxonomy/components/__tests__/__snapshots__/Domain.spec.js.snap +53 -72
  215. package/src/taxonomy/components/__tests__/__snapshots__/DomainActions.spec.js.snap +2 -1
  216. package/src/taxonomy/components/__tests__/__snapshots__/DomainCards.spec.js.snap +247 -27
  217. package/src/taxonomy/components/__tests__/__snapshots__/DomainContent.spec.js.snap +14 -294
  218. package/src/taxonomy/components/__tests__/__snapshots__/DomainCrumbs.spec.js.snap +6 -2
  219. package/src/taxonomy/components/__tests__/__snapshots__/DomainDetail.spec.js.snap +5 -4
  220. package/src/taxonomy/components/__tests__/__snapshots__/DomainForm.spec.js.snap +13 -12
  221. package/src/taxonomy/components/__tests__/__snapshots__/DomainItem.spec.js.snap +16 -12
  222. package/src/taxonomy/components/__tests__/__snapshots__/DomainRoutes.spec.js.snap +52 -0
  223. package/src/taxonomy/components/__tests__/__snapshots__/DomainStructures.spec.js.snap +7 -7
  224. package/src/taxonomy/components/__tests__/__snapshots__/DomainTabs.spec.js.snap +10 -5
  225. package/src/taxonomy/components/__tests__/__snapshots__/DomainTaxonomy.spec.js.snap +37 -29
  226. package/src/taxonomy/components/__tests__/__snapshots__/Domains.spec.js.snap +123 -6
  227. package/src/taxonomy/components/__tests__/__snapshots__/DomainsActions.spec.js.snap +2 -1
  228. package/src/taxonomy/components/__tests__/__snapshots__/EditDomain.spec.js.snap +15 -14
  229. package/src/taxonomy/components/__tests__/__snapshots__/NewDomain.spec.js.snap +31 -28
  230. package/src/taxonomy/selectors/index.js +0 -1
  231. package/src/concepts/relations/components/__tests__/ConceptSelector2.spec.js +0 -76
  232. package/src/concepts/selectors/__tests__/getConceptSubscope.spec.js +0 -37
  233. package/src/concepts/selectors/__tests__/getSidemenuGlossarySubscopes.spec.js +0 -17
  234. package/src/concepts/selectors/getConceptStatus.js +0 -1
  235. package/src/concepts/selectors/getConceptSubscope.js +0 -19
  236. package/src/concepts/selectors/getSidemenuGlossarySubscopes.js +0 -8
@@ -1,10 +1,11 @@
1
1
  import _ from "lodash/fp";
2
2
  import React from "react";
3
3
  import PropTypes from "prop-types";
4
- import { Route, Switch } from "react-router-dom";
4
+ import { Route, useParams, Routes } from "react-router";
5
5
  import { connect } from "react-redux";
6
- import { Unauthorized } from "@truedat/core/components";
7
- import { useAuthorized } from "@truedat/core/hooks";
6
+ import { ProtectedRoute } from "@truedat/core/router";
7
+ // import { Unauthorized } from "@truedat/core/components";
8
+ // import { useAuthorized } from "@truedat/core/hooks";
8
9
  import {
9
10
  CONCEPT_EDIT,
10
11
  CONCEPT_LINKS_MANAGEMENT,
@@ -23,7 +24,7 @@ import {
23
24
  CONCEPTS,
24
25
  } from "@truedat/core/routes";
25
26
  import { useIntl } from "react-intl";
26
- import { getSidemenuGlossarySubscopes } from "../selectors/getSidemenuGlossarySubscopes";
27
+ import { getSidemenuGlossarySubscopes } from "@truedat/core/selectors/getSidemenuGlossarySubscopes";
27
28
  import Concept from "./Concept";
28
29
  import ConceptCrumbs from "./ConceptCrumbs";
29
30
  import ConceptEdit from "./ConceptEdit";
@@ -36,18 +37,47 @@ import ConceptsBulkUpdate from "./ConceptsBulkUpdate";
36
37
  import ConceptSubscriptionLoader from "./ConceptSubscriptionLoader";
37
38
  import ConceptsUploadEvents from "./ConceptsUploadEvents";
38
39
 
39
- const RelationTagsLoader = React.lazy(() =>
40
- import("@truedat/lm/components/RelationTagsLoader")
40
+ const RelationTagsLoader = React.lazy(
41
+ () => import("@truedat/lm/components/RelationTagsLoader")
41
42
  );
42
43
 
43
- const TemplatesLoader = React.lazy(() =>
44
- import("@truedat/df/templates/components/TemplatesLoader")
44
+ const TemplatesLoader = React.lazy(
45
+ () => import("@truedat/core/components/TemplatesLoader")
45
46
  );
46
47
 
47
- const RelationsGraphLoader = React.lazy(() =>
48
- import("@truedat/lm/components/RelationsGraphLoader")
48
+ const RelationsGraphLoader = React.lazy(
49
+ () => import("@truedat/lm/components/RelationsGraphLoader")
49
50
  );
50
51
 
52
+ const ConceptsComponent = ({ filters, viewKey }) => {
53
+ const { formatMessage } = useIntl();
54
+ const { subscope = "" } = useParams();
55
+ const baseId = `concepts.${subscope || "default"}.${viewKey}`;
56
+ const showCreate = viewKey === "pending";
57
+ const showUpload = viewKey === "pending";
58
+
59
+ return (
60
+ <Concepts
61
+ defaultFilters={{
62
+ ...filters,
63
+ "template.subscope": subscope ? [subscope] : undefined,
64
+ }}
65
+ header={formatMessage({ id: `${baseId}.header` })}
66
+ subheader={formatMessage({ id: `${baseId}.subheader` })}
67
+ icon={formatMessage({
68
+ id: `concepts.${subscope}.icon`,
69
+ defaultMessage: "tags",
70
+ })}
71
+ create={showCreate}
72
+ upload={showUpload}
73
+ />
74
+ );
75
+ };
76
+ ConceptsComponent.propTypes = {
77
+ filters: PropTypes.object,
78
+ key: PropTypes.string,
79
+ };
80
+
51
81
  const ConceptRoutes = ({
52
82
  concept,
53
83
  conceptLoaded,
@@ -55,239 +85,246 @@ const ConceptRoutes = ({
55
85
  sidemenuGlossarySubscopes,
56
86
  }) => {
57
87
  const { formatMessage } = useIntl();
58
- const authorized = useAuthorized([
59
- "business_glossary_view",
60
- "business_glossary_management",
61
- ]);
62
- if (!authorized) {
63
- return <Unauthorized />;
64
- }
65
-
66
- const renderConceptsComponent = (props, filters, key) => {
67
- const subscope = _.get("match.params.subscope", props) || "";
68
- const baseId = `concepts.${subscope || "default"}.${key}`;
69
-
70
- const showCreate = key === "pending";
71
- const showUpload = key === "pending";
72
-
73
- return (
74
- <Concepts
75
- defaultFilters={{
76
- ...filters,
77
- "template.subscope": subscope ? [subscope] : undefined,
78
- }}
79
- header={formatMessage({ id: `${baseId}.header` })}
80
- subheader={formatMessage({ id: `${baseId}.subheader` })}
81
- icon={formatMessage({
82
- id: `concepts.${subscope}.icon`,
83
- defaultMessage: "tags",
84
- })}
85
- create={showCreate}
86
- upload={showUpload}
87
- />
88
- );
89
- };
88
+ // const authorized = useAuthorized([
89
+ // "business_glossary_view",
90
+ // "business_glossary_management",
91
+ // ]);
92
+ // if (!authorized) {
93
+ // return <Unauthorized />;
94
+ // }
90
95
 
91
96
  return (
92
- <Switch>
93
- <Route
94
- exact
95
- path={CONCEPTS_BULK_UPLOAD_EVENTS}
96
- render={() => <ConceptsUploadEvents />}
97
- />
98
- <Route
99
- exact
100
- path={CONCEPTS_SIDEMENU_MANAGEMENT_UPLOADS}
101
- render={() => <ConceptsUploadEvents />}
102
- />
103
-
104
- <Route
105
- exact
106
- path={CONCEPTS_SIDEMENU_MANAGEMENT_LINKS}
107
- render={() => (
108
- <>
109
- <RelationTagsLoader />
110
- <ConceptsLinksManagement
111
- header={formatMessage({ id: "concepts.header.linksManager" })}
112
- subheader={formatMessage({
113
- id: "concepts.subheader.linksManager",
114
- })}
115
- icon={formatMessage({
116
- id: "concepts.header.linksManager.icon",
117
- defaultMessage: "linkify",
118
- })}
119
- />
120
- </>
121
- )}
122
- />
123
-
97
+ <Routes>
124
98
  <Route
125
- exact
126
- path={CONCEPT_LINKS_MANAGEMENT}
127
- render={() => (
128
- <>
129
- <RelationTagsLoader />
130
- <ConceptsLinksManagement
131
- header={formatMessage({ id: "concepts.header.linksManager" })}
132
- subheader={formatMessage({
133
- id: "concepts.subheader.linksManager",
134
- })}
99
+ path="concepts"
100
+ element={
101
+ <ProtectedRoute
102
+ authorization={[
103
+ "business_glossary_view",
104
+ "business_glossary_management",
105
+ ]}
106
+ />
107
+ }
108
+ >
109
+ <Route
110
+ // CONCEPTS = "/concepts";
111
+ index
112
+ element={
113
+ <Concepts
114
+ defaultFilters={{
115
+ status: ["published"],
116
+ "template.subscope": "",
117
+ }}
118
+ header={formatMessage({ id: "concepts.header" })}
119
+ subheader={formatMessage({ id: "concepts.subheader.view" })}
135
120
  icon={formatMessage({
136
- id: "concepts.header.linksManager.icon",
137
- defaultMessage: "linkify",
121
+ id: "concepts.header.icon",
122
+ defaultMessage: "tags",
138
123
  })}
139
124
  />
140
- </>
141
- )}
142
- />
143
-
144
- <Route
145
- exact
146
- path={CONCEPTS_PENDING}
147
- render={(routeProps) =>
148
- authorized ? (
149
- renderConceptsComponent(
150
- routeProps,
151
- {
125
+ }
126
+ />
127
+ <Route
128
+ // CONCEPTS_PENDING = "/concepts/pending";
129
+ path="pending"
130
+ element={
131
+ <ConceptsComponent
132
+ viewKey="pending"
133
+ filters={{
152
134
  status: ["pending_approval", "draft", "rejected"],
153
135
  "mustnot.template.subscope": sidemenuGlossarySubscopes,
154
- },
155
- "pending"
156
- )
157
- ) : (
158
- <Unauthorized />
159
- )
160
- }
161
- />
162
-
163
- <Route
164
- exact
165
- path={CONCEPTS_DEPRECATED}
166
- render={(routeProps) =>
167
- renderConceptsComponent(
168
- routeProps,
169
- {
170
- status: ["deprecated"],
171
- "mustnot.template.subscope": sidemenuGlossarySubscopes,
172
- },
173
- "deprecated"
174
- )
175
- }
176
- />
136
+ }}
137
+ />
138
+ }
139
+ />
140
+ <Route
141
+ // CONCEPTS_DEPRECATED = "/concepts/deprecated";
142
+ path="deprecated"
143
+ element={
144
+ <ConceptsComponent
145
+ viewKey="deprecated"
146
+ filters={{
147
+ status: ["deprecated"],
148
+ "mustnot.template.subscope": sidemenuGlossarySubscopes,
149
+ }}
150
+ />
151
+ }
152
+ />
153
+ <Route
154
+ // CONCEPTS_NEW = "/concepts/new";
155
+ path="new"
156
+ element={
157
+ <>
158
+ <ConceptCrumbs conceptAction="concepts.actions.create" />
159
+ <ConceptCreate />
160
+ </>
161
+ }
162
+ />
163
+ <Route
164
+ // CONCEPTS_BULK_UPDATE = "/concepts/bulk_update";
165
+ path="bulk_update"
166
+ element={
167
+ <>
168
+ <ConceptCrumbs conceptAction="actions.update" />
169
+ <TemplatesLoader scope="bg" />
170
+ {templatesLoaded && <ConceptsBulkUpdate />}
171
+ </>
172
+ }
173
+ />
174
+ <Route
175
+ // CONCEPTS_BULK_UPLOAD_EVENTS = "/concepts/management/bulk_upload_event";
176
+ path="management"
177
+ >
178
+ <Route
179
+ // CONCEPTS_BULK_UPLOAD_EVENTS = "/concepts/management/bulk_upload_event";
180
+ path="bulk_upload_event"
181
+ element={<ConceptsUploadEvents />}
182
+ />
177
183
 
178
- <Route
179
- exact
180
- path={CONCEPTS_SUBSCOPE}
181
- render={(routeProps) =>
182
- renderConceptsComponent(routeProps, { status: ["published"] }, "main")
183
- }
184
- />
185
- <Route
186
- exact
187
- path={CONCEPTS_SIDEMENU_SUBSCOPE}
188
- render={(routeProps) =>
189
- renderConceptsComponent(routeProps, { status: ["published"] }, "main")
190
- }
191
- />
192
- <Route
193
- exact
194
- path={CONCEPTS_SIDEMENU_SUBSCOPE_PENDING}
195
- render={(routeProps) =>
196
- renderConceptsComponent(
197
- routeProps,
198
- { status: ["pending_approval", "draft", "rejected"] },
199
- "pending"
200
- )
201
- }
202
- />
203
- <Route
204
- exact
205
- path={CONCEPTS_SIDEMENU_SUBSCOPE_DEPRECATED}
206
- render={(routeProps) =>
207
- renderConceptsComponent(
208
- routeProps,
209
- { status: ["deprecated"] },
210
- "deprecated"
211
- )
212
- }
213
- />
214
- <Route
215
- exact
216
- path={CONCEPT_EDIT}
217
- render={() => (
218
- <>
219
- <ConceptCrumbs conceptAction="concepts.actions.edit" />
220
- <TemplatesLoader scope="bg" />
221
- <ConceptLoader />
222
- {conceptLoaded && templatesLoaded ? <ConceptEdit /> : null}
223
- </>
224
- )}
225
- />
226
- <Route
227
- path={CONCEPT_VERSION}
228
- render={() => (
229
- <>
230
- <ConceptLoader />
231
- <RelationTagsLoader />
232
- {conceptLoaded && (
184
+ <Route
185
+ // CONCEPT_LINKS_MANAGEMENT = "/concepts/management/links";
186
+ path="links"
187
+ element={
233
188
  <>
234
- <ConceptSubscriptionLoader />
235
- <RelationsGraphLoader
236
- resource_id={concept?.business_concept_id}
189
+ <RelationTagsLoader />
190
+ <ConceptsLinksManagement
191
+ header={formatMessage({ id: "concepts.header.linksManager" })}
192
+ subheader={formatMessage({
193
+ id: "concepts.subheader.linksManager",
194
+ })}
195
+ icon={formatMessage({
196
+ id: "concepts.header.linksManager.icon",
197
+ defaultMessage: "linkify",
198
+ })}
237
199
  />
238
- <Concept />
239
200
  </>
240
- )}
241
- </>
242
- )}
243
- />
244
- <Route
245
- exact
246
- path={CONCEPTS_NEW}
247
- render={() => (
248
- <>
249
- <ConceptCrumbs conceptAction="concepts.actions.create" />
250
- <ConceptCreate />
251
- </>
252
- )}
253
- />
254
- <Route
255
- exact
256
- path={CONCEPTS_BULK_UPDATE}
257
- render={() => (
258
- <>
259
- <ConceptCrumbs conceptAction="actions.update" />
260
- <TemplatesLoader scope="bg" />
261
- {templatesLoaded && <ConceptsBulkUpdate />}
262
- </>
263
- )}
264
- />
265
- <Route
266
- exact
201
+ }
202
+ />
203
+ </Route>
204
+
205
+ <Route
206
+ // CONCEPT_VERSION = "/concepts/:business_concept_id/versions/:id";
207
+ path=":business_concept_id/versions/:id/*"
208
+ >
209
+ <Route
210
+ // CONCEPT_EDIT = "/concepts/:business_concept_id/versions/:id/edit";
211
+ path="edit"
212
+ element={
213
+ <>
214
+ <ConceptCrumbs conceptAction="concepts.actions.edit" />
215
+ <TemplatesLoader scope="bg" />
216
+ <ConceptLoader />
217
+ {conceptLoaded && templatesLoaded ? <ConceptEdit /> : null}
218
+ </>
219
+ }
220
+ />
221
+ <Route
222
+ // CONCEPT_VERSION = "/concepts/:business_concept_id/versions/:id";
223
+ path="*"
224
+ element={
225
+ <>
226
+ <ConceptLoader />
227
+ <RelationTagsLoader />
228
+ {conceptLoaded && (
229
+ <>
230
+ <ConceptSubscriptionLoader />
231
+ <RelationsGraphLoader
232
+ resource_id={concept?.business_concept_id}
233
+ />
234
+ <Concept />
235
+ </>
236
+ )}
237
+ </>
238
+ }
239
+ />
240
+ </Route>
241
+
242
+ <Route
243
+ // CONCEPTS_SUBSCOPE = "/concepts/subscope/:subscope";
244
+ path="subscope/:subscope"
245
+ element={
246
+ <ConceptsComponent
247
+ viewKey="main"
248
+ filters={{ status: ["published"] }}
249
+ />
250
+ }
251
+ />
252
+ </Route>
253
+
254
+ {/* <Route
267
255
  path={CONCEPTS_NEW}
268
- render={() => (
256
+ element={
269
257
  <>
270
258
  <ConceptCrumbs conceptAction="concepts.actions.create" />
271
259
  <ConceptCreate />
272
260
  </>
273
- )}
274
- />
275
- <Route
276
- exact
277
- path={CONCEPTS}
278
- render={() => (
279
- <Concepts
280
- defaultFilters={{ status: ["published"], "template.subscope": "" }}
281
- header={formatMessage({ id: "concepts.header" })}
282
- subheader={formatMessage({ id: "concepts.subheader.view" })}
283
- icon={formatMessage({
284
- id: "concepts.header.icon",
285
- defaultMessage: "tags",
286
- })}
287
- />
288
- )}
289
- />
290
- </Switch>
261
+ }
262
+ /> */}
263
+
264
+ <Route path="glossaryManagement">
265
+ <Route
266
+ // CONCEPTS_SIDEMENU_MANAGEMENT_UPLOADS = "/glossaryManagement/uploads";
267
+ path="uploads"
268
+ element={<ConceptsUploadEvents />}
269
+ />
270
+ <Route
271
+ // CONCEPTS_SIDEMENU_MANAGEMENT_LINKS = "/glossaryManagement/links";
272
+ path="links"
273
+ element={
274
+ <>
275
+ <RelationTagsLoader />
276
+ <ConceptsLinksManagement
277
+ header={formatMessage({ id: "concepts.header.linksManager" })}
278
+ subheader={formatMessage({
279
+ id: "concepts.subheader.linksManager",
280
+ })}
281
+ icon={formatMessage({
282
+ id: "concepts.header.linksManager.icon",
283
+ defaultMessage: "linkify",
284
+ })}
285
+ />
286
+ </>
287
+ }
288
+ />
289
+ </Route>
290
+
291
+ <Route path="glossarySubscope">
292
+ <Route
293
+ // CONCEPTS_SIDEMENU_SUBSCOPE = "/glossarySubscope/:subscope/published";
294
+ path=":subscope/published"
295
+ element={
296
+ <ConceptsComponent
297
+ viewKey="main"
298
+ filters={{ status: ["published"] }}
299
+ />
300
+ }
301
+ />
302
+
303
+ <Route
304
+ // CONCEPTS_SIDEMENU_SUBSCOPE_PENDING ="/glossarySubscope/:subscope/pending";
305
+ path=":subscope/pending"
306
+ element={
307
+ <ConceptsComponent
308
+ viewKey="pending"
309
+ filters={{ status: ["pending_approval", "draft", "rejected"] }}
310
+ />
311
+ }
312
+ />
313
+
314
+ <Route
315
+ // CONCEPTS_SIDEMENU_SUBSCOPE_DEPRECATED = "/glossarySubscope/:subscope/deprecated";
316
+ path=":subscope/deprecated"
317
+ element={
318
+ <ConceptsComponent
319
+ viewKey="deprecated"
320
+ filters={{ status: ["deprecated"] }}
321
+ />
322
+ }
323
+ />
324
+ </Route>
325
+
326
+ <Route path="*" element={null} />
327
+ </Routes>
291
328
  );
292
329
  };
293
330
 
@@ -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 { Table } from "semantic-ui-react";
5
4
  import { columnDecorator } from "@truedat/core/services";
@@ -1,16 +1,16 @@
1
1
  import _ from "lodash/fp";
2
- import React, { useState, useEffect, Suspense } from "react";
2
+ import { lazy, useState, useEffect, Suspense } from "react";
3
3
  import PropTypes from "prop-types";
4
4
  import { connect } from "react-redux";
5
5
  import { Button, Popup } from "semantic-ui-react";
6
6
  import {
7
7
  createSubscription,
8
8
  deleteSubscription,
9
- updateSubscription
9
+ updateSubscription,
10
10
  } from "@truedat/core/routines";
11
11
 
12
- const SubscriptionWatchForm = React.lazy(() =>
13
- import("@truedat/audit/components/SubscriptionWatchForm")
12
+ const SubscriptionWatchForm = lazy(
13
+ () => import("@truedat/audit/components/SubscriptionWatchForm")
14
14
  );
15
15
 
16
16
  export const ConceptSubscription = ({
@@ -19,7 +19,7 @@ export const ConceptSubscription = ({
19
19
  subscriptionUpdating,
20
20
  createSubscription,
21
21
  updateSubscription,
22
- deleteSubscription
22
+ deleteSubscription,
23
23
  }) => {
24
24
  const [subscriptionField, setSubscription] = useState(searchSubscription);
25
25
 
@@ -37,7 +37,7 @@ export const ConceptSubscription = ({
37
37
  "relation_deleted",
38
38
  "concept_rejected",
39
39
  "concept_rejection_canceled",
40
- "concept_deprecated"
40
+ "concept_deprecated",
41
41
  ];
42
42
 
43
43
  const className = _.isEmpty(searchSubscription) ? "" : "secondary";
@@ -49,21 +49,22 @@ export const ConceptSubscription = ({
49
49
  scope: {
50
50
  resource_type: "concept",
51
51
  resource_id: _.prop("business_concept_id")(concept),
52
- events
53
- }
52
+ events,
53
+ },
54
54
  },
55
- concept
55
+ concept,
56
56
  };
57
57
  _.prop("id")(subscriptionField)
58
58
  ? updateSubscription(payload)
59
59
  : createSubscription(payload);
60
60
  };
61
+
61
62
  const handleDelete = () => {
62
63
  const payload = {
63
64
  subscription: subscriptionField,
64
65
  resource_id: _.prop("business_concept_id")(concept),
65
66
  resource_type: "concept",
66
- concept
67
+ concept,
67
68
  };
68
69
  _.prop("id")(subscriptionField) && deleteSubscription(payload);
69
70
  };
@@ -109,23 +110,23 @@ ConceptSubscription.propTypes = {
109
110
  subscriptionUpdating: PropTypes.bool,
110
111
  createSubscription: PropTypes.func,
111
112
  updateSubscription: PropTypes.func,
112
- deleteSubscription: PropTypes.func
113
+ deleteSubscription: PropTypes.func,
113
114
  };
114
115
 
115
116
  export const mapStateToProps = ({
116
117
  concept,
117
118
  searchSubscription,
118
- subscriptionUpdating
119
+ subscriptionUpdating,
119
120
  }) => ({
120
121
  concept,
121
122
  searchSubscription,
122
- subscriptionUpdating
123
+ subscriptionUpdating,
123
124
  });
124
125
 
125
126
  const mapDispatchToProps = {
126
127
  createSubscription,
127
128
  updateSubscription,
128
- deleteSubscription
129
+ deleteSubscription,
129
130
  };
130
131
 
131
132
  export default connect(
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import Moment from "react-moment";
3
2
  import PropTypes from "prop-types";
4
3
  import { connect } from "react-redux";