@reltio/components 1.4.1427 → 1.4.1429

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 (51) hide show
  1. package/cjs/components/DropDownSelector/styles.js +1 -0
  2. package/cjs/components/UploadImageDialog/UploadImageDialog.js +4 -1
  3. package/cjs/components/activityLog/ActivityFilterButton/ActivityFilterButton.js +5 -1
  4. package/cjs/components/activityLog/ActivityFilterButton/styles.js +1 -1
  5. package/cjs/components/activityLog/ActivityFilterEditor/DateRangeSelector.d.ts +1 -1
  6. package/cjs/components/activityLog/ActivityFilterEditor/DateRangeSelector.js +18 -18
  7. package/cjs/components/activityLog/ActivityLog/items/ActivityItem/styles.js +1 -1
  8. package/cjs/components/activityLog/ActivityLogFilter/helpers.js +3 -4
  9. package/cjs/components/activityLog/activities/EntityObject/styles.js +1 -1
  10. package/cjs/components/activityLog/activities/RelationObject/styles.js +1 -1
  11. package/cjs/components/activityLog/activities/fields/commonStyles.js +1 -1
  12. package/cjs/components/activityLog/activities/styles.js +1 -1
  13. package/cjs/components/activityLog/types/ActivitiesFilter.d.ts +2 -2
  14. package/cjs/components/activityLog/utils/filters.d.ts +0 -2
  15. package/cjs/components/activityLog/utils/filters.js +9 -66
  16. package/cjs/components/history/DateRangeSelector/DateRangeSelector.d.ts +1 -1
  17. package/cjs/components/history/DateRangeSelector/DateRangeSelector.js +4 -4
  18. package/cjs/components/history/DateRangeSelector/utils.d.ts +1 -1
  19. package/cjs/components/history/DateRangeSelector/utils.js +5 -5
  20. package/cjs/components/history/HistoryFilterButton/HistoryFilterButton.js +2 -2
  21. package/cjs/components/history/types/HistoryFilter.d.ts +2 -1
  22. package/cjs/components/history/utils/filters.d.ts +0 -2
  23. package/cjs/components/history/utils/filters.js +6 -47
  24. package/cjs/types/index.d.ts +0 -9
  25. package/cjs/types/index.js +1 -7
  26. package/esm/components/DropDownSelector/styles.js +1 -0
  27. package/esm/components/UploadImageDialog/UploadImageDialog.js +4 -1
  28. package/esm/components/activityLog/ActivityFilterButton/ActivityFilterButton.js +6 -2
  29. package/esm/components/activityLog/ActivityFilterButton/styles.js +1 -1
  30. package/esm/components/activityLog/ActivityFilterEditor/DateRangeSelector.d.ts +1 -1
  31. package/esm/components/activityLog/ActivityFilterEditor/DateRangeSelector.js +4 -4
  32. package/esm/components/activityLog/ActivityLog/items/ActivityItem/styles.js +1 -1
  33. package/esm/components/activityLog/ActivityLogFilter/helpers.js +1 -2
  34. package/esm/components/activityLog/activities/EntityObject/styles.js +1 -1
  35. package/esm/components/activityLog/activities/RelationObject/styles.js +1 -1
  36. package/esm/components/activityLog/activities/fields/commonStyles.js +1 -1
  37. package/esm/components/activityLog/activities/styles.js +1 -1
  38. package/esm/components/activityLog/types/ActivitiesFilter.d.ts +2 -2
  39. package/esm/components/activityLog/utils/filters.d.ts +0 -2
  40. package/esm/components/activityLog/utils/filters.js +2 -55
  41. package/esm/components/history/DateRangeSelector/DateRangeSelector.d.ts +1 -1
  42. package/esm/components/history/DateRangeSelector/DateRangeSelector.js +1 -1
  43. package/esm/components/history/DateRangeSelector/utils.d.ts +1 -1
  44. package/esm/components/history/DateRangeSelector/utils.js +1 -1
  45. package/esm/components/history/HistoryFilterButton/HistoryFilterButton.js +1 -1
  46. package/esm/components/history/types/HistoryFilter.d.ts +2 -1
  47. package/esm/components/history/utils/filters.d.ts +0 -2
  48. package/esm/components/history/utils/filters.js +2 -39
  49. package/esm/types/index.d.ts +0 -9
  50. package/esm/types/index.js +0 -6
  51. package/package.json +3 -3
@@ -18,6 +18,7 @@ exports.useStyles = (0, styles_1.makeStyles)({
18
18
  height: 'auto'
19
19
  },
20
20
  dropdownIndicator: {
21
+ boxSizing: 'content-box',
21
22
  transition: 'transform .15s ease',
22
23
  padding: function (props) { return "".concat((props.height - 24) / 2, "px 12px"); },
23
24
  cursor: 'pointer',
@@ -58,7 +58,10 @@ var UploadImageDialog = function (_a) {
58
58
  onUpload(res);
59
59
  onClose();
60
60
  })
61
- .catch(function (err) { return setError((err === null || err === void 0 ? void 0 : err.errorMessage) || ui_i18n_1.default.text('Something went wrong')); })
61
+ .catch(function (err) {
62
+ var message = (err === null || err === void 0 ? void 0 : err.errorCode) !== 500 && (err === null || err === void 0 ? void 0 : err.errorMessage) ? err.errorMessage : ui_i18n_1.default.text('Something went wrong');
63
+ setError(message);
64
+ })
62
65
  .finally(function () { return setLoading(false); });
63
66
  };
