@truedat/core 7.5.12 → 7.5.14

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truedat/core",
3
- "version": "7.5.12",
3
+ "version": "7.5.14",
4
4
  "description": "Truedat Web Core",
5
5
  "sideEffects": false,
6
6
  "module": "src/index.js",
@@ -48,7 +48,7 @@
48
48
  "@testing-library/jest-dom": "^6.6.3",
49
49
  "@testing-library/react": "^16.3.0",
50
50
  "@testing-library/user-event": "^14.6.1",
51
- "@truedat/test": "7.5.12",
51
+ "@truedat/test": "7.5.14",
52
52
  "identity-obj-proxy": "^3.0.0",
53
53
  "jest": "^29.7.0",
54
54
  "redux-saga-test-plan": "^4.0.6"
@@ -80,11 +80,10 @@
80
80
  "redux-saga": "^1.3.0",
81
81
  "redux-saga-routines": "^3.2.3",
82
82
  "reselect": "^5.1.1",
83
- "semantic-ui-calendar-react": "^0.15.3",
84
83
  "semantic-ui-react": "^3.0.0-beta.2",
85
84
  "slate": "^0.47.9",
86
85
  "slate-react": "^0.22.10",
87
86
  "swr": "^2.3.3"
88
87
  },
89
- "gitHead": "1476061ceb9ed15e0bacec71e20d695a0cd57986"
88
+ "gitHead": "46d017329f0f074db1feb2304c06ba696bb68a14"
90
89
  }
@@ -3,7 +3,6 @@ import moment from "moment";
3
3
  import PropTypes from "prop-types";
4
4
  import { useIntl } from "react-intl";
5
5
  import { Form, Input, Label, Dropdown } from "semantic-ui-react";
6
- import { DatesRangeInput } from "semantic-ui-calendar-react";
7
6
 
