@reltio/components 1.4.895 → 1.4.899

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 (83) hide show
  1. package/cjs/components/attributes/PivotingAttributes/PivotingTooltipContent.js +11 -3
  2. package/cjs/components/attributes/PivotingAttributes/helpers.d.ts +4 -0
  3. package/cjs/components/attributes/PivotingAttributes/helpers.js +17 -1
  4. package/cjs/components/attributes/PivotingAttributes/styles.d.ts +1 -1
  5. package/cjs/components/attributes/PivotingAttributes/styles.js +3 -0
  6. package/cjs/components/workflow/cards/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +6 -12
  7. package/cjs/components/workflow/components/AttributesChanges/AttributesChanges.d.ts +8 -0
  8. package/cjs/components/workflow/components/AttributesChanges/AttributesChanges.js +47 -0
  9. package/cjs/components/workflow/components/AttributesChanges/components/ChangeView/ChangeView.d.ts +11 -0
  10. package/cjs/components/workflow/components/AttributesChanges/components/ChangeView/ChangeView.js +27 -0
  11. package/cjs/components/workflow/components/AttributesChanges/components/ChangeView/styles.d.ts +1 -0
  12. package/cjs/components/workflow/components/AttributesChanges/components/ChangeView/styles.js +55 -0
  13. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.d.ts +7 -0
  14. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.js +25 -0
  15. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.d.ts +15 -0
  16. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.js +61 -0
  17. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.d.ts +5 -0
  18. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.js +18 -0
  19. package/cjs/components/workflow/components/AttributesChanges/components/ShowMoreLink/ShowMoreLink.d.ts +9 -0
  20. package/cjs/components/workflow/components/AttributesChanges/components/ShowMoreLink/ShowMoreLink.js +18 -0
  21. package/cjs/components/workflow/components/AttributesChanges/components/ShowMoreLink/styles.d.ts +1 -0
  22. package/cjs/components/workflow/components/AttributesChanges/components/ShowMoreLink/styles.js +12 -0
  23. package/cjs/components/workflow/components/AttributesChanges/constants/operations.d.ts +25 -0
  24. package/cjs/components/workflow/components/AttributesChanges/constants/operations.js +30 -0
  25. package/cjs/components/workflow/components/AttributesChanges/contexts/AttributesChangesContext.d.ts +3 -0
  26. package/cjs/components/workflow/components/AttributesChanges/contexts/AttributesChangesContext.js +9 -0
  27. package/cjs/components/workflow/components/AttributesChanges/helpers/attributesHelpers.d.ts +2 -0
  28. package/cjs/components/workflow/components/AttributesChanges/helpers/attributesHelpers.js +89 -0
  29. package/cjs/components/workflow/components/AttributesChanges/helpers/contextHelpers.d.ts +1 -0
  30. package/cjs/components/workflow/components/AttributesChanges/helpers/contextHelpers.js +5 -0
  31. package/cjs/components/workflow/components/AttributesChanges/helpers/helpers.d.ts +12 -0
  32. package/cjs/components/workflow/components/AttributesChanges/helpers/helpers.js +88 -0
  33. package/cjs/components/workflow/components/AttributesChanges/helpers/mergeHelpers.d.ts +4 -0
  34. package/cjs/components/workflow/components/AttributesChanges/helpers/mergeHelpers.js +137 -0
  35. package/cjs/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.d.ts +6 -0
  36. package/cjs/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.js +18 -0
  37. package/cjs/components/workflow/components/AttributesChanges/styles.d.ts +1 -0
  38. package/cjs/components/workflow/components/AttributesChanges/styles.js +27 -0
  39. package/cjs/components/workflow/components/AttributesChanges/types/DCRTypes.d.ts +63 -0
  40. package/cjs/components/workflow/components/AttributesChanges/types/DCRTypes.js +2 -0
  41. package/cjs/components/workflow/components/LineDecorator/styles.js +4 -2
  42. package/esm/components/attributes/PivotingAttributes/PivotingTooltipContent.js +13 -5
  43. package/esm/components/attributes/PivotingAttributes/helpers.d.ts +4 -0
  44. package/esm/components/attributes/PivotingAttributes/helpers.js +15 -1
  45. package/esm/components/attributes/PivotingAttributes/styles.d.ts +1 -1
  46. package/esm/components/attributes/PivotingAttributes/styles.js +3 -0
  47. package/esm/components/workflow/cards/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +7 -13
  48. package/esm/components/workflow/components/AttributesChanges/AttributesChanges.d.ts +8 -0
  49. package/esm/components/workflow/components/AttributesChanges/AttributesChanges.js +23 -0
  50. package/esm/components/workflow/components/AttributesChanges/components/ChangeView/ChangeView.d.ts +11 -0
  51. package/esm/components/workflow/components/AttributesChanges/components/ChangeView/ChangeView.js +22 -0
  52. package/esm/components/workflow/components/AttributesChanges/components/ChangeView/styles.d.ts +1 -0
  53. package/esm/components/workflow/components/AttributesChanges/components/ChangeView/styles.js +52 -0
  54. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.d.ts +7 -0
  55. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.js +20 -0
  56. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.d.ts +15 -0
  57. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.js +37 -0
  58. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.d.ts +5 -0
  59. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.js +15 -0
  60. package/esm/components/workflow/components/AttributesChanges/components/ShowMoreLink/ShowMoreLink.d.ts +9 -0
  61. package/esm/components/workflow/components/AttributesChanges/components/ShowMoreLink/ShowMoreLink.js +13 -0
  62. package/esm/components/workflow/components/AttributesChanges/components/ShowMoreLink/styles.d.ts +1 -0
  63. package/esm/components/workflow/components/AttributesChanges/components/ShowMoreLink/styles.js +9 -0
  64. package/esm/components/workflow/components/AttributesChanges/constants/operations.d.ts +25 -0
  65. package/esm/components/workflow/components/AttributesChanges/constants/operations.js +27 -0
  66. package/esm/components/workflow/components/AttributesChanges/contexts/AttributesChangesContext.d.ts +3 -0
  67. package/esm/components/workflow/components/AttributesChanges/contexts/AttributesChangesContext.js +3 -0
  68. package/esm/components/workflow/components/AttributesChanges/helpers/attributesHelpers.d.ts +2 -0
  69. package/esm/components/workflow/components/AttributesChanges/helpers/attributesHelpers.js +86 -0
  70. package/esm/components/workflow/components/AttributesChanges/helpers/contextHelpers.d.ts +1 -0
  71. package/esm/components/workflow/components/AttributesChanges/helpers/contextHelpers.js +2 -0
  72. package/esm/components/workflow/components/AttributesChanges/helpers/helpers.d.ts +12 -0
  73. package/esm/components/workflow/components/AttributesChanges/helpers/helpers.js +77 -0
  74. package/esm/components/workflow/components/AttributesChanges/helpers/mergeHelpers.d.ts +4 -0
  75. package/esm/components/workflow/components/AttributesChanges/helpers/mergeHelpers.js +134 -0
  76. package/esm/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.d.ts +6 -0
  77. package/esm/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.js +14 -0
  78. package/esm/components/workflow/components/AttributesChanges/styles.d.ts +1 -0
  79. package/esm/components/workflow/components/AttributesChanges/styles.js +24 -0
  80. package/esm/components/workflow/components/AttributesChanges/types/DCRTypes.d.ts +63 -0
  81. package/esm/components/workflow/components/AttributesChanges/types/DCRTypes.js +1 -0
  82. package/esm/components/workflow/components/LineDecorator/styles.js +4 -2
  83. package/package.json +3 -3
