@truedat/bg 4.46.1 → 4.46.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 (45) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.json +5 -5
  3. package/src/concepts/components/Concept.js +5 -6
  4. package/src/concepts/components/ConceptArchiveRow.js +8 -3
  5. package/src/concepts/components/ConceptDetails.js +3 -5
  6. package/src/concepts/components/ConceptEdit.js +1 -5
  7. package/src/concepts/components/ConceptFiltersLoader.js +1 -0
  8. package/src/concepts/components/ConceptForm.js +1 -5
  9. package/src/concepts/components/ConceptRoutes.js +1 -17
  10. package/src/concepts/components/ConceptSummary.js +11 -6
  11. package/src/concepts/components/ConceptTaxonomy.js +1 -4
  12. package/src/concepts/components/Concepts.js +6 -27
  13. package/src/concepts/components/ConceptsActions.js +12 -10
  14. package/src/concepts/components/ConceptsLoader.js +7 -28
  15. package/src/concepts/components/ConceptsPanel.js +34 -0
  16. package/src/concepts/components/ConceptsTable.js +13 -14
  17. package/src/concepts/components/DomainConcepts.js +29 -0
  18. package/src/concepts/components/__tests__/ConceptArchiveRow.spec.js +11 -14
  19. package/src/concepts/components/__tests__/ConceptsLoader.spec.js +2 -5
  20. package/src/concepts/components/__tests__/ConceptsPanel.spec.js +25 -0
  21. package/src/concepts/components/__tests__/__snapshots__/Concept.spec.js.snap +1 -1
  22. package/src/concepts/components/__tests__/__snapshots__/ConceptArchiveRow.spec.js.snap +34 -30
  23. package/src/concepts/components/__tests__/__snapshots__/ConceptDetails.spec.js.snap +1 -1
  24. package/src/concepts/components/__tests__/__snapshots__/ConceptForm.spec.js.snap +6 -6
  25. package/src/concepts/components/__tests__/__snapshots__/ConceptTaxonomy.spec.js.snap +1 -1
  26. package/src/concepts/components/__tests__/__snapshots__/Concepts.spec.js.snap +1 -30
  27. package/src/concepts/components/__tests__/__snapshots__/ConceptsPanel.spec.js.snap +157 -0
  28. package/src/concepts/components/__tests__/__snapshots__/ConceptsTable.spec.js.snap +36 -2
  29. package/src/concepts/reducers/conceptQuery.js +2 -2
  30. package/src/concepts/reducers/index.js +0 -2
  31. package/src/concepts/relations/components/ConceptImplementationLinks.js +1 -0
  32. package/src/concepts/relations/components/ConceptSelector.js +6 -3
  33. package/src/concepts/routines.js +0 -6
  34. package/src/messages/en.js +1 -0
  35. package/src/messages/es.js +1 -0
  36. package/src/taxonomy/components/Domain.js +22 -6
  37. package/src/taxonomy/components/DomainCrumbs.js +4 -3
  38. package/src/taxonomy/components/DomainDetail.js +3 -5
  39. package/src/taxonomy/components/DomainRoutes.js +3 -1
  40. package/src/taxonomy/components/DomainTabs.js +19 -5
  41. package/src/taxonomy/components/__tests__/__snapshots__/Domain.spec.js.snap +12 -18
  42. package/src/concepts/components/ConceptsDefaultFiltersLoader.js +0 -23
  43. package/src/concepts/components/__tests__/ConceptsDefaultFiltersLoader.spec.js +0 -18
  44. package/src/concepts/reducers/__tests__/conceptsDefaultFilters.spec.js +0 -37
  45. package/src/concepts/reducers/conceptsDefaultFilters.js +0 -20
@@ -6,10 +6,16 @@ import { connect } from "react-redux";
6
6
  import { Link } from "react-router-dom";
7
7
  import { Menu } from "semantic-ui-react";
8
8
  import { usePath } from "@truedat/core/hooks";
9
- import { DOMAIN, DOMAIN_MEMBERS, linkTo } from "@truedat/core/routes";
9
+ import {
10
+ DOMAIN,
11
+ DOMAIN_CONCEPTS,
12
+ DOMAIN_MEMBERS,
13
+ linkTo,
14
+ } from "@truedat/core/routes";
10
15
 
