@reltio/components 1.4.910 → 1.4.914

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 (111) hide show
  1. package/cjs/components/MergeButton/MergeButton.d.ts +1 -0
  2. package/cjs/components/MergeButton/MergeButton.js +3 -2
  3. package/cjs/components/attributes/ImageAttributesLine/ImageAttributesLine.d.ts +7 -2
  4. package/cjs/components/attributes/ImageAttributesLine/ImageAttributesLine.js +15 -1
  5. package/cjs/components/attributes/editMode/AttributesPager/AttributesPager.js +1 -1
  6. package/cjs/components/attributes/editMode/ImageAttributesLine/ImageAttributesLine.d.ts +8 -2
  7. package/cjs/components/attributes/editMode/ImageAttributesLine/ImageAttributesLine.js +5 -5
  8. package/cjs/components/attributes/readMode/AttributesPager/AttributesPager.js +1 -1
  9. package/cjs/components/attributes/readMode/ImageAttributesLine/ImageAttributesLine.d.ts +7 -2
  10. package/cjs/components/attributes/readMode/ImageAttributesLine/ImageAttributesLine.js +2 -2
  11. package/cjs/components/history/HistoryMenuButton/HistoryMenuButton.js +46 -1
  12. package/cjs/components/history/HistoryMenuButton/MenuItemRenderer.d.ts +12 -0
  13. package/cjs/components/history/HistoryMenuButton/MenuItemRenderer.js +44 -0
  14. package/cjs/components/history/HistoryMenuButton/styles.d.ts +1 -1
  15. package/cjs/components/history/HistoryMenuButton/styles.js +13 -0
  16. package/cjs/components/index.d.ts +1 -0
  17. package/cjs/components/index.js +5 -3
  18. package/cjs/components/workflow/cards/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +6 -30
  19. package/cjs/components/workflow/components/AttributesChanges/AttributesChanges.d.ts +7 -4
  20. package/cjs/components/workflow/components/AttributesChanges/AttributesChanges.js +19 -9
  21. package/cjs/components/workflow/components/AttributesChanges/components/ChangeView/ChangeView.d.ts +4 -4
  22. package/cjs/components/workflow/components/AttributesChanges/components/ChangeView/styles.js +3 -9
  23. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.d.ts +2 -2
  24. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.js +4 -1
  25. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/styles.d.ts +1 -0
  26. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/styles.js +13 -0
  27. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.d.ts +2 -13
  28. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.js +25 -9
  29. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.d.ts +1 -1
  30. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.js +14 -2
  31. package/cjs/components/workflow/components/AttributesChanges/contexts/AttributesChangesContext.d.ts +1 -1
  32. package/cjs/components/workflow/components/AttributesChanges/helpers/attributesHelpers.d.ts +3 -2
  33. package/cjs/components/workflow/components/AttributesChanges/helpers/attributesHelpers.js +35 -6
  34. package/cjs/components/workflow/components/AttributesChanges/helpers/helpers.d.ts +4 -6
  35. package/cjs/components/workflow/components/AttributesChanges/helpers/helpers.js +4 -26
  36. package/cjs/components/workflow/components/AttributesChanges/helpers/mergeHelpers.d.ts +3 -2
  37. package/cjs/components/workflow/components/AttributesChanges/helpers/mergeHelpers.js +109 -28
  38. package/cjs/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.d.ts +3 -2
  39. package/cjs/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.js +4 -4
  40. package/cjs/components/workflow/components/AttributesChanges/types/diffTypes.d.ts +16 -0
  41. package/cjs/components/workflow/components/AttributesChanges/types/{DCRTypes.js → diffTypes.js} +0 -0
  42. package/cjs/components/workflow/components/LineDecorator/LineDecorator.d.ts +2 -1
  43. package/cjs/components/workflow/components/LineDecorator/LineDecorator.js +5 -2
  44. package/cjs/components/workflow/components/LineDecorator/styles.d.ts +1 -1
  45. package/cjs/components/workflow/components/LineDecorator/styles.js +4 -1
  46. package/cjs/components/workflow/{components/AttributesChanges/constants → constants}/operations.d.ts +0 -0
  47. package/cjs/components/workflow/{components/AttributesChanges/constants → constants}/operations.js +0 -0
  48. package/cjs/components/workflow/helpers/dcrHelpers.d.ts +7 -0
  49. package/cjs/components/workflow/helpers/dcrHelpers.js +48 -0
  50. package/cjs/components/workflow/hooks/useChangeRequest.d.ts +5 -0
  51. package/cjs/components/workflow/hooks/useChangeRequest.js +58 -0
  52. package/{esm/components/workflow/components/AttributesChanges/types/DCRTypes.d.ts → cjs/components/workflow/types/dcrTypes.d.ts} +22 -16
  53. package/cjs/components/workflow/types/dcrTypes.js +2 -0
  54. package/cjs/hooks/useMergeAllRequest.d.ts +2 -1
  55. package/cjs/hooks/useMergeAllRequest.js +6 -3
  56. package/esm/components/MergeButton/MergeButton.d.ts +1 -0
  57. package/esm/components/MergeButton/MergeButton.js +3 -2
  58. package/esm/components/attributes/ImageAttributesLine/ImageAttributesLine.d.ts +7 -2
  59. package/esm/components/attributes/ImageAttributesLine/ImageAttributesLine.js +15 -1
  60. package/esm/components/attributes/editMode/AttributesPager/AttributesPager.js +1 -1
  61. package/esm/components/attributes/editMode/ImageAttributesLine/ImageAttributesLine.d.ts +8 -2
  62. package/esm/components/attributes/editMode/ImageAttributesLine/ImageAttributesLine.js +6 -6
  63. package/esm/components/attributes/readMode/AttributesPager/AttributesPager.js +1 -1
  64. package/esm/components/attributes/readMode/ImageAttributesLine/ImageAttributesLine.d.ts +7 -2
  65. package/esm/components/attributes/readMode/ImageAttributesLine/ImageAttributesLine.js +2 -2
  66. package/esm/components/history/HistoryMenuButton/HistoryMenuButton.js +27 -1
  67. package/esm/components/history/HistoryMenuButton/MenuItemRenderer.d.ts +12 -0
  68. package/esm/components/history/HistoryMenuButton/MenuItemRenderer.js +20 -0
  69. package/esm/components/history/HistoryMenuButton/styles.d.ts +1 -1
  70. package/esm/components/history/HistoryMenuButton/styles.js +13 -0
  71. package/esm/components/index.d.ts +1 -0
  72. package/esm/components/index.js +1 -0
  73. package/esm/components/workflow/cards/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +6 -11
  74. package/esm/components/workflow/components/AttributesChanges/AttributesChanges.d.ts +7 -4
  75. package/esm/components/workflow/components/AttributesChanges/AttributesChanges.js +19 -9
  76. package/esm/components/workflow/components/AttributesChanges/components/ChangeView/ChangeView.d.ts +4 -4
  77. package/esm/components/workflow/components/AttributesChanges/components/ChangeView/styles.js +3 -9
  78. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.d.ts +2 -2
  79. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.js +4 -1
  80. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/styles.d.ts +1 -0
  81. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/styles.js +10 -0
  82. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.d.ts +2 -13
  83. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.js +26 -10
  84. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.d.ts +1 -1
  85. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.js +14 -2
  86. package/esm/components/workflow/components/AttributesChanges/contexts/AttributesChangesContext.d.ts +1 -1
  87. package/esm/components/workflow/components/AttributesChanges/helpers/attributesHelpers.d.ts +3 -2
  88. package/esm/components/workflow/components/AttributesChanges/helpers/attributesHelpers.js +35 -7
  89. package/esm/components/workflow/components/AttributesChanges/helpers/helpers.d.ts +4 -6
  90. package/esm/components/workflow/components/AttributesChanges/helpers/helpers.js +4 -25
  91. package/esm/components/workflow/components/AttributesChanges/helpers/mergeHelpers.d.ts +3 -2
  92. package/esm/components/workflow/components/AttributesChanges/helpers/mergeHelpers.js +112 -31
  93. package/esm/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.d.ts +3 -2
  94. package/esm/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.js +4 -4
  95. package/esm/components/workflow/components/AttributesChanges/types/diffTypes.d.ts +16 -0
  96. package/esm/components/workflow/components/AttributesChanges/types/{DCRTypes.js → diffTypes.js} +0 -0
  97. package/esm/components/workflow/components/LineDecorator/LineDecorator.d.ts +2 -1
  98. package/esm/components/workflow/components/LineDecorator/LineDecorator.js +5 -2
  99. package/esm/components/workflow/components/LineDecorator/styles.d.ts +1 -1
  100. package/esm/components/workflow/components/LineDecorator/styles.js +4 -1
  101. package/esm/components/workflow/{components/AttributesChanges/constants → constants}/operations.d.ts +0 -0
  102. package/esm/components/workflow/{components/AttributesChanges/constants → constants}/operations.js +0 -0
  103. package/esm/components/workflow/helpers/dcrHelpers.d.ts +7 -0
  104. package/esm/components/workflow/helpers/dcrHelpers.js +43 -0
  105. package/esm/components/workflow/hooks/useChangeRequest.d.ts +5 -0
  106. package/esm/components/workflow/hooks/useChangeRequest.js +54 -0
  107. package/{cjs/components/workflow/components/AttributesChanges/types/DCRTypes.d.ts → esm/components/workflow/types/dcrTypes.d.ts} +22 -16
  108. package/esm/components/workflow/types/dcrTypes.js +1 -0
  109. package/esm/hooks/useMergeAllRequest.d.ts +2 -1
  110. package/esm/hooks/useMergeAllRequest.js +6 -3
  111. package/package.json +3 -3
