@reltio/components 1.4.1881 → 1.4.1883

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.
@@ -10,6 +10,7 @@ var useHistorySlice = function (_a) {
10
10
  var _b = (0, react_1.useState)(false), isLoading = _b[0], setIsLoading = _b[1];
11
11
  var setHistorySlice = (0, MdmModuleContext_1.useMdmAction)('setHistorySlice');
12
12
  var clearHistoryEvent = (0, MdmModuleContext_1.useMdmAction)('clearHistoryEvent');
13
+ var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
13
14
  var historySlice = (0, MdmModuleContext_1.useMdmHistorySlice)();
14
15
  var safePromise = (0, useSafePromise_1.useSafePromise)();
15
16
  var mode = (0, MdmModuleContext_1.useMdmMode)();
@@ -26,9 +27,12 @@ var useHistorySlice = function (_a) {
26
27
  if (entityUri) {
27
28
  if (historyEvent) {
28
29
  setIsLoading(true);
30
+ var entityOptions = (0, mdm_sdk_1.addMetadataSpecificGetEntityOptions)(metadata);
29
31
  safePromise(Promise.all([
30
- (0, mdm_sdk_1.getEntityTimeSlice)(entityUri, aStamp),
31
- bStamp && bStamp !== 1 ? (0, mdm_sdk_1.getEntityTimeSlice)(entityUri, bStamp) : Promise.resolve(null)
32
+ (0, mdm_sdk_1.getEntityTimeSlice)(entityUri, aStamp, entityOptions),
33
+ bStamp && bStamp !== 1
34
+ ? (0, mdm_sdk_1.getEntityTimeSlice)(entityUri, bStamp, entityOptions)
35
+ : Promise.resolve(null)
32
36
  ]))
33
37
  .then(function (_a) {
34
38
  var aEntity = _a[0], bEntity = _a[1];
@@ -56,6 +56,31 @@ var mdm_sdk_1 = require("@reltio/mdm-sdk");
56
56
  var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
57
57
  var useHistorySlice_1 = require("./useHistorySlice");
58
58
  jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { getEntityTimeSlice: jest.fn() })); });
59
+ var createDefaultMetadata = function () {
60
+ return {
61
+ entityTypes: [
62
+ {
63
+ uri: 'configuration/entityTypes/HCP',
64
+ label: 'HCP label',
65
+ attributes: [
66
+ {
67
+ label: 'Country Code',
68
+ name: 'CountryCode',
69
+ type: 'String',
70
+ uri: 'configuration/entityTypes/HCP/attributes/CountryCode'
71
+ }
72
+ ]
73
+ }
74
+ ]
75
+ };
76
+ };
77
+ var defaultMdmValues = {
78
+ metadata: createDefaultMetadata(),
79
+ mode: mdm_sdk_1.Mode.Viewing
80
+ };
81
+ var defaultGetEntityOptions = {
82
+ options: 'sendHidden,addRefAttrUriToCrosswalk'
83
+ };
59
84
  var profileEntity = {
60
85
  uri: 'entities/1',
61
86
  type: 'configuration/entityTypes/HCP'
@@ -63,7 +88,7 @@ var profileEntity = {
63
88
  var setHistorySlice = jest.fn();
64
89
  var clearHistoryEvent = jest.fn();
65
90
  var setUp = function (props, mdmValues) {
66
- if (mdmValues === void 0) { mdmValues = {}; }
91
+ if (mdmValues === void 0) { mdmValues = defaultMdmValues; }
67
92
  var Providers = function (_a) {
68
93
  var children = _a.children;
69
94
  return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues, actions: { setHistorySlice: setHistorySlice, clearHistoryEvent: clearHistoryEvent } }, children));
@@ -100,7 +125,7 @@ describe('useHistorySlice tests', function () {
100
125
  expect(result.current.isLoading).toBe(true);
101
126
  expect(result.current.historySlice).toBe(undefined);
102
127
  expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledTimes(1);
103
- expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.aStamp);
128
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.aStamp, defaultGetEntityOptions);
104
129
  aEntity = { uri: 'entities/1', type: 'configuration/entityTypes/HCP' };
105
130
  return [4 /*yield*/, (0, react_hooks_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
106
131
  return __generator(this, function (_a) {
@@ -127,8 +152,8 @@ describe('useHistorySlice tests', function () {
127
152
  expect(result.current.isLoading).toBe(true);
128
153
  expect(result.current.historySlice).toBe(undefined);
129
154
  expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledTimes(2);
130
- expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.aStamp);
131
- expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.bStamp);
155
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.aStamp, defaultGetEntityOptions);
156
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.bStamp, defaultGetEntityOptions);
132
157
  aEntity = { uri: 'entities/1', type: 'configuration/entityTypes/HCP' };
133
158
  return [4 /*yield*/, (0, react_hooks_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
134
159
  return __generator(this, function (_a) {
@@ -165,7 +190,7 @@ describe('useHistorySlice tests', function () {
165
190
  expect(result.current.isLoading).toBe(true);
166
191
  expect(result.current.historySlice).toBe(undefined);
167
192
  expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledTimes(1);
168
- expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledWith(historyEvent.overrideUri, historyEvent.aStamp);
193
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledWith(historyEvent.overrideUri, historyEvent.aStamp, defaultGetEntityOptions);
169
194
  aEntity = { uri: 'entities/2', type: 'configuration/entityTypes/HCP' };
170
195
  return [4 /*yield*/, (0, react_hooks_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
171
196
  return __generator(this, function (_a) {
@@ -201,20 +226,20 @@ describe('useHistorySlice tests', function () {
201
226
  aEntity: { uri: 'entities/1', type: 'configuration/entityTypes/HCP' },
202
227
  bEntity: undefined
203
228
  };
204
- var mdmValues = { historySlice: historySlice };
229
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { historySlice: historySlice });
205
230
  var result = setUp(props, mdmValues).result;
206
231
  expect(result.current.historySlice).toBe(historySlice);
207
232
  });
208
233
  it('should clear history event in editing mode', function () {
209
234
  var props = { historyEvent: { aStamp: 123 }, entity: profileEntity };
210
- var mdmValues = { mode: mdm_sdk_1.Mode.Editing };
235
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { mode: mdm_sdk_1.Mode.Editing });
211
236
  var result = setUp(props, mdmValues).result;
212
237
  expect(result.current.historySlice).toBe(undefined);
213
238
  expect(clearHistoryEvent).toHaveBeenCalled();
214
239
  });
215
240
  it('should clear history event in suggesting mode', function () {
216
241
  var props = { historyEvent: { aStamp: 123 }, entity: profileEntity };
217
- var mdmValues = { mode: mdm_sdk_1.Mode.Suggesting };
242
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { mode: mdm_sdk_1.Mode.Suggesting });
218
243
  var result = setUp(props, mdmValues).result;
219
244
  expect(result.current.historySlice).toBe(undefined);
220
245
  expect(clearHistoryEvent).toHaveBeenCalled();
@@ -254,4 +279,26 @@ describe('useHistorySlice tests', function () {
254
279
  }
255
280
  });
256
281
  }); });
282
+ it('should call with sendMasked option if there are masked attribute in metadata', function () {
283
+ var aStamp = 123;
284
+ var bStamp = 321;
285
+ var expectedOptions = { options: 'sendHidden,addRefAttrUriToCrosswalk,sendMasked' };
286
+ var props = { historyEvent: { aStamp: aStamp, bStamp: bStamp }, entity: profileEntity };
287
+ var metadata = createDefaultMetadata();
288
+ metadata.entityTypes[0].attributes[0].masking = { regexPattern: '***' };
289
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { metadata: metadata });
290
+ setUp(props, mdmValues);
291
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledTimes(2);
292
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenNthCalledWith(1, profileEntity.uri, aStamp, expectedOptions);
293
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenNthCalledWith(2, profileEntity.uri, bStamp, expectedOptions);
294
+ });
295
+ it('should not call with sendMasked option if there are no masked attribute in metadata', function () {
296
+ var aStamp = 123;
297
+ var bStamp = 321;
298
+ var props = { historyEvent: { aStamp: aStamp, bStamp: bStamp }, entity: profileEntity };
299
+ setUp(props);
300
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenCalledTimes(2);
301
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenNthCalledWith(1, profileEntity.uri, aStamp, defaultGetEntityOptions);
302
+ expect(mdm_sdk_1.getEntityTimeSlice).toHaveBeenNthCalledWith(2, profileEntity.uri, bStamp, defaultGetEntityOptions);
303
+ });
257
304
  });
@@ -1,12 +1,13 @@
1
1
  import { useState, useEffect } from 'react';
2
- import { getEntityTimeSlice, isEditableMode } from '@reltio/mdm-sdk';
2
+ import { addMetadataSpecificGetEntityOptions, getEntityTimeSlice, isEditableMode } from '@reltio/mdm-sdk';
3
3
  import { useSafePromise } from '../../../hooks/useSafePromise';
4
- import { useMdmAction, useMdmHistorySlice, useMdmMode } from '../../../contexts/MdmModuleContext';
4
+ import { useMdmAction, useMdmHistorySlice, useMdmMetadata, useMdmMode } from '../../../contexts/MdmModuleContext';
5
5
  export var useHistorySlice = function (_a) {
6
6
  var entity = _a.entity, historyEvent = _a.historyEvent;
7
7
  var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
8
8
  var setHistorySlice = useMdmAction('setHistorySlice');
9
9
  var clearHistoryEvent = useMdmAction('clearHistoryEvent');
10
+ var metadata = useMdmMetadata();
10
11
  var historySlice = useMdmHistorySlice();
11
12
  var safePromise = useSafePromise();
12
13
  var mode = useMdmMode();
@@ -23,9 +24,12 @@ export var useHistorySlice = function (_a) {
23
24
  if (entityUri) {
24
25
  if (historyEvent) {
25
26
  setIsLoading(true);
27
+ var entityOptions = addMetadataSpecificGetEntityOptions(metadata);
26
28
  safePromise(Promise.all([
27
- getEntityTimeSlice(entityUri, aStamp),
28
- bStamp && bStamp !== 1 ? getEntityTimeSlice(entityUri, bStamp) : Promise.resolve(null)
29
+ getEntityTimeSlice(entityUri, aStamp, entityOptions),
30
+ bStamp && bStamp !== 1
31
+ ? getEntityTimeSlice(entityUri, bStamp, entityOptions)
32
+ : Promise.resolve(null)
29
33
  ]))
30
34
  .then(function (_a) {
31
35
  var aEntity = _a[0], bEntity = _a[1];
@@ -51,6 +51,31 @@ import { Mode, getEntityTimeSlice } from '@reltio/mdm-sdk';
51
51
  import { MdmModuleProvider } from '../../../contexts/MdmModuleContext';
52
52
  import { useHistorySlice } from './useHistorySlice';
53
53
  jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { getEntityTimeSlice: jest.fn() })); });
54
+ var createDefaultMetadata = function () {
55
+ return {
56
+ entityTypes: [
57
+ {
58
+ uri: 'configuration/entityTypes/HCP',
59
+ label: 'HCP label',
60
+ attributes: [
61
+ {
62
+ label: 'Country Code',
63
+ name: 'CountryCode',
64
+ type: 'String',
65
+ uri: 'configuration/entityTypes/HCP/attributes/CountryCode'
66
+ }
67
+ ]
68
+ }
69
+ ]
70
+ };
71
+ };
72
+ var defaultMdmValues = {
73
+ metadata: createDefaultMetadata(),
74
+ mode: Mode.Viewing
75
+ };
76
+ var defaultGetEntityOptions = {
77
+ options: 'sendHidden,addRefAttrUriToCrosswalk'
78
+ };
54
79
  var profileEntity = {
55
80
  uri: 'entities/1',
56
81
  type: 'configuration/entityTypes/HCP'
@@ -58,7 +83,7 @@ var profileEntity = {
58
83
  var setHistorySlice = jest.fn();
59
84
  var clearHistoryEvent = jest.fn();
60
85
  var setUp = function (props, mdmValues) {
61
- if (mdmValues === void 0) { mdmValues = {}; }
86
+ if (mdmValues === void 0) { mdmValues = defaultMdmValues; }
62
87
  var Providers = function (_a) {
63
88
  var children = _a.children;
64
89
  return (React.createElement(MdmModuleProvider, { values: mdmValues, actions: { setHistorySlice: setHistorySlice, clearHistoryEvent: clearHistoryEvent } }, children));
@@ -95,7 +120,7 @@ describe('useHistorySlice tests', function () {
95
120
  expect(result.current.isLoading).toBe(true);
96
121
  expect(result.current.historySlice).toBe(undefined);
97
122
  expect(getEntityTimeSlice).toHaveBeenCalledTimes(1);
98
- expect(getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.aStamp);
123
+ expect(getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.aStamp, defaultGetEntityOptions);
99
124
  aEntity = { uri: 'entities/1', type: 'configuration/entityTypes/HCP' };
100
125
  return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
101
126
  return __generator(this, function (_a) {
@@ -122,8 +147,8 @@ describe('useHistorySlice tests', function () {
122
147
  expect(result.current.isLoading).toBe(true);
123
148
  expect(result.current.historySlice).toBe(undefined);
124
149
  expect(getEntityTimeSlice).toHaveBeenCalledTimes(2);
125
- expect(getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.aStamp);
126
- expect(getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.bStamp);
150
+ expect(getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.aStamp, defaultGetEntityOptions);
151
+ expect(getEntityTimeSlice).toHaveBeenCalledWith(profileEntity.uri, historyEvent.bStamp, defaultGetEntityOptions);
127
152
  aEntity = { uri: 'entities/1', type: 'configuration/entityTypes/HCP' };
128
153
  return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
129
154
  return __generator(this, function (_a) {
@@ -160,7 +185,7 @@ describe('useHistorySlice tests', function () {
160
185
  expect(result.current.isLoading).toBe(true);
161
186
  expect(result.current.historySlice).toBe(undefined);
162
187
  expect(getEntityTimeSlice).toHaveBeenCalledTimes(1);
163
- expect(getEntityTimeSlice).toHaveBeenCalledWith(historyEvent.overrideUri, historyEvent.aStamp);
188
+ expect(getEntityTimeSlice).toHaveBeenCalledWith(historyEvent.overrideUri, historyEvent.aStamp, defaultGetEntityOptions);
164
189
  aEntity = { uri: 'entities/2', type: 'configuration/entityTypes/HCP' };
165
190
  return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
166
191
  return __generator(this, function (_a) {
@@ -196,20 +221,20 @@ describe('useHistorySlice tests', function () {
196
221
  aEntity: { uri: 'entities/1', type: 'configuration/entityTypes/HCP' },
197
222
  bEntity: undefined
198
223
  };
199
- var mdmValues = { historySlice: historySlice };
224
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { historySlice: historySlice });
200
225
  var result = setUp(props, mdmValues).result;
201
226
  expect(result.current.historySlice).toBe(historySlice);
202
227
  });
203
228
  it('should clear history event in editing mode', function () {
204
229
  var props = { historyEvent: { aStamp: 123 }, entity: profileEntity };
205
- var mdmValues = { mode: Mode.Editing };
230
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { mode: Mode.Editing });
206
231
  var result = setUp(props, mdmValues).result;
207
232
  expect(result.current.historySlice).toBe(undefined);
208
233
  expect(clearHistoryEvent).toHaveBeenCalled();
209
234
  });
210
235
  it('should clear history event in suggesting mode', function () {
211
236
  var props = { historyEvent: { aStamp: 123 }, entity: profileEntity };
212
- var mdmValues = { mode: Mode.Suggesting };
237
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { mode: Mode.Suggesting });
213
238
  var result = setUp(props, mdmValues).result;
214
239
  expect(result.current.historySlice).toBe(undefined);
215
240
  expect(clearHistoryEvent).toHaveBeenCalled();
@@ -249,4 +274,26 @@ describe('useHistorySlice tests', function () {
249
274
  }
250
275
  });
251
276
  }); });
277
+ it('should call with sendMasked option if there are masked attribute in metadata', function () {
278
+ var aStamp = 123;
279
+ var bStamp = 321;
280
+ var expectedOptions = { options: 'sendHidden,addRefAttrUriToCrosswalk,sendMasked' };
281
+ var props = { historyEvent: { aStamp: aStamp, bStamp: bStamp }, entity: profileEntity };
282
+ var metadata = createDefaultMetadata();
283
+ metadata.entityTypes[0].attributes[0].masking = { regexPattern: '***' };
284
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { metadata: metadata });
285
+ setUp(props, mdmValues);
286
+ expect(getEntityTimeSlice).toHaveBeenCalledTimes(2);
287
+ expect(getEntityTimeSlice).toHaveBeenNthCalledWith(1, profileEntity.uri, aStamp, expectedOptions);
288
+ expect(getEntityTimeSlice).toHaveBeenNthCalledWith(2, profileEntity.uri, bStamp, expectedOptions);
289
+ });
290
+ it('should not call with sendMasked option if there are no masked attribute in metadata', function () {
291
+ var aStamp = 123;
292
+ var bStamp = 321;
293
+ var props = { historyEvent: { aStamp: aStamp, bStamp: bStamp }, entity: profileEntity };
294
+ setUp(props);
295
+ expect(getEntityTimeSlice).toHaveBeenCalledTimes(2);
296
+ expect(getEntityTimeSlice).toHaveBeenNthCalledWith(1, profileEntity.uri, aStamp, defaultGetEntityOptions);
297
+ expect(getEntityTimeSlice).toHaveBeenNthCalledWith(2, profileEntity.uri, bStamp, defaultGetEntityOptions);
298
+ });
252
299
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1881",
3
+ "version": "1.4.1883",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -8,7 +8,7 @@
8
8
  "@fluentui/react-context-selector": "^9.1.26",
9
9
  "@react-google-maps/api": "2.7.0",
10
10
  "@react-sigma/core": "3.4.0",
11
- "@reltio/mdm-sdk": "^1.4.1817",
11
+ "@reltio/mdm-sdk": "^1.4.1819",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",