@reltio/components 1.4.1924 → 1.4.1926
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/DateEditor/DateEditor.test.js +28 -25
- package/cjs/HierarchyNodeTitle/styles.js +2 -1
- package/cjs/RCTree/DefaultSwitchRenderer.d.ts +7 -0
- package/cjs/RCTree/DefaultSwitchRenderer.js +16 -0
- package/cjs/RCTree/RCTree.d.ts +20 -0
- package/cjs/RCTree/RCTree.js +63 -0
- package/cjs/RCTree/helper.d.ts +12 -0
- package/cjs/RCTree/helper.js +40 -0
- package/cjs/RCTree/index.d.ts +1 -0
- package/cjs/RCTree/index.js +5 -0
- package/cjs/RCTree/styles.d.ts +1 -0
- package/cjs/RCTree/styles.js +40 -0
- package/cjs/RCTree/types.d.ts +4 -0
- package/cjs/RCTree/types.js +2 -0
- package/cjs/features/activity-log/ActivityFilterEditor/ActivityFilterEditor.specs.js +11 -17
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +6 -4
- package/esm/DateEditor/DateEditor.test.js +28 -25
- package/esm/HierarchyNodeTitle/styles.js +2 -1
- package/esm/RCTree/DefaultSwitchRenderer.d.ts +7 -0
- package/esm/RCTree/DefaultSwitchRenderer.js +9 -0
- package/esm/RCTree/RCTree.d.ts +20 -0
- package/esm/RCTree/RCTree.js +33 -0
- package/esm/RCTree/helper.d.ts +12 -0
- package/esm/RCTree/helper.js +35 -0
- package/esm/RCTree/index.d.ts +1 -0
- package/esm/RCTree/index.js +1 -0
- package/esm/RCTree/styles.d.ts +1 -0
- package/esm/RCTree/styles.js +37 -0
- package/esm/RCTree/types.d.ts +4 -0
- package/esm/RCTree/types.js +1 -0
- package/esm/features/activity-log/ActivityFilterEditor/ActivityFilterEditor.specs.js +11 -17
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/package.json +2 -2
|
@@ -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');
|
|
@@ -7,7 +7,8 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
|
7
7
|
cursor: 'pointer',
|
|
8
8
|
color: theme.palette.primary.main,
|
|
9
9
|
lineHeight: '15px',
|
|
10
|
-
wordBreak: 'break-word'
|
|
10
|
+
wordBreak: 'break-word',
|
|
11
|
+
whiteSpace: 'normal'
|
|
11
12
|
},
|
|
12
13
|
selected: {
|
|
13
14
|
fontWeight: 'bold'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DefaultSwitchRenderer = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var classnames_1 = __importDefault(require("classnames"));
|
|
9
|
+
var styles_1 = require("./styles");
|
|
10
|
+
var DefaultSwitchRenderer = function (_a) {
|
|
11
|
+
var node = _a.node;
|
|
12
|
+
var styles = (0, styles_1.useStyles)();
|
|
13
|
+
return !node.isLeaf ? (react_1.default.createElement("div", { className: styles.switcherButtonWrapper },
|
|
14
|
+
react_1.default.createElement("div", { "aria-label": node.expanded ? 'Collapse' : 'Expand', className: (0, classnames_1.default)(styles.switcherButton, node.expanded ? styles.collapseButton : styles.expandButton) }))) : null;
|
|
15
|
+
};
|
|
16
|
+
exports.DefaultSwitchRenderer = DefaultSwitchRenderer;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TreeNodeProps } from 'rc-tree';
|
|
3
|
+
import 'rc-tree/assets/index.css';
|
|
4
|
+
import { RCTreeNode } from './types';
|
|
5
|
+
type Props = {
|
|
6
|
+
treeData: RCTreeNode[];
|
|
7
|
+
renderNode?: (node: RCTreeNode & Record<string, unknown>) => JSX.Element;
|
|
8
|
+
canDrag?: boolean;
|
|
9
|
+
isVirtualized?: boolean;
|
|
10
|
+
canDrop?: (params: unknown) => boolean;
|
|
11
|
+
onLoadChildren?: (treeNode: unknown) => Promise<void>;
|
|
12
|
+
height?: number;
|
|
13
|
+
defaultExpandAll?: boolean;
|
|
14
|
+
SwitchRenderer?: (props: any) => JSX.Element;
|
|
15
|
+
className?: string;
|
|
16
|
+
minItemHeight?: number;
|
|
17
|
+
isLeaf?: (node: TreeNodeProps & Record<string, unknown>) => boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare const RCTree: ({ treeData, isVirtualized, canDrag, canDrop, onLoadChildren, height, defaultExpandAll, SwitchRenderer, className, renderNode, minItemHeight, isLeaf }: Props) => JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.RCTree = void 0;
|
|
30
|
+
var react_1 = __importStar(require("react"));
|
|
31
|
+
var rc_tree_1 = __importDefault(require("rc-tree"));
|
|
32
|
+
var classnames_1 = __importDefault(require("classnames"));
|
|
33
|
+
require("rc-tree/assets/index.css");
|
|
34
|
+
var DefaultSwitchRenderer_1 = require("./DefaultSwitchRenderer");
|
|
35
|
+
var helper_1 = require("./helper");
|
|
36
|
+
var styles_1 = require("./styles");
|
|
37
|
+
var MIN_ROW_HEIGHT = 28;
|
|
38
|
+
var RCTree = function (_a) {
|
|
39
|
+
var treeData = _a.treeData, _b = _a.isVirtualized, isVirtualized = _b === void 0 ? true : _b, _c = _a.canDrag, canDrag = _c === void 0 ? false : _c, _d = _a.canDrop, canDrop = _d === void 0 ? function () { return false; } : _d, onLoadChildren = _a.onLoadChildren, height = _a.height, _e = _a.defaultExpandAll, defaultExpandAll = _e === void 0 ? false : _e, _f = _a.SwitchRenderer, SwitchRenderer = _f === void 0 ? DefaultSwitchRenderer_1.DefaultSwitchRenderer : _f, className = _a.className, renderNode = _a.renderNode, _g = _a.minItemHeight, minItemHeight = _g === void 0 ? MIN_ROW_HEIGHT : _g, _h = _a.isLeaf, isLeaf = _h === void 0 ? helper_1.defaultIsLeaf : _h;
|
|
40
|
+
var styles = (0, styles_1.useStyles)();
|
|
41
|
+
var internalTreeData = (0, react_1.useMemo)(function () { return (0, helper_1.convertTreeData)({ data: treeData, isLeaf: isLeaf }); }, [isLeaf, treeData]);
|
|
42
|
+
// eslint-disable-next-line no-unused-vars
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
44
|
+
var handleDrop = function (_a) {
|
|
45
|
+
var node = _a.node, dragNode = _a.dragNode, dragNodesKeys = _a.dragNodesKeys;
|
|
46
|
+
// TODO: implement
|
|
47
|
+
};
|
|
48
|
+
// eslint-disable-next-line no-unused-vars
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
50
|
+
var handleDragEnter = function (_a) {
|
|
51
|
+
var event = _a.event, node = _a.node, expandedKeys = _a.expandedKeys;
|
|
52
|
+
// TODO: implement
|
|
53
|
+
};
|
|
54
|
+
// eslint-disable-next-line no-unused-vars
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
56
|
+
var dropIndicatorRender = function (_a) {
|
|
57
|
+
var dropPosition = _a.dropPosition, dropLevelOffset = _a.dropLevelOffset, indent = _a.indent, prefixCls = _a.prefixCls, direction = _a.direction;
|
|
58
|
+
// TODO: implement
|
|
59
|
+
};
|
|
60
|
+
var renderSwitcherIcon = (0, react_1.useCallback)(function (node) { return react_1.default.createElement(SwitchRenderer, { node: node }); }, []);
|
|
61
|
+
return internalTreeData ? (react_1.default.createElement(rc_tree_1.default, { allowDrop: canDrop, draggable: canDrag, onDragStart: function () { }, onDragEnter: handleDragEnter, onDrop: handleDrop, virtual: isVirtualized, itemHeight: minItemHeight, height: height, showIcon: false, showLine: true, switcherIcon: renderSwitcherIcon, defaultExpandAll: defaultExpandAll, className: (0, classnames_1.default)(className, styles.treeWrapper), titleRender: renderNode ? function (node) { return renderNode(node.value); } : undefined, treeData: internalTreeData, selectable: false, loadData: onLoadChildren ? function (node) { return onLoadChildren(node.value); } : undefined, "data-reltio-id": "rc-tree" })) : null;
|
|
62
|
+
};
|
|
63
|
+
exports.RCTree = RCTree;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TreeNodeProps } from 'rc-tree';
|
|
2
|
+
import { RCTreeNode } from './types';
|
|
3
|
+
export declare const defaultIsLeaf: ({ children }: {
|
|
4
|
+
children?: unknown[];
|
|
5
|
+
}) => boolean;
|
|
6
|
+
type Props = {
|
|
7
|
+
data: Array<RCTreeNode & Record<string, unknown>>;
|
|
8
|
+
parentPath?: number[];
|
|
9
|
+
isLeaf: (node: TreeNodeProps & Record<string, unknown>) => boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const convertTreeData: ({ data, parentPath, isLeaf }: Props) => any;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.convertTreeData = exports.defaultIsLeaf = void 0;
|
|
24
|
+
var defaultIsLeaf = function (_a) {
|
|
25
|
+
var _b = _a.children, children = _b === void 0 ? [] : _b;
|
|
26
|
+
return !children.length;
|
|
27
|
+
};
|
|
28
|
+
exports.defaultIsLeaf = defaultIsLeaf;
|
|
29
|
+
var convertTreeData = function (_a) {
|
|
30
|
+
var data = _a.data, _b = _a.parentPath, parentPath = _b === void 0 ? [] : _b, isLeaf = _a.isLeaf;
|
|
31
|
+
return data.map(function (item) {
|
|
32
|
+
var _a;
|
|
33
|
+
var path = __spreadArray(__spreadArray([], parentPath, true), [item.nodeId], false);
|
|
34
|
+
return __assign({ key: item.nodeId, value: __assign(__assign({}, item), { path: path }), title: (_a = item.title) !== null && _a !== void 0 ? _a : '', isLeaf: isLeaf(item) }, (item.children &&
|
|
35
|
+
item.children.length && {
|
|
36
|
+
children: (0, exports.convertTreeData)({ data: item.children, parentPath: path, isLeaf: isLeaf })
|
|
37
|
+
}));
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.convertTreeData = convertTreeData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RCTree } from './RCTree';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"expandButton" | "collapseButton" | "switcherButtonWrapper" | "switcherButton" | "treeWrapper" | "@global .rc-tree-node-content-wrapper" | "@global .rc-tree-treenode" | "@global .rc-tree-icon_loading">;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStyles = void 0;
|
|
4
|
+
var styles_1 = require("@mui/styles");
|
|
5
|
+
exports.useStyles = (0, styles_1.makeStyles)(function () { return ({
|
|
6
|
+
switcherButtonWrapper: {
|
|
7
|
+
paddingTop: '9px',
|
|
8
|
+
paddingLeft: '6px',
|
|
9
|
+
width: '16px',
|
|
10
|
+
height: '16px',
|
|
11
|
+
backgroundColor: 'white',
|
|
12
|
+
cursor: 'pointer'
|
|
13
|
+
},
|
|
14
|
+
switcherButton: {
|
|
15
|
+
transition: 'transform .15s ease',
|
|
16
|
+
width: 0,
|
|
17
|
+
height: 0,
|
|
18
|
+
borderLeft: '4px solid transparent',
|
|
19
|
+
borderRight: '4px solid transparent',
|
|
20
|
+
borderTop: '4px solid rgba(0, 0, 0, 0.54)'
|
|
21
|
+
},
|
|
22
|
+
collapseButton: {
|
|
23
|
+
transform: 'rotate(0deg)'
|
|
24
|
+
},
|
|
25
|
+
expandButton: {
|
|
26
|
+
transform: ' rotate(-90deg)'
|
|
27
|
+
},
|
|
28
|
+
treeWrapper: {
|
|
29
|
+
border: 'none'
|
|
30
|
+
},
|
|
31
|
+
'@global .rc-tree-node-content-wrapper': {
|
|
32
|
+
height: 'auto !important'
|
|
33
|
+
},
|
|
34
|
+
'@global .rc-tree-treenode': {
|
|
35
|
+
display: 'flex'
|
|
36
|
+
},
|
|
37
|
+
'@global .rc-tree-icon_loading': {
|
|
38
|
+
display: 'none !important'
|
|
39
|
+
}
|
|
40
|
+
}); });
|
|
@@ -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*/];
|
package/cjs/index.d.ts
CHANGED
|
@@ -149,6 +149,7 @@ export { QueryBuilderRow } from './QueryBuilderRow';
|
|
|
149
149
|
export { QueryBuilderRowsGroup } from './QueryBuilderRowsGroup';
|
|
150
150
|
export { MultiSelect } from './MultiSelect';
|
|
151
151
|
export { ReactSortableTree, reactSortableTreeHelpers } from './ReactSortableTree';
|
|
152
|
+
export { RCTree } from './RCTree';
|
|
152
153
|
export { ReltioGridLayout } from './ReltioGridLayout';
|
|
153
154
|
export { ResizablePanes } from './ResizablePanes';
|
|
154
155
|
export { ProfileResizablePanes } from './ProfileResizablePanes';
|
package/cjs/index.js
CHANGED
|
@@ -17,10 +17,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.PieChart = exports.OvIcon = exports.NestedAttributeEditor = exports.NestedAttribute = exports.MoreAttributesButton = exports.InlineReferenceAttribute = exports.InlineNestedAttribute = exports.InlineImageAttribute = exports.InlineAttributesPager = exports.EditableImageAttributesLine = exports.FilterButton = exports.FacetViewHeader = exports.ExpandedValueTooltip = exports.EntitySelector = exports.EntityCreator = exports.AttributesPager = exports.AttributesList = exports.EditableAttribute = exports.DropDownMenuButton = exports.DescriptionIcon = exports.DefaultCellValueRenderer = exports.ControlAttributeIcon = exports.ColumnsSettingsPopup = exports.ColumnsSettings = exports.ColorBar = exports.CollapseRowButton = exports.ChartsFactory = exports.CardinalityMessage = exports.BranchDecorator = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.BasicTablePagination = exports.basicTableViewState = exports.BasicTable = exports.BasicAttributeSelector = exports.BarChart = exports.AvatarWithFallback = exports.AutoSizeList = exports.AttributesView = exports.AttributesValuesEditor = exports.AttributesFiltersButton = exports.AttributesFiltersBuilder = exports.AttributesFilterSelector = exports.AttributesErrorsPanel = exports.AttributeListItem = exports.AttributeGroupIcon = exports.ArrowExpandButton = exports.ActionsPanel = exports.ActionButton = void 0;
|
|
18
18
|
exports.ErrorMessage = exports.ConfigureColumnsPopup = exports.ConnectionEditor = exports.DropDownSelector = exports.ReactSelectOptionWithCheckIcon = exports.ReactSelectMenuWithPopper = exports.ReactSelectMenuList = exports.ReactSelectLoadMoreButton = exports.ReactSelectDropdownIndicatorWithIconButton = exports.ReactSelectDropdownIndicator = exports.Highlighter = exports.HierarchyNodeTitle = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.ExpandableSearchInput = exports.ErrorPopup = exports.ErrorBoundary = exports.EntityUriLink = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = exports.EmptyState = exports.Drawer = exports.DataTypeValue = exports.DataTenantBadge = exports.ConnectionRelationTypeSelector = exports.CollaborationItem = exports.ConfirmationDialog = exports.CommentsContainer = exports.ColoredSourceIcon = exports.CollapseButton = exports.TreeChart = exports.TableWithBars = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleAttributeEditor = exports.SimpleAttribute = exports.RowCellAutoSizer = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.ReferenceAttribute = exports.ImageAttributesLine = exports.ReadOnlyAttributesPager = exports.ReadOnlyAttributesList = exports.ReadOnlyAttribute = exports.ReadOnlyAttributeValuesBlock = void 0;
|
|
19
19
|
exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = exports.SimpleMatchRulesBuilder = exports.SimpleMatchRulesBlock = exports.SimpleMatchRules = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportButton = exports.ReadableSearchQuery = exports.LogicOperator = exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.RelevanceScoreBadge = exports.RequiredMark = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.ProfilesList = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.ImageGalleryDialog = exports.RelationTypesSelector = exports.ScreenProfileBand = exports.ProfileBandNavigation = exports.EmptyStub = exports.SaveSegmentDialog = exports.MaskingSwitcher = exports.FileTypeEditor = exports.EmptySearchResult = exports.DropDownEditor = exports.FilterValueEditor = exports.MultiValueChip = exports.TextEditor = exports.DateRangeEditor = exports.NumberEditor = exports.DataTypeValueEditor = exports.DateEditor = exports.ErrorWrapper = void 0;
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.mergeClasses = void 0;
|
|
20
|
+
exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = exports.CollaborationContext = exports.BlockImageGalleryDialogContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = exports.MdmModuleProvider = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.withContext = exports.withDateRangeSelector = exports.withDragHandle = exports.withAsyncMount = exports.withTooltip = exports.GaugeChart = exports.RelationEditor = exports.ReltioMap = exports.Marginator = exports.LightArrowTooltip = exports.ScrollableTabs = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopup = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.RCTree = exports.reactSortableTreeHelpers = exports.ReactSortableTree = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = void 0;
|
|
21
|
+
exports.BasicTableRowCollapseContext = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = exports.MaskedAttributesProvider = exports.SegmentationContext = exports.useReloadData = exports.ReloadDataProvider = exports.useAttributeValueConfigPermissions = exports.ConfigPermissionsContextProvider = exports.ConfigPermissionsContext = exports.useActionsHook = exports.ActionsHookProvider = exports.PageRequestsAbortingContext = exports.DependentLookupAutopopulationContext = exports.FeaturesContext = exports.LabelsContext = exports.UrlGeneratorsContext = exports.isHighlightedAttributeType = exports.isHighlightedErrorType = exports.ScrollType = exports.ScrollToElementProvider = exports.ScrollToElementContext = exports.SearchValueContext = exports.InterceptHandlersContext = exports.HighlightedValuesContext = exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.useEntityLoadingIndication = exports.EntityLoadingIndicationProvider = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.usePerspectivesSettings = exports.PerspectivesSettingsContext = void 0;
|
|
22
|
+
exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsFilter = exports.useMaskedAttribute = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useMatchesColumnsData = exports.useScrollToAttributeError = exports.HiddenAttributesContext = exports.BasicTableContext = void 0;
|
|
23
|
+
exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.mergeClasses = exports.isControlOrCommandPressed = void 0;
|
|
24
24
|
// components
|
|
25
25
|
var ActionButton_1 = require("./ActionButton");
|
|
26
26
|
Object.defineProperty(exports, "ActionButton", { enumerable: true, get: function () { return ActionButton_1.ActionButton; } });
|
|
@@ -330,6 +330,8 @@ Object.defineProperty(exports, "MultiSelect", { enumerable: true, get: function
|
|
|
330
330
|
var ReactSortableTree_1 = require("./ReactSortableTree");
|
|
331
331
|
Object.defineProperty(exports, "ReactSortableTree", { enumerable: true, get: function () { return ReactSortableTree_1.ReactSortableTree; } });
|
|
332
332
|
Object.defineProperty(exports, "reactSortableTreeHelpers", { enumerable: true, get: function () { return ReactSortableTree_1.reactSortableTreeHelpers; } });
|
|
333
|
+
var RCTree_1 = require("./RCTree");
|
|
334
|
+
Object.defineProperty(exports, "RCTree", { enumerable: true, get: function () { return RCTree_1.RCTree; } });
|
|
333
335
|
var ReltioGridLayout_1 = require("./ReltioGridLayout");
|
|
334
336
|
Object.defineProperty(exports, "ReltioGridLayout", { enumerable: true, get: function () { return ReltioGridLayout_1.ReltioGridLayout; } });
|
|
335
337
|
var ResizablePanes_1 = require("./ResizablePanes");
|
|
@@ -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');
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import { useStyles } from './styles';
|
|
4
|
+
export var DefaultSwitchRenderer = function (_a) {
|
|
5
|
+
var node = _a.node;
|
|
6
|
+
var styles = useStyles();
|
|
7
|
+
return !node.isLeaf ? (React.createElement("div", { className: styles.switcherButtonWrapper },
|
|
8
|
+
React.createElement("div", { "aria-label": node.expanded ? 'Collapse' : 'Expand', className: classnames(styles.switcherButton, node.expanded ? styles.collapseButton : styles.expandButton) }))) : null;
|
|
9
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TreeNodeProps } from 'rc-tree';
|
|
3
|
+
import 'rc-tree/assets/index.css';
|
|
4
|
+
import { RCTreeNode } from './types';
|
|
5
|
+
type Props = {
|
|
6
|
+
treeData: RCTreeNode[];
|
|
7
|
+
renderNode?: (node: RCTreeNode & Record<string, unknown>) => JSX.Element;
|
|
8
|
+
canDrag?: boolean;
|
|
9
|
+
isVirtualized?: boolean;
|
|
10
|
+
canDrop?: (params: unknown) => boolean;
|
|
11
|
+
onLoadChildren?: (treeNode: unknown) => Promise<void>;
|
|
12
|
+
height?: number;
|
|
13
|
+
defaultExpandAll?: boolean;
|
|
14
|
+
SwitchRenderer?: (props: any) => JSX.Element;
|
|
15
|
+
className?: string;
|
|
16
|
+
minItemHeight?: number;
|
|
17
|
+
isLeaf?: (node: TreeNodeProps & Record<string, unknown>) => boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare const RCTree: ({ treeData, isVirtualized, canDrag, canDrop, onLoadChildren, height, defaultExpandAll, SwitchRenderer, className, renderNode, minItemHeight, isLeaf }: Props) => JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React, { useCallback, useMemo } from 'react';
|
|
2
|
+
import Tree from 'rc-tree';
|
|
3
|
+
import classnames from 'classnames';
|
|
4
|
+
import 'rc-tree/assets/index.css';
|
|
5
|
+
import { DefaultSwitchRenderer } from './DefaultSwitchRenderer';
|
|
6
|
+
import { convertTreeData, defaultIsLeaf } from './helper';
|
|
7
|
+
import { useStyles } from './styles';
|
|
8
|
+
var MIN_ROW_HEIGHT = 28;
|
|
9
|
+
export var RCTree = function (_a) {
|
|
10
|
+
var treeData = _a.treeData, _b = _a.isVirtualized, isVirtualized = _b === void 0 ? true : _b, _c = _a.canDrag, canDrag = _c === void 0 ? false : _c, _d = _a.canDrop, canDrop = _d === void 0 ? function () { return false; } : _d, onLoadChildren = _a.onLoadChildren, height = _a.height, _e = _a.defaultExpandAll, defaultExpandAll = _e === void 0 ? false : _e, _f = _a.SwitchRenderer, SwitchRenderer = _f === void 0 ? DefaultSwitchRenderer : _f, className = _a.className, renderNode = _a.renderNode, _g = _a.minItemHeight, minItemHeight = _g === void 0 ? MIN_ROW_HEIGHT : _g, _h = _a.isLeaf, isLeaf = _h === void 0 ? defaultIsLeaf : _h;
|
|
11
|
+
var styles = useStyles();
|
|
12
|
+
var internalTreeData = useMemo(function () { return convertTreeData({ data: treeData, isLeaf: isLeaf }); }, [isLeaf, treeData]);
|
|
13
|
+
// eslint-disable-next-line no-unused-vars
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
15
|
+
var handleDrop = function (_a) {
|
|
16
|
+
var node = _a.node, dragNode = _a.dragNode, dragNodesKeys = _a.dragNodesKeys;
|
|
17
|
+
// TODO: implement
|
|
18
|
+
};
|
|
19
|
+
// eslint-disable-next-line no-unused-vars
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
21
|
+
var handleDragEnter = function (_a) {
|
|
22
|
+
var event = _a.event, node = _a.node, expandedKeys = _a.expandedKeys;
|
|
23
|
+
// TODO: implement
|
|
24
|
+
};
|
|
25
|
+
// eslint-disable-next-line no-unused-vars
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
27
|
+
var dropIndicatorRender = function (_a) {
|
|
28
|
+
var dropPosition = _a.dropPosition, dropLevelOffset = _a.dropLevelOffset, indent = _a.indent, prefixCls = _a.prefixCls, direction = _a.direction;
|
|
29
|
+
// TODO: implement
|
|
30
|
+
};
|
|
31
|
+
var renderSwitcherIcon = useCallback(function (node) { return React.createElement(SwitchRenderer, { node: node }); }, []);
|
|
32
|
+
return internalTreeData ? (React.createElement(Tree, { allowDrop: canDrop, draggable: canDrag, onDragStart: function () { }, onDragEnter: handleDragEnter, onDrop: handleDrop, virtual: isVirtualized, itemHeight: minItemHeight, height: height, showIcon: false, showLine: true, switcherIcon: renderSwitcherIcon, defaultExpandAll: defaultExpandAll, className: classnames(className, styles.treeWrapper), titleRender: renderNode ? function (node) { return renderNode(node.value); } : undefined, treeData: internalTreeData, selectable: false, loadData: onLoadChildren ? function (node) { return onLoadChildren(node.value); } : undefined, "data-reltio-id": "rc-tree" })) : null;
|
|
33
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TreeNodeProps } from 'rc-tree';
|
|
2
|
+
import { RCTreeNode } from './types';
|
|
3
|
+
export declare const defaultIsLeaf: ({ children }: {
|
|
4
|
+
children?: unknown[];
|
|
5
|
+
}) => boolean;
|
|
6
|
+
type Props = {
|
|
7
|
+
data: Array<RCTreeNode & Record<string, unknown>>;
|
|
8
|
+
parentPath?: number[];
|
|
9
|
+
isLeaf: (node: TreeNodeProps & Record<string, unknown>) => boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const convertTreeData: ({ data, parentPath, isLeaf }: Props) => any;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
|
+
if (ar || !(i in from)) {
|
|
15
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
16
|
+
ar[i] = from[i];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
|
+
};
|
|
21
|
+
export var defaultIsLeaf = function (_a) {
|
|
22
|
+
var _b = _a.children, children = _b === void 0 ? [] : _b;
|
|
23
|
+
return !children.length;
|
|
24
|
+
};
|
|
25
|
+
export var convertTreeData = function (_a) {
|
|
26
|
+
var data = _a.data, _b = _a.parentPath, parentPath = _b === void 0 ? [] : _b, isLeaf = _a.isLeaf;
|
|
27
|
+
return data.map(function (item) {
|
|
28
|
+
var _a;
|
|
29
|
+
var path = __spreadArray(__spreadArray([], parentPath, true), [item.nodeId], false);
|
|
30
|
+
return __assign({ key: item.nodeId, value: __assign(__assign({}, item), { path: path }), title: (_a = item.title) !== null && _a !== void 0 ? _a : '', isLeaf: isLeaf(item) }, (item.children &&
|
|
31
|
+
item.children.length && {
|
|
32
|
+
children: convertTreeData({ data: item.children, parentPath: path, isLeaf: isLeaf })
|
|
33
|
+
}));
|
|
34
|
+
});
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RCTree } from './RCTree';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RCTree } from './RCTree';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"expandButton" | "collapseButton" | "switcherButtonWrapper" | "switcherButton" | "treeWrapper" | "@global .rc-tree-node-content-wrapper" | "@global .rc-tree-treenode" | "@global .rc-tree-icon_loading">;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { makeStyles } from '@mui/styles';
|
|
2
|
+
export var useStyles = makeStyles(function () { return ({
|
|
3
|
+
switcherButtonWrapper: {
|
|
4
|
+
paddingTop: '9px',
|
|
5
|
+
paddingLeft: '6px',
|
|
6
|
+
width: '16px',
|
|
7
|
+
height: '16px',
|
|
8
|
+
backgroundColor: 'white',
|
|
9
|
+
cursor: 'pointer'
|
|
10
|
+
},
|
|
11
|
+
switcherButton: {
|
|
12
|
+
transition: 'transform .15s ease',
|
|
13
|
+
width: 0,
|
|
14
|
+
height: 0,
|
|
15
|
+
borderLeft: '4px solid transparent',
|
|
16
|
+
borderRight: '4px solid transparent',
|
|
17
|
+
borderTop: '4px solid rgba(0, 0, 0, 0.54)'
|
|
18
|
+
},
|
|
19
|
+
collapseButton: {
|
|
20
|
+
transform: 'rotate(0deg)'
|
|
21
|
+
},
|
|
22
|
+
expandButton: {
|
|
23
|
+
transform: ' rotate(-90deg)'
|
|
24
|
+
},
|
|
25
|
+
treeWrapper: {
|
|
26
|
+
border: 'none'
|
|
27
|
+
},
|
|
28
|
+
'@global .rc-tree-node-content-wrapper': {
|
|
29
|
+
height: 'auto !important'
|
|
30
|
+
},
|
|
31
|
+
'@global .rc-tree-treenode': {
|
|
32
|
+
display: 'flex'
|
|
33
|
+
},
|
|
34
|
+
'@global .rc-tree-icon_loading': {
|
|
35
|
+
display: 'none !important'
|
|
36
|
+
}
|
|
37
|
+
}); });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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/esm/index.d.ts
CHANGED
|
@@ -149,6 +149,7 @@ export { QueryBuilderRow } from './QueryBuilderRow';
|
|
|
149
149
|
export { QueryBuilderRowsGroup } from './QueryBuilderRowsGroup';
|
|
150
150
|
export { MultiSelect } from './MultiSelect';
|
|
151
151
|
export { ReactSortableTree, reactSortableTreeHelpers } from './ReactSortableTree';
|
|
152
|
+
export { RCTree } from './RCTree';
|
|
152
153
|
export { ReltioGridLayout } from './ReltioGridLayout';
|
|
153
154
|
export { ResizablePanes } from './ResizablePanes';
|
|
154
155
|
export { ProfileResizablePanes } from './ProfileResizablePanes';
|
package/esm/index.js
CHANGED
|
@@ -150,6 +150,7 @@ export { QueryBuilderRow } from './QueryBuilderRow';
|
|
|
150
150
|
export { QueryBuilderRowsGroup } from './QueryBuilderRowsGroup';
|
|
151
151
|
export { MultiSelect } from './MultiSelect';
|
|
152
152
|
export { ReactSortableTree, reactSortableTreeHelpers } from './ReactSortableTree';
|
|
153
|
+
export { RCTree } from './RCTree';
|
|
153
154
|
export { ReltioGridLayout } from './ReltioGridLayout';
|
|
154
155
|
export { ResizablePanes } from './ResizablePanes';
|
|
155
156
|
export { ProfileResizablePanes } from './ProfileResizablePanes';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1926",
|
|
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.
|
|
11
|
+
"@reltio/mdm-sdk": "^1.4.1844",
|
|
12
12
|
"classnames": "^2.2.5",
|
|
13
13
|
"d3-cloud": "^1.2.5",
|
|
14
14
|
"d3-geo": "^2.0.1",
|