@@ -0,0 +1,43 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { isEntityUri, isRelationUri } from '@reltio/mdm-sdk';
13
+ import { allPass, concat, curry, equals, filter, keys, map, pathOr, pipe, prop, uniq } from 'ramda';
14
+ export var getEntitiesObjects = filter(pipe(prop('uri'), isEntityUri));
15
+ export var getRelationsObjects = filter(pipe(prop('uri'), isRelationUri));
16
+ var getRelations = function (objectsWithChanges, entityUri) {
17
+ return filter(allPass([pipe(prop('uri'), isRelationUri), pipe(prop('startObjectUri'), equals(entityUri))]))(objectsWithChanges);
18
+ };
19
+ export var extractObjectsFromChangeRequest = function (changes, objectsInfo) {
20
+ var getChange = function (key) { return prop([key], changes); };
21
+ return pipe(keys, filter(getChange), map(function (key) { return (__assign(__assign({}, objectsInfo[key]), { uri: key })); }))(objectsInfo);
22
+ };
23
+ export var createEntityRelationsObjectByEntity = curry(function (objectsWithChanges, entity) {
24
+ return {
25
+ entity: entity,
26
+ relations: getRelations(objectsWithChanges, entity.uri)
27
+ };
28
+ });
29
+ export var createEntityRelationsObjectByRelation = curry(function (objectsInfo, relation) {
30
+ var entity = objectsInfo[relation.startObjectUri];
31
+ var relations = [relation];
32
+ return entity ? { entity: __assign(__assign({}, entity), { uri: relation.startObjectUri }), relations: relations } : { relations: relations };
33
+ });
34
+ export var concatEntityRelationsObjects = function (acc, object) {
35
+ var entity = object.entity, relations = object.relations;
36
+ var entityUri = entity.uri;
37
+ var mergedRelations = pipe(pathOr([], [entityUri, 'relations']), concat(relations), uniq)(acc);
38
+ acc[entityUri] = {
39
+ entity: entity,
40
+ relations: mergedRelations
41
+ };
42
+ return acc;
43
+ };
@@ -0,0 +1,5 @@
1
+ import { GroupedObjectsInfo, ChangeRequest } from '../types/dcrTypes';
2
+ export declare const useChangeRequest: (dcrUri: string) => {
3
+ dcr: ChangeRequest;
4
+ groupedObjects: GroupedObjectsInfo[];
5
+ };
@@ -0,0 +1,54 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { useCallback, useEffect, useState } from 'react';
13
+ import { flatten, has, isEmpty, map, partition, path, pipe, reduce, values } from 'ramda';
14
+ import { getDataChangeRequest, getEntitiesByUris } from '@reltio/mdm-sdk';
15
+ import { useSafePromise } from '../../../hooks';
16
+ import { concatEntityRelationsObjects, createEntityRelationsObjectByEntity, createEntityRelationsObjectByRelation, extractObjectsFromChangeRequest, getEntitiesObjects, getRelationsObjects } from '../helpers/dcrHelpers';
17
+ import { showWorkflowError } from '../helpers/errors';
18
+ export var useChangeRequest = function (dcrUri) {
19
+ var _a = useState([]), groupedObjects = _a[0], setGroupedObjects = _a[1];
20
+ var _b = useState(null), dcr = _b[0], setDcr = _b[1];
21
+ var safePromise = useSafePromise();
22
+ var requestEntities = useCallback(function (entityUris) {
23
+ if (isEmpty(entityUris)) {
24
+ return Promise.resolve([]);
25
+ }
26
+ return safePromise(getEntitiesByUris(entityUris, { searchOptions: 'ovOnly', defaultMaxValues: 1 }));
27
+ }, []); // eslint-disable-line
28
+ useEffect(function () {
29
+ getDataChangeRequest(dcrUri)
30
+ .then(function (dcr) {
31
+ var changes = dcr.changes, objectsInfo = dcr.objectsInfo;
32
+ var objectsWithChanges = extractObjectsFromChangeRequest(changes, objectsInfo);
33
+ var entityObjectsWithRelations = pipe(getEntitiesObjects, map(createEntityRelationsObjectByEntity(objectsWithChanges)))(objectsWithChanges);
34
+ var relationsObjects = pipe(getRelationsObjects, map(createEntityRelationsObjectByRelation(objectsInfo)))(objectsWithChanges);
35
+ var _a = partition(has('entity'), relationsObjects), relationsObjectsWithEntity = _a[0], relationsObjectsWithoutEntity = _a[1];
36
+ var entityUris = relationsObjectsWithoutEntity.map(path(['relations', 0, 'startObjectUri']));
37
+ requestEntities(entityUris)
38
+ .then(function (entities) {
39
+ var relationsObjectsWithRequestedEntities = relationsObjectsWithoutEntity.map(function (relationsObject, index) {
40
+ return __assign(__assign({}, relationsObject), { entity: entities[index] });
41
+ });
42
+ pipe(flatten, reduce(concatEntityRelationsObjects, {}), values, setGroupedObjects)([
43
+ entityObjectsWithRelations,
44
+ relationsObjectsWithEntity,
45
+ relationsObjectsWithRequestedEntities
46
+ ]);
47
+ })
48
+ .catch(showWorkflowError);
49
+ setDcr(dcr);
50
+ })
51
+ .catch(showWorkflowError);
52
+ }, [dcrUri, requestEntities]);
53
+ return { dcr: dcr, groupedObjects: groupedObjects };
54
+ };
@@ -1,10 +1,26 @@
1
- import { Crosswalk, NestedAttributeValue, ReferenceAttributeValue, SimpleAttributeValue } from '@reltio/mdm-sdk';
1
+ import { Crosswalk, Entity, NestedAttributeValue, ReferenceAttributeValue, Relation, SimpleAttributeValue } from '@reltio/mdm-sdk';
2
2
  import { DCRTypes } from '../constants/operations';