11
16
  const DomainTabs = ({ domain }) => {
12
17
  const path = usePath();
18
+ const id = domain?.id;
13
19
  return (
14
20
  <Menu attached="top" pointing secondary tabular>
15
21
  <Menu.Item
@@ -18,22 +24,30 @@ const DomainTabs = ({ domain }) => {
18
24
  to={linkTo.DOMAIN(domain)}
19
25
  replace
20
26
  >
21
- <FormattedMessage id={"tabs.subdomains"} />
27
+ <FormattedMessage id="tabs.subdomains" />
22
28
  </Menu.Item>
23
29
  <Menu.Item
24
30
  active={path === DOMAIN_MEMBERS}
25
31
  as={Link}
26
- to={linkTo.DOMAIN_ACTION({ action: "members", ...domain })}
32
+ to={linkTo.DOMAIN_MEMBERS({ id })}
27
33
  replace
28
34
  >
29
- <FormattedMessage id={"tabs.members"} />
35
+ <FormattedMessage id="tabs.members" />
36
+ </Menu.Item>
37
+ <Menu.Item
38
+ active={path === DOMAIN_CONCEPTS}
39
+ as={Link}
40
+ to={linkTo.DOMAIN_CONCEPTS({ id })}
41
+ replace
42
+ >
43
+ <FormattedMessage id="tabs.concepts" />
30
44
  </Menu.Item>
31
45
  </Menu>
32
46
  );
33
47
  };
34
48
 
35
49
  DomainTabs.propTypes = {
36
- domain: PropTypes.object
50
+ domain: PropTypes.object,
37
51
  };
38
52
 
39
53
  const mapStateToProps = ({ domain }) => ({ domain });
@@ -16,17 +16,14 @@ exports[`<Domain /> matches the latest snapshot (no subdomains) 1`] = `
16
16
  render={[Function]}
17
17
  />
18
18
  <Route
19
- component={
20
- Object {
21
- "$$typeof": Symbol(react.memo),
22
- "WrappedComponent": [Function],
23
- "compare": null,
24
- "displayName": "Connect(DomainMembers)",
25
- "type": [Function],
26
- }
27
- }
28
19
  exact={true}
29
20
  path="/domains/:id/members"
21
+ render={[Function]}
22
+ />
23
+ <Route
24
+ exact={true}
25
+ path="/domains/:id/concepts"
26
+ render={[Function]}
30
27
  />
31
28
  </Switch>
32
29
  </Segment>
@@ -50,17 +47,14 @@ exports[`<Domain /> matches the latest snapshot (with subdomains) 1`] = `
50
47
  render={[Function]}
51
48
  />
52
49
  <Route
53
- component={
54
- Object {
55
- "$$typeof": Symbol(react.memo),
56
- "WrappedComponent": [Function],
57
- "compare": null,
58
- "displayName": "Connect(DomainMembers)",
59
- "type": [Function],
60
- }
61
- }
62
50
  exact={true}
63
51
  path="/domains/:id/members"
52
+ render={[Function]}
53
+ />
54
+ <Route
55
+ exact={true}
56
+ path="/domains/:id/concepts"
57
+ render={[Function]}
64
58
  />
65
59
  </Switch>
66
60
  </Segment>
@@ -1,23 +0,0 @@
1
- import { useEffect } from "react";
2
- import PropTypes from "prop-types";
3
- import { connect } from "react-redux";
4
- import { setConceptDefaultFilters } from "../routines";
5
-
6
- export const ConceptsDefaultFiltersLoader = ({
7
- defaultFilters,
8
- setConceptDefaultFilters,
9
- }) => {
10
- useEffect(() => {
11
- setConceptDefaultFilters({ defaultFilters });
12
- }, [defaultFilters, setConceptDefaultFilters]);
13
- return null;
14
- };
15
-
16
- ConceptsDefaultFiltersLoader.propTypes = {
17
- defaultFilters: PropTypes.object,
18
- setConceptDefaultFilters: PropTypes.func,
19
- };
20
-
21
- export default connect(null, { setConceptDefaultFilters })(
22
- ConceptsDefaultFiltersLoader
23
- );
@@ -1,18 +0,0 @@
1
- import React from "react";
2
- import { mount } from "enzyme";
3
- import { ConceptsDefaultFiltersLoader } from "../ConceptsDefaultFiltersLoader";
4
-
5
- const getProps = () => ({
6
- setConceptDefaultFilters: jest.fn(),
7
- defaultFilters: { status: ["pending"] }
8
- });
9
-
10
- describe("<ConceptsDefaultFiltersLoader />", () => {
11
- it("calls setConceptDefaultFilters when component mounts but not when it unmounts", () => {
12
- const props = getProps();
13
- const wrapper = mount(<ConceptsDefaultFiltersLoader {...props} />);
14
- expect(props.setConceptDefaultFilters).toHaveBeenCalledTimes(1);
15
- wrapper.unmount();
16
- expect(props.setConceptDefaultFilters).toHaveBeenCalledTimes(1);
17
- });
18
- });
@@ -1,37 +0,0 @@
1
- import {
2
- setConceptDefaultFilters,
3
- clearConceptDefaultFilters
4
- } from "../../routines";
5
- import { conceptsDefaultFilters } from "..";
6
-
7
- const fooState = { foo: "bar" };
8
- const initialState = {};
9
-
10
- describe("reducers: conceptsDefaultFilters", () => {
11
- it("should provide the initial state", () => {
12
- expect(conceptsDefaultFilters(undefined, {})).toEqual(initialState);
13
- });
14
-
15
- it("should handle the setConceptDefaultFilters.TRIGGER action", () => {
16
- const defaultFilters = { status: ["pending"] };
17
- const payload = { defaultFilters };
18
- expect(
19
- conceptsDefaultFilters(fooState, {
20
- type: setConceptDefaultFilters.TRIGGER,
21
- payload
22
- })
23
- ).toEqual(defaultFilters);
24
- });
25
-
26
- it("should handle the clearConceptDefaultFilters.TRIGGER action", () => {
27
- expect(
28
- conceptsDefaultFilters(fooState, {
29
- type: clearConceptDefaultFilters.TRIGGER
30
- })
31
- ).toEqual(initialState);
32
- });
33
-
34
- it("should ignore unknown actions", () => {
35
- expect(conceptsDefaultFilters(fooState, { type: "FOO" })).toBe(fooState);
36
- });
37
- });
@@ -1,20 +0,0 @@
1
- import {
2
- clearConceptDefaultFilters,
3
- setConceptDefaultFilters
4
- } from "../routines";
5
-
6
- const initialState = {};
7
-
8
- const conceptsDefaultFilters = (state = initialState, { type, payload }) => {
9
- switch (type) {
10
- case setConceptDefaultFilters.TRIGGER:
11
- const { defaultFilters } = payload;
12
- return defaultFilters;
13
- case clearConceptDefaultFilters.TRIGGER:
14
- return initialState;
15
- default:
16
- return state;
17
- }
18
- };
19
-
20
- export { conceptsDefaultFilters };