@reltio/components 1.4.1925 → 1.4.1927
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.
- package/cjs/AutoSizeList/AutoSizeList.test.js +10 -11
- package/cjs/BasicViewContent/BasicViewContent.d.ts +1 -3
- package/cjs/BasicViewContent/BasicViewContent.js +28 -5
- package/cjs/DateEditor/DateEditor.test.js +28 -25
- package/cjs/DependentLookupEditor/DependentLookupEditor.test.js +21 -3
- package/cjs/HideOnShrink/HideOnShrink.js +29 -5
- package/cjs/VirtualGroupedList/VirtualGroupedList.js +1 -1
- package/cjs/features/activity-log/ActivityFilterEditor/ActivityFilterEditor.specs.js +11 -17
- package/esm/AutoSizeList/AutoSizeList.test.js +10 -11
- package/esm/BasicViewContent/BasicViewContent.d.ts +1 -3
- package/esm/BasicViewContent/BasicViewContent.js +5 -4
- package/esm/DateEditor/DateEditor.test.js +28 -25
- package/esm/DependentLookupEditor/DependentLookupEditor.test.js +21 -3
- package/esm/HideOnShrink/HideOnShrink.js +6 -5
- package/esm/VirtualGroupedList/VirtualGroupedList.js +1 -1
- package/esm/features/activity-log/ActivityFilterEditor/ActivityFilterEditor.specs.js +11 -17
- package/package.json +3 -2
|
@@ -54,17 +54,6 @@ var react_1 = __importDefault(require("react"));
|
|
|
54
54
|
var AutoSizeList_1 = __importDefault(require("./AutoSizeList"));
|
|
55
55
|
var test_utils_1 = require("../test-utils");
|
|
56
56
|
var react_2 = require("@testing-library/react");
|
|
57
|
-
jest.mock('resize-observer-polyfill', function () { return ({
|
|
58
|
-
__esModule: true,
|
|
59
|
-
default: jest.fn().mockImplementation(function (onResize) {
|
|
60
|
-
onResize([{ contentRect: { width: 100, height: 50 } }]);
|
|
61
|
-
return {
|
|
62
|
-
observe: jest.fn(),
|
|
63
|
-
unobserve: jest.fn(),
|
|
64
|
-
disconnect: jest.fn()
|
|
65
|
-
};
|
|
66
|
-
})
|
|
67
|
-
}); });
|
|
68
57
|
describe('AutoSizeList tests', function () {
|
|
69
58
|
var defaultProps = {
|
|
70
59
|
width: 100,
|
|
@@ -80,6 +69,16 @@ describe('AutoSizeList tests', function () {
|
|
|
80
69
|
if (props === void 0) { props = defaultProps; }
|
|
81
70
|
return (0, react_2.render)(react_1.default.createElement(AutoSizeList_1.default, __assign({}, props)));
|
|
82
71
|
};
|
|
72
|
+
beforeAll(function () {
|
|
73
|
+
window.ResizeObserver = jest.fn().mockImplementation(function (onResize) {
|
|
74
|
+
onResize([{ contentRect: { width: 100, height: 50 } }]);
|
|
75
|
+
return {
|
|
76
|
+
observe: jest.fn(),
|
|
77
|
+
unobserve: jest.fn(),
|
|
78
|
+
disconnect: jest.fn()
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
});
|
|
83
82
|
it('should render correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
84
83
|
return __generator(this, function (_a) {
|
|
85
84
|
switch (_a.label) {
|
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
export declare const BasicViewContent: ({ children, className, ...otherProps }: Props) => JSX.Element;
|
|
4
|
-
export {};
|
|
2
|
+
export declare const BasicViewContent: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | "key"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
13
36
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
37
|
var t = {};
|
|
15
38
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -26,12 +49,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
49
|
};
|
|
27
50
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
51
|
exports.BasicViewContent = void 0;
|
|
29
|
-
var react_1 =
|
|
52
|
+
var react_1 = __importStar(require("react"));
|
|
30
53
|
var classnames_1 = __importDefault(require("classnames"));
|
|
31
54
|
var styles_1 = require("./styles");
|
|
32
|
-
|
|
55
|
+
exports.BasicViewContent = (0, react_1.forwardRef)(function (_a, ref) {
|
|
33
56
|
var children = _a.children, className = _a.className, otherProps = __rest(_a, ["children", "className"]);
|
|
34
57
|
var styles = (0, styles_1.useStyles)();
|
|
35
|
-
return (react_1.default.createElement("div", __assign({ className: (0, classnames_1.default)(styles['basic-view-content'], className) }, otherProps), children));
|
|
36
|
-
};
|
|
37
|
-
exports.BasicViewContent = BasicViewContent;
|
|
58
|
+
return (react_1.default.createElement("div", __assign({ ref: ref, className: (0, classnames_1.default)(styles['basic-view-content'], className) }, otherProps), children));
|
|
59
|
+
});
|
|
60
|
+
exports.BasicViewContent.displayName = 'BasicViewContent';
|
|
@@ -71,7 +71,7 @@ describe('DateEditor behaviour', function () {
|
|
|
71
71
|
jest.clearAllMocks();
|
|
72
72
|
});
|
|
73
73
|
it('should work correctly with invalid value', function () {
|
|
74
|
-
var props = __assign(__assign({}, defaultProps), { value: '
|
|
74
|
+
var props = __assign(__assign({}, defaultProps), { value: 'asd' });
|
|
75
75
|
setUp({ props: props });
|
|
76
76
|
var input = react_2.screen.getByRole('textbox');
|
|
77
77
|
expect(input).toHaveAttribute('value', 'MM/DD/YYYY');
|
|
@@ -95,7 +95,7 @@ describe('DateEditor behaviour', function () {
|
|
|
95
95
|
expect(input).toHaveAttribute('value', '');
|
|
96
96
|
});
|
|
97
97
|
it('validation should work correctly if minDate and maxDate is provided and they are not included in the popup limitations (by select)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
98
|
-
var props, user
|
|
98
|
+
var props, user;
|
|
99
99
|
return __generator(this, function (_a) {
|
|
100
100
|
switch (_a.label) {
|
|
101
101
|
case 0:
|
|
@@ -107,8 +107,7 @@ describe('DateEditor behaviour', function () {
|
|
|
107
107
|
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('calendar view is open, switch to year view'))];
|
|
108
108
|
case 2:
|
|
109
109
|
_a.sent();
|
|
110
|
-
|
|
111
|
-
years.forEach(function (year) { return react_2.screen.getByText(year); });
|
|
110
|
+
['1900', '1958', '2000', '2013', '2099'].forEach(function (year) { return react_2.screen.getByText(year); });
|
|
112
111
|
expect(react_2.screen.queryByText('1899')).not.toBeInTheDocument();
|
|
113
112
|
expect(react_2.screen.queryByText('2100')).not.toBeInTheDocument();
|
|
114
113
|
return [4 /*yield*/, user.click(react_2.screen.getByText('2000'))];
|
|
@@ -127,41 +126,42 @@ describe('DateEditor behaviour', function () {
|
|
|
127
126
|
});
|
|
128
127
|
}); });
|
|
129
128
|
it('validation should work correctly if minDate and maxDate is provided and they are not included in the popup limitations (by type)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
130
|
-
var props, user;
|
|
129
|
+
var props, user, textbox;
|
|
131
130
|
return __generator(this, function (_a) {
|
|
132
131
|
switch (_a.label) {
|
|
133
132
|
case 0:
|
|
134
133
|
props = __assign(__assign({}, defaultProps), { minDate: new Date(1800, 0, 1, 0, 0, 0, 0), maxDate: new Date(2200, 11, 31, 0, 0, 0, 0) });
|
|
135
134
|
user = setUp({ props: props }).user;
|
|
136
|
-
|
|
135
|
+
textbox = react_2.screen.getByRole('textbox');
|
|
136
|
+
return [4 /*yield*/, user.type(textbox, '01/01/1800')];
|
|
137
137
|
case 1:
|
|
138
138
|
_a.sent();
|
|
139
139
|
expect(react_2.screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
140
140
|
expect(props.onChange).toHaveBeenCalledWith(new Date('1800-01-01T00:00:00'));
|
|
141
141
|
props.onChange.mockClear();
|
|
142
|
-
return [4 /*yield*/, user.type(
|
|
142
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1799')];
|
|
143
143
|
case 2:
|
|
144
144
|
_a.sent();
|
|
145
145
|
react_2.screen.getByText('Date should not be before minimal date');
|
|
146
146
|
props.onChange.mockClear();
|
|
147
|
-
return [4 /*yield*/, user.type(
|
|
147
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1798')];
|
|
148
148
|
case 3:
|
|
149
149
|
_a.sent();
|
|
150
150
|
react_2.screen.getByText('Date should not be before minimal date');
|
|
151
151
|
expect(props.onChange).not.toHaveBeenCalled();
|
|
152
|
-
return [4 /*yield*/, user.type(
|
|
152
|
+
return [4 /*yield*/, user.type(textbox, '12/31/2200')];
|
|
153
153
|
case 4:
|
|
154
154
|
_a.sent();
|
|
155
155
|
expect(react_2.screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
156
156
|
expect(react_2.screen.queryByText('Date should not be after maximal date')).not.toBeInTheDocument();
|
|
157
157
|
expect(props.onChange).toHaveBeenCalledWith(new Date('2200-12-31T00:00:00'));
|
|
158
158
|
props.onChange.mockClear();
|
|
159
|
-
return [4 /*yield*/, user.type(
|
|
159
|
+
return [4 /*yield*/, user.type(textbox, '01/01/2201')];
|
|
160
160
|
case 5:
|
|
161
161
|
_a.sent();
|
|
162
162
|
react_2.screen.getByText('Date should not be after maximal date');
|
|
163
163
|
props.onChange.mockClear();
|
|
164
|
-
return [4 /*yield*/, user.type(
|
|
164
|
+
return [4 /*yield*/, user.type(textbox, '01/01/2202')];
|
|
165
165
|
case 6:
|
|
166
166
|
_a.sent();
|
|
167
167
|
react_2.screen.getByText('Date should not be after maximal date');
|
|
@@ -220,45 +220,46 @@ describe('DateEditor behaviour', function () {
|
|
|
220
220
|
});
|
|
221
221
|
}); });
|
|
222
222
|
it('validation should work correctly if minDate and maxDate is provided and they are included in the popup limitations (by type)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
223
|
-
var props, user;
|
|
223
|
+
var props, user, textbox;
|
|
224
224
|
return __generator(this, function (_a) {
|
|
225
225
|
switch (_a.label) {
|
|
226
226
|
case 0:
|
|
227
227
|
props = __assign(__assign({}, defaultProps), { minDate: new Date('1980-01-01'), maxDate: new Date('2029-12-31') });
|
|
228
228
|
user = setUp({ props: props }).user;
|
|
229
|
+
textbox = react_2.screen.getByRole('textbox');
|
|
229
230
|
return [4 /*yield*/, user.click(react_2.screen.getByRole('button'))];
|
|
230
231
|
case 1:
|
|
231
232
|
_a.sent();
|
|
232
233
|
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('calendar view is open, switch to year view'))];
|
|
233
234
|
case 2:
|
|
234
235
|
_a.sent();
|
|
235
|
-
return [4 /*yield*/, user.type(
|
|
236
|
+
return [4 /*yield*/, user.type(textbox, '01/01/1980')];
|
|
236
237
|
case 3:
|
|
237
238
|
_a.sent();
|
|
238
239
|
expect(react_2.screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
239
|
-
return [4 /*yield*/, user.type(
|
|
240
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1979')];
|
|
240
241
|
case 4:
|
|
241
242
|
_a.sent();
|
|
242
243
|
react_2.screen.getByText('Date should not be before minimal date');
|
|
243
244
|
props.onChange.mockClear();
|
|
244
|
-
return [4 /*yield*/, user.type(
|
|
245
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1978')];
|
|
245
246
|
case 5:
|
|
246
247
|
_a.sent();
|
|
247
248
|
react_2.screen.getByText('Date should not be before minimal date');
|
|
248
249
|
expect(props.onChange).not.toHaveBeenCalled();
|
|
249
|
-
return [4 /*yield*/, user.type(
|
|
250
|
+
return [4 /*yield*/, user.type(textbox, '12/31/2029')];
|
|
250
251
|
case 6:
|
|
251
252
|
_a.sent();
|
|
252
253
|
expect(react_2.screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
253
254
|
expect(react_2.screen.queryByText('Date should not be after maximal date')).not.toBeInTheDocument();
|
|
254
255
|
expect(props.onChange).toHaveBeenCalledWith(new Date('2029-12-31T00:00:00'));
|
|
255
256
|
props.onChange.mockClear();
|
|
256
|
-
return [4 /*yield*/, user.type(
|
|
257
|
+
return [4 /*yield*/, user.type(textbox, '01/01/2030')];
|
|
257
258
|
case 7:
|
|
258
259
|
_a.sent();
|
|
259
260
|
react_2.screen.getByText('Date should not be after maximal date');
|
|
260
261
|
props.onChange.mockClear();
|
|
261
|
-
return [4 /*yield*/, user.type(
|
|
262
|
+
return [4 /*yield*/, user.type(textbox, '01/01/2031')];
|
|
262
263
|
case 8:
|
|
263
264
|
_a.sent();
|
|
264
265
|
react_2.screen.getByText('Date should not be after maximal date');
|
|
@@ -314,20 +315,21 @@ describe('DateEditor behaviour', function () {
|
|
|
314
315
|
});
|
|
315
316
|
}); });
|
|
316
317
|
it('validation should work correctly if minDate and maxDate is not provided (by type)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
317
|
-
var user;
|
|
318
|
+
var user, textbox;
|
|
318
319
|
return __generator(this, function (_a) {
|
|
319
320
|
switch (_a.label) {
|
|
320
321
|
case 0:
|
|
321
322
|
user = setUp().user;
|
|
322
|
-
|
|
323
|
+
textbox = react_2.screen.getByRole('textbox');
|
|
324
|
+
return [4 /*yield*/, user.type(textbox, '01/01/1900')];
|
|
323
325
|
case 1:
|
|
324
326
|
_a.sent();
|
|
325
327
|
expect(react_2.screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
326
|
-
return [4 /*yield*/, user.type(
|
|
328
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1899')];
|
|
327
329
|
case 2:
|
|
328
330
|
_a.sent();
|
|
329
331
|
react_2.screen.getByText('Date should not be before minimal date');
|
|
330
|
-
return [4 /*yield*/, user.type(
|
|
332
|
+
return [4 /*yield*/, user.type(textbox, '12/31/9999')];
|
|
331
333
|
case 3:
|
|
332
334
|
_a.sent();
|
|
333
335
|
expect(react_2.screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
@@ -342,16 +344,17 @@ describe('DateEditor behaviour', function () {
|
|
|
342
344
|
react_2.screen.getByText('Date should not be before minimal date');
|
|
343
345
|
});
|
|
344
346
|
it('should not clear error message after change value if there is not min date and not max date error', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
345
|
-
var user;
|
|
347
|
+
var user, textbox;
|
|
346
348
|
return __generator(this, function (_a) {
|
|
347
349
|
switch (_a.label) {
|
|
348
350
|
case 0:
|
|
349
351
|
user = setUp().user;
|
|
350
|
-
|
|
352
|
+
textbox = react_2.screen.getByRole('textbox');
|
|
353
|
+
return [4 /*yield*/, user.type(textbox, 'inv')];
|
|
351
354
|
case 1:
|
|
352
355
|
_a.sent();
|
|
353
356
|
react_2.screen.getByText('Invalid Date Format');
|
|
354
|
-
return [4 /*yield*/, user.type(
|
|
357
|
+
return [4 /*yield*/, user.type(textbox, '2')];
|
|
355
358
|
case 2:
|
|
356
359
|
_a.sent();
|
|
357
360
|
react_2.screen.getByText('Invalid Date Format');
|
|
@@ -90,7 +90,7 @@ describe('DependentLookupEditor', function () {
|
|
|
90
90
|
};
|
|
91
91
|
});
|
|
92
92
|
afterEach(function () {
|
|
93
|
-
jest.
|
|
93
|
+
jest.clearAllMocks();
|
|
94
94
|
});
|
|
95
95
|
it('should render ReactSelect with correct properties in single mode', function () {
|
|
96
96
|
var value = { lookupCode: 'RU', value: 'Russia' };
|
|
@@ -330,7 +330,16 @@ describe('DependentLookupEditor', function () {
|
|
|
330
330
|
}));
|
|
331
331
|
value = { lookupCode: 'US', value: 'USA' };
|
|
332
332
|
wrapper = (0, enzyme_1.mount)(react_1.default.createElement(DependentLookupEditor_1.DependentLookupEditor, __assign({}, props, { value: value, getLookups: getLookups, max: 2 })));
|
|
333
|
-
return [4 /*yield*/, (0,
|
|
333
|
+
return [4 /*yield*/, (0, test_utils_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
334
|
+
return __generator(this, function (_a) {
|
|
335
|
+
switch (_a.label) {
|
|
336
|
+
case 0: return [4 /*yield*/, (0, test_utils_2.delayPromise)(1)];
|
|
337
|
+
case 1:
|
|
338
|
+
_a.sent();
|
|
339
|
+
return [2 /*return*/];
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
}); })];
|
|
334
343
|
case 1:
|
|
335
344
|
_a.sent();
|
|
336
345
|
wrapper.update();
|
|
@@ -380,7 +389,16 @@ describe('DependentLookupEditor', function () {
|
|
|
380
389
|
}));
|
|
381
390
|
value = { lookupCode: 'US', value: 'USA' };
|
|
382
391
|
wrapper = (0, enzyme_1.mount)(react_1.default.createElement(DependentLookupEditor_1.DependentLookupEditor, __assign({}, props, { value: value, getLookups: getLookups, max: 2 })));
|
|
383
|
-
return [4 /*yield*/, (0,
|
|
392
|
+
return [4 /*yield*/, (0, test_utils_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
393
|
+
return __generator(this, function (_a) {
|
|
394
|
+
switch (_a.label) {
|
|
395
|
+
case 0: return [4 /*yield*/, (0, test_utils_2.delayPromise)(1)];
|
|
396
|
+
case 1:
|
|
397
|
+
_a.sent();
|
|
398
|
+
return [2 /*return*/];
|
|
399
|
+
}
|
|
400
|
+
});
|
|
401
|
+
}); })];
|
|
384
402
|
case 1:
|
|
385
403
|
_a.sent();
|
|
386
404
|
wrapper.update();
|
|
@@ -1,17 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
29
|
exports.HideOnShrink = void 0;
|
|
7
|
-
var react_1 =
|
|
30
|
+
var react_1 = __importStar(require("react"));
|
|
8
31
|
var react_resize_detector_1 = __importDefault(require("react-resize-detector"));
|
|
9
32
|
var EmptyStub = function () { return react_1.default.createElement("div", { style: { display: 'none' } }); };
|
|
10
33
|
var HideOnShrink = function (_a) {
|
|
11
34
|
var widthToHide = _a.widthToHide, children = _a.children;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
35
|
+
var _b = (0, react_1.useState)(widthToHide), width = _b[0], setWidth = _b[1];
|
|
36
|
+
var handleResize = (0, react_1.useCallback)(function (width) { return setWidth(width); }, []);
|
|
37
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
38
|
+
react_1.default.createElement(react_resize_detector_1.default, { handleHeight: false, onResize: handleResize }),
|
|
39
|
+
width > widthToHide ? children : react_1.default.createElement(EmptyStub, null)));
|
|
16
40
|
};
|
|
17
41
|
exports.HideOnShrink = HideOnShrink;
|
|
@@ -207,7 +207,7 @@ var VirtualGroupedList = function (_a) {
|
|
|
207
207
|
}, [getItemSize, items, renderGroupTitle]);
|
|
208
208
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
209
209
|
react_1.default.createElement("div", { ref: titlesRef, className: styles.stickyTitlesWrapper }, fixedTitle && renderTitles()),
|
|
210
|
-
onInnerContainerResize && itemsRef.current && (react_1.default.createElement(react_resize_detector_1.default, { handleHeight: true, onResize: onInnerContainerResize,
|
|
210
|
+
onInnerContainerResize && itemsRef.current && (react_1.default.createElement(react_resize_detector_1.default, { handleHeight: true, onResize: onInnerContainerResize, targetRef: itemsRef })),
|
|
211
211
|
react_1.default.createElement(react_window_1.VariableSizeList, { ref: listRef, itemCount: items.length, itemSize: _getItemSize, width: width, height: height, itemKey: itemKey, innerRef: itemsRef, onScroll: onScroll, style: disableHorizontalScrollbar ? { overflowX: 'hidden' } : undefined, overscanCount: OVERSCAN_COUNT, onItemsRendered: handleOnItemsRendered }, render)));
|
|
212
212
|
};
|
|
213
213
|
exports.VirtualGroupedList = VirtualGroupedList;
|
|
@@ -100,9 +100,9 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
100
100
|
expect(react_2.screen.queryByTestId('entity-types-selector')).not.toBeInTheDocument();
|
|
101
101
|
expect(react_2.screen.queryByTestId('attribute-selector')).not.toBeInTheDocument();
|
|
102
102
|
expect(react_2.screen.queryByTestId('source-selector')).not.toBeInTheDocument();
|
|
103
|
-
expect(react_2.screen.
|
|
104
|
-
expect(react_2.screen.
|
|
105
|
-
expect(react_2.screen.
|
|
103
|
+
expect(react_2.screen.getByText('Clear all')).toBeInTheDocument();
|
|
104
|
+
expect(react_2.screen.getByText('Cancel')).toBeInTheDocument();
|
|
105
|
+
expect(react_2.screen.getByText('Apply')).toBeInTheDocument();
|
|
106
106
|
});
|
|
107
107
|
it('should render correct default state for ENTITY_CHANGED', function () {
|
|
108
108
|
var filterValue = __assign(__assign({}, editor_test_data_1.value), { activities: [types_1.ActivityTypes.ENTITY_CHANGED] });
|
|
@@ -133,7 +133,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
133
133
|
expect((0, react_2.within)(userSelector).getByText('username1')).toBeInTheDocument();
|
|
134
134
|
activitySelector = react_2.screen.getByTestId('activity-selector');
|
|
135
135
|
expect((0, react_2.within)(activitySelector).getByText('Model was updated')).toBeInTheDocument();
|
|
136
|
-
return [4 /*yield*/, user.click(react_2.screen.
|
|
136
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Clear all'))];
|
|
137
137
|
case 1:
|
|
138
138
|
_a.sent();
|
|
139
139
|
expect((0, react_2.within)(userSelector).queryByText('username1')).not.toBeInTheDocument();
|
|
@@ -151,7 +151,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
151
151
|
switch (_a.label) {
|
|
152
152
|
case 0:
|
|
153
153
|
user = setUp().user;
|
|
154
|
-
return [4 /*yield*/, user.click(react_2.screen.
|
|
154
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Cancel'))];
|
|
155
155
|
case 1:
|
|
156
156
|
_a.sent();
|
|
157
157
|
expect(defaultProps.onCancel).toHaveBeenCalled();
|
|
@@ -168,7 +168,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
168
168
|
return [4 /*yield*/, user.type(react_2.screen.getAllByRole('spinbutton')[0], '5')];
|
|
169
169
|
case 1:
|
|
170
170
|
_a.sent();
|
|
171
|
-
return [4 /*yield*/, user.click(react_2.screen.
|
|
171
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Apply'))];
|
|
172
172
|
case 2:
|
|
173
173
|
_a.sent();
|
|
174
174
|
expect(defaultProps.onApply).toHaveBeenCalledWith(__assign(__assign({}, defaultProps.value), { dateRange: {
|
|
@@ -194,7 +194,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
194
194
|
return [4 /*yield*/, user.click(react_2.screen.getByRole('menuitem', { name: 'Activity' }))];
|
|
195
195
|
case 2:
|
|
196
196
|
_a.sent();
|
|
197
|
-
return [4 /*yield*/, user.click(react_2.screen.
|
|
197
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Apply'))];
|
|
198
198
|
case 3:
|
|
199
199
|
_a.sent();
|
|
200
200
|
expect(defaultProps.onApply).toHaveBeenCalledWith(__assign(__assign({}, filterValue), { attributes: [] }));
|
|
@@ -217,7 +217,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
217
217
|
case 2:
|
|
218
218
|
_a.sent();
|
|
219
219
|
newEntityTypes = [editor_test_data_1.metadata.entityTypes[1]];
|
|
220
|
-
return [4 /*yield*/, user.click(react_2.screen.
|
|
220
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Apply'))];
|
|
221
221
|
case 3:
|
|
222
222
|
_a.sent();
|
|
223
223
|
expect(defaultProps.onApply).toHaveBeenCalledWith(__assign(__assign({}, filterValue), { entityTypes: newEntityTypes, attributes: [] }));
|
|
@@ -230,7 +230,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
230
230
|
return __generator(this, function (_a) {
|
|
231
231
|
switch (_a.label) {
|
|
232
232
|
case 0:
|
|
233
|
-
filterValue = __assign(__assign({}, editor_test_data_1.value), { activities: [
|
|
233
|
+
filterValue = __assign(__assign({}, editor_test_data_1.value), { activities: [] });
|
|
234
234
|
entityType = { uri: 'test', attributes: [] };
|
|
235
235
|
user = setUp({ value: filterValue, entityType: entityType }).user;
|
|
236
236
|
activitySelector = react_2.screen.getByTestId('activity-selector');
|
|
@@ -238,17 +238,11 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
238
238
|
return [4 /*yield*/, user.click(textbox)];
|
|
239
239
|
case 1:
|
|
240
240
|
_a.sent();
|
|
241
|
-
return [4 /*yield*/, user.click(react_2.screen.
|
|
241
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Profile updated'))];
|
|
242
242
|
case 2:
|
|
243
243
|
_a.sent();
|
|
244
|
-
return [4 /*yield*/, user.click(
|
|
244
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Apply'))];
|
|
245
245
|
case 3:
|
|
246
|
-
_a.sent();
|
|
247
|
-
return [4 /*yield*/, user.click(react_2.screen.getByRole('menuitem', { name: 'Profile updated' }))];
|
|
248
|
-
case 4:
|
|
249
|
-
_a.sent();
|
|
250
|
-
return [4 /*yield*/, user.click(react_2.screen.getByRole('button', { name: 'Apply' }))];
|
|
251
|
-
case 5:
|
|
252
246
|
_a.sent();
|
|
253
247
|
expect(defaultProps.onApply).toHaveBeenCalledWith(__assign(__assign({}, filterValue), { activities: [types_1.ActivityTypes.ENTITY_CHANGED], attributes: [], sources: [], entityTypes: [] }));
|
|
254
248
|
return [2 /*return*/];
|
|
@@ -49,17 +49,6 @@ import React from 'react';
|
|
|
49
49
|
import AutoSizeList from './AutoSizeList';
|
|
50
50
|
import { delayPromise } from '../test-utils';
|
|
51
51
|
import { render, screen } from '@testing-library/react';
|
|
52
|
-
jest.mock('resize-observer-polyfill', function () { return ({
|
|
53
|
-
__esModule: true,
|
|
54
|
-
default: jest.fn().mockImplementation(function (onResize) {
|
|
55
|
-
onResize([{ contentRect: { width: 100, height: 50 } }]);
|
|
56
|
-
return {
|
|
57
|
-
observe: jest.fn(),
|
|
58
|
-
unobserve: jest.fn(),
|
|
59
|
-
disconnect: jest.fn()
|
|
60
|
-
};
|
|
61
|
-
})
|
|
62
|
-
}); });
|
|
63
52
|
describe('AutoSizeList tests', function () {
|
|
64
53
|
var defaultProps = {
|
|
65
54
|
width: 100,
|
|
@@ -75,6 +64,16 @@ describe('AutoSizeList tests', function () {
|
|
|
75
64
|
if (props === void 0) { props = defaultProps; }
|
|
76
65
|
return render(React.createElement(AutoSizeList, __assign({}, props)));
|
|
77
66
|
};
|
|
67
|
+
beforeAll(function () {
|
|
68
|
+
window.ResizeObserver = jest.fn().mockImplementation(function (onResize) {
|
|
69
|
+
onResize([{ contentRect: { width: 100, height: 50 } }]);
|
|
70
|
+
return {
|
|
71
|
+
observe: jest.fn(),
|
|
72
|
+
unobserve: jest.fn(),
|
|
73
|
+
disconnect: jest.fn()
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
});
|
|
78
77
|
it('should render correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
79
78
|
return __generator(this, function (_a) {
|
|
80
79
|
switch (_a.label) {
|
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
export declare const BasicViewContent: ({ children, className, ...otherProps }: Props) => JSX.Element;
|
|
4
|
-
export {};
|
|
2
|
+
export declare const BasicViewContent: React.ForwardRefExoticComponent<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | "key"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -20,11 +20,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
}
|
|
21
21
|
return t;
|
|
22
22
|
};
|
|
23
|
-
import React from 'react';
|
|
23
|
+
import React, { forwardRef } from 'react';
|
|
24
24
|
import classnames from 'classnames';
|
|
25
25
|
import { useStyles } from './styles';
|
|
26
|
-
export var BasicViewContent = function (_a) {
|
|
26
|
+
export var BasicViewContent = forwardRef(function (_a, ref) {
|
|
27
27
|
var children = _a.children, className = _a.className, otherProps = __rest(_a, ["children", "className"]);
|
|
28
28
|
var styles = useStyles();
|
|
29
|
-
return (React.createElement("div", __assign({ className: classnames(styles['basic-view-content'], className) }, otherProps), children));
|
|
30
|
-
};
|
|
29
|
+
return (React.createElement("div", __assign({ ref: ref, className: classnames(styles['basic-view-content'], className) }, otherProps), children));
|
|
30
|
+
});
|
|
31
|
+
BasicViewContent.displayName = 'BasicViewContent';
|
|
@@ -66,7 +66,7 @@ describe('DateEditor behaviour', function () {
|
|
|
66
66
|
jest.clearAllMocks();
|
|
67
67
|
});
|
|
68
68
|
it('should work correctly with invalid value', function () {
|
|
69
|
-
var props = __assign(__assign({}, defaultProps), { value: '
|
|
69
|
+
var props = __assign(__assign({}, defaultProps), { value: 'asd' });
|
|
70
70
|
setUp({ props: props });
|
|
71
71
|
var input = screen.getByRole('textbox');
|
|
72
72
|
expect(input).toHaveAttribute('value', 'MM/DD/YYYY');
|
|
@@ -90,7 +90,7 @@ describe('DateEditor behaviour', function () {
|
|
|
90
90
|
expect(input).toHaveAttribute('value', '');
|
|
91
91
|
});
|
|
92
92
|
it('validation should work correctly if minDate and maxDate is provided and they are not included in the popup limitations (by select)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
93
|
-
var props, user
|
|
93
|
+
var props, user;
|
|
94
94
|
return __generator(this, function (_a) {
|
|
95
95
|
switch (_a.label) {
|
|
96
96
|
case 0:
|
|
@@ -102,8 +102,7 @@ describe('DateEditor behaviour', function () {
|
|
|
102
102
|
return [4 /*yield*/, user.click(screen.getByLabelText('calendar view is open, switch to year view'))];
|
|
103
103
|
case 2:
|
|
104
104
|
_a.sent();
|
|
105
|
-
|
|
106
|
-
years.forEach(function (year) { return screen.getByText(year); });
|
|
105
|
+
['1900', '1958', '2000', '2013', '2099'].forEach(function (year) { return screen.getByText(year); });
|
|
107
106
|
expect(screen.queryByText('1899')).not.toBeInTheDocument();
|
|
108
107
|
expect(screen.queryByText('2100')).not.toBeInTheDocument();
|
|
109
108
|
return [4 /*yield*/, user.click(screen.getByText('2000'))];
|
|
@@ -122,41 +121,42 @@ describe('DateEditor behaviour', function () {
|
|
|
122
121
|
});
|
|
123
122
|
}); });
|
|
124
123
|
it('validation should work correctly if minDate and maxDate is provided and they are not included in the popup limitations (by type)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
125
|
-
var props, user;
|
|
124
|
+
var props, user, textbox;
|
|
126
125
|
return __generator(this, function (_a) {
|
|
127
126
|
switch (_a.label) {
|
|
128
127
|
case 0:
|
|
129
128
|
props = __assign(__assign({}, defaultProps), { minDate: new Date(1800, 0, 1, 0, 0, 0, 0), maxDate: new Date(2200, 11, 31, 0, 0, 0, 0) });
|
|
130
129
|
user = setUp({ props: props }).user;
|
|
131
|
-
|
|
130
|
+
textbox = screen.getByRole('textbox');
|
|
131
|
+
return [4 /*yield*/, user.type(textbox, '01/01/1800')];
|
|
132
132
|
case 1:
|
|
133
133
|
_a.sent();
|
|
134
134
|
expect(screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
135
135
|
expect(props.onChange).toHaveBeenCalledWith(new Date('1800-01-01T00:00:00'));
|
|
136
136
|
props.onChange.mockClear();
|
|
137
|
-
return [4 /*yield*/, user.type(
|
|
137
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1799')];
|
|
138
138
|
case 2:
|
|
139
139
|
_a.sent();
|
|
140
140
|
screen.getByText('Date should not be before minimal date');
|
|
141
141
|
props.onChange.mockClear();
|
|
142
|
-
return [4 /*yield*/, user.type(
|
|
142
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1798')];
|
|
143
143
|
case 3:
|
|
144
144
|
_a.sent();
|
|
145
145
|
screen.getByText('Date should not be before minimal date');
|
|
146
146
|
expect(props.onChange).not.toHaveBeenCalled();
|
|
147
|
-
return [4 /*yield*/, user.type(
|
|
147
|
+
return [4 /*yield*/, user.type(textbox, '12/31/2200')];
|
|
148
148
|
case 4:
|
|
149
149
|
_a.sent();
|
|
150
150
|
expect(screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
151
151
|
expect(screen.queryByText('Date should not be after maximal date')).not.toBeInTheDocument();
|
|
152
152
|
expect(props.onChange).toHaveBeenCalledWith(new Date('2200-12-31T00:00:00'));
|
|
153
153
|
props.onChange.mockClear();
|
|
154
|
-
return [4 /*yield*/, user.type(
|
|
154
|
+
return [4 /*yield*/, user.type(textbox, '01/01/2201')];
|
|
155
155
|
case 5:
|
|
156
156
|
_a.sent();
|
|
157
157
|
screen.getByText('Date should not be after maximal date');
|
|
158
158
|
props.onChange.mockClear();
|
|
159
|
-
return [4 /*yield*/, user.type(
|
|
159
|
+
return [4 /*yield*/, user.type(textbox, '01/01/2202')];
|
|
160
160
|
case 6:
|
|
161
161
|
_a.sent();
|
|
162
162
|
screen.getByText('Date should not be after maximal date');
|
|
@@ -215,45 +215,46 @@ describe('DateEditor behaviour', function () {
|
|
|
215
215
|
});
|
|
216
216
|
}); });
|
|
217
217
|
it('validation should work correctly if minDate and maxDate is provided and they are included in the popup limitations (by type)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
218
|
-
var props, user;
|
|
218
|
+
var props, user, textbox;
|
|
219
219
|
return __generator(this, function (_a) {
|
|
220
220
|
switch (_a.label) {
|
|
221
221
|
case 0:
|
|
222
222
|
props = __assign(__assign({}, defaultProps), { minDate: new Date('1980-01-01'), maxDate: new Date('2029-12-31') });
|
|
223
223
|
user = setUp({ props: props }).user;
|
|
224
|
+
textbox = screen.getByRole('textbox');
|
|
224
225
|
return [4 /*yield*/, user.click(screen.getByRole('button'))];
|
|
225
226
|
case 1:
|
|
226
227
|
_a.sent();
|
|
227
228
|
return [4 /*yield*/, user.click(screen.getByLabelText('calendar view is open, switch to year view'))];
|
|
228
229
|
case 2:
|
|
229
230
|
_a.sent();
|
|
230
|
-
return [4 /*yield*/, user.type(
|
|
231
|
+
return [4 /*yield*/, user.type(textbox, '01/01/1980')];
|
|
231
232
|
case 3:
|
|
232
233
|
_a.sent();
|
|
233
234
|
expect(screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
234
|
-
return [4 /*yield*/, user.type(
|
|
235
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1979')];
|
|
235
236
|
case 4:
|
|
236
237
|
_a.sent();
|
|
237
238
|
screen.getByText('Date should not be before minimal date');
|
|
238
239
|
props.onChange.mockClear();
|
|
239
|
-
return [4 /*yield*/, user.type(
|
|
240
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1978')];
|
|
240
241
|
case 5:
|
|
241
242
|
_a.sent();
|
|
242
243
|
screen.getByText('Date should not be before minimal date');
|
|
243
244
|
expect(props.onChange).not.toHaveBeenCalled();
|
|
244
|
-
return [4 /*yield*/, user.type(
|
|
245
|
+
return [4 /*yield*/, user.type(textbox, '12/31/2029')];
|
|
245
246
|
case 6:
|
|
246
247
|
_a.sent();
|
|
247
248
|
expect(screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
248
249
|
expect(screen.queryByText('Date should not be after maximal date')).not.toBeInTheDocument();
|
|
249
250
|
expect(props.onChange).toHaveBeenCalledWith(new Date('2029-12-31T00:00:00'));
|
|
250
251
|
props.onChange.mockClear();
|
|
251
|
-
return [4 /*yield*/, user.type(
|
|
252
|
+
return [4 /*yield*/, user.type(textbox, '01/01/2030')];
|
|
252
253
|
case 7:
|
|
253
254
|
_a.sent();
|
|
254
255
|
screen.getByText('Date should not be after maximal date');
|
|
255
256
|
props.onChange.mockClear();
|
|
256
|
-
return [4 /*yield*/, user.type(
|
|
257
|
+
return [4 /*yield*/, user.type(textbox, '01/01/2031')];
|
|
257
258
|
case 8:
|
|
258
259
|
_a.sent();
|
|
259
260
|
screen.getByText('Date should not be after maximal date');
|
|
@@ -309,20 +310,21 @@ describe('DateEditor behaviour', function () {
|
|
|
309
310
|
});
|
|
310
311
|
}); });
|
|
311
312
|
it('validation should work correctly if minDate and maxDate is not provided (by type)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
312
|
-
var user;
|
|
313
|
+
var user, textbox;
|
|
313
314
|
return __generator(this, function (_a) {
|
|
314
315
|
switch (_a.label) {
|
|
315
316
|
case 0:
|
|
316
317
|
user = setUp().user;
|
|
317
|
-
|
|
318
|
+
textbox = screen.getByRole('textbox');
|
|
319
|
+
return [4 /*yield*/, user.type(textbox, '01/01/1900')];
|
|
318
320
|
case 1:
|
|
319
321
|
_a.sent();
|
|
320
322
|
expect(screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
321
|
-
return [4 /*yield*/, user.type(
|
|
323
|
+
return [4 /*yield*/, user.type(textbox, '12/31/1899')];
|
|
322
324
|
case 2:
|
|
323
325
|
_a.sent();
|
|
324
326
|
screen.getByText('Date should not be before minimal date');
|
|
325
|
-
return [4 /*yield*/, user.type(
|
|
327
|
+
return [4 /*yield*/, user.type(textbox, '12/31/9999')];
|
|
326
328
|
case 3:
|
|
327
329
|
_a.sent();
|
|
328
330
|
expect(screen.queryByText('Date should not be before minimal date')).not.toBeInTheDocument();
|
|
@@ -337,16 +339,17 @@ describe('DateEditor behaviour', function () {
|
|
|
337
339
|
screen.getByText('Date should not be before minimal date');
|
|
338
340
|
});
|
|
339
341
|
it('should not clear error message after change value if there is not min date and not max date error', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
340
|
-
var user;
|
|
342
|
+
var user, textbox;
|
|
341
343
|
return __generator(this, function (_a) {
|
|
342
344
|
switch (_a.label) {
|
|
343
345
|
case 0:
|
|
344
346
|
user = setUp().user;
|
|
345
|
-
|
|
347
|
+
textbox = screen.getByRole('textbox');
|
|
348
|
+
return [4 /*yield*/, user.type(textbox, 'inv')];
|
|
346
349
|
case 1:
|
|
347
350
|
_a.sent();
|
|
348
351
|
screen.getByText('Invalid Date Format');
|
|
349
|
-
return [4 /*yield*/, user.type(
|
|
352
|
+
return [4 /*yield*/, user.type(textbox, '2')];
|
|
350
353
|
case 2:
|
|
351
354
|
_a.sent();
|
|
352
355
|
screen.getByText('Invalid Date Format');
|
|
@@ -85,7 +85,7 @@ describe('DependentLookupEditor', function () {
|
|
|
85
85
|
};
|
|
86
86
|
});
|
|
87
87
|
afterEach(function () {
|
|
88
|
-
jest.
|
|
88
|
+
jest.clearAllMocks();
|
|
89
89
|
});
|
|
90
90
|
it('should render ReactSelect with correct properties in single mode', function () {
|
|
91
91
|
var value = { lookupCode: 'RU', value: 'Russia' };
|
|
@@ -325,7 +325,16 @@ describe('DependentLookupEditor', function () {
|
|
|
325
325
|
}));
|
|
326
326
|
value = { lookupCode: 'US', value: 'USA' };
|
|
327
327
|
wrapper = mount(React.createElement(DependentLookupEditor, __assign({}, props, { value: value, getLookups: getLookups, max: 2 })));
|
|
328
|
-
return [4 /*yield*/,
|
|
328
|
+
return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
329
|
+
return __generator(this, function (_a) {
|
|
330
|
+
switch (_a.label) {
|
|
331
|
+
case 0: return [4 /*yield*/, delayPromise(1)];
|
|
332
|
+
case 1:
|
|
333
|
+
_a.sent();
|
|
334
|
+
return [2 /*return*/];
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
}); })];
|
|
329
338
|
case 1:
|
|
330
339
|
_a.sent();
|
|
331
340
|
wrapper.update();
|
|
@@ -375,7 +384,16 @@ describe('DependentLookupEditor', function () {
|
|
|
375
384
|
}));
|
|
376
385
|
value = { lookupCode: 'US', value: 'USA' };
|
|
377
386
|
wrapper = mount(React.createElement(DependentLookupEditor, __assign({}, props, { value: value, getLookups: getLookups, max: 2 })));
|
|
378
|
-
return [4 /*yield*/,
|
|
387
|
+
return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
388
|
+
return __generator(this, function (_a) {
|
|
389
|
+
switch (_a.label) {
|
|
390
|
+
case 0: return [4 /*yield*/, delayPromise(1)];
|
|
391
|
+
case 1:
|
|
392
|
+
_a.sent();
|
|
393
|
+
return [2 /*return*/];
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
}); })];
|
|
379
397
|
case 1:
|
|
380
398
|
_a.sent();
|
|
381
399
|
wrapper.update();
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useState, useCallback } from 'react';
|
|
2
2
|
import ReactResizeDetector from 'react-resize-detector';
|
|
3
3
|
var EmptyStub = function () { return React.createElement("div", { style: { display: 'none' } }); };
|
|
4
4
|
export var HideOnShrink = function (_a) {
|
|
5
5
|
var widthToHide = _a.widthToHide, children = _a.children;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
var _b = useState(widthToHide), width = _b[0], setWidth = _b[1];
|
|
7
|
+
var handleResize = useCallback(function (width) { return setWidth(width); }, []);
|
|
8
|
+
return (React.createElement(React.Fragment, null,
|
|
9
|
+
React.createElement(ReactResizeDetector, { handleHeight: false, onResize: handleResize }),
|
|
10
|
+
width > widthToHide ? children : React.createElement(EmptyStub, null)));
|
|
10
11
|
};
|
|
@@ -178,7 +178,7 @@ export var VirtualGroupedList = function (_a) {
|
|
|
178
178
|
}, [getItemSize, items, renderGroupTitle]);
|
|
179
179
|
return (React.createElement(React.Fragment, null,
|
|
180
180
|
React.createElement("div", { ref: titlesRef, className: styles.stickyTitlesWrapper }, fixedTitle && renderTitles()),
|
|
181
|
-
onInnerContainerResize && itemsRef.current && (React.createElement(ReactResizeDetector, { handleHeight: true, onResize: onInnerContainerResize,
|
|
181
|
+
onInnerContainerResize && itemsRef.current && (React.createElement(ReactResizeDetector, { handleHeight: true, onResize: onInnerContainerResize, targetRef: itemsRef })),
|
|
182
182
|
React.createElement(List, { ref: listRef, itemCount: items.length, itemSize: _getItemSize, width: width, height: height, itemKey: itemKey, innerRef: itemsRef, onScroll: onScroll, style: disableHorizontalScrollbar ? { overflowX: 'hidden' } : undefined, overscanCount: OVERSCAN_COUNT, onItemsRendered: handleOnItemsRendered }, render)));
|
|
183
183
|
};
|
|
184
184
|
VirtualGroupedList.propTypes = {
|
|
@@ -95,9 +95,9 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
95
95
|
expect(screen.queryByTestId('entity-types-selector')).not.toBeInTheDocument();
|
|
96
96
|
expect(screen.queryByTestId('attribute-selector')).not.toBeInTheDocument();
|
|
97
97
|
expect(screen.queryByTestId('source-selector')).not.toBeInTheDocument();
|
|
98
|
-
expect(screen.
|
|
99
|
-
expect(screen.
|
|
100
|
-
expect(screen.
|
|
98
|
+
expect(screen.getByText('Clear all')).toBeInTheDocument();
|
|
99
|
+
expect(screen.getByText('Cancel')).toBeInTheDocument();
|
|
100
|
+
expect(screen.getByText('Apply')).toBeInTheDocument();
|
|
101
101
|
});
|
|
102
102
|
it('should render correct default state for ENTITY_CHANGED', function () {
|
|
103
103
|
var filterValue = __assign(__assign({}, value), { activities: [ActivityTypes.ENTITY_CHANGED] });
|
|
@@ -128,7 +128,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
128
128
|
expect(within(userSelector).getByText('username1')).toBeInTheDocument();
|
|
129
129
|
activitySelector = screen.getByTestId('activity-selector');
|
|
130
130
|
expect(within(activitySelector).getByText('Model was updated')).toBeInTheDocument();
|
|
131
|
-
return [4 /*yield*/, user.click(screen.
|
|
131
|
+
return [4 /*yield*/, user.click(screen.getByText('Clear all'))];
|
|
132
132
|
case 1:
|
|
133
133
|
_a.sent();
|
|
134
134
|
expect(within(userSelector).queryByText('username1')).not.toBeInTheDocument();
|
|
@@ -146,7 +146,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
146
146
|
switch (_a.label) {
|
|
147
147
|
case 0:
|
|
148
148
|
user = setUp().user;
|
|
149
|
-
return [4 /*yield*/, user.click(screen.
|
|
149
|
+
return [4 /*yield*/, user.click(screen.getByText('Cancel'))];
|
|
150
150
|
case 1:
|
|
151
151
|
_a.sent();
|
|
152
152
|
expect(defaultProps.onCancel).toHaveBeenCalled();
|
|
@@ -163,7 +163,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
163
163
|
return [4 /*yield*/, user.type(screen.getAllByRole('spinbutton')[0], '5')];
|
|
164
164
|
case 1:
|
|
165
165
|
_a.sent();
|
|
166
|
-
return [4 /*yield*/, user.click(screen.
|
|
166
|
+
return [4 /*yield*/, user.click(screen.getByText('Apply'))];
|
|
167
167
|
case 2:
|
|
168
168
|
_a.sent();
|
|
169
169
|
expect(defaultProps.onApply).toHaveBeenCalledWith(__assign(__assign({}, defaultProps.value), { dateRange: {
|
|
@@ -189,7 +189,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
189
189
|
return [4 /*yield*/, user.click(screen.getByRole('menuitem', { name: 'Activity' }))];
|
|
190
190
|
case 2:
|
|
191
191
|
_a.sent();
|
|
192
|
-
return [4 /*yield*/, user.click(screen.
|
|
192
|
+
return [4 /*yield*/, user.click(screen.getByText('Apply'))];
|
|
193
193
|
case 3:
|
|
194
194
|
_a.sent();
|
|
195
195
|
expect(defaultProps.onApply).toHaveBeenCalledWith(__assign(__assign({}, filterValue), { attributes: [] }));
|
|
@@ -212,7 +212,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
212
212
|
case 2:
|
|
213
213
|
_a.sent();
|
|
214
214
|
newEntityTypes = [metadata.entityTypes[1]];
|
|
215
|
-
return [4 /*yield*/, user.click(screen.
|
|
215
|
+
return [4 /*yield*/, user.click(screen.getByText('Apply'))];
|
|
216
216
|
case 3:
|
|
217
217
|
_a.sent();
|
|
218
218
|
expect(defaultProps.onApply).toHaveBeenCalledWith(__assign(__assign({}, filterValue), { entityTypes: newEntityTypes, attributes: [] }));
|
|
@@ -225,7 +225,7 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
225
225
|
return __generator(this, function (_a) {
|
|
226
226
|
switch (_a.label) {
|
|
227
227
|
case 0:
|
|
228
|
-
filterValue = __assign(__assign({}, value), { activities: [
|
|
228
|
+
filterValue = __assign(__assign({}, value), { activities: [] });
|
|
229
229
|
entityType = { uri: 'test', attributes: [] };
|
|
230
230
|
user = setUp({ value: filterValue, entityType: entityType }).user;
|
|
231
231
|
activitySelector = screen.getByTestId('activity-selector');
|
|
@@ -233,17 +233,11 @@ describe('ActivityFilterEditor tests', function () {
|
|
|
233
233
|
return [4 /*yield*/, user.click(textbox)];
|
|
234
234
|
case 1:
|
|
235
235
|
_a.sent();
|
|
236
|
-
return [4 /*yield*/, user.click(screen.
|
|
236
|
+
return [4 /*yield*/, user.click(screen.getByText('Profile updated'))];
|
|
237
237
|
case 2:
|
|
238
238
|
_a.sent();
|
|
239
|
-
return [4 /*yield*/, user.click(
|
|
239
|
+
return [4 /*yield*/, user.click(screen.getByText('Apply'))];
|
|
240
240
|
case 3:
|
|
241
|
-
_a.sent();
|
|
242
|
-
return [4 /*yield*/, user.click(screen.getByRole('menuitem', { name: 'Profile updated' }))];
|
|
243
|
-
case 4:
|
|
244
|
-
_a.sent();
|
|
245
|
-
return [4 /*yield*/, user.click(screen.getByRole('button', { name: 'Apply' }))];
|
|
246
|
-
case 5:
|
|
247
241
|
_a.sent();
|
|
248
242
|
expect(defaultProps.onApply).toHaveBeenCalledWith(__assign(__assign({}, filterValue), { activities: [ActivityTypes.ENTITY_CHANGED], attributes: [], sources: [], entityTypes: [] }));
|
|
249
243
|
return [2 /*return*/];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1927",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"nanoid": "^3.3.4",
|
|
23
23
|
"prop-types": "^15.6.2",
|
|
24
24
|
"ramda": "^0.28.0",
|
|
25
|
+
"rc-tree": "^5.8.8",
|
|
25
26
|
"react-autosuggest": "^9.4.3",
|
|
26
27
|
"react-components": "bitbucket:reltio-ondemand/react-components#v3.27.1",
|
|
27
28
|
"react-dnd": "^9.4.0",
|
|
@@ -32,7 +33,7 @@
|
|
|
32
33
|
"react-mentions": "4.3.0",
|
|
33
34
|
"react-number-format": "^4.9.2",
|
|
34
35
|
"react-resizable-panels": "^2.0.20",
|
|
35
|
-
"react-resize-detector": "^
|
|
36
|
+
"react-resize-detector": "^9.1.1",
|
|
36
37
|
"react-router-dom": "^6.2.1",
|
|
37
38
|
"react-select": "^3.0.4",
|
|
38
39
|
"react-simple-maps": "^3.0.0",
|