3
+ export declare type ChangeRequest = {
4
+ changes: DCRChanges;
5
+ createdBy: string;
6
+ createdTime: number;
7
+ objectsInfo: DCRObjectsInfo;
8
+ state: string;
9
+ type: string;
10
+ updatedBy: string;
11
+ updatedTime: number;
12
+ uri: string;
13
+ };
14
+ export declare type GroupedObjectsInfo = {
15
+ entity: EntityInfo;
16
+ relations: RelationInfo[];
17
+ };
3
18
  export declare type EntityInfo = {
4
19
  isExist: boolean;
5
20
  label: string;
6
21
  secondaryLabel: string;
7
22
  type: string;
23
+ uri?: string;
8
24
  };
9
25
  export declare type RelationInfo = {
10
26
  type: string;
@@ -13,11 +29,15 @@ export declare type RelationInfo = {
13
29
  endObjectLabel: string;
14
30
  endObjectUri: string;
15
31
  isExist: boolean;
32
+ uri?: string;
16
33
  };
17
34
  export declare type DCRObjectInfo = EntityInfo | RelationInfo;
18
35
  export declare type DCRObjectsInfo = {
19
36
  [key: string]: DCRObjectInfo;
20
37
  };
38
+ export declare type DCRAttributes = {
39
+ [attributeName: string]: (ChangeValue | DCRChange)[];
40
+ };
21
41
  export declare type Value = DCRAttributes | DCRChange | string | boolean | number;
22
42
  export declare type DCRAttributeValue = Omit<SimpleAttributeValue | NestedAttributeValue | ReferenceAttributeValue, 'uri' | 'value'> & {
23
43
  value: Value;
@@ -27,10 +47,7 @@ export declare type DCRAttributeValue = Omit<SimpleAttributeValue | NestedAttrib
27
47
  };
28
48
  uri?: string;
29
49
  };
