@reltio/components 1.4.1329 → 1.4.1330

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.
@@ -1,4 +1,4 @@
1
- import { ActivityFilter, Entity, Mode } from '@reltio/mdm-sdk';
1
+ import { ActivityFilter, Entity, Mode, RelationsViewConfig } from '@reltio/mdm-sdk';
2
2
  declare type Props = {
3
3
  sorting?: {
4
4
  field: string;
@@ -7,11 +7,7 @@ declare type Props = {
7
7
  filter?: string;
8
8
  page: number;
9
9
  rowsPerPage: number;
10
- config: {
11
- id: string;
12
- content: Record<string, unknown>;
13
- suggested?: Record<string, unknown>[] | Record<string, unknown>;
14
- };
10
+ config: Pick<RelationsViewConfig, 'suggested' | 'content' | 'id'>;
15
11
  entity: Entity;
16
12
  relationActivityFilter?: ActivityFilter;
17
13
  mode: Mode;
@@ -48,16 +48,28 @@ var useRelationsLoader = function (_a) {
48
48
  var _c = (0, react_1.useState)(false), isLoading = _c[0], setIsLoading = _c[1];
49
49
  var dispatch = (0, react_redux_1.useDispatch)();
50
50
  var tenant = (0, react_redux_1.useSelector)(mdm_module_1.default.selectors.getTenant);
51
+ var metadata = (0, react_redux_1.useSelector)(mdm_module_1.default.selectors.getMetadata);
51
52
  var dtssPath = (0, react_redux_1.useSelector)(mdm_module_1.default.selectors.getDtssPath);
52
53
  var _d = (0, react_redux_1.useSelector)(mdm_module_1.default.selectors.getGlobalSearchRequestOptions) || {}, activityFilter = _d.activityFilter, globalFilter = _d.globalFilter;
53
54
  var safePromise = (0, useSafePromise_1.useSafePromise)();
55
+ var processContent = function (content) {
56
+ var getUri = (0, ramda_1.when)(mdm_sdk_1.isObject, (0, ramda_1.prop)('uri'));
57
+ var filterRelation = (0, ramda_1.pipe)(getUri, (0, mdm_sdk_1.isAvailableRelationTypeUri)(metadata));
58
+ return (0, ramda_1.evolve)({
59
+ entityTypes: (0, ramda_1.filter)((0, mdm_sdk_1.isAvailableEntityTypeUri)(metadata)),
60
+ inRelations: (0, ramda_1.filter)(filterRelation),
61
+ outRelations: (0, ramda_1.filter)(filterRelation),
62
+ nextEntry: processContent
63
+ })(content);
64
+ };
54
65
  var suggested = config.suggested;
55
66
  var options = (0, react_1.useMemo)(function () { return ({
56
67
  searchByOv: searchByOv
57
68
  }); }, [searchByOv]);
58
69
  var loadRelations = (0, react_1.useCallback)(function () {
59
70
  if (entity === null || entity === void 0 ? void 0 : entity.uri) {
60
- 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: {
71
+ var processedConfig = processContent(config.content);
72
+ var requestConfig_1 = __assign(__assign({}, processedConfig), { 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: {
61
73
  relation: relationActivityFilter || mdm_sdk_1.ActivityFilter.ALL,
62
74
  entity: activityFilter
63
75
  }, max: rowsPerPage, offset: page * rowsPerPage, filter: (0, mdm_sdk_1.addGlobalFilterToQuery)(globalFilter, filter) || undefined, suggested: buildSuggestedIds(suggested) });
@@ -94,6 +106,7 @@ var useRelationsLoader = function (_a) {
94
106
  // eslint-disable-next-line react-hooks/exhaustive-deps
95
107
  }, [
96
108
  activityFilter,
109
+ metadata,
97
110
  config,
98
111
  dispatch,
99
112
  dtssPath,
@@ -1,4 +1,4 @@
1
- import { ActivityFilter, Entity, Mode } from '@reltio/mdm-sdk';
1
+ import { ActivityFilter, Entity, Mode, RelationsViewConfig } from '@reltio/mdm-sdk';
2
2
  declare type Props = {
3
3
  sorting?: {
4
4
  field: string;
@@ -7,11 +7,7 @@ declare type Props = {
7
7
  filter?: string;
8
8
  page: number;
9
9
  rowsPerPage: number;
10
- config: {
11
- id: string;
12
- content: Record<string, unknown>;
13
- suggested?: Record<string, unknown>[] | Record<string, unknown>;
14
- };
10
+ config: Pick<RelationsViewConfig, 'suggested' | 'content' | 'id'>;
15
11
  entity: Entity;
16
12
  relationActivityFilter?: ActivityFilter;
17
13
  mode: Mode;
@@ -11,9 +11,9 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
13
13
  import { useDispatch, useSelector } from 'react-redux';
14
- import { cond, pipe, prop, T, when, identity, times, length, ifElse, always } from 'ramda';
14
+ import { cond, pipe, prop, T, evolve, filter as filterFn, 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, wrapInArrayIfNeeded } from '@reltio/mdm-sdk';
16
+ import { ActivityFilter, addGlobalFilterToQuery, getRelationsForDataTenantEntity, getRelationsForEntity, isAvailableEntityTypeUri, isAvailableRelationTypeUri, isDataTenantEntity, isObject, isTempUri, Mode, wrapInArrayIfNeeded } from '@reltio/mdm-sdk';
17
17
  import { useSafePromise } from './useSafePromise';
18
18
  import { usePrevious } from './usePrevious';
19
19
  var buildSuggestedIds = when(identity, pipe(wrapInArrayIfNeeded, length, times(function (n) { return n + 1; })));
@@ -22,16 +22,28 @@ export var useRelationsLoader = function (_a) {
22
22
  var _c = useState(false), isLoading = _c[0], setIsLoading = _c[1];
23
23
  var dispatch = useDispatch();
24
24
  var tenant = useSelector(mdm.selectors.getTenant);
25
+ var metadata = useSelector(mdm.selectors.getMetadata);
25
26
  var dtssPath = useSelector(mdm.selectors.getDtssPath);
26
27
  var _d = useSelector(mdm.selectors.getGlobalSearchRequestOptions) || {}, activityFilter = _d.activityFilter, globalFilter = _d.globalFilter;
27
28
  var safePromise = useSafePromise();
29
+ var processContent = function (content) {
30
+ var getUri = when(isObject, prop('uri'));
31
+ var filterRelation = pipe(getUri, isAvailableRelationTypeUri(metadata));
32
+ return evolve({
33
+ entityTypes: filterFn(isAvailableEntityTypeUri(metadata)),
34
+ inRelations: filterFn(filterRelation),
35
+ outRelations: filterFn(filterRelation),
36
+ nextEntry: processContent
37
+ })(content);
38
+ };
28
39
  var suggested = config.suggested;
29
40
  var options = useMemo(function () { return ({
30
41
  searchByOv: searchByOv
31
42
  }); }, [searchByOv]);
32
43
  var loadRelations = useCallback(function () {
33
44
  if (entity === null || entity === void 0 ? void 0 : entity.uri) {
34
- 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: {
45
+ var processedConfig = processContent(config.content);
46
+ var requestConfig_1 = __assign(__assign({}, processedConfig), { 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: {
35
47
  relation: relationActivityFilter || ActivityFilter.ALL,
36
48
  entity: activityFilter
37
49
  }, max: rowsPerPage, offset: page * rowsPerPage, filter: addGlobalFilterToQuery(globalFilter, filter) || undefined, suggested: buildSuggestedIds(suggested) });
@@ -68,6 +80,7 @@ export var useRelationsLoader = function (_a) {
68
80
  // eslint-disable-next-line react-hooks/exhaustive-deps
69
81
  }, [
70
82
  activityFilter,
83
+ metadata,
71
84
  config,
72
85
  dispatch,
73
86
  dtssPath,
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1329",
3
+ "version": "1.4.1330",
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.1329",
11
- "@reltio/mdm-sdk": "^1.4.1329",
10
+ "@reltio/mdm-module": "^1.4.1330",
11
+ "@reltio/mdm-sdk": "^1.4.1330",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",