@reltio/components 1.4.968 → 1.4.971

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.
@@ -24,6 +24,7 @@ var ramda_1 = require("ramda");
24
24
  var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
25
25
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
26
26
  var getParents = function (state, valueUri, node) {
27
+ var _a;
27
28
  var parentNodesValues = node.parents.flatMap(function (type) {
28
29
  var parentNode = mdm_module_1.default.selectors.getDependentLookupsStructureNode(state, type);
29
30
  return parentNode.values.map(function (value) { return (__assign(__assign({}, value), { type: type, dependentLookupCode: parentNode.attrType.dependentLookupCode })); });
@@ -31,6 +32,7 @@ var getParents = function (state, valueUri, node) {
31
32
  var modifiedEntities = mdm_module_1.default.selectors.getModifiedEntities(state);
32
33
  var entityUri = mdm_module_1.default.selectors.getEntityUri(state);
33
34
  var connections = mdm_module_1.default.selectors.getAllRelationsToAddAndEdit(state);
35
+ var metadata = mdm_module_1.default.selectors.getMetadata(state);
34
36
  var ownParentNodesValues = mdm_sdk_1.filterRelatedParentValuesForDependentLookupValueUri({
35
37
  parentValues: parentNodesValues,
36
38
  valueUri: valueUri,
@@ -38,8 +40,16 @@ var getParents = function (state, valueUri, node) {
38
40
  modifiedEntities: modifiedEntities,
39
41
  connections: connections
40
42
  });
41
- var neededParentsAttributeTypes = node.parents.map(function (type) {
42
- var parentNode = mdm_module_1.default.selectors.getDependentLookupsStructureNode(state, type);
43
+ var possibleParentBaseTypeUris = ramda_1.pipe(mdm_sdk_1.getAttributeValuePath, ramda_1.defaultTo([]), ramda_1.map(ramda_1.pipe(ramda_1.path(['valueType', 'uri']), mdm_sdk_1.getBaseUri)), ramda_1.prepend((_a = modifiedEntities[entityUri]) === null || _a === void 0 ? void 0 : _a.type), ramda_1.reject(ramda_1.isNil), ramda_1.uniq)({
44
+ entityUri: entityUri,
45
+ entitiesMap: modifiedEntities,
46
+ connections: connections,
47
+ metadata: metadata
48
+ }, valueUri);
49
+ var neededParentsAttributeTypes = node.parents
50
+ .filter(function (typeUri) { return possibleParentBaseTypeUris.some(mdm_sdk_1.areOneHierarchyUris(typeUri)); })
51
+ .map(function (typeUri) {
52
+ var parentNode = mdm_module_1.default.selectors.getDependentLookupsStructureNode(state, typeUri);
43
53
  return parentNode.attrType;
44
54
  });
45
55
  var missedParentsAttributeTypes = neededParentsAttributeTypes.filter(function (attrType) { return !ownParentNodesValues.some(function (_a) {
@@ -168,7 +168,7 @@ var useCollaboration = function (_a) {
168
168
  }
169
169
  setCommentsMap(function (prevCommentsMap) {
170
170
  var _a;
171
- return (__assign(__assign({}, prevCommentsMap), (_a = {}, _a[uri] = prevCommentsMap[uri].map(function (comment) {
171
+ return (__assign(__assign({}, prevCommentsMap), (_a = {}, _a[uri] = (prevCommentsMap[uri] || []).map(function (comment) {
172
172
  if (comment.commentId === commentId) {
173
173
  return __assign(__assign({}, comment), { status: newStatus, replies: comment.replies + 1 });
174
174
  }
@@ -10,6 +10,7 @@ declare type Props = {
10
10
  config: {
11
11
  id: string;
12
12
  content: Record<string, unknown>;
13
+ suggested?: Record<string, unknown>[] | Record<string, unknown>;
13
14
  };
14
15
  entity: Entity;
15
16
  relationActivityFilter?: ActivityFilter;
@@ -38,6 +38,7 @@ var mdm_module_1 = __importStar(require("@reltio/mdm-module"));
38
38
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
39
39
  var useSafePromise_1 = require("./useSafePromise");
40
40
  var usePrevious_1 = require("./usePrevious");
41
+ var buildSuggestedIds = ramda_1.when(ramda_1.identity, ramda_1.pipe(mdm_sdk_1.wrapInArrayIfNeeded, ramda_1.length, ramda_1.times(function (n) { return n + 1; })));
41
42
  var useRelationsLoader = function (_a) {
42
43
  var sorting = _a.sorting, filter = _a.filter, page = _a.page, rowsPerPage = _a.rowsPerPage, config = _a.config, entity = _a.entity, relationActivityFilter = _a.relationActivityFilter, mode = _a.mode;
43
44
  var _b = react_1.useState(false), isLoading = _b[0], setIsLoading = _b[1];
@@ -46,12 +47,16 @@ var useRelationsLoader = function (_a) {
46
47
  var dtssPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getDtssPath);
47
48
  var _c = react_redux_1.useSelector(mdm_module_1.default.selectors.getGlobalSearchRequestOptions) || {}, activityFilter = _c.activityFilter, globalFilter = _c.globalFilter;
48
49
  var safePromise = useSafePromise_1.useSafePromise();
50
+ var suggested = config.suggested;
49
51
  var loadRelations = react_1.useCallback(function () {
50
52
  if (entity === null || entity === void 0 ? void 0 : entity.uri) {
51
53
  var requestConfig_1 = __assign(__assign({}, config.content), { sortBy: sorting === null || sorting === void 0 ? void 0 : sorting.field, order: sorting === null || sorting === void 0 ? void 0 : sorting.order, returnDates: true, returnObjects: true, activeness: {
52
54
  relation: relationActivityFilter || mdm_sdk_1.ActivityFilter.ALL,
53
55
  entity: activityFilter
54
- }, max: rowsPerPage, offset: page * rowsPerPage, filter: mdm_sdk_1.addGlobalFilterToQuery(globalFilter, filter) || undefined });
56
+ }, max: rowsPerPage, offset: page * rowsPerPage, filter: mdm_sdk_1.addGlobalFilterToQuery(globalFilter, filter) || undefined, suggested: buildSuggestedIds(suggested) });
57
+ var configs_1 = [requestConfig_1].concat(ramda_1.ifElse(ramda_1.identity, ramda_1.pipe(mdm_sdk_1.wrapInArrayIfNeeded, function (suggested) {
58
+ return suggested.map(function (config, i) { return (__assign(__assign({}, config), { id: requestConfig_1.suggested[i] })); });
59
+ }), ramda_1.always([]))(suggested));
55
60
  var request = ramda_1.cond([
56
61
  [ramda_1.pipe(ramda_1.prop('uri'), mdm_sdk_1.isTempUri), function () { return Promise.resolve([{ total: 0 }]); }],
57
62
  [
@@ -59,14 +64,14 @@ var useRelationsLoader = function (_a) {
59
64
  function (entity) {
60
65
  return mdm_sdk_1.getRelationsForDataTenantEntity({
61
66
  entityUri: entity.uri,
62
- configs: [requestConfig_1],
67
+ configs: configs_1,
63
68
  customerTenant: tenant,
64
69
  dataTenant: entity.dataTenant,
65
70
  dtssPath: dtssPath
66
71
  });
67
72
  }
68
73
  ],
69
- [ramda_1.T, function (entity) { return mdm_sdk_1.getRelationsForEntity(entity.uri, [requestConfig_1]); }]
74
+ [ramda_1.T, function (entity) { return mdm_sdk_1.getRelationsForEntity(entity.uri, configs_1); }]
70
75
  ]);
71
76
  setIsLoading(true);
72
77
  safePromise(request(entity))
@@ -14,10 +14,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
14
14
  to[j] = from[i];
15
15
  return to;
16
16
  };
17
- import { uniq } from 'ramda';
17
+ import { defaultTo, isNil, map, path, pipe, prepend, reject, uniq } from 'ramda';
18
18
  import mdmModule from '@reltio/mdm-module';
19
- import { filterRelatedParentValuesForDependentLookupValueUri } from '@reltio/mdm-sdk';
19
+ import { areOneHierarchyUris, filterRelatedParentValuesForDependentLookupValueUri, getAttributeValuePath, getBaseUri } from '@reltio/mdm-sdk';
20
20
  export var getParents = function (state, valueUri, node) {
21
+ var _a;
21
22
  var parentNodesValues = node.parents.flatMap(function (type) {
22
23
  var parentNode = mdmModule.selectors.getDependentLookupsStructureNode(state, type);
23
24
  return parentNode.values.map(function (value) { return (__assign(__assign({}, value), { type: type, dependentLookupCode: parentNode.attrType.dependentLookupCode })); });
@@ -25,6 +26,7 @@ export var getParents = function (state, valueUri, node) {
25
26
  var modifiedEntities = mdmModule.selectors.getModifiedEntities(state);
26
27
  var entityUri = mdmModule.selectors.getEntityUri(state);
27
28
  var connections = mdmModule.selectors.getAllRelationsToAddAndEdit(state);
29
+ var metadata = mdmModule.selectors.getMetadata(state);
28
30
  var ownParentNodesValues = filterRelatedParentValuesForDependentLookupValueUri({
29
31
  parentValues: parentNodesValues,
30
32
  valueUri: valueUri,
@@ -32,8 +34,16 @@ export var getParents = function (state, valueUri, node) {
32
34
  modifiedEntities: modifiedEntities,
33
35
  connections: connections
34
36
  });
35
- var neededParentsAttributeTypes = node.parents.map(function (type) {
36
- var parentNode = mdmModule.selectors.getDependentLookupsStructureNode(state, type);
37
+ var possibleParentBaseTypeUris = pipe(getAttributeValuePath, defaultTo([]), map(pipe(path(['valueType', 'uri']), getBaseUri)), prepend((_a = modifiedEntities[entityUri]) === null || _a === void 0 ? void 0 : _a.type), reject(isNil), uniq)({
38
+ entityUri: entityUri,
39
+ entitiesMap: modifiedEntities,
40
+ connections: connections,
41
+ metadata: metadata
42
+ }, valueUri);
43
+ var neededParentsAttributeTypes = node.parents
44
+ .filter(function (typeUri) { return possibleParentBaseTypeUris.some(areOneHierarchyUris(typeUri)); })
45
+ .map(function (typeUri) {
46
+ var parentNode = mdmModule.selectors.getDependentLookupsStructureNode(state, typeUri);
37
47
  return parentNode.attrType;
38
48
  });
39
49
  var missedParentsAttributeTypes = neededParentsAttributeTypes.filter(function (attrType) { return !ownParentNodesValues.some(function (_a) {
@@ -162,7 +162,7 @@ export var useCollaboration = function (_a) {
162
162
  }
163
163
  setCommentsMap(function (prevCommentsMap) {
164
164
  var _a;
165
- return (__assign(__assign({}, prevCommentsMap), (_a = {}, _a[uri] = prevCommentsMap[uri].map(function (comment) {
165
+ return (__assign(__assign({}, prevCommentsMap), (_a = {}, _a[uri] = (prevCommentsMap[uri] || []).map(function (comment) {
166
166
  if (comment.commentId === commentId) {
167
167
  return __assign(__assign({}, comment), { status: newStatus, replies: comment.replies + 1 });
168
168
  }
@@ -10,6 +10,7 @@ declare type Props = {
10
10
  config: {
11
11
  id: string;
12
12
  content: Record<string, unknown>;
13
+ suggested?: Record<string, unknown>[] | Record<string, unknown>;
13
14
  };
14
15
  entity: Entity;
15
16
  relationActivityFilter?: ActivityFilter;
@@ -11,11 +11,12 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { useCallback, useEffect, useRef, useState } from 'react';
13
13
  import { useDispatch, useSelector } from 'react-redux';
14
- import { cond, pipe, prop, T } from 'ramda';
14
+ import { cond, pipe, prop, T, when, identity, times, length, ifElse, always } from 'ramda';
15
15
  import mdm, { profile } from '@reltio/mdm-module';
16
- import { ActivityFilter, addGlobalFilterToQuery, getRelationsForDataTenantEntity, getRelationsForEntity, isDataTenantEntity, isTempUri, Mode } from '@reltio/mdm-sdk';
16
+ import { ActivityFilter, addGlobalFilterToQuery, getRelationsForDataTenantEntity, getRelationsForEntity, isDataTenantEntity, isTempUri, Mode, wrapInArrayIfNeeded } from '@reltio/mdm-sdk';
17
17
  import { useSafePromise } from './useSafePromise';
18
18
  import { usePrevious } from './usePrevious';
19
+ var buildSuggestedIds = when(identity, pipe(wrapInArrayIfNeeded, length, times(function (n) { return n + 1; })));
19
20
  export var useRelationsLoader = function (_a) {
20
21
  var sorting = _a.sorting, filter = _a.filter, page = _a.page, rowsPerPage = _a.rowsPerPage, config = _a.config, entity = _a.entity, relationActivityFilter = _a.relationActivityFilter, mode = _a.mode;
21
22
  var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
@@ -24,12 +25,16 @@ export var useRelationsLoader = function (_a) {
24
25
  var dtssPath = useSelector(mdm.selectors.getDtssPath);
25
26
  var _c = useSelector(mdm.selectors.getGlobalSearchRequestOptions) || {}, activityFilter = _c.activityFilter, globalFilter = _c.globalFilter;
26
27
  var safePromise = useSafePromise();
28
+ var suggested = config.suggested;
27
29
  var loadRelations = useCallback(function () {
28
30
  if (entity === null || entity === void 0 ? void 0 : entity.uri) {
29
31
  var requestConfig_1 = __assign(__assign({}, config.content), { sortBy: sorting === null || sorting === void 0 ? void 0 : sorting.field, order: sorting === null || sorting === void 0 ? void 0 : sorting.order, returnDates: true, returnObjects: true, activeness: {
30
32
  relation: relationActivityFilter || ActivityFilter.ALL,
31
33
  entity: activityFilter
32
- }, max: rowsPerPage, offset: page * rowsPerPage, filter: addGlobalFilterToQuery(globalFilter, filter) || undefined });
34
+ }, max: rowsPerPage, offset: page * rowsPerPage, filter: addGlobalFilterToQuery(globalFilter, filter) || undefined, suggested: buildSuggestedIds(suggested) });
35
+ var configs_1 = [requestConfig_1].concat(ifElse(identity, pipe(wrapInArrayIfNeeded, function (suggested) {
36
+ return suggested.map(function (config, i) { return (__assign(__assign({}, config), { id: requestConfig_1.suggested[i] })); });
37
+ }), always([]))(suggested));
33
38
  var request = cond([
34
39
  [pipe(prop('uri'), isTempUri), function () { return Promise.resolve([{ total: 0 }]); }],
35
40
  [
@@ -37,14 +42,14 @@ export var useRelationsLoader = function (_a) {
37
42
  function (entity) {
38
43
  return getRelationsForDataTenantEntity({
39
44
  entityUri: entity.uri,
40
- configs: [requestConfig_1],
45
+ configs: configs_1,
41
46
  customerTenant: tenant,
42
47
  dataTenant: entity.dataTenant,
43
48
  dtssPath: dtssPath
44
49
  });
45
50
  }
46
51
  ],
47
- [T, function (entity) { return getRelationsForEntity(entity.uri, [requestConfig_1]); }]
52
+ [T, function (entity) { return getRelationsForEntity(entity.uri, configs_1); }]
48
53
  ]);
49
54
  setIsLoading(true);
50
55
  safePromise(request(entity))
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.968",
3
+ "version": "1.4.971",
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.968",
11
- "@reltio/mdm-sdk": "^1.4.968",
10
+ "@reltio/mdm-module": "^1.4.971",
11
+ "@reltio/mdm-sdk": "^1.4.971",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",