30
- export declare type DCRAttributes = {
31
- [attributeName: string]: DCRAttributeValue[];
32
- };
33
- export declare type ChangeValue = DCRAttributeValue | string[];
50
+ export declare type ChangeValue = DCRAttributeValue | string[] | Entity | Relation;
34
51
  export declare type DCRChange = {
35
52
  attributePath?: string;
36
53
  attributeType?: string;
@@ -50,14 +67,3 @@ export declare type DCRChange = {
50
67
  export declare type DCRChanges = {
51
68
  [key: string]: DCRChange[];
52
69
  };
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
- };
@@ -0,0 +1 @@
1
+ export {};
@@ -4,8 +4,9 @@ declare type Props = {
4
4
  entity: Entity;
5
5
  onFinishRequest?: () => void;
6
6
  onStartRequest?: () => void;
7
+ onError?: () => void;
7
8
  };
8
- export declare const useMergeAllRequest: ({ entities, entity, onFinishRequest, onStartRequest }: Props) => {
9
+ export declare const useMergeAllRequest: ({ entities, entity, onFinishRequest, onStartRequest, onError }: Props) => {
9
10
  isPending: boolean;
10
11
  sendMergeAllRequest: () => void;
11
12
  };
@@ -2,18 +2,21 @@ import { useCallback, useState } from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import mdmModule from '@reltio/mdm-module';
4
4
  import { isDataTenantEntity, mergeCustomerTenantEntityWithMixedEntities, mergeDataTenantEntity } from '@reltio/mdm-sdk';
5
+ import { noop } from '../core';
5
6
  export var useMergeAllRequest = function (_a) {
6
- var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest;
7
+ var entities = _a.entities, entity = _a.entity, onFinishRequest = _a.onFinishRequest, onStartRequest = _a.onStartRequest, _b = _a.onError, onError = _b === void 0 ? noop : _b;
7
8
  var tenant = useSelector(mdmModule.selectors.getTenant);
8
9
  var dtssPath = useSelector(mdmModule.selectors.getDtssPath);
9
- var _b = useState(false), isPending = _b[0], setIsPending = _b[1];
10
+ var _c = useState(false), isPending = _c[0], setIsPending = _c[1];
10
11
  var sendMergeAllRequest = useCallback(function () {
11
12
  onStartRequest === null || onStartRequest === void 0 ? void 0 : onStartRequest();
12
13
  setIsPending(true);
13
14
  var params = { dtssPath: dtssPath, customerTenant: tenant, entity: entity, entities: entities };
14
15
  (isDataTenantEntity(entity)
15
16
  ? mergeDataTenantEntity(params)
16
- : mergeCustomerTenantEntityWithMixedEntities(params)).finally(function () {
17
+ : mergeCustomerTenantEntityWithMixedEntities(params))
18
+ .catch(onError)
19
+ .finally(function () {
17
20
  onFinishRequest === null || onFinishRequest === void 0 ? void 0 : onFinishRequest();
18
21
  setIsPending(false);
19
22
  });
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.910",
3
+ "version": "1.4.914",
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.910",
11
- "@reltio/mdm-sdk": "^1.4.910",
10
+ "@reltio/mdm-module": "^1.4.914",
11
+ "@reltio/mdm-sdk": "^1.4.914",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",