64
67
  var handleAppendImage = function (image) {
@@ -41,6 +41,7 @@ var react_1 = __importStar(require("react"));
41
41
  var classnames_1 = __importDefault(require("classnames"));
42
42
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
43
43
  var ramda_1 = require("ramda");
44
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
44
45
  var FilterList_1 = __importDefault(require("@material-ui/icons/FilterList"));
45
46
  var ActivityFilterEditor_1 = __importDefault(require("../ActivityFilterEditor/ActivityFilterEditor"));
46
47
  var SmallIconButton_1 = require("../../SmallIconButton");
@@ -53,7 +54,10 @@ var ActivityFilterButton = function (_a) {
53
54
  var _b = (0, react_1.useState)(false), isEditorOpen = _b[0], setIsEditorOpen = _b[1];
54
55
  var isApplied = !(0, ramda_1.equals)(filter, initialValue.current);
55
56
  var handleChange = function (value) {
56
- onChange(value);
57
+ var newValue = (0, ramda_1.pipe)((0, ramda_1.mergeRight)(initialValue.current), (0, ramda_1.evolve)({
58
+ dateRange: (0, ramda_1.unless)(mdm_sdk_1.isDateRangeValid, (0, ramda_1.always)(initialValue.current.dateRange))
59
+ }))(value);
60
+ onChange(newValue);
57
61
  setIsEditorOpen(false);
58
62
  };
59
63
  return (react_1.default.createElement(react_1.default.Fragment, null,
@@ -7,7 +7,7 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
7
7
  margin: '4px',
8
8
  '&.activeIcon': {
9
9
  backgroundColor: (0, styles_1.fade)(theme.palette.primary.main, 0.12),
10
- color: '#0072CE'
10
+ color: theme.palette.primary.main
11
11
  }
12
12
  }
13
13
  }); });
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { DateRangeFilter } from '../../../types';
2
+ import { DateRangeFilter } from '@reltio/mdm-sdk';
3
3
  declare type Props = {
4
4
  value: DateRangeFilter;
5
5
  onChange: (range: DateRangeFilter) => void;
@@ -41,11 +41,11 @@ var react_1 = __importStar(require("react"));
41
41
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
42
42
  var ramda_1 = require("ramda");
43
43
  var classnames_1 = __importDefault(require("classnames"));
44
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
44
45
  var FormControlLabel_1 = __importDefault(require("@material-ui/core/FormControlLabel"));
45
46
  var Radio_1 = __importDefault(require("@material-ui/core/Radio"));
46
47
  var RadioGroup_1 = __importDefault(require("@material-ui/core/RadioGroup"));
47
48
  var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
48
- var types_1 = require("../../../types");
49
49
  var DateIntervalSelector_1 = __importDefault(require("../../DateIntervalSelector/DateIntervalSelector"));
50
50
  var utils_1 = require("../../../core/utils");
51
51
  var CustomDateRangeEditor_1 = __importDefault(require("../../editors/CustomDateRangeEditor/CustomDateRangeEditor"));
@@ -60,24 +60,24 @@ var DateRangeSelector = function (_a) {
60
60
  if ((value === null || value === void 0 ? void 0 : value.type) === type) {
61
61
  return value.period;
62
62
  }
63
- else if (type === types_1.DateRangeTypes.WITHIN || type === types_1.DateRangeTypes.AGO) {
63
+ else if (type === mdm_sdk_1.DateRangeTypes.WITHIN || type === mdm_sdk_1.DateRangeTypes.AGO) {
64
64
  return emptyInterval;
65
65
  }
66
- else if (type === types_1.DateRangeTypes.BETWEEN) {
66
+ else if (type === mdm_sdk_1.DateRangeTypes.BETWEEN) {
67
67
  return emptyDates;
68
68
  }
69
69
  };
70
- var _b = (0, react_1.useState)(getInitPeriodByType(types_1.DateRangeTypes.BETWEEN)), datesInterval = _b[0], setDatesInterval = _b[1];
71
- var _c = (0, react_1.useState)(getInitPeriodByType(types_1.DateRangeTypes.WITHIN)), withinInterval = _c[0], setWithinInterval = _c[1];
72
- var _d = (0, react_1.useState)(getInitPeriodByType(types_1.DateRangeTypes.AGO)), agoInterval = _d[0], setAgoInterval = _d[1];
70
+ var _b = (0, react_1.useState)(getInitPeriodByType(mdm_sdk_1.DateRangeTypes.BETWEEN)), datesInterval = _b[0], setDatesInterval = _b[1];
71
+ var _c = (0, react_1.useState)(getInitPeriodByType(mdm_sdk_1.DateRangeTypes.WITHIN)), withinInterval = _c[0], setWithinInterval = _c[1];
72
+ var _d = (0, react_1.useState)(getInitPeriodByType(mdm_sdk_1.DateRangeTypes.AGO)), agoInterval = _d[0], setAgoInterval = _d[1];
73
73
  var getCurrentPeriodByType = function (type) {
74
- if (type === types_1.DateRangeTypes.WITHIN) {
74
+ if (type === mdm_sdk_1.DateRangeTypes.WITHIN) {
75
75
  return withinInterval;
76
76
  }
77
- else if (type === types_1.DateRangeTypes.AGO) {
77
+ else if (type === mdm_sdk_1.DateRangeTypes.AGO) {
78
78
  return agoInterval;
79
79
  }
80
- else if (type === types_1.DateRangeTypes.BETWEEN) {
80
+ else if (type === mdm_sdk_1.DateRangeTypes.BETWEEN) {
81
81
  return datesInterval;
82
82
  }
83
83
  };
@@ -91,13 +91,13 @@ var DateRangeSelector = function (_a) {
91
91
  };
92
92
  (0, hooks_1.useDidUpdateEffect)(function () {
93
93
  if (value) {
94
- if (value.type === types_1.DateRangeTypes.WITHIN) {
94
+ if (value.type === mdm_sdk_1.DateRangeTypes.WITHIN) {
95
95
  setWithinInterval(value.period);
96
96
  }
97
- else if (value.type === types_1.DateRangeTypes.AGO) {
97
+ else if (value.type === mdm_sdk_1.DateRangeTypes.AGO) {
98
98
  setAgoInterval(value.period);
99
99
  }
100
- else if (value.type === types_1.DateRangeTypes.BETWEEN) {
100
+ else if (value.type === mdm_sdk_1.DateRangeTypes.BETWEEN) {
101
101
  setDatesInterval(value.period);
102
102
  }
103
103
  }
@@ -111,14 +111,14 @@ var DateRangeSelector = function (_a) {
111
111
  react_1.default.createElement(Typography_1.default, { className: (0, classnames_1.default)(styles.filterSubtitle, styles.labels), variant: 'subtitle1' }, ui_i18n_1.default.text('Date')),
112
112
  react_1.default.createElement(RadioGroup_1.default, { value: (value === null || value === void 0 ? void 0 : value.type) || null, onChange: (0, ramda_1.pipe)(utils_1.getValue, changeType) },
113
113
  react_1.default.createElement("div", { className: styles.dateOptionWithin },
114
- react_1.default.createElement(FormControlLabel_1.default, { value: types_1.DateRangeTypes.WITHIN, control: react_1.default.createElement(Radio_1.default, null), label: ui_i18n_1.default.text('Within the last'), classes: { label: (0, classnames_1.default)(styles.dateOptionLabel, styles.labels) } }),
115
- react_1.default.createElement(DateIntervalSelector_1.default, { interval: withinInterval, onChange: changePeriod, onFocus: function () { return changeType(types_1.DateRangeTypes.WITHIN); } })),
114
+ react_1.default.createElement(FormControlLabel_1.default, { value: mdm_sdk_1.DateRangeTypes.WITHIN, control: react_1.default.createElement(Radio_1.default, { color: "primary" }), label: ui_i18n_1.default.text('Within the last'), classes: { label: (0, classnames_1.default)(styles.dateOptionLabel, styles.labels) } }),
115
+ react_1.default.createElement(DateIntervalSelector_1.default, { interval: withinInterval, onChange: changePeriod, onFocus: function () { return changeType(mdm_sdk_1.DateRangeTypes.WITHIN); } })),
116
116
  react_1.default.createElement("div", { className: styles.dateOptionAgo },
117
- react_1.default.createElement(FormControlLabel_1.default, { value: types_1.DateRangeTypes.AGO, control: react_1.default.createElement(Radio_1.default, null), label: ui_i18n_1.default.text('More than'), classes: { label: (0, classnames_1.default)(styles.dateOptionLabel, styles.labels) } }),
118
- react_1.default.createElement(DateIntervalSelector_1.default, { interval: agoInterval, onChange: changePeriod, onFocus: function () { return changeType(types_1.DateRangeTypes.AGO); } }),
117
+ react_1.default.createElement(FormControlLabel_1.default, { value: mdm_sdk_1.DateRangeTypes.AGO, control: react_1.default.createElement(Radio_1.default, { color: "primary" }), label: ui_i18n_1.default.text('More than'), classes: { label: (0, classnames_1.default)(styles.dateOptionLabel, styles.labels) } }),
118
+ react_1.default.createElement(DateIntervalSelector_1.default, { interval: agoInterval, onChange: changePeriod, onFocus: function () { return changeType(mdm_sdk_1.DateRangeTypes.AGO); } }),
119
119
  react_1.default.createElement(Typography_1.default, { className: (0, classnames_1.default)(styles.agoLabel, styles.labels), variant: 'subtitle1' }, ui_i18n_1.default.text('Ago'))),
120
120
  react_1.default.createElement("div", { className: styles.dateOption },
121
- react_1.default.createElement(FormControlLabel_1.default, { value: types_1.DateRangeTypes.BETWEEN, control: react_1.default.createElement(Radio_1.default, null), label: ui_i18n_1.default.text('Date range'), classes: { label: (0, classnames_1.default)(styles.dateOptionLabel, styles.labels) } }),
122
- react_1.default.createElement(CustomDateRangeEditor_1.default, { values: datesInterval, onChange: changePeriod, onFocus: function () { return changeType(types_1.DateRangeTypes.BETWEEN); } })))));
121
+ react_1.default.createElement(FormControlLabel_1.default, { value: mdm_sdk_1.DateRangeTypes.BETWEEN, control: react_1.default.createElement(Radio_1.default, { color: "primary" }), label: ui_i18n_1.default.text('Date range'), classes: { label: (0, classnames_1.default)(styles.dateOptionLabel, styles.labels) } }),
122
+ react_1.default.createElement(CustomDateRangeEditor_1.default, { values: datesInterval, onChange: changePeriod, onFocus: function () { return changeType(mdm_sdk_1.DateRangeTypes.BETWEEN); } })))));
123
123
  };
124
124
  exports.default = DateRangeSelector;
@@ -14,7 +14,7 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
14
14
  marginRight: '15px',
15
15
  width: '24px',
16
16
  height: '24px',
17
- background: '#4896DF',
17
+ background: theme.palette.primary.main,
18
18
  borderRadius: '50%',
19
19
  border: '1px solid white',
20
20
  display: 'flex',
@@ -7,7 +7,6 @@ exports.getFilterLabel = void 0;
7
7
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
8
8
  var ramda_1 = require("ramda");
9
9
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
10
- var types_1 = require("../../../types");
11
10
  var activities_1 = require("../utils/activities");
12
11
  var getFilterLabel = function (filters) {
13
12
  var getLabel = (0, ramda_1.curry)(function (unit, pluralUnit, values) {
@@ -25,11 +24,11 @@ var getFilterLabel = function (filters) {
25
24
  return "".concat((0, mdm_sdk_1.formatDataTypeValue)({ dataTypeDefinition: { type: mdm_sdk_1.DataTypes.TYPE_ACTIVENESS_DATE } }, value));
26
25
  };
27
26
  switch (date.type) {
28
- case types_1.DateRangeTypes.WITHIN:
27
+ case mdm_sdk_1.DateRangeTypes.WITHIN:
29
28
  return ui_i18n_1.default.text('Within ${amount} ${unit}', { amount: date.period[0], unit: date.period[1] });
30
- case types_1.DateRangeTypes.AGO:
29
+ case mdm_sdk_1.DateRangeTypes.AGO:
31
30
  return ui_i18n_1.default.text('More than ${amount} ${unit} ago', { amount: date.period[0], unit: date.period[1] });
32
- case types_1.DateRangeTypes.BETWEEN:
31
+ case mdm_sdk_1.DateRangeTypes.BETWEEN:
33
32
  return ui_i18n_1.default.text('${startDate} to ${endDate}', {
34
33
  startDate: formatDateValue(date.period[0]),
35
34
  endDate: formatDateValue(date.period[1])
@@ -6,7 +6,7 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
6
6
  link: {
7
7
  fontSize: 13,
8
8
  lineHeight: '15px',
9
- color: '#0072CE',
9
+ color: theme.palette.primary.main,
10
10
  textDecoration: 'none',
11
11
  fontWeight: 400,
12
12
  '&.removed': {
@@ -10,7 +10,7 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
10
10
  overflow: 'hidden'
11
11
  },
12
12
  link: {
13
- color: '#0072CE',
13
+ color: theme.palette.primary.main,
14
14
  textDecoration: 'none',
15
15
  fontWeight: 400
16
16
  },
@@ -15,7 +15,7 @@ exports.useCommonStyles = (0, styles_1.makeStyles)(function (theme) { return ({
15
15
  marginRight: 8
16
16
  },
17
17
  link: {
18
- color: '#0072CE',
18
+ color: theme.palette.primary.main,
19
19
  textDecoration: 'none',
20
20
  fontWeight: 400
21
21
  }
@@ -4,7 +4,7 @@ exports.useStyles = void 0;
4
4
  var styles_1 = require("@material-ui/core/styles");
5
5
  exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
6
6
  link: {
7
- color: '#0072CE',
7
+ color: theme.palette.primary.main,
8
8
  textDecoration: 'none',
9
9
  fontWeight: 400,
10
10
  cursor: 'pointer'
@@ -1,6 +1,6 @@
1
- import { Source, TEntityType } from '@reltio/mdm-sdk';
1
+ import { Source, TEntityType, DateRangeFilter } from '@reltio/mdm-sdk';
2
2
  import { ActivityTypes } from './ActivityTypes';
3
- import { AttributeOption, DateRangeFilter } from '../../../types';
3
+ import { AttributeOption } from '../../../types';
4
4
  export declare type ActivitiesFilter = {
5
5
  users: string[];
6
6
  activities: ActivityTypes[];
@@ -1,3 +1 @@
1
- import { DateRangeFilter } from '../../../types';
2
- export declare const isDateRangeValid: (value: DateRangeFilter) => boolean;
3
1
  export declare const buildActivitiesFilterString: any;
@@ -1,27 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildActivitiesFilterString = exports.isDateRangeValid = void 0;
3
+ exports.buildActivitiesFilterString = void 0;
7
4
  var ramda_1 = require("ramda");
8
- var moment_1 = __importDefault(require("moment"));
9
- var types_1 = require("../../../types");
10
5
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
11
- var isDateRangeValid = function (value) {
12
- if (value.type === types_1.DateRangeTypes.AGO || value.type === types_1.DateRangeTypes.WITHIN) {
13
- var _a = value.period, amount = _a[0], unit = _a[1];
14
- return (0, ramda_1.type)(amount) === 'Number' && (0, ramda_1.type)(unit) === 'String' && amount > 0;
15
- }
16
- else if (value.type === types_1.DateRangeTypes.BETWEEN) {
17
- var _b = value.period, startDate = _b[0], endDate = _b[1];
18
- return startDate instanceof Date && endDate instanceof Date;
19
- }
20
- };
21
- exports.isDateRangeValid = isDateRangeValid;
22
- var wrapInBrackets = function (str) { return "(".concat(str, ")"); };
23
- var multiValueFilter = function (filterClauseFn) { return function (values) { return values.map(filterClauseFn).join(' or '); }; };
24
- var buildUserFilterClause = function (user) { return "equals(user, '".concat((0, mdm_sdk_1.escapeQueryValue)(user), "')"); };
25
6
  var buildActivityFilterClause = function (activityType) {
26
7
  if (activityType.startsWith('USER_') || activityType.startsWith('COMMENT_') || activityType.startsWith('SFDC_')) {
27
8
  return "startsWith(label, '".concat(activityType, "')");
@@ -30,58 +11,20 @@ var buildActivityFilterClause = function (activityType) {
30
11
  return "equals(items.data.type, ".concat(activityType, ")");
31
12
  }
32
13
  };
33
- var buildSourceFilterClause = function (source) {
34
- return "equals(items.delta.sources, '".concat(source.abbreviation, "')");
35
- };
36
- var buildEntityTypeFilterClause = function (entityType) {
37
- return "equals(items.objectType, '".concat(entityType.uri, "')");
38
- };
39
14
  var buildAttributeFilterClause = function (attribute) {
40
15
  return "equals(items.delta.attributeType, '".concat(attribute.value, "')");
41
16
  };
42
- var durationToTimestamp = function (period) {
43
- var amount = period[0], unit = period[1];
44
- return (0, moment_1.default)().subtract(amount, unit).valueOf();
45
- };
46
- var buildDateRangeFilterClause = function (dateRange) {
47
- var period = dateRange.period, type = dateRange.type;
48
- if (!(0, exports.isDateRangeValid)(dateRange))
49
- return '';
50
- switch (type) {
51
- case types_1.DateRangeTypes.WITHIN: {
52
- return "gte(timestamp, ".concat(durationToTimestamp(period), ")");
53
- }
54
- case types_1.DateRangeTypes.AGO: {
55
- return "lte(timestamp, ".concat(durationToTimestamp(period), ")");
56
- }
57
- case types_1.DateRangeTypes.BETWEEN: {
58
- var start = period[0], end = period[1];
59
- return "range(timestamp, ".concat(start.valueOf(), ", ").concat((0, moment_1.default)(end).endOf('date').valueOf(), ")");
60
- }
61
- default: {
62
- return '';
63
- }
64
- }
65
- };
66
- var buildEntityUriFilterClause = function (entityUri) {
67
- var filters = [
68
- "equals(items.objectUri, '".concat(entityUri, "')"),
69
- "equals(items.startObjectUri, '".concat(entityUri, "')"),
70
- "equals(items.endObjectUri, '".concat(entityUri, "')")
71
- ];
72
- return filters.join(' or ');
73
- };
74
17
  var getFilterClauseBuilder = (0, ramda_1.cond)([
75
- [(0, ramda_1.equals)('users'), function () { return multiValueFilter(buildUserFilterClause); }],
76
- [(0, ramda_1.equals)('activities'), function () { return multiValueFilter(buildActivityFilterClause); }],
77
- [(0, ramda_1.equals)('sources'), function () { return multiValueFilter(buildSourceFilterClause); }],
78
- [(0, ramda_1.equals)('attributes'), function () { return multiValueFilter(buildAttributeFilterClause); }],
79
- [(0, ramda_1.equals)('entityTypes'), function () { return multiValueFilter(buildEntityTypeFilterClause); }],
80
- [(0, ramda_1.equals)('dateRange'), function () { return buildDateRangeFilterClause; }],
81
- [(0, ramda_1.equals)('entityUri'), function () { return buildEntityUriFilterClause; }],
18
+ [(0, ramda_1.equals)('users'), function () { return (0, mdm_sdk_1.multiValueFilter)(mdm_sdk_1.buildUserFilterClause); }],
19
+ [(0, ramda_1.equals)('activities'), function () { return (0, mdm_sdk_1.multiValueFilter)(buildActivityFilterClause); }],
20
+ [(0, ramda_1.equals)('sources'), function () { return (0, mdm_sdk_1.multiValueFilter)(mdm_sdk_1.buildSourceFilterClause); }],
21
+ [(0, ramda_1.equals)('attributes'), function () { return (0, mdm_sdk_1.multiValueFilter)(buildAttributeFilterClause); }],
22
+ [(0, ramda_1.equals)('entityTypes'), function () { return (0, mdm_sdk_1.multiValueFilter)(mdm_sdk_1.buildEntityTypeFilterClause); }],
23
+ [(0, ramda_1.equals)('dateRange'), function () { return mdm_sdk_1.buildDateRangeFilterClause; }],
24
+ [(0, ramda_1.equals)('entityUri'), function () { return mdm_sdk_1.buildEntityUriFilterClause; }],
82
25
  [(0, ramda_1.equals)('rawFilter'), function () { return ramda_1.identity; }]
83
26
  ]);
84
27
  exports.buildActivitiesFilterString = (0, ramda_1.pipe)((0, ramda_1.defaultTo)({}), (0, ramda_1.reject)(mdm_sdk_1.isEmptyValue), ramda_1.toPairs, (0, ramda_1.append)(['rawFilter', "not equals(user, 'collaboration-service')"]), (0, ramda_1.map)(function (_a) {
85
28
  var key = _a[0], value = _a[1];
86
29
  return getFilterClauseBuilder(key)(value);
87
- }), (0, ramda_1.reject)(mdm_sdk_1.isEmptyValue), (0, ramda_1.map)(wrapInBrackets), (0, ramda_1.join)(' and '));
30
+ }), (0, ramda_1.reject)(mdm_sdk_1.isEmptyValue), (0, ramda_1.map)(mdm_sdk_1.wrapInBrackets), (0, ramda_1.join)(' and '));
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { DateRangeFilter } from '../../../types';
2
+ import { DateRangeFilter } from '@reltio/mdm-sdk';
3
3
  declare type Props = {
4
4
  value: DateRangeFilter;
5
5
  onChange: (range: DateRangeFilter) => void;
@@ -29,26 +29,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  var react_1 = __importStar(require("react"));
30
30
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
31
31
  var classnames_1 = __importDefault(require("classnames"));
32
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
32
33
  var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
33
34
  var SimpleDropDownSelector_1 = __importDefault(require("../../SimpleDropDownSelector/SimpleDropDownSelector"));
34
35
  var utils_1 = require("./utils");
35
36
  var DateIntervalSelector_1 = __importDefault(require("../../DateIntervalSelector/DateIntervalSelector"));
36
37
  var hooks_1 = require("../../../hooks");
37
38
  var CustomDateRangeEditor_1 = __importDefault(require("../../editors/CustomDateRangeEditor/CustomDateRangeEditor"));
38
- var types_1 = require("../../../types");
39
39
  var styles_1 = require("./styles");
40
40
  var emptyDates = [null, null];
41
41
  var emptyInterval = [null, 'hours'];
42
42
  var DateRangeSelector = function (_a) {
43
43
  var value = _a.value, onChange = _a.onChange, className = _a.className;
44
44
  var styles = (0, styles_1.useStyles)();
45
- var isIntervalType = function (type) { return type === types_1.DateRangeTypes.WITHIN || type === types_1.DateRangeTypes.AGO; };
46
- var isBetweenType = function (type) { return type === types_1.DateRangeTypes.BETWEEN; };
45
+ var isIntervalType = function (type) { return type === mdm_sdk_1.DateRangeTypes.WITHIN || type === mdm_sdk_1.DateRangeTypes.AGO; };
46
+ var isBetweenType = function (type) { return type === mdm_sdk_1.DateRangeTypes.BETWEEN; };
47
47
  var initDatesInterval = isBetweenType(value === null || value === void 0 ? void 0 : value.type) ? value.period : emptyDates;
48
48
  var initInterval = isIntervalType(value === null || value === void 0 ? void 0 : value.type) ? value.period : emptyInterval;
49
49
  var _b = (0, react_1.useState)(initDatesInterval), datesInterval = _b[0], setDatesInterval = _b[1];
50
50
  var _c = (0, react_1.useState)(initInterval), interval = _c[0], setInterval = _c[1];
51
- var selectedType = (value === null || value === void 0 ? void 0 : value.type) || types_1.DateRangeTypes.WITHIN;
51
+ var selectedType = (value === null || value === void 0 ? void 0 : value.type) || mdm_sdk_1.DateRangeTypes.WITHIN;
52
52
  var getCurrentPeriodByType = function (type) {
53
53
  if (isIntervalType(type)) {
54
54
  return interval;
@@ -1,3 +1,3 @@
1
- import { DateRangeTypes } from '../../../types';
1
+ import { DateRangeTypes } from '@reltio/mdm-sdk';
2
2
  export declare const dateRangeTypeOptions: DateRangeTypes[];
3
3
  export declare const getDateRangeTypeLabel: (type: DateRangeTypes) => string;
@@ -5,14 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getDateRangeTypeLabel = exports.dateRangeTypeOptions = void 0;
7
7
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
8
- var types_1 = require("../../../types");
9
- exports.dateRangeTypeOptions = [types_1.DateRangeTypes.WITHIN, types_1.DateRangeTypes.AGO, types_1.DateRangeTypes.BETWEEN];
8
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
9
+ exports.dateRangeTypeOptions = [mdm_sdk_1.DateRangeTypes.WITHIN, mdm_sdk_1.DateRangeTypes.AGO, mdm_sdk_1.DateRangeTypes.BETWEEN];
10
10
  var getDateRangeTypeLabel = function (type) {
11
11
  var _a;
12
12
  var labels = (_a = {},
13
- _a[types_1.DateRangeTypes.WITHIN] = ui_i18n_1.default.text('Within the last'),
14
- _a[types_1.DateRangeTypes.AGO] = ui_i18n_1.default.text('More than'),
15
- _a[types_1.DateRangeTypes.BETWEEN] = ui_i18n_1.default.text('Date range'),
13
+ _a[mdm_sdk_1.DateRangeTypes.WITHIN] = ui_i18n_1.default.text('Within the last'),
14
+ _a[mdm_sdk_1.DateRangeTypes.AGO] = ui_i18n_1.default.text('More than'),
15
+ _a[mdm_sdk_1.DateRangeTypes.BETWEEN] = ui_i18n_1.default.text('Date range'),
16
16
  _a);
17
17
  return labels[type] || '';
18
18
  };
@@ -44,8 +44,8 @@ var FilterList_1 = __importDefault(require("@material-ui/icons/FilterList"));
44
44
  var Button_1 = __importDefault(require("@material-ui/core/Button"));
45
45
  var Popover_1 = __importDefault(require("@material-ui/core/Popover"));
46
46
  var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
47
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
47
48
  var SmallIconButton_1 = require("../../SmallIconButton");
48
- var filters_1 = require("../utils/filters");
49
49
  var UserSelector_1 = __importDefault(require("../../UserSelector/UserSelector"));
50
50
  var AttributeSelector_1 = __importDefault(require("../../AttributeSelector/AttributeSelector"));
51
51
  var DateRangeSelector_1 = __importDefault(require("../DateRangeSelector/DateRangeSelector"));
@@ -75,7 +75,7 @@ var HistoryFilterButton = function (_a) {
75
75
  setIsOpen(function (open) { return !open; });
76
76
  }, []);
77
77
  var applyButtonHandler = (0, react_1.useCallback)(function () {
78
- dateRange && (0, filters_1.isDateRangeValid)(dateRange)
78
+ dateRange && (0, mdm_sdk_1.isDateRangeValid)(dateRange)
79
79
  ? onApplyFilter(currentValue)
80
80
  : onApplyFilter((0, ramda_1.dissoc)('dateRange', currentValue));
81
81
  togglePopup();
@@ -1,4 +1,5 @@
1
- import { AttributeOption, DateRangeFilter } from '../../../types';
1
+ import { DateRangeFilter } from '@reltio/mdm-sdk';
2
+ import { AttributeOption } from '../../../types';
2
3
  export declare enum HistoryActivityType {
3
4
  UPDATE = "UPDATE",
4
5
  MERGE = "MERGE",
@@ -1,3 +1 @@
1
- import { DateRangeFilter } from '../../../types';
2
1
  export declare const buildHistoryFilterString: any;
3
- export declare const isDateRangeValid: (value: DateRangeFilter) => boolean;
@@ -1,21 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isDateRangeValid = exports.buildHistoryFilterString = void 0;
7
- var moment_1 = __importDefault(require("moment"));
3
+ exports.buildHistoryFilterString = void 0;
8
4
  var ramda_1 = require("ramda");
9
5
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
10
6
  var HistoryFilter_1 = require("../types/HistoryFilter");
11
7
  var ActivityTypes_1 = require("../../activityLog/types/ActivityTypes");
12
- var types_1 = require("../../../types");
13
- var wrapInBrackets = function (str) { return "(".concat(str, ")"); };
14
- var multiValueFilter = function (filterClauseFn) { return (0, ramda_1.pipe)((0, ramda_1.map)(filterClauseFn), (0, ramda_1.join)(' or ')); };
15
- var durationToTimestamp = function (period) {
16
- var amount = period[0], unit = period[1];
17
- return (0, moment_1.default)().subtract(amount, unit).valueOf();
18
- };
19
8
  var convertHistoryTypes = (0, ramda_1.chain)((0, ramda_1.cond)([
20
9
  [
21
10
  (0, ramda_1.equals)(HistoryFilter_1.HistoryActivityType.MERGE),
@@ -28,40 +17,10 @@ var convertHistoryTypes = (0, ramda_1.chain)((0, ramda_1.cond)([
28
17
  [(0, ramda_1.equals)(HistoryFilter_1.HistoryActivityType.UNMERGE), function () { return [ActivityTypes_1.ActivityTypes.ENTITIES_SPLITTED]; }],
29
18
  [(0, ramda_1.equals)(HistoryFilter_1.HistoryActivityType.UPDATE), function () { return [ActivityTypes_1.ActivityTypes.ENTITY_CHANGED]; }]
30
19
  ]));
31
- var buildActivityFilterClause = (0, ramda_1.pipe)((0, ramda_1.defaultTo)([]), convertHistoryTypes, (0, ramda_1.concat)([ActivityTypes_1.ActivityTypes.ENTITY_CREATED, ActivityTypes_1.ActivityTypes.ENTITY_REMOVED, ActivityTypes_1.ActivityTypes.ENTITY_LOST_MERGE]), multiValueFilter(function (value) { return "equals(type, '".concat(value, "')"); }));
32
- var buildUserFilterClause = function (user) { return "equals(user, '".concat((0, mdm_sdk_1.escapeQueryValue)(user), "')"); };
20
+ var buildActivityFilterClause = (0, ramda_1.pipe)((0, ramda_1.defaultTo)([]), convertHistoryTypes, (0, ramda_1.concat)([ActivityTypes_1.ActivityTypes.ENTITY_CREATED, ActivityTypes_1.ActivityTypes.ENTITY_REMOVED, ActivityTypes_1.ActivityTypes.ENTITY_LOST_MERGE]), (0, mdm_sdk_1.multiValueFilter)(function (value) { return "equals(type, '".concat(value, "')"); }));
33
21
  var buildAttributeFilterClause = function (attribute) { return "changes(".concat((0, mdm_sdk_1.escapeQueryValue)(attribute.value), ")"); };
34
- var buildDateRangeFilterClause = function (_a) {
35
- var type = _a.type, period = _a.period;
36
- switch (type) {
37
- case types_1.DateRangeTypes.WITHIN: {
38
- return "gte(timestamp, ".concat(durationToTimestamp(period), ")");
39
- }
40
- case types_1.DateRangeTypes.AGO: {
41
- return "lte(timestamp, ".concat(durationToTimestamp(period), ")");
42
- }
43
- case types_1.DateRangeTypes.BETWEEN: {
44
- var start = period[0], end = period[1];
45
- return "gte(timestamp, ".concat(start.valueOf(), ") and lte(timestamp, ").concat((0, moment_1.default)(end).endOf('date').valueOf(), ")");
46
- }
47
- default: {
48
- return '';
49
- }
50
- }
51
- };
52
22
  exports.buildHistoryFilterString = (0, ramda_1.pipe)((0, ramda_1.defaultTo)({}), (0, ramda_1.reject)(mdm_sdk_1.isEmptyValue), (0, ramda_1.evolve)({
53
- users: multiValueFilter(buildUserFilterClause),
54
- attributes: multiValueFilter(buildAttributeFilterClause),
55
- dateRange: buildDateRangeFilterClause
56
- }), (0, ramda_1.over)((0, ramda_1.lensProp)('activities'), buildActivityFilterClause), ramda_1.values, (0, ramda_1.reject)(mdm_sdk_1.isEmptyValue), (0, ramda_1.append)("not equals(user, 'collaboration-service')"), (0, ramda_1.map)(wrapInBrackets), (0, ramda_1.join)(' and '));
57
- var isDateRangeValid = function (value) {
58
- if (value.type === types_1.DateRangeTypes.AGO || value.type === types_1.DateRangeTypes.WITHIN) {
59
- var _a = value.period, amount = _a[0], unit = _a[1];
60
- return (0, ramda_1.type)(amount) === 'Number' && (0, ramda_1.type)(unit) === 'String' && amount > 0;
61
- }
62
- else if (value.type === types_1.DateRangeTypes.BETWEEN) {
63
- var _b = value.period, startDate = _b[0], endDate = _b[1];
64
- return startDate instanceof Date && endDate instanceof Date;
65
- }
66
- };
67
- exports.isDateRangeValid = isDateRangeValid;
23
+ users: (0, mdm_sdk_1.multiValueFilter)(mdm_sdk_1.buildUserFilterClause),
24
+ attributes: (0, mdm_sdk_1.multiValueFilter)(buildAttributeFilterClause),
25
+ dateRange: mdm_sdk_1.buildDateRangeFilterClause
26
+ }), (0, ramda_1.over)((0, ramda_1.lensProp)('activities'), buildActivityFilterClause), ramda_1.values, (0, ramda_1.reject)(mdm_sdk_1.isEmptyValue), (0, ramda_1.append)("not equals(user, 'collaboration-service')"), (0, ramda_1.map)(mdm_sdk_1.wrapInBrackets), (0, ramda_1.join)(' and '));
@@ -18,15 +18,6 @@ export declare type AttributeOption = {
18
18
  chipLabel: string;
19
19
  level: number;
20
20
  };
21
- export declare enum DateRangeTypes {
22
- WITHIN = "within",
23
- AGO = "ago",
24
- BETWEEN = "between"
25
- }
26
- export declare type DateRangeFilter = {
27
- type: DateRangeTypes;
28
- period: [number, string] | [Date, Date];
29
- };
30
21
  export declare type QueryBuilderAttributeData = {
31
22
  title: string;
32
23
  pathToTitle: Array<string>;
@@ -1,12 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RequestStates = exports.DateRangeTypes = void 0;
4
- var DateRangeTypes;
5
- (function (DateRangeTypes) {
6
- DateRangeTypes["WITHIN"] = "within";
7
- DateRangeTypes["AGO"] = "ago";
8
- DateRangeTypes["BETWEEN"] = "between";
9
- })(DateRangeTypes = exports.DateRangeTypes || (exports.DateRangeTypes = {}));
3
+ exports.RequestStates = void 0;
10
4
  var RequestStates;
11
5
  (function (RequestStates) {
12
6
  RequestStates["INIT"] = "init";
@@ -15,6 +15,7 @@ export var useStyles = makeStyles({
15
15
  height: 'auto'
16
16
  },
17
17
  dropdownIndicator: {
18
+ boxSizing: 'content-box',
18
19
  transition: 'transform .15s ease',
19
20
  padding: function (props) { return "".concat((props.height - 24) / 2, "px 12px"); },
20
21
  cursor: 'pointer',
@@ -29,7 +29,10 @@ export var UploadImageDialog = function (_a) {
29
29
  onUpload(res);
30
30
  onClose();
31
31
  })
32
- .catch(function (err) { return setError((err === null || err === void 0 ? void 0 : err.errorMessage) || i18n.text('Something went wrong')); })
32
+ .catch(function (err) {
33
+ var message = (err === null || err === void 0 ? void 0 : err.errorCode) !== 500 && (err === null || err === void 0 ? void 0 : err.errorMessage) ? err.errorMessage : i18n.text('Something went wrong');
34
+ setError(message);
35
+ })
33
36
  .finally(function () { return setLoading(false); });
34
37
  };
35
38
  var handleAppendImage = function (image) {
@@ -12,7 +12,8 @@ var __assign = (this && this.__assign) || function () {
12
12
  import React, { useState, useRef } from 'react';
13
13
  import classnames from 'classnames';
14
14
  import i18n from 'ui-i18n';
15
- import { equals } from 'ramda';
15
+ import { always, equals, evolve, pipe, mergeRight, unless } from 'ramda';
16
+ import { isDateRangeValid } from '@reltio/mdm-sdk';
16
17
  import FilterListIcon from '@material-ui/icons/FilterList';
17
18
  import ActivityFilterEditor from '../ActivityFilterEditor/ActivityFilterEditor';
18
19
  import { SmallIconButtonWithTooltip } from '../../SmallIconButton';
@@ -25,7 +26,10 @@ var ActivityFilterButton = function (_a) {
25
26
  var _b = useState(false), isEditorOpen = _b[0], setIsEditorOpen = _b[1];
26
27
  var isApplied = !equals(filter, initialValue.current);
27
28
  var handleChange = function (value) {
28
- onChange(value);
29
+ var newValue = pipe(mergeRight(initialValue.current), evolve({
30
+ dateRange: unless(isDateRangeValid, always(initialValue.current.dateRange))
31
+ }))(value);
32
+ onChange(newValue);
29
33
  setIsEditorOpen(false);
30
34
  };
31
35
  return (React.createElement(React.Fragment, null,
@@ -4,7 +4,7 @@ export var useStyles = makeStyles(function (theme) { return ({
4
4
  margin: '4px',
5
5
  '&.activeIcon': {
6
6
  backgroundColor: fade(theme.palette.primary.main, 0.12),
7
- color: '#0072CE'
7
+ color: theme.palette.primary.main
8
8
  }
9
9
  }
10
10
  }); });
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { DateRangeFilter } from '../../../types';
2
+ import { DateRangeFilter } from '@reltio/mdm-sdk';
3
3
  declare type Props = {
4
4
  value: DateRangeFilter;
5
5
  onChange: (range: DateRangeFilter) => void;
@@ -13,11 +13,11 @@ import React, { useState } from 'react';
13
13
  import i18n from 'ui-i18n';
14
14
  import { pipe } from 'ramda';
15
15
  import classnames from 'classnames';
16
+ import { DateRangeTypes } from '@reltio/mdm-sdk';
16
17
  import FormControlLabel from '@material-ui/core/FormControlLabel';
17
18
  import Radio from '@material-ui/core/Radio';
18
19
  import RadioGroup from '@material-ui/core/RadioGroup';
19
20
  import Typography from '@material-ui/core/Typography';
20
- import { DateRangeTypes } from '../../../types';
21
21
  import DateIntervalSelector from '../../DateIntervalSelector/DateIntervalSelector';
22
22
  import { getValue } from '../../../core/utils';
23
23
  import CustomDateRangeEditor from '../../editors/CustomDateRangeEditor/CustomDateRangeEditor';
@@ -83,14 +83,14 @@ var DateRangeSelector = function (_a) {
83
83
  React.createElement(Typography, { className: classnames(styles.filterSubtitle, styles.labels), variant: 'subtitle1' }, i18n.text('Date')),
84
84
  React.createElement(RadioGroup, { value: (value === null || value === void 0 ? void 0 : value.type) || null, onChange: pipe(getValue, changeType) },
85
85
  React.createElement("div", { className: styles.dateOptionWithin },
86
- React.createElement(FormControlLabel, { value: DateRangeTypes.WITHIN, control: React.createElement(Radio, null), label: i18n.text('Within the last'), classes: { label: classnames(styles.dateOptionLabel, styles.labels) } }),
86
+ React.createElement(FormControlLabel, { value: DateRangeTypes.WITHIN, control: React.createElement(Radio, { color: "primary" }), label: i18n.text('Within the last'), classes: { label: classnames(styles.dateOptionLabel, styles.labels) } }),
87
87
  React.createElement(DateIntervalSelector, { interval: withinInterval, onChange: changePeriod, onFocus: function () { return changeType(DateRangeTypes.WITHIN); } })),
88
88
  React.createElement("div", { className: styles.dateOptionAgo },
89
- React.createElement(FormControlLabel, { value: DateRangeTypes.AGO, control: React.createElement(Radio, null), label: i18n.text('More than'), classes: { label: classnames(styles.dateOptionLabel, styles.labels) } }),
89
+ React.createElement(FormControlLabel, { value: DateRangeTypes.AGO, control: React.createElement(Radio, { color: "primary" }), label: i18n.text('More than'), classes: { label: classnames(styles.dateOptionLabel, styles.labels) } }),
90
90
  React.createElement(DateIntervalSelector, { interval: agoInterval, onChange: changePeriod, onFocus: function () { return changeType(DateRangeTypes.AGO); } }),
91
91
  React.createElement(Typography, { className: classnames(styles.agoLabel, styles.labels), variant: 'subtitle1' }, i18n.text('Ago'))),
92
92
  React.createElement("div", { className: styles.dateOption },
93
- React.createElement(FormControlLabel, { value: DateRangeTypes.BETWEEN, control: React.createElement(Radio, null), label: i18n.text('Date range'), classes: { label: classnames(styles.dateOptionLabel, styles.labels) } }),
93
+ React.createElement(FormControlLabel, { value: DateRangeTypes.BETWEEN, control: React.createElement(Radio, { color: "primary" }), label: i18n.text('Date range'), classes: { label: classnames(styles.dateOptionLabel, styles.labels) } }),
94
94
  React.createElement(CustomDateRangeEditor, { values: datesInterval, onChange: changePeriod, onFocus: function () { return changeType(DateRangeTypes.BETWEEN); } })))));
95
95
  };
96
96
  export default DateRangeSelector;
@@ -11,7 +11,7 @@ export var useStyles = makeStyles(function (theme) { return ({
11
11
  marginRight: '15px',
12
12
  width: '24px',
13
13
  height: '24px',
14
- background: '#4896DF',
14
+ background: theme.palette.primary.main,
15
15
  borderRadius: '50%',
16
16
  border: '1px solid white',
17
17
  display: 'flex',
@@ -1,7 +1,6 @@
1
1
  import i18n from 'ui-i18n';
2
2
  import { curry, join, identity, isNil, map, pipe, reject, sortBy, defaultTo, pluck } from 'ramda';
3
- import { DataTypes, formatDataTypeValue } from '@reltio/mdm-sdk';
4
- import { DateRangeTypes } from '../../../types';
3
+ import { DataTypes, formatDataTypeValue, DateRangeTypes } from '@reltio/mdm-sdk';
5
4
  import { getActivityLabel } from '../utils/activities';
6
5
  export var getFilterLabel = function (filters) {
7
6
  var getLabel = curry(function (unit, pluralUnit, values) {
@@ -3,7 +3,7 @@ export var useStyles = makeStyles(function (theme) { return ({
3
3
  link: {
4
4
  fontSize: 13,
5
5
  lineHeight: '15px',
6
- color: '#0072CE',
6
+ color: theme.palette.primary.main,
7
7
  textDecoration: 'none',
8
8
  fontWeight: 400,
9
9
  '&.removed': {
@@ -7,7 +7,7 @@ export var useStyles = makeStyles(function (theme) { return ({
7
7
  overflow: 'hidden'
8
8
  },
9
9
  link: {
10
- color: '#0072CE',
10
+ color: theme.palette.primary.main,
11
11
  textDecoration: 'none',
12
12
  fontWeight: 400
13
13
  },
@@ -12,7 +12,7 @@ export var useCommonStyles = makeStyles(function (theme) { return ({
12
12
  marginRight: 8
13
13
  },
14
14
  link: {
15
- color: '#0072CE',
15
+ color: theme.palette.primary.main,
16
16
  textDecoration: 'none',
17
17
  fontWeight: 400
18
18
  }
@@ -1,7 +1,7 @@
1
1
  import { makeStyles } from '@material-ui/core/styles';
2
2
  export var useStyles = makeStyles(function (theme) { return ({
3
3
  link: {
4
- color: '#0072CE',
4
+ color: theme.palette.primary.main,
5
5
  textDecoration: 'none',
6
6
  fontWeight: 400,
7
7
  cursor: 'pointer'
@@ -1,6 +1,6 @@
1
- import { Source, TEntityType } from '@reltio/mdm-sdk';
1
+ import { Source, TEntityType, DateRangeFilter } from '@reltio/mdm-sdk';
2
2
  import { ActivityTypes } from './ActivityTypes';
3
- import { AttributeOption, DateRangeFilter } from '../../../types';
3
+ import { AttributeOption } from '../../../types';
4
4
  export declare type ActivitiesFilter = {
5
5
  users: string[];
6
6
  activities: ActivityTypes[];
@@ -1,3 +1 @@
1
- import { DateRangeFilter } from '../../../types';
2
- export declare const isDateRangeValid: (value: DateRangeFilter) => boolean;
3
1
  export declare const buildActivitiesFilterString: any;
@@ -1,20 +1,5 @@
1
- import { append, cond, defaultTo, equals, identity, join, map, pipe, reject, toPairs, type } from 'ramda';
2
- import moment from 'moment';
3
- import { DateRangeTypes } from '../../../types';
4
- import { escapeQueryValue, isEmptyValue } from '@reltio/mdm-sdk';
5
- export var isDateRangeValid = function (value) {
6
- if (value.type === DateRangeTypes.AGO || value.type === DateRangeTypes.WITHIN) {
7
- var _a = value.period, amount = _a[0], unit = _a[1];
8
- return type(amount) === 'Number' && type(unit) === 'String' && amount > 0;
9
- }
10
- else if (value.type === DateRangeTypes.BETWEEN) {
11
- var _b = value.period, startDate = _b[0], endDate = _b[1];
12
- return startDate instanceof Date && endDate instanceof Date;
13
- }
14
- };
15
- var wrapInBrackets = function (str) { return "(".concat(str, ")"); };
16
- var multiValueFilter = function (filterClauseFn) { return function (values) { return values.map(filterClauseFn).join(' or '); }; };
17
- var buildUserFilterClause = function (user) { return "equals(user, '".concat(escapeQueryValue(user), "')"); };
1
+ import { append, cond, defaultTo, equals, identity, join, map, pipe, reject, toPairs } from 'ramda';
2
+ import { isEmptyValue, wrapInBrackets, multiValueFilter, buildUserFilterClause, buildSourceFilterClause, buildEntityTypeFilterClause, buildDateRangeFilterClause, buildEntityUriFilterClause } from '@reltio/mdm-sdk';
18
3
  var buildActivityFilterClause = function (activityType) {
19
4
  if (activityType.startsWith('USER_') || activityType.startsWith('COMMENT_') || activityType.startsWith('SFDC_')) {
20
5
  return "startsWith(label, '".concat(activityType, "')");
@@ -23,47 +8,9 @@ var buildActivityFilterClause = function (activityType) {
23
8
  return "equals(items.data.type, ".concat(activityType, ")");
24
9
  }
25
10
  };
26
- var buildSourceFilterClause = function (source) {
27
- return "equals(items.delta.sources, '".concat(source.abbreviation, "')");
28
- };
29
- var buildEntityTypeFilterClause = function (entityType) {
30
- return "equals(items.objectType, '".concat(entityType.uri, "')");
31
- };
32
11
  var buildAttributeFilterClause = function (attribute) {
33
12
  return "equals(items.delta.attributeType, '".concat(attribute.value, "')");
34
13
  };
35
- var durationToTimestamp = function (period) {
36
- var amount = period[0], unit = period[1];
37
- return moment().subtract(amount, unit).valueOf();
38
- };
39
- var buildDateRangeFilterClause = function (dateRange) {
40
- var period = dateRange.period, type = dateRange.type;
41
- if (!isDateRangeValid(dateRange))
42
- return '';
43
- switch (type) {
44
- case DateRangeTypes.WITHIN: {
45
- return "gte(timestamp, ".concat(durationToTimestamp(period), ")");
46
- }
47
- case DateRangeTypes.AGO: {
48
- return "lte(timestamp, ".concat(durationToTimestamp(period), ")");
49
- }
50
- case DateRangeTypes.BETWEEN: {
51
- var start = period[0], end = period[1];
52
- return "range(timestamp, ".concat(start.valueOf(), ", ").concat(moment(end).endOf('date').valueOf(), ")");
53
- }
54
- default: {
55
- return '';
56
- }
57
- }
58
- };
59
- var buildEntityUriFilterClause = function (entityUri) {
60
- var filters = [
61
- "equals(items.objectUri, '".concat(entityUri, "')"),
62
- "equals(items.startObjectUri, '".concat(entityUri, "')"),
63
- "equals(items.endObjectUri, '".concat(entityUri, "')")
64
- ];
65
- return filters.join(' or ');
66
- };
67
14
  var getFilterClauseBuilder = cond([
68
15
  [equals('users'), function () { return multiValueFilter(buildUserFilterClause); }],
69
16
  [equals('activities'), function () { return multiValueFilter(buildActivityFilterClause); }],
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { DateRangeFilter } from '../../../types';
2
+ import { DateRangeFilter } from '@reltio/mdm-sdk';
3
3
  declare type Props = {
4
4
  value: DateRangeFilter;
5
5
  onChange: (range: DateRangeFilter) => void;
@@ -1,13 +1,13 @@
1
1
  import React, { useState } from 'react';
2
2
  import i18n from 'ui-i18n';
3
3
  import classnames from 'classnames';
4
+ import { DateRangeTypes } from '@reltio/mdm-sdk';
4
5
  import Typography from '@material-ui/core/Typography';
5
6
  import SimpleDropDownSelector from '../../SimpleDropDownSelector/SimpleDropDownSelector';
6
7
  import { dateRangeTypeOptions, getDateRangeTypeLabel } from './utils';
7
8
  import DateIntervalSelector from '../../DateIntervalSelector/DateIntervalSelector';
8
9
  import { useDidUpdateEffect } from '../../../hooks';
9
10
  import CustomDateRangeEditor from '../../editors/CustomDateRangeEditor/CustomDateRangeEditor';
10
- import { DateRangeTypes } from '../../../types';
11
11
  import { useStyles } from './styles';
12
12
  var emptyDates = [null, null];
13
13
  var emptyInterval = [null, 'hours'];
@@ -1,3 +1,3 @@
1
- import { DateRangeTypes } from '../../../types';
1
+ import { DateRangeTypes } from '@reltio/mdm-sdk';
2
2
  export declare const dateRangeTypeOptions: DateRangeTypes[];
3
3
  export declare const getDateRangeTypeLabel: (type: DateRangeTypes) => string;
@@ -1,5 +1,5 @@
1
1
  import i18n from 'ui-i18n';
2
- import { DateRangeTypes } from '../../../types';
2
+ import { DateRangeTypes } from '@reltio/mdm-sdk';
3
3
  export var dateRangeTypeOptions = [DateRangeTypes.WITHIN, DateRangeTypes.AGO, DateRangeTypes.BETWEEN];
4
4
  export var getDateRangeTypeLabel = function (type) {
5
5
  var _a;
@@ -16,8 +16,8 @@ import FilterListIcon from '@material-ui/icons/FilterList';
16
16
  import Button from '@material-ui/core/Button';
17
17
  import Popover from '@material-ui/core/Popover';
18
18
  import Typography from '@material-ui/core/Typography';
19
+ import { isDateRangeValid } from '@reltio/mdm-sdk';
19
20
  import { SmallIconButton } from '../../SmallIconButton';
20
- import { isDateRangeValid } from '../utils/filters';
21
21
  import UserSelector from '../../UserSelector/UserSelector';
22
22
  import AttributeSelector from '../../AttributeSelector/AttributeSelector';
23
23
  import DateRangeSelector from '../DateRangeSelector/DateRangeSelector';
@@ -1,4 +1,5 @@
1
- import { AttributeOption, DateRangeFilter } from '../../../types';
1
+ import { DateRangeFilter } from '@reltio/mdm-sdk';
2
+ import { AttributeOption } from '../../../types';
2
3
  export declare enum HistoryActivityType {
3
4
  UPDATE = "UPDATE",
4
5
  MERGE = "MERGE",
@@ -1,3 +1 @@
1
- import { DateRangeFilter } from '../../../types';
2
1
  export declare const buildHistoryFilterString: any;
3
- export declare const isDateRangeValid: (value: DateRangeFilter) => boolean;
@@ -1,15 +1,7 @@
1
- import moment from 'moment';
2
- import { type, pipe, defaultTo, reject, map, join, cond, equals, append, concat, chain, evolve, values, over, lensProp } from 'ramda';
3
- import { isEmptyValue, escapeQueryValue } from '@reltio/mdm-sdk';
1
+ import { pipe, defaultTo, reject, map, join, cond, equals, append, concat, chain, evolve, values, over, lensProp } from 'ramda';
2
+ import { isEmptyValue, escapeQueryValue, wrapInBrackets, multiValueFilter, buildUserFilterClause, buildDateRangeFilterClause } from '@reltio/mdm-sdk';
4
3
  import { HistoryActivityType } from '../types/HistoryFilter';
5
4
  import { ActivityTypes } from '../../activityLog/types/ActivityTypes';
6
- import { DateRangeTypes } from '../../../types';
7
- var wrapInBrackets = function (str) { return "(".concat(str, ")"); };
8
- var multiValueFilter = function (filterClauseFn) { return pipe(map(filterClauseFn), join(' or ')); };
9
- var durationToTimestamp = function (period) {
10
- var amount = period[0], unit = period[1];
11
- return moment().subtract(amount, unit).valueOf();
12
- };
13
5
  var convertHistoryTypes = chain(cond([
14
6
  [
15
7
  equals(HistoryActivityType.MERGE),
@@ -23,38 +15,9 @@ var convertHistoryTypes = chain(cond([
23
15
  [equals(HistoryActivityType.UPDATE), function () { return [ActivityTypes.ENTITY_CHANGED]; }]
24
16
  ]));
25
17
  var buildActivityFilterClause = pipe(defaultTo([]), convertHistoryTypes, concat([ActivityTypes.ENTITY_CREATED, ActivityTypes.ENTITY_REMOVED, ActivityTypes.ENTITY_LOST_MERGE]), multiValueFilter(function (value) { return "equals(type, '".concat(value, "')"); }));
26
- var buildUserFilterClause = function (user) { return "equals(user, '".concat(escapeQueryValue(user), "')"); };
27
18
  var buildAttributeFilterClause = function (attribute) { return "changes(".concat(escapeQueryValue(attribute.value), ")"); };
28
- var buildDateRangeFilterClause = function (_a) {
29
- var type = _a.type, period = _a.period;
30
- switch (type) {
31
- case DateRangeTypes.WITHIN: {
32
- return "gte(timestamp, ".concat(durationToTimestamp(period), ")");
33
- }
34
- case DateRangeTypes.AGO: {
35
- return "lte(timestamp, ".concat(durationToTimestamp(period), ")");
36
- }
37
- case DateRangeTypes.BETWEEN: {
38
- var start = period[0], end = period[1];
39
- return "gte(timestamp, ".concat(start.valueOf(), ") and lte(timestamp, ").concat(moment(end).endOf('date').valueOf(), ")");
40
- }
41
- default: {
42
- return '';
43
- }
44
- }
45
- };
46
19
  export var buildHistoryFilterString = pipe(defaultTo({}), reject(isEmptyValue), evolve({
47
20
  users: multiValueFilter(buildUserFilterClause),
48
21
  attributes: multiValueFilter(buildAttributeFilterClause),
49
22
  dateRange: buildDateRangeFilterClause
50
23
  }), over(lensProp('activities'), buildActivityFilterClause), values, reject(isEmptyValue), append("not equals(user, 'collaboration-service')"), map(wrapInBrackets), join(' and '));
51
- export var isDateRangeValid = function (value) {
52
- if (value.type === DateRangeTypes.AGO || value.type === DateRangeTypes.WITHIN) {
53
- var _a = value.period, amount = _a[0], unit = _a[1];
54
- return type(amount) === 'Number' && type(unit) === 'String' && amount > 0;
55
- }
56
- else if (value.type === DateRangeTypes.BETWEEN) {
57
- var _b = value.period, startDate = _b[0], endDate = _b[1];
58
- return startDate instanceof Date && endDate instanceof Date;
59
- }
60
- };
@@ -18,15 +18,6 @@ export declare type AttributeOption = {
18
18
  chipLabel: string;
19
19
  level: number;
20
20
  };
21
- export declare enum DateRangeTypes {
22
- WITHIN = "within",
23
- AGO = "ago",
24
- BETWEEN = "between"
25
- }
26
- export declare type DateRangeFilter = {
27
- type: DateRangeTypes;
28
- period: [number, string] | [Date, Date];
29
- };
30
21
  export declare type QueryBuilderAttributeData = {
31
22
  title: string;
32
23
  pathToTitle: Array<string>;
@@ -1,9 +1,3 @@
1
- export var DateRangeTypes;
2
- (function (DateRangeTypes) {
3
- DateRangeTypes["WITHIN"] = "within";
4
- DateRangeTypes["AGO"] = "ago";
5
- DateRangeTypes["BETWEEN"] = "between";
6
- })(DateRangeTypes || (DateRangeTypes = {}));
7
1
  export var RequestStates;
8
2
  (function (RequestStates) {
9
3
  RequestStates["INIT"] = "init";
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1427",
3
+ "version": "1.4.1429",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
7
7
  "dependencies": {
8
8
  "@date-io/moment": "^1.3.5",
9
9
  "@react-google-maps/api": "2.7.0",
10
- "@reltio/mdm-module": "^1.4.1427",
11
- "@reltio/mdm-sdk": "^1.4.1427",
10
+ "@reltio/mdm-module": "^1.4.1429",
11
+ "@reltio/mdm-sdk": "^1.4.1429",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",