8
7
  const typeOptions = ({ formatMessage }) => [
9
8
  {
@@ -47,8 +46,6 @@ const dateUnitOptions = ({ formatMessage }) => [
47
46
  ];
48
47
 
49
48
  const validNumber = (value) => RegExp("^\\d+$").test(value);
50
- const validRange = (value) =>
51
- RegExp("^\\d{4}-\\d\\d-\\d\\d *- *\\d{4}-\\d\\d-\\d\\d$").test(value);
52
49
 
53
50
  export const DateFilter = ({
54
51
  label,
@@ -56,20 +53,20 @@ export const DateFilter = ({
56
53
  defaultValues,
57
54
  size = "small",
58
55
  name = "date",
59
- dateFormat = "YYYY-MM-DD",
60
56
  }) => {
61
57
  const intl = useIntl();
62
58
  const [type, setType] = useState(defaultValues?.type || "since");
63
59
  const [unit, setUnit] = useState(defaultValues?.unit || "d");
64
60
  const [value, setValue] = useState(defaultValues?.value || "1");
65
- const [range, setRange] = useState(defaultValues?.range || "");
61
+ const [rangeStart, setRangeStart] = useState(defaultValues?.rangeStart || "");
62
+ const [rangeEnd, setRangeEnd] = useState(defaultValues?.rangeEnd || "");
66
63
 
67
64
  useEffect(() => {
68
- const valid = type === "range" ? validRange(range) : validNumber(value);
65
+ const valid = type === "range" || validNumber(value);
69
66
  if (valid) {
70
- onChange({ name, type, range, unit, value });
67
+ onChange({ name, type, unit, value, rangeStart, rangeEnd });
71
68
  }
72
- }, [name, type, unit, value, range]);
69
+ }, [name, type, unit, value, rangeStart, rangeEnd]);
73
70
 
74
71
  const currentDate = moment();
75
72
  return (
@@ -86,18 +83,18 @@ export const DateFilter = ({
86
83
  </Form.Field>
87
84
  <Form.Field className={type}>
88
85
  {type === "range" ? (
89
- <DatesRangeInput
90
- animation={null}
91
- name="range"
92
- placeholder="yyyy-mm-dd - yyyy-mm-dd"
93
- iconPosition="left"
94
- icon="calendar alternate outline"
95
- allowSameEndDate
96
- value={range}
97
- maxDate={currentDate}
98
- onChange={(_e, { value }) => setRange(value)}
99
- dateFormat={dateFormat}
100
- />
86
+ <Form.Group>
87
+ <Form.Input
88
+ onChange={(_e, { value }) => setRangeStart(value)}
89
+ value={rangeStart}
90
+ type="date"
91
+ />
92
+ <Form.Input
93
+ onChange={(_e, { value }) => setRangeEnd(value)}
94
+ value={rangeEnd}
95
+ type="date"
96
+ />
97
+ </Form.Group>
101
98
  ) : (
102
99
  <Input
103
100
  labelPosition="right"
@@ -1,42 +1,26 @@
1
1
  import { useEffect, useState } from "react";
2
- import moment from "moment";
3
2
  import PropTypes from "prop-types";
4
- import { DatesRangeInput } from "semantic-ui-calendar-react";
3
+ import { Form } from "semantic-ui-react";
5
4
 
6
- const validNumber = (value) => RegExp("^\\d+$").test(value);
7
- const validRange = (value) =>
8
- RegExp("^\\d{4}-\\d\\d-\\d\\d *- *\\d{4}-\\d\\d-\\d\\d$").test(value);
9
-
10
- export const DateRangeFilter = ({
11
- onChange,
12
- defaultValues,
13
- name = "date",
14
- dateFormat = "YYYY-MM-DD",
15
- }) => {
16
- const type = "range";
17
- const unit = defaultValues?.unit || "d";
18
- const value = defaultValues?.value || "1";
19
- const [range, setRange] = useState(defaultValues?.range || "");
5
+ export const DateRangeFilter = ({ onChange, defaultValues, name = "date" }) => {
6
+ const [rangeStart, setRangeStart] = useState(defaultValues?.rangeStart || "");
7
+ const [rangeEnd, setRangeEnd] = useState(defaultValues?.rangeEnd || "");
20
8
  useEffect(() => {
21
- const valid = type === "range" ? validRange(range) : validNumber(value);
22
- if (valid) {
23
- onChange({ name, type, range, unit, value });
24
- }
25
- }, [name, type, unit, value, range, onChange]);
26
- const currentDate = moment();
9
+ onChange({ name, type: "range", rangeStart, rangeEnd });
10
+ }, [name, rangeStart, rangeEnd, onChange]);
27
11
  return (
28
- <DatesRangeInput
29
- animation={null}
30
- name="range"
31
- placeholder="yyyy-mm-dd - yyyy-mm-dd"
32
- iconPosition="left"
33
- icon="calendar alternate outline"
34
- allowSameEndDate
35
- value={range}
36
- maxDate={currentDate}
37
- onChange={(_e, { value }) => setRange(value)}
38
- dateFormat={dateFormat}
39
- />
12
+ <Form.Group inline>
13
+ <Form.Input
14
+ onChange={(_e, { value }) => setRangeStart(value)}
15
+ value={rangeStart}
16
+ type="date"
17
+ />
18
+ <Form.Input
19
+ onChange={(_e, { value }) => setRangeEnd(value)}
20
+ value={rangeEnd}
21
+ type="date"
22
+ />
23
+ </Form.Group>
40
24
  );
41
25
  };
42
26
 
@@ -50,8 +50,8 @@ const LayoutFlow = ({ initialNodes, initialEdges, onNodeClick }) => {
50
50
  layoutOptions: layoutOptions,
51
51
  children: getNodes().map((node) => ({
52
52
  ...node,
53
- width: node.measured.width,
54
- height: node.measured.height,
53
+ width: node.measured?.width,
54
+ height: node.measured?.height,
55
55
  })),
56
56
  edges: getEdges(),
57
57
  };
package/src/routes.js CHANGED
@@ -45,6 +45,8 @@ export const CONCEPT_LINKS_STRUCTURES =
45
45
  "/concepts/:business_concept_id/versions/:id/links/structures";
46
46
  export const CONCEPT_LINKS_STRUCTURES_NEW =
47
47
  "/concepts/:business_concept_id/versions/:id/links/structures/new";
48
+ export const CONCEPT_LINKS_STRUCTURES_SUGGEST =
49
+ "/concepts/:business_concept_id/versions/:id/links/structures/suggest";
48
50
  export const CONCEPT_RULES =
49
51
  "/concepts/:business_concept_id/versions/:id/rules";
50
52
  export const CONCEPT_RULES_NEW =
@@ -308,6 +310,7 @@ const routes = {
308
310
  CONCEPT_LINKS_MANAGEMENT,
309
311
  CONCEPT_LINKS_STRUCTURES,
310
312
  CONCEPT_LINKS_STRUCTURES_NEW,
313
+ CONCEPT_LINKS_STRUCTURES_SUGGEST,
311
314
  CONCEPT_RULES,
312
315
  CONCEPT_RULES_NEW,
313
316
  CONCEPT_VERSION,
@@ -34,7 +34,8 @@ describe("selectors: makeDateFiltersSelector", () => {
34
34
  active: true,
35
35
  name,
36
36
  type: "range",
37
- range: "2020-01-01 - 2020-02-02",
37
+ rangeStart: "2020-01-01",
38
+ rangeEnd: "2020-02-02",
38
39
  };
39
40
  const state = { foo };
40
41
  expect(selector(state)).toEqual({
@@ -9,25 +9,26 @@ import {
9
9
  } from "lodash/fp";
10
10
 
11
11
  const relativeDate = ({ unit, value }) => `now-${value}${unit}`;
12
- const toDateRange = ([from, to]) => ({ gte: from, lt: `${to}||+1d` });
13
12
  const sinceDate = ({ name, ...props }) => ({
14
13
  [name]: { gte: relativeDate(props) },
15
14
  });
16
15
  const untilDate = ({ name, ...props }) => ({
17
16
  [name]: { lt: relativeDate(props) },
18
17
  });
19
- const dateRange = ({ name, range }) => ({
20
- [name]: toDateRange(split(" - ")(range)),
18
+ const dateRange = ({ name, rangeStart, rangeEnd }) => ({
19
+ [name]: {
20
+ ...(rangeStart ? { gte: rangeStart } : {}),
21
+ ...(rangeEnd ? { lt: `${rangeEnd}||+1d` } : {}),
22
+ },
21
23
  });
22
24
 
23
- const grantDateRange = ({ name, range }) => {
25
+ const grantDateRange = ({ name, rangeStart, rangeEnd }) => {
24
26
  const [start_date, end_date] = split(",")(name);
25
- const [from, to] = split(" - ")(range);
26
27
 
27
- return from && to
28
+ return rangeStart || rangeEnd
28
29
  ? {
29
- [start_date]: { gte: from },
30
- [end_date]: { lt: to },
30
+ ...(rangeStart ? { [start_date]: { gte: rangeStart } } : {}),
31
+ ...(rangeEnd ? { [end_date]: { lt: rangeEnd } } : {}),
31
32
  }
32
33
  : constant(empty);
33
34
  };