@reltio/components 1.4.911 → 1.4.912

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 (73) hide show
  1. package/cjs/components/workflow/cards/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +6 -30
  2. package/cjs/components/workflow/components/AttributesChanges/AttributesChanges.d.ts +7 -4
  3. package/cjs/components/workflow/components/AttributesChanges/AttributesChanges.js +19 -9
  4. package/cjs/components/workflow/components/AttributesChanges/components/ChangeView/ChangeView.d.ts +4 -4
  5. package/cjs/components/workflow/components/AttributesChanges/components/ChangeView/styles.js +3 -9
  6. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.d.ts +2 -2
  7. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.js +4 -1
  8. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/styles.d.ts +1 -0
  9. package/cjs/components/workflow/components/AttributesChanges/components/DCRChangesList/styles.js +13 -0
  10. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.d.ts +2 -13
  11. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.js +25 -9
  12. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.d.ts +1 -1
  13. package/cjs/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.js +14 -2
  14. package/cjs/components/workflow/components/AttributesChanges/contexts/AttributesChangesContext.d.ts +1 -1
  15. package/cjs/components/workflow/components/AttributesChanges/helpers/attributesHelpers.d.ts +3 -2
  16. package/cjs/components/workflow/components/AttributesChanges/helpers/attributesHelpers.js +35 -6
  17. package/cjs/components/workflow/components/AttributesChanges/helpers/helpers.d.ts +4 -6
  18. package/cjs/components/workflow/components/AttributesChanges/helpers/helpers.js +4 -26
  19. package/cjs/components/workflow/components/AttributesChanges/helpers/mergeHelpers.d.ts +3 -2
  20. package/cjs/components/workflow/components/AttributesChanges/helpers/mergeHelpers.js +109 -28
  21. package/cjs/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.d.ts +3 -2
  22. package/cjs/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.js +4 -4
  23. package/cjs/components/workflow/components/AttributesChanges/types/diffTypes.d.ts +16 -0
  24. package/cjs/components/workflow/components/AttributesChanges/types/{DCRTypes.js → diffTypes.js} +0 -0
  25. package/cjs/components/workflow/components/LineDecorator/LineDecorator.d.ts +2 -1
  26. package/cjs/components/workflow/components/LineDecorator/LineDecorator.js +5 -2
  27. package/cjs/components/workflow/components/LineDecorator/styles.d.ts +1 -1
  28. package/cjs/components/workflow/components/LineDecorator/styles.js +4 -1
  29. package/cjs/components/workflow/{components/AttributesChanges/constants → constants}/operations.d.ts +0 -0
  30. package/cjs/components/workflow/{components/AttributesChanges/constants → constants}/operations.js +0 -0
  31. package/cjs/components/workflow/helpers/dcrHelpers.d.ts +7 -0
  32. package/cjs/components/workflow/helpers/dcrHelpers.js +48 -0
  33. package/cjs/components/workflow/hooks/useChangeRequest.d.ts +5 -0
  34. package/cjs/components/workflow/hooks/useChangeRequest.js +58 -0
  35. package/{esm/components/workflow/components/AttributesChanges/types/DCRTypes.d.ts → cjs/components/workflow/types/dcrTypes.d.ts} +22 -16
  36. package/cjs/components/workflow/types/dcrTypes.js +2 -0
  37. package/esm/components/workflow/cards/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +6 -11
  38. package/esm/components/workflow/components/AttributesChanges/AttributesChanges.d.ts +7 -4
  39. package/esm/components/workflow/components/AttributesChanges/AttributesChanges.js +19 -9
  40. package/esm/components/workflow/components/AttributesChanges/components/ChangeView/ChangeView.d.ts +4 -4
  41. package/esm/components/workflow/components/AttributesChanges/components/ChangeView/styles.js +3 -9
  42. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.d.ts +2 -2
  43. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/DCRChangesList.js +4 -1
  44. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/styles.d.ts +1 -0
  45. package/esm/components/workflow/components/AttributesChanges/components/DCRChangesList/styles.js +10 -0
  46. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.d.ts +2 -13
  47. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/DiffRenderer.js +26 -10
  48. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.d.ts +1 -1
  49. package/esm/components/workflow/components/AttributesChanges/components/DiffRenderer/styles.js +14 -2
  50. package/esm/components/workflow/components/AttributesChanges/contexts/AttributesChangesContext.d.ts +1 -1
  51. package/esm/components/workflow/components/AttributesChanges/helpers/attributesHelpers.d.ts +3 -2
  52. package/esm/components/workflow/components/AttributesChanges/helpers/attributesHelpers.js +35 -7
  53. package/esm/components/workflow/components/AttributesChanges/helpers/helpers.d.ts +4 -6
  54. package/esm/components/workflow/components/AttributesChanges/helpers/helpers.js +4 -25
  55. package/esm/components/workflow/components/AttributesChanges/helpers/mergeHelpers.d.ts +3 -2
  56. package/esm/components/workflow/components/AttributesChanges/helpers/mergeHelpers.js +112 -31
  57. package/esm/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.d.ts +3 -2
  58. package/esm/components/workflow/components/AttributesChanges/hooks/useCollapsibleList.js +4 -4
  59. package/esm/components/workflow/components/AttributesChanges/types/diffTypes.d.ts +16 -0
  60. package/esm/components/workflow/components/AttributesChanges/types/{DCRTypes.js → diffTypes.js} +0 -0
  61. package/esm/components/workflow/components/LineDecorator/LineDecorator.d.ts +2 -1
  62. package/esm/components/workflow/components/LineDecorator/LineDecorator.js +5 -2
  63. package/esm/components/workflow/components/LineDecorator/styles.d.ts +1 -1
  64. package/esm/components/workflow/components/LineDecorator/styles.js +4 -1
  65. package/esm/components/workflow/{components/AttributesChanges/constants → constants}/operations.d.ts +0 -0
  66. package/esm/components/workflow/{components/AttributesChanges/constants → constants}/operations.js +0 -0
  67. package/esm/components/workflow/helpers/dcrHelpers.d.ts +7 -0
  68. package/esm/components/workflow/helpers/dcrHelpers.js +43 -0
  69. package/esm/components/workflow/hooks/useChangeRequest.d.ts +5 -0
  70. package/esm/components/workflow/hooks/useChangeRequest.js +54 -0
  71. package/{cjs/components/workflow/components/AttributesChanges/types/DCRTypes.d.ts → esm/components/workflow/types/dcrTypes.d.ts} +22 -16
  72. package/esm/components/workflow/types/dcrTypes.js +1 -0
  73. 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 {};
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.911",
3
+ "version": "1.4.912",
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.911",
11
- "@reltio/mdm-sdk": "^1.4.911",
10
+ "@reltio/mdm-module": "^1.4.912",
11
+ "@reltio/mdm-sdk": "^1.4.912",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",