@@ -0,0 +1,134 @@
1
+ import { concat, curry, difference, identity, is, isNil, omit, pick, propEq, pipe, reduce } from 'ramda';
2
+ import { generateTempUri, getRoleLabel, isEmptyValue, EntityAttrTypes } from '@reltio/mdm-sdk';
3
+ import { DCRTypes } from '../constants/operations';
4
+ import { getChanges } from './attributesHelpers';
5
+ var ATTRIBUTE_DELIMITER = '/';
6
+ var SPECIAL_ATTRIBUTES_NAMES = [
7
+ 'defaultProfilePicValue',
8
+ EntityAttrTypes.tags.name,
9
+ EntityAttrTypes.roles.name,
10
+ EntityAttrTypes.startDate.name,
11
+ EntityAttrTypes.endDate.name
12
+ ];
13
+ var prepareStartOrEndDate = function (_a) {
14
+ var newValue = _a.newValue, oldValue = _a.oldValue;
15
+ var parseValue = function (value) { return (is(String) ? parseInt(value) : value); };
16
+ var isExistedValue = function (value) { return (value === null || value === void 0 ? void 0 : value.length) && !isEmptyValue(value); };
17
+ var isExistNewValue = isExistedValue(newValue);
18
+ var isExistOldValue = isExistedValue(oldValue);
19
+ if (isExistNewValue && isExistOldValue) {
20
+ return {
21
+ type: DCRTypes.UPDATE_ATTRIBUTE,
22
+ oldValue: { value: parseValue(oldValue[0]) },
23
+ newValue: { value: parseValue(newValue[0]) }
24
+ };
25
+ }
26
+ else if (isExistNewValue) {
27
+ return {
28
+ type: DCRTypes.INSERT_ATTRIBUTE,
29
+ newValue: { value: parseValue(newValue[0]) }
30
+ };
31
+ }
32
+ else if (isExistOldValue) {
33
+ return {
34
+ type: DCRTypes.DELETE_ATTRIBUTE,
35
+ oldValue: { value: parseValue(oldValue[0]) }
36
+ };
37
+ }
38
+ };
39
+ var prepareRolesOrTags = function (change, metadata) {
40
+ var _a = change.newValue, newValue = _a === void 0 ? [] : _a, _b = change.oldValue, oldValue = _b === void 0 ? [] : _b, type = change.type;
41
+ var getLabel = type === DCRTypes.UPDATE_ROLES ? getRoleLabel(metadata) : identity;
42
+ var diffNewValue = difference(newValue, oldValue);
43
+ var diffOldValue = difference(oldValue, newValue);
44
+ var items = [];
45
+ if (diffNewValue.length) {
46
+ items.push({
47
+ type: DCRTypes.INSERT_ATTRIBUTE,
48
+ newValue: { value: diffNewValue.map(getLabel).join(', ') }
49
+ });
50
+ }
51
+ if (diffOldValue.length) {
52
+ items.push({
53
+ type: DCRTypes.DELETE_ATTRIBUTE,
54
+ oldValue: { value: diffOldValue.map(getLabel).join(', ') }
55
+ });
56
+ }
57
+ return items;
58
+ };
59
+ var getPath = function (change) {
60
+ var type = change.type, attributePath = change.attributePath, refObjectURI = change.refObjectURI, refAttributeType = change.refAttributeType;
61
+ var path = type === DCRTypes.INSERT_ATTRIBUTE ? generateTempUri(attributePath) : attributePath;
62
+ if (refObjectURI) {
63
+ var typePath = refAttributeType.split('/attributes/');
64
+ var id = refObjectURI.split(ATTRIBUTE_DELIMITER)[1];
65
+ return [typePath[1], id, path].join(ATTRIBUTE_DELIMITER);
66
+ }
67
+ return path;
68
+ };
69
+ var prepareAttribute = function (container, change) {
70
+ var _a;
71
+ var changePath = getPath(change);
72
+ var pathArray = changePath.split(ATTRIBUTE_DELIMITER);
73
+ var holder = container;
74
+ for (var i = 0; i < pathArray.length - 1; i = i + 2) {
75
+ var key = pathArray[i];
76
+ var id = pathArray[i + 1];
77
+ var currentValue = (holder[key] || []).find(propEq('id', id));
78
+ var newValue = pathArray.length === i + 2 ? change : {};
79
+ var value = currentValue ? currentValue : { id: id, value: newValue };
80
+ var refObjectURI = ((_a = change.refObjectURI) === null || _a === void 0 ? void 0 : _a.indexOf(id)) >= 0 && change.refObjectURI;
81
+ if (refObjectURI) {
82
+ value.refObjectURI = refObjectURI;
83
+ }
84
+ if (isNil(currentValue)) {
85
+ holder[key] = (holder[key] || []).concat(value);
86
+ }
87
+ holder = value.value;
88
+ }
89
+ return container;
90
+ };
91
+ var mergeAttributesInChange = function (metadata, objectInfo, change, container) {
92
+ if (container === void 0) { container = {}; }
93
+ var type = change.type;
94
+ switch (type) {
95
+ case DCRTypes.UPDATE_PROFILE_PIC_BY_URL:
96
+ container['defaultProfilePicValue'] = [change.newValue];
97
+ break;
98
+ case DCRTypes.UPDATE_TAGS:
99
+ container[EntityAttrTypes.tags.name] = prepareRolesOrTags(change, metadata);
100
+ break;
101
+ case DCRTypes.UPDATE_ROLES: {
102
+ container[EntityAttrTypes.roles.name] = prepareRolesOrTags(change, metadata);
103
+ break;
104
+ }
105
+ case DCRTypes.UPDATE_START_DATE:
106
+ container[EntityAttrTypes.startDate.name] = [prepareStartOrEndDate(change)];
107
+ break;
108
+ case DCRTypes.UPDATE_END_DATE:
109
+ container[EntityAttrTypes.endDate.name] = [prepareStartOrEndDate(change)];
110
+ break;
111
+ default: {
112
+ prepareAttribute(container, change);
113
+ break;
114
+ }
115
+ }
116
+ return container;
117
+ };
118
+ var mergeChanges = function (metadata, changes, objectInfo) {
119
+ var getAttributeChanges = function (attributeName) { return pipe(pick([attributeName]), getChanges(metadata, objectInfo)); };
120
+ var concatChanges = curry(function (getters, attributesTree) {
121
+ return reduce(function (acc, getter) { return concat(acc, getter(attributesTree)); }, [], getters);
122
+ });
123
+ var changesTree = changes.reduce(function (result, change) {
124
+ return mergeAttributesInChange(metadata, objectInfo, change, result);
125
+ }, {});
126
+ return concatChanges([
127
+ pipe(omit(SPECIAL_ATTRIBUTES_NAMES), getChanges(metadata, objectInfo)),
128
+ getAttributeChanges(EntityAttrTypes.roles.name),
129
+ getAttributeChanges(EntityAttrTypes.tags.name),
130
+ getAttributeChanges(EntityAttrTypes.startDate.name),
131
+ getAttributeChanges(EntityAttrTypes.endDate.name)
132
+ ], changesTree);
133
+ };
134
+ export { mergeChanges };
@@ -0,0 +1,6 @@
1
+ export declare const useCollapsibleList: (changes: any, limit?: number) => {
2
+ isExpanded: boolean;
3
+ onToggle: () => void;
4
+ itemsToShow: any;
5
+ collapsedSuggestionsCount: number;
6
+ };
@@ -0,0 +1,14 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { getSuggestionsCount } from '../helpers/contextHelpers';
3
+ var DEFAULT_VISIBLE_ITEMS_COUNT = 3;
4
+ export var useCollapsibleList = function (changes, limit) {
5
+ if (limit === void 0) { limit = DEFAULT_VISIBLE_ITEMS_COUNT; }
6
+ var _a = useState(false), isExpanded = _a[0], setIsExpanded = _a[1];
7
+ var onToggle = useCallback(function () { return setIsExpanded(function (value) { return !value; }); }, []);
8
+ var collapsedItems = useMemo(function () { return changes.slice(0, limit); }, [changes, limit]);
9
+ var suggestionsCount = useMemo(function () { return getSuggestionsCount(changes); }, [changes]);
10
+ var visibleSuggestionsCount = useMemo(function () { return getSuggestionsCount(collapsedItems); }, [collapsedItems]);
11
+ var itemsToShow = isExpanded ? changes : collapsedItems;
12
+ var collapsedSuggestionsCount = suggestionsCount - visibleSuggestionsCount;
13
+ return { isExpanded: isExpanded, onToggle: onToggle, itemsToShow: itemsToShow, collapsedSuggestionsCount: collapsedSuggestionsCount };
14
+ };
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"uri" | "label" | "container" | "showMoreLink">;
@@ -0,0 +1,24 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+ export var useStyles = makeStyles(function (theme) { return ({
3
+ container: {
4
+ boxSizing: 'border-box',
5
+ border: '1px solid rgba(0,0,0,0.03)',
6
+ borderRadius: '3px',
7
+ backgroundColor: 'rgba(0,0,0,0.03)',
8
+ padding: '10px',
9
+ margin: '12px 16px 12px 0'
10
+ },
11
+ uri: {
12
+ color: theme.palette.primary.main,
13
+ textDecoration: 'none',
14
+ cursor: 'pointer'
15
+ },
16
+ label: {
17
+ fontSize: '12px',
18
+ letterSpacing: 0,
19
+ lineHeight: '16px'
20
+ },
21
+ showMoreLink: {
22
+ marginTop: '8px'
23
+ }
24
+ }); });
@@ -0,0 +1,63 @@
1
+ import { Crosswalk, NestedAttributeValue, ReferenceAttributeValue, SimpleAttributeValue } from '@reltio/mdm-sdk';
2
+ import { DCRTypes } from '../constants/operations';
3
+ export declare type EntityInfo = {
4
+ isExist: boolean;
5
+ label: string;
6
+ secondaryLabel: string;
7
+ type: string;
8
+ };
9
+ export declare type RelationInfo = {
10
+ type: string;
11
+ startObjectLabel: string;
12
+ startObjectUri: string;
13
+ endObjectLabel: string;
14
+ endObjectUri: string;
15
+ isExist: boolean;
16
+ };
17
+ export declare type DCRObjectInfo = EntityInfo | RelationInfo;
18
+ export declare type DCRObjectsInfo = {
19
+ [key: string]: DCRObjectInfo;
20
+ };
21
+ export declare type Value = DCRAttributes | DCRChange | string | boolean | number;
22
+ export declare type DCRAttributeValue = Omit<SimpleAttributeValue | NestedAttributeValue | ReferenceAttributeValue, 'uri' | 'value'> & {
23
+ value: Value;
24
+ refObjectURI?: string;
25
+ refEntity?: {
26
+ objectURI: string;
27
+ };
28
+ uri?: string;
29
+ };
30
+ export declare type DCRAttributes = {
31
+ [attributeName: string]: DCRAttributeValue[];
32
+ };
33
+ export declare type ChangeValue = DCRAttributeValue | string[];
34
+ export declare type DCRChange = {
35
+ attributePath?: string;
36
+ attributeType?: string;
37
+ conflict?: string;
38
+ conflictDetails?: string;
39
+ createdBy?: string;
40
+ createdTime?: string;
41
+ crosswalk?: Crosswalk;
42
+ id?: string;
43
+ newPinOrIgnoreValue?: boolean;
44
+ newValue?: ChangeValue;
45
+ oldValue?: ChangeValue;
46
+ type?: DCRTypes;
47
+ refAttributeType?: string;
48
+ refObjectURI?: string;
49
+ };
50
+ export declare type DCRChanges = {
51
+ [key: string]: DCRChange[];
52
+ };
53
+ export declare type ChangeRequest = {
54
+ changes: DCRChanges;
55
+ createdBy: string;
56
+ createdTime: number;
57
+ objectsInfo: DCRObjectsInfo;
58
+ state: string;
59
+ type: string;
60
+ updatedBy: string;
61
+ updatedTime: number;
62
+ uri: string;
63
+ };
@@ -11,7 +11,8 @@ export var useStyles = makeStyles({
11
11
  alignItems: 'stretch'
12
12
  },
13
13
  lineBlock: {
14
- width: blockWidth + "px"
14
+ width: blockWidth + "px",
15
+ flexShrink: 0
15
16
  },
16
17
  withLinePadding: {
17
18
  '& $noLine': {
@@ -52,7 +53,8 @@ export var useStyles = makeStyles({
52
53
  }
53
54
  },
54
55
  content: {
55
- flex: 1
56
+ flex: 1,
57
+ minWidth: 0
56
58
  },
57
59
  plain: {},
58
60
  last: {}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.895",
3
+ "version": "1.4.899",
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.895",
11
- "@reltio/mdm-sdk": "^1.4.895",
10
+ "@reltio/mdm-module": "^1.4.899",
11
+ "@reltio/mdm-sdk": "^1.4.899",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",