linear-react-components-ui 0.4.76-beta.25 → 0.4.76-beta.26
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/lib/inputs/select/multiple/index.js +2 -2
- package/lib/inputs/select/simple/index.js +2 -2
- package/lib/internals/constants.js +4 -3
- package/lib/list/Item.js +25 -7
- package/lib/list/index.js +88 -10
- package/lib/list/list.spec.js +230 -102
- package/lib/menus/sidenav/NavMenuItem.js +12 -4
- package/lib/menus/sidenav/index.js +23 -3
- package/lib/menus/sidenav/popup_menu_search/index.js +13 -9
- package/lib/menus/sidenav/sidenav.spec.js +78 -19
- package/lib/table/index.js +2 -2
- package/package.json +1 -1
|
@@ -270,12 +270,12 @@ var MultipleSelect = /*#__PURE__*/function (_Component) {
|
|
|
270
270
|
|
|
271
271
|
if (e.keyCode === constants.keyCodes.ENTER) {
|
|
272
272
|
this.onSelect(selected);
|
|
273
|
-
} else if ([constants.keyCodes.
|
|
273
|
+
} else if ([constants.keyCodes.ARROW_UP, constants.keyCodes.ARROW_DOWN].includes(e.keyCode)) {
|
|
274
274
|
var index = dataSource.findIndex(function (d) {
|
|
275
275
|
return d === selected;
|
|
276
276
|
});
|
|
277
277
|
|
|
278
|
-
if (e.keyCode === constants.keyCodes.
|
|
278
|
+
if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
|
|
279
279
|
index = index === dataSource.length - 1 ? 0 : index + 1;
|
|
280
280
|
} else {
|
|
281
281
|
index = index === 0 ? dataSource.length - 1 : index - 1;
|
|
@@ -385,12 +385,12 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
385
385
|
e.preventDefault();
|
|
386
386
|
|
|
387
387
|
_this3.onSelect(selected);
|
|
388
|
-
} else if ([constants.keyCodes.
|
|
388
|
+
} else if ([constants.keyCodes.ARROW_UP, constants.keyCodes.ARROW_DOWN].includes(e.keyCode)) {
|
|
389
389
|
var index = dataSource.findIndex(function (d) {
|
|
390
390
|
return d[idKey] === selected[idKey];
|
|
391
391
|
});
|
|
392
392
|
|
|
393
|
-
if (e.keyCode === constants.keyCodes.
|
|
393
|
+
if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
|
|
394
394
|
index = index === dataSource.length - 1 ? 0 : index + 1;
|
|
395
395
|
} else {
|
|
396
396
|
index = index === 0 ? dataSource.length - 1 : index - 1;
|
|
@@ -7,9 +7,10 @@ exports.PARA_ENGANAR_O_ESLINT_JA_QUE_TENHO_SO_UMA_CONSTANTE = exports.keyCodes =
|
|
|
7
7
|
var keyCodes = {
|
|
8
8
|
TAB: 9,
|
|
9
9
|
ENTER: 13,
|
|
10
|
-
ARROW_UP:
|
|
11
|
-
ARROW_DOWN:
|
|
12
|
-
BACKSPACE: 8
|
|
10
|
+
ARROW_UP: 38,
|
|
11
|
+
ARROW_DOWN: 40,
|
|
12
|
+
BACKSPACE: 8,
|
|
13
|
+
F: 70
|
|
13
14
|
};
|
|
14
15
|
exports.keyCodes = keyCodes;
|
|
15
16
|
var PARA_ENGANAR_O_ESLINT_JA_QUE_TENHO_SO_UMA_CONSTANTE = 1;
|
package/lib/list/Item.js
CHANGED
|
@@ -21,6 +21,8 @@ var _helpers = _interopRequireDefault(require("./helpers"));
|
|
|
21
21
|
|
|
22
22
|
var _withDropdown = require("../dropdown/withDropdown");
|
|
23
23
|
|
|
24
|
+
var constants = _interopRequireWildcard(require("../internals/constants"));
|
|
25
|
+
|
|
24
26
|
var _permissionValidations = require("../permissionValidations");
|
|
25
27
|
|
|
26
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -44,7 +46,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
|
|
|
44
46
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
45
47
|
|
|
46
48
|
var Item = function Item(props) {
|
|
47
|
-
var
|
|
49
|
+
var onClick = props.onClick,
|
|
48
50
|
leftIconName = props.leftIconName,
|
|
49
51
|
leftIcon = props.leftIcon,
|
|
50
52
|
displayCheckbox = props.displayCheckbox,
|
|
@@ -68,7 +70,8 @@ var Item = function Item(props) {
|
|
|
68
70
|
var _useContext = (0, _react.useContext)(_helpers["default"]),
|
|
69
71
|
handleSelectItem = _useContext.handleSelectItem,
|
|
70
72
|
selectable = _useContext.selectable,
|
|
71
|
-
selectedItemId = _useContext.selectedItemId
|
|
73
|
+
selectedItemId = _useContext.selectedItemId,
|
|
74
|
+
selectedItemRef = _useContext.selectedItemRef;
|
|
72
75
|
|
|
73
76
|
var dropdownContext = (0, _react.useContext)(_withDropdown.WithDropdownContext);
|
|
74
77
|
var options = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible];
|
|
@@ -77,6 +80,8 @@ var Item = function Item(props) {
|
|
|
77
80
|
_useState2 = _slicedToArray(_useState, 1),
|
|
78
81
|
onDenied = _useState2[0];
|
|
79
82
|
|
|
83
|
+
var history = (0, _reactRouterDom.useHistory)();
|
|
84
|
+
|
|
80
85
|
var shouldDisable = function shouldDisable() {
|
|
81
86
|
return disabled || onDenied.disabled;
|
|
82
87
|
};
|
|
@@ -97,16 +102,28 @@ var Item = function Item(props) {
|
|
|
97
102
|
return null;
|
|
98
103
|
};
|
|
99
104
|
|
|
105
|
+
var handleOnSelectItem = function handleOnSelectItem(e) {
|
|
106
|
+
if (onClick !== undefined) onClick(e, itemId);
|
|
107
|
+
if (dropdownContext) dropdownContext.handleDropdownClose();
|
|
108
|
+
if (selectable) handleSelectItem(itemId, onClick);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
var onKeyDown = function onKeyDown(e) {
|
|
112
|
+
if ([constants.keyCodes.ENTER].includes(e.keyCode)) {
|
|
113
|
+
e.preventDefault();
|
|
114
|
+
handleOnSelectItem(e);
|
|
115
|
+
if (url) history.push(url);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
|
|
100
119
|
var getProps = function getProps() {
|
|
101
120
|
if (shouldDisable()) return undefined;
|
|
102
|
-
if (
|
|
121
|
+
if (onClick === undefined && dropdownContext === undefined && !selectable) return null;
|
|
103
122
|
return {
|
|
104
123
|
onClick: function onClick(e) {
|
|
105
|
-
|
|
106
|
-
if (dropdownContext) dropdownContext.handleDropdownClose();
|
|
107
|
-
if (selectable) handleSelectItem(itemId, _onClick);
|
|
124
|
+
handleOnSelectItem(e);
|
|
108
125
|
},
|
|
109
|
-
onKeyDown:
|
|
126
|
+
onKeyDown: onKeyDown,
|
|
110
127
|
role: 'button',
|
|
111
128
|
tabIndex: '0'
|
|
112
129
|
};
|
|
@@ -114,6 +131,7 @@ var Item = function Item(props) {
|
|
|
114
131
|
|
|
115
132
|
if (!visible || onDenied.unvisible) return null;
|
|
116
133
|
return /*#__PURE__*/_react["default"].createElement("li", _extends({
|
|
134
|
+
ref: itemId && selectedItemId === itemId ? selectedItemRef : null,
|
|
117
135
|
style: style,
|
|
118
136
|
className: "item-container ".concat(hovered && 'hovered', "\n ").concat(itemId && selectedItemId === itemId ? '-activedlist' : '')
|
|
119
137
|
}, getProps(), {
|
package/lib/list/index.js
CHANGED
|
@@ -33,6 +33,8 @@ var _Header = _interopRequireDefault(require("./Header"));
|
|
|
33
33
|
|
|
34
34
|
var _Item = _interopRequireDefault(require("./Item"));
|
|
35
35
|
|
|
36
|
+
var constants = _interopRequireWildcard(require("../internals/constants"));
|
|
37
|
+
|
|
36
38
|
var _Separator = _interopRequireDefault(require("./Separator"));
|
|
37
39
|
|
|
38
40
|
require("../assets/styles/list.scss");
|
|
@@ -58,6 +60,19 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
|
|
|
58
60
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
59
61
|
|
|
60
62
|
var List = function List(props) {
|
|
63
|
+
var selectedItemRef = (0, _react.useRef)(null);
|
|
64
|
+
var listRef = (0, _react.useRef)(null);
|
|
65
|
+
|
|
66
|
+
var _useState = (0, _react.useState)(''),
|
|
67
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
68
|
+
selectedItemId = _useState2[0],
|
|
69
|
+
setSelectedItemId = _useState2[1];
|
|
70
|
+
|
|
71
|
+
var _useState3 = (0, _react.useState)([]),
|
|
72
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
73
|
+
itensId = _useState4[0],
|
|
74
|
+
setItensId = _useState4[1];
|
|
75
|
+
|
|
61
76
|
var children = props.children,
|
|
62
77
|
customClass = props.customClass,
|
|
63
78
|
condensed = props.condensed,
|
|
@@ -65,29 +80,92 @@ var List = function List(props) {
|
|
|
65
80
|
style = props.style,
|
|
66
81
|
selectable = props.selectable,
|
|
67
82
|
onSelectItem = props.onSelectItem;
|
|
68
|
-
|
|
69
|
-
var _useState = (0, _react.useState)(''),
|
|
70
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
71
|
-
selectedItemId = _useState2[0],
|
|
72
|
-
setSelectedItemId = _useState2[1];
|
|
73
|
-
|
|
74
83
|
var contextValues = {
|
|
75
84
|
selectable: selectable,
|
|
76
85
|
selectedItemId: selectedItemId,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
86
|
+
selectedItemRef: selectedItemRef,
|
|
87
|
+
children: children,
|
|
88
|
+
handleSelectItem: function handleSelectItem(itemId, onClick) {
|
|
89
|
+
if (!onSelectItem && onClick) setSelectedItemId(itemId);
|
|
90
|
+
if (onSelectItem) onSelectItem(itemId);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
var onKeyDown = function onKeyDown(e) {
|
|
95
|
+
if ([constants.keyCodes.ARROW_DOWN, constants.keyCodes.ARROW_UP].includes(e.keyCode)) {
|
|
96
|
+
e.preventDefault();
|
|
97
|
+
|
|
98
|
+
if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
|
|
99
|
+
if (selectedItemId === itensId[itensId.length - 1]) {
|
|
100
|
+
setSelectedItemId(itensId[0]);
|
|
101
|
+
} else {
|
|
102
|
+
var index = itensId.indexOf(selectedItemId === '' ? '0' : selectedItemId);
|
|
103
|
+
setSelectedItemId(itensId[index + 1]);
|
|
104
|
+
}
|
|
105
|
+
} else if (e.keyCode === constants.keyCodes.ARROW_UP) {
|
|
106
|
+
if (selectedItemId === itensId[0]) {
|
|
107
|
+
setSelectedItemId(itensId[itensId.length - 1]);
|
|
108
|
+
} else {
|
|
109
|
+
var _index = itensId.indexOf(selectedItemId);
|
|
110
|
+
|
|
111
|
+
setSelectedItemId(itensId[_index - 1]);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return selectedItemRef.current && selectedItemRef.current.focus();
|
|
80
116
|
}
|
|
117
|
+
|
|
118
|
+
return null;
|
|
81
119
|
};
|
|
120
|
+
|
|
121
|
+
(0, _react.useEffect)(function () {
|
|
122
|
+
if (selectedItemRef.current && listRef.current && listRef.current.scroll) {
|
|
123
|
+
var selectedItemRect = selectedItemRef.current.getBoundingClientRect();
|
|
124
|
+
var listRect = listRef.current.getBoundingClientRect();
|
|
125
|
+
var defaultScrollTop = 0;
|
|
126
|
+
var defaultBottomOffset = 100;
|
|
127
|
+
|
|
128
|
+
if (selectedItemRect.top - selectedItemRect.height > listRect.bottom) {
|
|
129
|
+
listRef.current.scroll({
|
|
130
|
+
top: selectedItemRect.top
|
|
131
|
+
});
|
|
132
|
+
} else if (selectedItemRect.top + selectedItemRect.height - listRect.y >= listRect.height) {
|
|
133
|
+
listRef.current.scroll({
|
|
134
|
+
top: listRef.current.scrollTop + selectedItemRect.height
|
|
135
|
+
});
|
|
136
|
+
} else if (selectedItemRect.bottom < defaultBottomOffset) {
|
|
137
|
+
listRef.current.scroll({
|
|
138
|
+
top: defaultScrollTop
|
|
139
|
+
});
|
|
140
|
+
} else {
|
|
141
|
+
listRef.current.scroll({
|
|
142
|
+
top: listRef.current.scrollTop - selectedItemRect.height
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}, [selectedItemRef.current]);
|
|
147
|
+
(0, _react.useEffect)(function () {
|
|
148
|
+
document.addEventListener('keydown', onKeyDown);
|
|
149
|
+
return function () {
|
|
150
|
+
document.removeEventListener('keydown', onKeyDown);
|
|
151
|
+
};
|
|
152
|
+
});
|
|
82
153
|
(0, _react.useEffect)(function () {
|
|
83
154
|
if (onSelectItem && props.selectedItemId) setSelectedItemId(props.selectedItemId);
|
|
84
155
|
}, [props.selectedItemId]);
|
|
156
|
+
(0, _react.useEffect)(function () {
|
|
157
|
+
var newItensIds = children.length > 0 && children.map(function (item) {
|
|
158
|
+
return item.props.itemId;
|
|
159
|
+
}).filter(Boolean);
|
|
160
|
+
setItensId(newItensIds);
|
|
161
|
+
}, [children.length]);
|
|
85
162
|
return /*#__PURE__*/_react["default"].createElement(_helpers["default"].Provider, {
|
|
86
163
|
value: contextValues
|
|
87
164
|
}, /*#__PURE__*/_react["default"].createElement("ul", {
|
|
88
165
|
"data-testid": "list-component",
|
|
89
166
|
style: style,
|
|
90
|
-
|
|
167
|
+
ref: listRef,
|
|
168
|
+
className: "list-component ".concat(condensed && '-condensed', "\n ").concat(customClass, " ").concat(!transparent && '-listbackground')
|
|
91
169
|
}, children));
|
|
92
170
|
};
|
|
93
171
|
|
package/lib/list/list.spec.js
CHANGED
|
@@ -34,9 +34,16 @@ describe('Components', function () {
|
|
|
34
34
|
title: "defaut"
|
|
35
35
|
}, listHeaderProps), /*#__PURE__*/_react["default"].createElement("p", {
|
|
36
36
|
className: "listheader-child"
|
|
37
|
-
}, "saas")), /*#__PURE__*/_react["default"].createElement(_index.ListItem,
|
|
37
|
+
}, "saas")), /*#__PURE__*/_react["default"].createElement(_index.ListItem, _extends({
|
|
38
|
+
itemId: "1"
|
|
39
|
+
}, listItemProps), /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
|
|
38
40
|
customClass: "childbuttontest",
|
|
39
41
|
label: "Teste Child"
|
|
42
|
+
})), /*#__PURE__*/_react["default"].createElement(_index.ListItem, _extends({
|
|
43
|
+
itemId: "2"
|
|
44
|
+
}, listItemProps), /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
|
|
45
|
+
customClass: "childbuttontest",
|
|
46
|
+
label: "Teste Child 2"
|
|
40
47
|
}))));
|
|
41
48
|
};
|
|
42
49
|
|
|
@@ -93,31 +100,159 @@ describe('Components', function () {
|
|
|
93
100
|
expect(container.firstChild).toHaveStyle(style);
|
|
94
101
|
});
|
|
95
102
|
it('should select item by id', function () {
|
|
96
|
-
var listItemProps = {
|
|
97
|
-
itemId: '1'
|
|
98
|
-
};
|
|
99
|
-
|
|
100
103
|
var _render6 = (0, _react2.render)(list({
|
|
101
104
|
selectable: true,
|
|
102
105
|
onSelectItem: jest.fn(),
|
|
103
106
|
selectedItemId: '1'
|
|
104
|
-
}
|
|
107
|
+
})),
|
|
105
108
|
container = _render6.container;
|
|
106
109
|
|
|
107
110
|
var listItem = container.querySelector('.item-container');
|
|
108
111
|
expect(listItem).toHaveClass('-activedlist');
|
|
109
112
|
});
|
|
113
|
+
it('should select next item when pressed arrow down', function () {
|
|
114
|
+
var _render7 = (0, _react2.render)(list({
|
|
115
|
+
selectable: true,
|
|
116
|
+
onSelectItem: jest.fn()
|
|
117
|
+
})),
|
|
118
|
+
container = _render7.container;
|
|
119
|
+
|
|
120
|
+
var listComponent = container.querySelector('.list-component');
|
|
121
|
+
|
|
122
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
123
|
+
key: 'ArrowDown',
|
|
124
|
+
code: 'ArrowDown',
|
|
125
|
+
keyCode: 40
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
129
|
+
key: 'ArrowDown',
|
|
130
|
+
code: 'ArrowDown',
|
|
131
|
+
keyCode: 40
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
expect(container.querySelectorAll('.item-container')[1]).toHaveClass('-activedlist');
|
|
135
|
+
});
|
|
136
|
+
it('should select previous item when pressed arrow down', function () {
|
|
137
|
+
var _render8 = (0, _react2.render)(list({
|
|
138
|
+
selectable: true,
|
|
139
|
+
onSelectItem: jest.fn()
|
|
140
|
+
})),
|
|
141
|
+
container = _render8.container;
|
|
142
|
+
|
|
143
|
+
var listComponent = container.querySelector('.list-component');
|
|
144
|
+
|
|
145
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
146
|
+
key: 'ArrowDown',
|
|
147
|
+
code: 'ArrowDown',
|
|
148
|
+
keyCode: 40
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
152
|
+
key: 'ArrowDown',
|
|
153
|
+
code: 'ArrowDown',
|
|
154
|
+
keyCode: 40
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
158
|
+
key: 'ArrowUp',
|
|
159
|
+
code: 'ArrowUp',
|
|
160
|
+
keyCode: 38
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
expect(container.querySelectorAll('.item-container')[0]).toHaveClass('-activedlist');
|
|
164
|
+
});
|
|
165
|
+
it('should select last item when pressed arrow up at first item', function () {
|
|
166
|
+
var _render9 = (0, _react2.render)(list({
|
|
167
|
+
selectable: true,
|
|
168
|
+
onSelectItem: jest.fn()
|
|
169
|
+
})),
|
|
170
|
+
container = _render9.container;
|
|
171
|
+
|
|
172
|
+
var listComponent = container.querySelector('.list-component');
|
|
173
|
+
|
|
174
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
175
|
+
key: 'ArrowDown',
|
|
176
|
+
code: 'ArrowDown',
|
|
177
|
+
keyCode: 40
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
181
|
+
key: 'ArrowUp',
|
|
182
|
+
code: 'ArrowUp',
|
|
183
|
+
keyCode: 38
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
expect(container.querySelectorAll('.item-container')[1]).toHaveClass('-activedlist');
|
|
187
|
+
});
|
|
188
|
+
it('should select first item when pressed arrow down at last item', function () {
|
|
189
|
+
var _render10 = (0, _react2.render)(list({
|
|
190
|
+
selectable: true,
|
|
191
|
+
onSelectItem: jest.fn()
|
|
192
|
+
})),
|
|
193
|
+
container = _render10.container;
|
|
194
|
+
|
|
195
|
+
var listComponent = container.querySelector('.list-component');
|
|
196
|
+
|
|
197
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
198
|
+
key: 'ArrowDown',
|
|
199
|
+
code: 'ArrowDown',
|
|
200
|
+
keyCode: 40
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
204
|
+
key: 'ArrowDown',
|
|
205
|
+
code: 'ArrowDown',
|
|
206
|
+
keyCode: 40
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
210
|
+
key: 'ArrowDown',
|
|
211
|
+
code: 'ArrowDown',
|
|
212
|
+
keyCode: 40
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
expect(container.querySelectorAll('.item-container')[0]).toHaveClass('-activedlist');
|
|
216
|
+
});
|
|
217
|
+
it('should fire event when press Enter key', function () {
|
|
218
|
+
var mockOnSelectItem = jest.fn();
|
|
219
|
+
var itemId = '1';
|
|
220
|
+
|
|
221
|
+
var _render11 = (0, _react2.render)(list({
|
|
222
|
+
selectable: true,
|
|
223
|
+
onSelectItem: mockOnSelectItem
|
|
224
|
+
})),
|
|
225
|
+
container = _render11.container;
|
|
226
|
+
|
|
227
|
+
var listComponent = container.querySelector('.list-component');
|
|
228
|
+
|
|
229
|
+
_react2.fireEvent.keyDown(listComponent, {
|
|
230
|
+
key: 'ArrowDown',
|
|
231
|
+
code: 'ArrowDown',
|
|
232
|
+
keyCode: 40
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
var listItem = container.querySelector('.list-component .item-container.-activedlist');
|
|
236
|
+
|
|
237
|
+
_react2.fireEvent.keyDown(listItem, {
|
|
238
|
+
key: 'Enter',
|
|
239
|
+
code: 'Enter',
|
|
240
|
+
keyCode: 13
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
expect(mockOnSelectItem).toHaveBeenCalledWith(itemId);
|
|
244
|
+
});
|
|
110
245
|
describe('prop selectable', function () {
|
|
111
246
|
it('should allow ListItem to be selected', function () {
|
|
112
247
|
var listItemProps = {
|
|
113
|
-
itemId: '1',
|
|
114
248
|
onClick: jest.fn()
|
|
115
249
|
};
|
|
116
250
|
|
|
117
|
-
var
|
|
118
|
-
selectable: true
|
|
251
|
+
var _render12 = (0, _react2.render)(list({
|
|
252
|
+
selectable: true,
|
|
253
|
+
selectedItemId: '1'
|
|
119
254
|
}, {}, listItemProps)),
|
|
120
|
-
container =
|
|
255
|
+
container = _render12.container;
|
|
121
256
|
|
|
122
257
|
var listItem = container.querySelector('.item-container');
|
|
123
258
|
|
|
@@ -128,18 +263,11 @@ describe('Components', function () {
|
|
|
128
263
|
it('should call onSelectItem', function () {
|
|
129
264
|
var mockOnSelectItem = jest.fn();
|
|
130
265
|
|
|
131
|
-
var
|
|
266
|
+
var _render13 = (0, _react2.render)(list({
|
|
132
267
|
selectable: true,
|
|
133
|
-
onSelectItem:
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}, /*#__PURE__*/_react["default"].createElement(_index.ListItem, {
|
|
137
|
-
itemId: "1",
|
|
138
|
-
text: "Teste Foo"
|
|
139
|
-
}));
|
|
140
|
-
|
|
141
|
-
var _render8 = (0, _react2.render)(mockList),
|
|
142
|
-
container = _render8.container;
|
|
268
|
+
onSelectItem: mockOnSelectItem
|
|
269
|
+
})),
|
|
270
|
+
container = _render13.container;
|
|
143
271
|
|
|
144
272
|
var listItem = container.querySelector('.item-container');
|
|
145
273
|
|
|
@@ -151,18 +279,18 @@ describe('Components', function () {
|
|
|
151
279
|
});
|
|
152
280
|
describe('ListHeader', function () {
|
|
153
281
|
it('should render correctly', function () {
|
|
154
|
-
var
|
|
155
|
-
container =
|
|
282
|
+
var _render14 = (0, _react2.render)(list()),
|
|
283
|
+
container = _render14.container;
|
|
156
284
|
|
|
157
285
|
expect(container.querySelector('.list-header')).toBeTruthy();
|
|
158
286
|
});
|
|
159
287
|
it('should apply title', function () {
|
|
160
288
|
var title = 'Teste Header';
|
|
161
289
|
|
|
162
|
-
var
|
|
290
|
+
var _render15 = (0, _react2.render)(list({}, {
|
|
163
291
|
title: title
|
|
164
292
|
})),
|
|
165
|
-
container =
|
|
293
|
+
container = _render15.container;
|
|
166
294
|
|
|
167
295
|
var listHeaderTitle = container.querySelector('.list-header > .title');
|
|
168
296
|
expect(listHeaderTitle).toBeTruthy();
|
|
@@ -174,10 +302,10 @@ describe('Components', function () {
|
|
|
174
302
|
paddingBottom: '2px'
|
|
175
303
|
};
|
|
176
304
|
|
|
177
|
-
var
|
|
305
|
+
var _render16 = (0, _react2.render)(list({}, {
|
|
178
306
|
style: style
|
|
179
307
|
})),
|
|
180
|
-
container =
|
|
308
|
+
container = _render16.container;
|
|
181
309
|
|
|
182
310
|
var listHeader = container.querySelector('.list-header');
|
|
183
311
|
expect(listHeader).toHaveStyle(style);
|
|
@@ -185,17 +313,17 @@ describe('Components', function () {
|
|
|
185
313
|
it('should apply customClass', function () {
|
|
186
314
|
var customClass = 'teste-listheader';
|
|
187
315
|
|
|
188
|
-
var
|
|
316
|
+
var _render17 = (0, _react2.render)(list({}, {
|
|
189
317
|
customClass: customClass
|
|
190
318
|
})),
|
|
191
|
-
container =
|
|
319
|
+
container = _render17.container;
|
|
192
320
|
|
|
193
321
|
var listHeader = container.querySelector('.list-header');
|
|
194
322
|
expect(listHeader).toHaveClass(customClass);
|
|
195
323
|
});
|
|
196
324
|
it('should render children', function () {
|
|
197
|
-
var
|
|
198
|
-
container =
|
|
325
|
+
var _render18 = (0, _react2.render)(list()),
|
|
326
|
+
container = _render18.container;
|
|
199
327
|
|
|
200
328
|
var listHeaderChild = container.querySelector('.list-header > .listheader-child');
|
|
201
329
|
expect(listHeaderChild).toBeTruthy();
|
|
@@ -203,8 +331,8 @@ describe('Components', function () {
|
|
|
203
331
|
});
|
|
204
332
|
describe('ListItem', function () {
|
|
205
333
|
it('should render correctly', function () {
|
|
206
|
-
var
|
|
207
|
-
container =
|
|
334
|
+
var _render19 = (0, _react2.render)(list()),
|
|
335
|
+
container = _render19.container;
|
|
208
336
|
|
|
209
337
|
var listItem = container.querySelector('.item-container');
|
|
210
338
|
expect(listItem).toBeTruthy();
|
|
@@ -212,10 +340,10 @@ describe('Components', function () {
|
|
|
212
340
|
it('should apply text', function () {
|
|
213
341
|
var text = 'Teste Item 1';
|
|
214
342
|
|
|
215
|
-
var
|
|
343
|
+
var _render20 = (0, _react2.render)(list({}, {}, {
|
|
216
344
|
text: text
|
|
217
345
|
})),
|
|
218
|
-
container =
|
|
346
|
+
container = _render20.container;
|
|
219
347
|
|
|
220
348
|
var listItemText = container.querySelector('.item-container .text');
|
|
221
349
|
expect(listItemText).toBeTruthy();
|
|
@@ -224,10 +352,10 @@ describe('Components', function () {
|
|
|
224
352
|
it('should apply subtext', function () {
|
|
225
353
|
var subText = 'Teste Item 1';
|
|
226
354
|
|
|
227
|
-
var
|
|
355
|
+
var _render21 = (0, _react2.render)(list({}, {}, {
|
|
228
356
|
subText: subText
|
|
229
357
|
})),
|
|
230
|
-
container =
|
|
358
|
+
container = _render21.container;
|
|
231
359
|
|
|
232
360
|
var listItemSubText = container.querySelector('.item-container .subtext');
|
|
233
361
|
expect(listItemSubText).toBeTruthy();
|
|
@@ -239,10 +367,10 @@ describe('Components', function () {
|
|
|
239
367
|
paddingBottom: '2px'
|
|
240
368
|
};
|
|
241
369
|
|
|
242
|
-
var
|
|
370
|
+
var _render22 = (0, _react2.render)(list({}, {}, {
|
|
243
371
|
style: style
|
|
244
372
|
})),
|
|
245
|
-
container =
|
|
373
|
+
container = _render22.container;
|
|
246
374
|
|
|
247
375
|
var listItem = container.querySelector('.item-container');
|
|
248
376
|
expect(listItem).toHaveStyle(style);
|
|
@@ -250,41 +378,41 @@ describe('Components', function () {
|
|
|
250
378
|
describe('prop separator', function () {
|
|
251
379
|
var separator = true;
|
|
252
380
|
it('apply list-separator css class to text/subtext/children container', function () {
|
|
253
|
-
var
|
|
381
|
+
var _render23 = (0, _react2.render)(list({}, {}, {
|
|
254
382
|
text: 'Teste',
|
|
255
383
|
separator: separator
|
|
256
384
|
})),
|
|
257
|
-
container =
|
|
385
|
+
container = _render23.container;
|
|
258
386
|
|
|
259
387
|
var listItemTextContainer = container.querySelector('.item-container .item');
|
|
260
388
|
expect(listItemTextContainer).toHaveClass('list-separator');
|
|
261
389
|
});
|
|
262
390
|
it('apply list-separator css class to leftIcon/leftElement container', function () {
|
|
263
|
-
var
|
|
391
|
+
var _render24 = (0, _react2.render)(list({}, {}, {
|
|
264
392
|
leftIconName: 'pencil',
|
|
265
393
|
separator: separator
|
|
266
394
|
})),
|
|
267
|
-
container =
|
|
395
|
+
container = _render24.container;
|
|
268
396
|
|
|
269
397
|
var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
|
|
270
398
|
expect(listItemLeftElContainer).toHaveClass('list-separator');
|
|
271
399
|
});
|
|
272
400
|
it('apply list-separator css class to rightIcon/rightElement container', function () {
|
|
273
|
-
var
|
|
401
|
+
var _render25 = (0, _react2.render)(list({}, {}, {
|
|
274
402
|
rightIconName: 'pencil',
|
|
275
403
|
separator: separator
|
|
276
404
|
})),
|
|
277
|
-
container =
|
|
405
|
+
container = _render25.container;
|
|
278
406
|
|
|
279
407
|
var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
|
|
280
408
|
expect(listItemRightElContainer).toHaveClass('list-separator');
|
|
281
409
|
});
|
|
282
410
|
});
|
|
283
411
|
it('prop hovered should apply css class hovered ', function () {
|
|
284
|
-
var
|
|
412
|
+
var _render26 = (0, _react2.render)(list({}, {}, {
|
|
285
413
|
hovered: true
|
|
286
414
|
})),
|
|
287
|
-
container =
|
|
415
|
+
container = _render26.container;
|
|
288
416
|
|
|
289
417
|
var listItem = container.querySelector('.item-container');
|
|
290
418
|
expect(listItem).toHaveClass('hovered');
|
|
@@ -294,11 +422,11 @@ describe('Components', function () {
|
|
|
294
422
|
it('should disable onClick event', function () {
|
|
295
423
|
var mockFunc = jest.fn();
|
|
296
424
|
|
|
297
|
-
var
|
|
425
|
+
var _render27 = (0, _react2.render)(list({}, {}, {
|
|
298
426
|
disabled: disabled,
|
|
299
427
|
onClick: mockFunc
|
|
300
428
|
})),
|
|
301
|
-
container =
|
|
429
|
+
container = _render27.container;
|
|
302
430
|
|
|
303
431
|
var listItem = container.querySelector('.item-container');
|
|
304
432
|
|
|
@@ -307,53 +435,53 @@ describe('Components', function () {
|
|
|
307
435
|
expect(mockFunc).not.toBeCalled();
|
|
308
436
|
});
|
|
309
437
|
it('apply disabled css class to text/subtext/children container', function () {
|
|
310
|
-
var
|
|
438
|
+
var _render28 = (0, _react2.render)(list({}, {}, {
|
|
311
439
|
text: 'Teste',
|
|
312
440
|
disabled: disabled
|
|
313
441
|
})),
|
|
314
|
-
container =
|
|
442
|
+
container = _render28.container;
|
|
315
443
|
|
|
316
444
|
var listItemTextContainer = container.querySelector('.item-container .item');
|
|
317
445
|
expect(listItemTextContainer).toHaveClass('disabled');
|
|
318
446
|
});
|
|
319
447
|
it('apply disabled css class to leftIcon/leftElement container', function () {
|
|
320
|
-
var
|
|
448
|
+
var _render29 = (0, _react2.render)(list({}, {}, {
|
|
321
449
|
leftIconName: 'pencil',
|
|
322
450
|
disabled: disabled
|
|
323
451
|
})),
|
|
324
|
-
container =
|
|
452
|
+
container = _render29.container;
|
|
325
453
|
|
|
326
454
|
var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
|
|
327
455
|
expect(listItemLeftElContainer).toHaveClass('disabled');
|
|
328
456
|
});
|
|
329
457
|
it('apply disabled css class to rightIcon/rightElement container', function () {
|
|
330
|
-
var
|
|
458
|
+
var _render30 = (0, _react2.render)(list({}, {}, {
|
|
331
459
|
rightIconName: 'pencil',
|
|
332
460
|
disabled: disabled
|
|
333
461
|
})),
|
|
334
|
-
container =
|
|
462
|
+
container = _render30.container;
|
|
335
463
|
|
|
336
464
|
var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
|
|
337
465
|
expect(listItemRightElContainer).toHaveClass('disabled');
|
|
338
466
|
});
|
|
339
467
|
it('should hide url', function () {
|
|
340
|
-
var
|
|
468
|
+
var _render31 = (0, _react2.render)(list({}, {}, {
|
|
341
469
|
disabled: disabled,
|
|
342
470
|
url: 'saas'
|
|
343
471
|
})),
|
|
344
|
-
container =
|
|
472
|
+
container = _render31.container;
|
|
345
473
|
|
|
346
474
|
var linkitem = container.querySelector('.linkitem');
|
|
347
475
|
expect(linkitem).not.toBeInTheDocument();
|
|
348
476
|
});
|
|
349
477
|
});
|
|
350
478
|
it('prop displayCheckbox should render Checkbox within subject', function () {
|
|
351
|
-
var
|
|
479
|
+
var _render32 = (0, _react2.render)(list({}, {}, {
|
|
352
480
|
displayCheckbox: true
|
|
353
481
|
})),
|
|
354
|
-
container =
|
|
482
|
+
container = _render32.container;
|
|
355
483
|
|
|
356
|
-
var checkboxComponent = container.querySelector('.item-container .item.-icon-left .checkbox-component');
|
|
484
|
+
var checkboxComponent = container.querySelector('.item-container .item.-icon-left .checkbox-component input');
|
|
357
485
|
expect(checkboxComponent).toBeTruthy();
|
|
358
486
|
expect(checkboxComponent.name).toEqual('checkbox');
|
|
359
487
|
});
|
|
@@ -362,10 +490,10 @@ describe('Components', function () {
|
|
|
362
490
|
customClass: "leftElTeste"
|
|
363
491
|
});
|
|
364
492
|
|
|
365
|
-
var
|
|
493
|
+
var _render33 = (0, _react2.render)(list({}, {}, {
|
|
366
494
|
leftElement: leftElement
|
|
367
495
|
})),
|
|
368
|
-
container =
|
|
496
|
+
container = _render33.container;
|
|
369
497
|
|
|
370
498
|
var leftElementHTML = container.querySelector('.item-container .item.-icon-left .leftElTeste');
|
|
371
499
|
expect(leftElementHTML).toBeTruthy();
|
|
@@ -375,10 +503,10 @@ describe('Components', function () {
|
|
|
375
503
|
customClass: "rightElTeste"
|
|
376
504
|
});
|
|
377
505
|
|
|
378
|
-
var
|
|
506
|
+
var _render34 = (0, _react2.render)(list({}, {}, {
|
|
379
507
|
rightElement: rightElement
|
|
380
508
|
})),
|
|
381
|
-
container =
|
|
509
|
+
container = _render34.container;
|
|
382
510
|
|
|
383
511
|
var rightElementHTML = container.querySelector('.item-container .item.-icon-right .rightElTeste');
|
|
384
512
|
expect(rightElementHTML).toBeTruthy();
|
|
@@ -391,10 +519,10 @@ describe('Components', function () {
|
|
|
391
519
|
color: "#000"
|
|
392
520
|
});
|
|
393
521
|
|
|
394
|
-
var
|
|
522
|
+
var _render35 = (0, _react2.render)(list({}, {}, {
|
|
395
523
|
leftIcon: leftIcon
|
|
396
524
|
})),
|
|
397
|
-
container =
|
|
525
|
+
container = _render35.container;
|
|
398
526
|
|
|
399
527
|
var leftIconHTML = container.querySelector('.item-container .item.-icon-left .icon-component.iconTeste');
|
|
400
528
|
expect(leftIconHTML).toBeTruthy();
|
|
@@ -407,28 +535,28 @@ describe('Components', function () {
|
|
|
407
535
|
color: "#000"
|
|
408
536
|
});
|
|
409
537
|
|
|
410
|
-
var
|
|
538
|
+
var _render36 = (0, _react2.render)(list({}, {}, {
|
|
411
539
|
rightIcon: rightIcon
|
|
412
540
|
})),
|
|
413
|
-
container =
|
|
541
|
+
container = _render36.container;
|
|
414
542
|
|
|
415
543
|
var rightIconHTML = container.querySelector('.item-container .item.-icon-right .icon-component.iconTeste');
|
|
416
544
|
expect(rightIconHTML).toBeTruthy();
|
|
417
545
|
});
|
|
418
546
|
it('prop leftIconName should render Icon', function () {
|
|
419
|
-
var
|
|
547
|
+
var _render37 = (0, _react2.render)(list({}, {}, {
|
|
420
548
|
leftIconName: 'code'
|
|
421
549
|
})),
|
|
422
|
-
container =
|
|
550
|
+
container = _render37.container;
|
|
423
551
|
|
|
424
552
|
var leftIcon = container.querySelector('.item-container .item.-icon-left .icon-component');
|
|
425
553
|
expect(leftIcon).toBeTruthy();
|
|
426
554
|
});
|
|
427
555
|
it('prop rightIconName should render Icon', function () {
|
|
428
|
-
var
|
|
556
|
+
var _render38 = (0, _react2.render)(list({}, {}, {
|
|
429
557
|
rightIconName: 'code'
|
|
430
558
|
})),
|
|
431
|
-
container =
|
|
559
|
+
container = _render38.container;
|
|
432
560
|
|
|
433
561
|
var rightIcon = container.querySelector('.item-container .item.-icon-right .icon-component');
|
|
434
562
|
expect(rightIcon).toBeTruthy();
|
|
@@ -445,8 +573,8 @@ describe('Components', function () {
|
|
|
445
573
|
}
|
|
446
574
|
}));
|
|
447
575
|
|
|
448
|
-
var
|
|
449
|
-
container =
|
|
576
|
+
var _render39 = (0, _react2.render)(mockList),
|
|
577
|
+
container = _render39.container;
|
|
450
578
|
|
|
451
579
|
var listItem = container.querySelector('.item-container');
|
|
452
580
|
|
|
@@ -457,68 +585,68 @@ describe('Components', function () {
|
|
|
457
585
|
describe('prop customClass', function () {
|
|
458
586
|
var customClass = 'customclassTeste';
|
|
459
587
|
it('apply customClass css class to text/subtext/children container', function () {
|
|
460
|
-
var
|
|
588
|
+
var _render40 = (0, _react2.render)(list({}, {}, {
|
|
461
589
|
text: 'Teste',
|
|
462
590
|
customClass: customClass
|
|
463
591
|
})),
|
|
464
|
-
container =
|
|
592
|
+
container = _render40.container;
|
|
465
593
|
|
|
466
594
|
var listItemTextContainer = container.querySelector('.item-container .item');
|
|
467
595
|
expect(listItemTextContainer).toHaveClass(customClass);
|
|
468
596
|
});
|
|
469
597
|
it('apply customClass css class to leftIcon/leftElement container', function () {
|
|
470
|
-
var
|
|
598
|
+
var _render41 = (0, _react2.render)(list({}, {}, {
|
|
471
599
|
leftIconName: 'pencil',
|
|
472
600
|
customClass: customClass
|
|
473
601
|
})),
|
|
474
|
-
container =
|
|
602
|
+
container = _render41.container;
|
|
475
603
|
|
|
476
604
|
var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
|
|
477
605
|
expect(listItemLeftElContainer).toHaveClass(customClass);
|
|
478
606
|
});
|
|
479
607
|
it('apply customClass css class to rightIcon/rightElement container', function () {
|
|
480
|
-
var
|
|
608
|
+
var _render42 = (0, _react2.render)(list({}, {}, {
|
|
481
609
|
rightIconName: 'pencil',
|
|
482
610
|
customClass: customClass
|
|
483
611
|
})),
|
|
484
|
-
container =
|
|
612
|
+
container = _render42.container;
|
|
485
613
|
|
|
486
614
|
var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
|
|
487
615
|
expect(listItemRightElContainer).toHaveClass(customClass);
|
|
488
616
|
});
|
|
489
617
|
});
|
|
490
618
|
it('prop url should render Link', function () {
|
|
491
|
-
var
|
|
619
|
+
var _render43 = (0, _react2.render)(list({}, {}, {
|
|
492
620
|
url: 'saas'
|
|
493
621
|
})),
|
|
494
|
-
container =
|
|
622
|
+
container = _render43.container;
|
|
495
623
|
|
|
496
624
|
var linkComponent = container.querySelector('.item-container .linkitem');
|
|
497
625
|
expect(linkComponent).toBeTruthy();
|
|
498
626
|
});
|
|
499
627
|
describe('prop visible', function () {
|
|
500
628
|
it('when true(default) should allow subject to render', function () {
|
|
501
|
-
var
|
|
629
|
+
var _render44 = (0, _react2.render)(list({}, {}, {
|
|
502
630
|
visible: true
|
|
503
631
|
})),
|
|
504
|
-
container =
|
|
632
|
+
container = _render44.container;
|
|
505
633
|
|
|
506
634
|
var listItem = container.querySelector('.item-container');
|
|
507
635
|
expect(listItem).toBeTruthy();
|
|
508
636
|
});
|
|
509
637
|
it('when false should not let subject render', function () {
|
|
510
|
-
var
|
|
638
|
+
var _render45 = (0, _react2.render)(list({}, {}, {
|
|
511
639
|
visible: false
|
|
512
640
|
})),
|
|
513
|
-
container =
|
|
641
|
+
container = _render45.container;
|
|
514
642
|
|
|
515
643
|
var listItem = container.querySelector('.item-container');
|
|
516
644
|
expect(listItem).not.toBeInTheDocument();
|
|
517
645
|
});
|
|
518
646
|
});
|
|
519
647
|
it('should render children', function () {
|
|
520
|
-
var
|
|
521
|
-
container =
|
|
648
|
+
var _render46 = (0, _react2.render)(list()),
|
|
649
|
+
container = _render46.container;
|
|
522
650
|
|
|
523
651
|
var listItemButtonChild = container.querySelector('.item-container .childbuttontest');
|
|
524
652
|
expect(listItemButtonChild).toBeTruthy();
|
|
@@ -529,10 +657,10 @@ describe('Components', function () {
|
|
|
529
657
|
it('should render subject', function () {
|
|
530
658
|
setSessionStorageMock();
|
|
531
659
|
|
|
532
|
-
var
|
|
660
|
+
var _render47 = (0, _react2.render)(list({}, {}, {
|
|
533
661
|
permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('disabled')
|
|
534
662
|
})),
|
|
535
|
-
container =
|
|
663
|
+
container = _render47.container;
|
|
536
664
|
|
|
537
665
|
var listItem = container.querySelector('.item-container');
|
|
538
666
|
expect(listItem).toBeTruthy();
|
|
@@ -542,10 +670,10 @@ describe('Components', function () {
|
|
|
542
670
|
it('onDenied.unvisible option should not render subject', function () {
|
|
543
671
|
setSessionStorageMock();
|
|
544
672
|
|
|
545
|
-
var
|
|
673
|
+
var _render48 = (0, _react2.render)(list({}, {}, {
|
|
546
674
|
permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('unvisible')
|
|
547
675
|
})),
|
|
548
|
-
container =
|
|
676
|
+
container = _render48.container;
|
|
549
677
|
|
|
550
678
|
var listItem = container.querySelector('.item-container');
|
|
551
679
|
expect(listItem).not.toBeInTheDocument();
|
|
@@ -557,10 +685,10 @@ describe('Components', function () {
|
|
|
557
685
|
it('disable onClick event', function () {
|
|
558
686
|
var mockFunc = jest.fn();
|
|
559
687
|
|
|
560
|
-
var
|
|
688
|
+
var _render49 = (0, _react2.render)(list({}, {}, _extends({}, permissionProp, {
|
|
561
689
|
onClick: mockFunc
|
|
562
690
|
}))),
|
|
563
|
-
container =
|
|
691
|
+
container = _render49.container;
|
|
564
692
|
|
|
565
693
|
var listItem = container.querySelector('.item-container');
|
|
566
694
|
|
|
@@ -569,37 +697,37 @@ describe('Components', function () {
|
|
|
569
697
|
expect(mockFunc).not.toBeCalled();
|
|
570
698
|
});
|
|
571
699
|
it('apply disabled css class to text/subtext/children container', function () {
|
|
572
|
-
var
|
|
700
|
+
var _render50 = (0, _react2.render)(list({}, {}, _extends({
|
|
573
701
|
text: 'Teste'
|
|
574
702
|
}, permissionProp))),
|
|
575
|
-
container =
|
|
703
|
+
container = _render50.container;
|
|
576
704
|
|
|
577
705
|
var listItemTextContainer = container.querySelector('.item-container .item');
|
|
578
706
|
expect(listItemTextContainer).toHaveClass('disabled');
|
|
579
707
|
});
|
|
580
708
|
it('apply disabled css class to leftIcon/leftElement container', function () {
|
|
581
|
-
var
|
|
709
|
+
var _render51 = (0, _react2.render)(list({}, {}, _extends({
|
|
582
710
|
leftIconName: 'pencil'
|
|
583
711
|
}, permissionProp))),
|
|
584
|
-
container =
|
|
712
|
+
container = _render51.container;
|
|
585
713
|
|
|
586
714
|
var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
|
|
587
715
|
expect(listItemLeftElContainer).toHaveClass('disabled');
|
|
588
716
|
});
|
|
589
717
|
it('apply disabled css class to rightIcon/rightElement container', function () {
|
|
590
|
-
var
|
|
718
|
+
var _render52 = (0, _react2.render)(list({}, {}, _extends({
|
|
591
719
|
rightIconName: 'pencil'
|
|
592
720
|
}, permissionProp))),
|
|
593
|
-
container =
|
|
721
|
+
container = _render52.container;
|
|
594
722
|
|
|
595
723
|
var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
|
|
596
724
|
expect(listItemRightElContainer).toHaveClass('disabled');
|
|
597
725
|
});
|
|
598
726
|
it('hide url', function () {
|
|
599
|
-
var
|
|
727
|
+
var _render53 = (0, _react2.render)(list({}, {}, _extends({}, permissionProp, {
|
|
600
728
|
url: 'saas'
|
|
601
729
|
}))),
|
|
602
|
-
container =
|
|
730
|
+
container = _render53.container;
|
|
603
731
|
|
|
604
732
|
var linkitem = container.querySelector('.linkitem');
|
|
605
733
|
expect(linkitem).not.toBeInTheDocument();
|
|
@@ -19,6 +19,8 @@ var _helpers = require("./helpers");
|
|
|
19
19
|
|
|
20
20
|
var _permissionValidations = require("../../permissionValidations");
|
|
21
21
|
|
|
22
|
+
var _withTooltip = _interopRequireDefault(require("../../internals/withTooltip"));
|
|
23
|
+
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
23
25
|
|
|
24
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -49,7 +51,8 @@ var NavMenuItem = function NavMenuItem(props) {
|
|
|
49
51
|
permissionAttr = props.permissionAttr,
|
|
50
52
|
maxWidth = props.maxWidth,
|
|
51
53
|
minWidth = props.minWidth,
|
|
52
|
-
columnsQtty = props.columnsQtty
|
|
54
|
+
columnsQtty = props.columnsQtty,
|
|
55
|
+
targetRef = props.targetRef;
|
|
53
56
|
|
|
54
57
|
var _useState = (0, _react.useState)(false),
|
|
55
58
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -93,6 +96,7 @@ var NavMenuItem = function NavMenuItem(props) {
|
|
|
93
96
|
return /*#__PURE__*/_react["default"].createElement(_helpers.SubMenuContext.Provider, {
|
|
94
97
|
value: contextValues()
|
|
95
98
|
}, /*#__PURE__*/_react["default"].createElement("li", {
|
|
99
|
+
ref: targetRef,
|
|
96
100
|
className: "item ".concat(url && !disabled && '-withlink', " ").concat(customClass, " ").concat(disabled && '-disabled'),
|
|
97
101
|
onMouseEnter: function onMouseEnter(e) {
|
|
98
102
|
_onMouseEnter(e);
|
|
@@ -136,7 +140,8 @@ NavMenuItem.propTypes = {
|
|
|
136
140
|
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
|
|
137
141
|
minWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
138
142
|
maxWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
139
|
-
columnsQtty: _propTypes["default"].number
|
|
143
|
+
columnsQtty: _propTypes["default"].number,
|
|
144
|
+
targetRef: _propTypes["default"].func
|
|
140
145
|
};
|
|
141
146
|
NavMenuItem.defaultProps = {
|
|
142
147
|
childrenIsSubMenu: true,
|
|
@@ -148,7 +153,10 @@ NavMenuItem.defaultProps = {
|
|
|
148
153
|
permissionAttr: undefined,
|
|
149
154
|
minWidth: 500,
|
|
150
155
|
maxWidth: '90%',
|
|
151
|
-
columnsQtty: 2
|
|
156
|
+
columnsQtty: 2,
|
|
157
|
+
targetRef: undefined
|
|
152
158
|
};
|
|
153
|
-
|
|
159
|
+
|
|
160
|
+
var _default = (0, _withTooltip["default"])(NavMenuItem);
|
|
161
|
+
|
|
154
162
|
exports["default"] = _default;
|
|
@@ -53,6 +53,8 @@ var _helpers = require("./helpers");
|
|
|
53
53
|
|
|
54
54
|
var _icons = _interopRequireDefault(require("../../icons"));
|
|
55
55
|
|
|
56
|
+
var constants = _interopRequireWildcard(require("../../internals/constants"));
|
|
57
|
+
|
|
56
58
|
var _popup_menu_search = _interopRequireDefault(require("./popup_menu_search"));
|
|
57
59
|
|
|
58
60
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -194,6 +196,7 @@ var SideNav = function SideNav(props) {
|
|
|
194
196
|
|
|
195
197
|
if ((type === _NavMenuItem["default"] || type === _NavSubMenuItem["default"]) && !child.props.children) {
|
|
196
198
|
menuItemsContent.push({
|
|
199
|
+
id: "".concat(child.props.title, "-").concat(_uuid["default"].v1()),
|
|
197
200
|
content: child.props.title,
|
|
198
201
|
url: child.props.url
|
|
199
202
|
});
|
|
@@ -217,6 +220,20 @@ var SideNav = function SideNav(props) {
|
|
|
217
220
|
}
|
|
218
221
|
};
|
|
219
222
|
|
|
223
|
+
var onKeyDown = function onKeyDown(e) {
|
|
224
|
+
if ([constants.keyCodes.F].includes(e.keyCode) && e.ctrlKey && e.shiftKey) {
|
|
225
|
+
e.preventDefault();
|
|
226
|
+
setSearchFieldHasNoFocus(false);
|
|
227
|
+
if (searchFieldRef.current) searchFieldRef.current.focus();
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
(0, _react.useEffect)(function () {
|
|
232
|
+
document.addEventListener('keydown', onKeyDown);
|
|
233
|
+
return function () {
|
|
234
|
+
document.removeEventListener('keydown', onKeyDown);
|
|
235
|
+
};
|
|
236
|
+
}, []);
|
|
220
237
|
(0, _react.useEffect)(function () {
|
|
221
238
|
if (enableMenuSearch && sideNavRef && sideNavRef.current) {
|
|
222
239
|
setSideNavDimensions(sideNavRef.current.getBoundingClientRect());
|
|
@@ -239,14 +256,14 @@ var SideNav = function SideNav(props) {
|
|
|
239
256
|
key: "popup-menusearch-".concat(_uuid["default"].v1())
|
|
240
257
|
}, /*#__PURE__*/_react["default"].createElement(_NavMenuItem["default"], {
|
|
241
258
|
childrenIsSubMenu: false,
|
|
242
|
-
customClass: "-customsidenavitem"
|
|
259
|
+
customClass: "-customsidenavitem",
|
|
260
|
+
tooltip: "Pesquisar funcionalidades (CTRL+SHIFT+F)",
|
|
261
|
+
tooltipPosition: "right"
|
|
243
262
|
}, /*#__PURE__*/_react["default"].createElement(_text["default"], _extends({
|
|
244
263
|
value: searchContent,
|
|
245
264
|
customClassForWrapper: "-customsizes",
|
|
246
265
|
customClass: "-customsizes",
|
|
247
266
|
customClassForSideButtons: "-iconcenter",
|
|
248
|
-
tooltip: "Pesquisar funcionalidades",
|
|
249
|
-
tooltipPosition: "right",
|
|
250
267
|
customClassForInputContent: searchFieldHasNoFocus ? '-hidden' : '',
|
|
251
268
|
onFocus: function onFocus() {
|
|
252
269
|
return setSearchFieldHasNoFocus(false);
|
|
@@ -263,6 +280,9 @@ var SideNav = function SideNav(props) {
|
|
|
263
280
|
}, returnLeftElements())), openSearchMenuPopup && /*#__PURE__*/_react["default"].createElement(_popup_menu_search["default"], _extends({}, props, {
|
|
264
281
|
style: getPopupMenuSearchStyle(),
|
|
265
282
|
searchContent: searchContent,
|
|
283
|
+
handleSetSearchContent: function handleSetSearchContent(searchValue) {
|
|
284
|
+
return setSearchContent(searchValue);
|
|
285
|
+
},
|
|
266
286
|
handlerClose: closeSearchMenuPopup,
|
|
267
287
|
menuItemsContent: menuItemsContent && returnMenuItems()
|
|
268
288
|
}))));
|
|
@@ -9,8 +9,6 @@ exports["default"] = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
-
var _uuid = _interopRequireDefault(require("uuid"));
|
|
13
|
-
|
|
14
12
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
15
13
|
|
|
16
14
|
var _search = _interopRequireDefault(require("../../../inputs/search"));
|
|
@@ -46,7 +44,8 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
|
|
|
46
44
|
searchContent = props.searchContent,
|
|
47
45
|
menuItemsContent = props.menuItemsContent,
|
|
48
46
|
handlerClose = props.handlerClose,
|
|
49
|
-
menuSearchEmptyMessage = props.menuSearchEmptyMessage
|
|
47
|
+
menuSearchEmptyMessage = props.menuSearchEmptyMessage,
|
|
48
|
+
handleSetSearchContent = props.handleSetSearchContent;
|
|
50
49
|
|
|
51
50
|
var _useState = (0, _react.useState)(searchContent),
|
|
52
51
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -88,6 +87,7 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
|
|
|
88
87
|
return item.content.toLowerCase().includes(filter);
|
|
89
88
|
});
|
|
90
89
|
setSearchFieldContent(value);
|
|
90
|
+
handleSetSearchContent(value);
|
|
91
91
|
setSearchResult(result);
|
|
92
92
|
};
|
|
93
93
|
|
|
@@ -101,15 +101,19 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
|
|
|
101
101
|
return /*#__PURE__*/_react["default"].createElement(_list["default"], {
|
|
102
102
|
condensed: true,
|
|
103
103
|
transparent: true,
|
|
104
|
+
selectable: true,
|
|
105
|
+
onSelectItem: handlerClose,
|
|
104
106
|
style: {
|
|
105
|
-
margin: '25px 0px'
|
|
107
|
+
margin: '25px 0px',
|
|
108
|
+
border: 'none',
|
|
109
|
+
boxShadow: 'none'
|
|
106
110
|
}
|
|
107
|
-
}, searchResult
|
|
111
|
+
}, searchResult.map(function (item) {
|
|
108
112
|
return /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
|
|
109
|
-
key:
|
|
113
|
+
key: item.id,
|
|
114
|
+
itemId: item.id,
|
|
110
115
|
url: item.url,
|
|
111
|
-
text: item.content
|
|
112
|
-
onClick: handlerClose
|
|
116
|
+
text: item.content
|
|
113
117
|
});
|
|
114
118
|
}));
|
|
115
119
|
}
|
|
@@ -137,7 +141,7 @@ var PopupMenuSearch = function PopupMenuSearch(props) {
|
|
|
137
141
|
inputRef: searchFieldRef,
|
|
138
142
|
value: searchFieldContent,
|
|
139
143
|
onReset: function onReset() {
|
|
140
|
-
|
|
144
|
+
search('');
|
|
141
145
|
}
|
|
142
146
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
143
147
|
style: {
|
|
@@ -206,38 +206,30 @@ describe('SideNav Menu', function () {
|
|
|
206
206
|
|
|
207
207
|
expect(container.querySelector('.openclosemenu')).toBeInTheDocument();
|
|
208
208
|
});
|
|
209
|
-
it('should enable menu search', function () {
|
|
210
|
-
var _render4 = (0, _react2.render)(sidebarNavMockRender({
|
|
211
|
-
enableMenuSearch: true
|
|
212
|
-
})),
|
|
213
|
-
container = _render4.container;
|
|
214
|
-
|
|
215
|
-
expect(container.querySelector('.inputwrapper')).toBeInTheDocument();
|
|
216
|
-
});
|
|
217
209
|
it('should render all items', function () {
|
|
218
|
-
var
|
|
219
|
-
container =
|
|
210
|
+
var _render4 = (0, _react2.render)(sidebarNavMockRender()),
|
|
211
|
+
container = _render4.container;
|
|
220
212
|
/* primeiro item é o float menu */
|
|
221
213
|
|
|
222
214
|
|
|
223
215
|
expect(container.querySelectorAll('li.item').length - 1).toBe(menuDataMock.length);
|
|
224
216
|
});
|
|
225
217
|
it('should be rendering 3 items SVGs', function () {
|
|
226
|
-
var
|
|
227
|
-
container =
|
|
218
|
+
var _render5 = (0, _react2.render)(sidebarNavMockRender()),
|
|
219
|
+
container = _render5.container;
|
|
228
220
|
|
|
229
221
|
expect(container.querySelectorAll('li.item .icon-component').length).toBe(3);
|
|
230
222
|
});
|
|
231
223
|
it('should open submenu on over', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
232
|
-
var
|
|
224
|
+
var _render6, container;
|
|
233
225
|
|
|
234
226
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
235
227
|
while (1) {
|
|
236
228
|
switch (_context.prev = _context.next) {
|
|
237
229
|
case 0:
|
|
238
|
-
|
|
230
|
+
_render6 = (0, _react2.render)(sidebarNavMockRender({
|
|
239
231
|
menuSize: 'large'
|
|
240
|
-
})), container =
|
|
232
|
+
})), container = _render6.container;
|
|
241
233
|
|
|
242
234
|
_react2.fireEvent.mouseOver(container.querySelector('.customscroll .item'));
|
|
243
235
|
|
|
@@ -257,13 +249,13 @@ describe('SideNav Menu', function () {
|
|
|
257
249
|
}, _callee);
|
|
258
250
|
})));
|
|
259
251
|
it('submenu should render all items', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
260
|
-
var
|
|
252
|
+
var _render7, container;
|
|
261
253
|
|
|
262
254
|
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
263
255
|
while (1) {
|
|
264
256
|
switch (_context2.prev = _context2.next) {
|
|
265
257
|
case 0:
|
|
266
|
-
|
|
258
|
+
_render7 = (0, _react2.render)(sidebarNavMockRender()), container = _render7.container;
|
|
267
259
|
|
|
268
260
|
_react2.fireEvent.mouseOver(container.querySelector('.customscroll .item'));
|
|
269
261
|
|
|
@@ -283,13 +275,13 @@ describe('SideNav Menu', function () {
|
|
|
283
275
|
}, _callee2);
|
|
284
276
|
})));
|
|
285
277
|
it('submenu should have title', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
|
|
286
|
-
var
|
|
278
|
+
var _render8, container;
|
|
287
279
|
|
|
288
280
|
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
289
281
|
while (1) {
|
|
290
282
|
switch (_context3.prev = _context3.next) {
|
|
291
283
|
case 0:
|
|
292
|
-
|
|
284
|
+
_render8 = (0, _react2.render)(sidebarNavMockRender()), container = _render8.container;
|
|
293
285
|
|
|
294
286
|
_react2.fireEvent.mouseOver(container.querySelector('.customscroll .item'));
|
|
295
287
|
|
|
@@ -308,5 +300,72 @@ describe('SideNav Menu', function () {
|
|
|
308
300
|
}
|
|
309
301
|
}, _callee3);
|
|
310
302
|
})));
|
|
303
|
+
describe('Popup Search Menu', function () {
|
|
304
|
+
it('should enable menu search', function () {
|
|
305
|
+
var _render9 = (0, _react2.render)(sidebarNavMockRender({
|
|
306
|
+
enableMenuSearch: true
|
|
307
|
+
})),
|
|
308
|
+
container = _render9.container;
|
|
309
|
+
|
|
310
|
+
expect(container.querySelector('.inputwrapper')).toBeInTheDocument();
|
|
311
|
+
});
|
|
312
|
+
it('should render tooltip on over menu search item', function () {
|
|
313
|
+
var _render10 = (0, _react2.render)(sidebarNavMockRender({
|
|
314
|
+
enableMenuSearch: true
|
|
315
|
+
})),
|
|
316
|
+
container = _render10.container;
|
|
317
|
+
|
|
318
|
+
var navitem = container.querySelector('.-customsidenavitem');
|
|
319
|
+
|
|
320
|
+
_react2.fireEvent.mouseOver(navitem);
|
|
321
|
+
|
|
322
|
+
expect(document.querySelector('.tooltip-component')).toBeInTheDocument();
|
|
323
|
+
});
|
|
324
|
+
it('should focus input when pressed HotKey', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
|
|
325
|
+
var _render11, container;
|
|
326
|
+
|
|
327
|
+
return regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
328
|
+
while (1) {
|
|
329
|
+
switch (_context4.prev = _context4.next) {
|
|
330
|
+
case 0:
|
|
331
|
+
_render11 = (0, _react2.render)(sidebarNavMockRender({
|
|
332
|
+
enableMenuSearch: true
|
|
333
|
+
})), container = _render11.container;
|
|
334
|
+
|
|
335
|
+
_react2.fireEvent.keyDown(container, {
|
|
336
|
+
key: 'F',
|
|
337
|
+
code: 'keyF',
|
|
338
|
+
keyCode: 70,
|
|
339
|
+
ctrlKey: true,
|
|
340
|
+
shiftKey: true
|
|
341
|
+
});
|
|
342
|
+
|
|
343
|
+
expect(container.querySelector('.inputwrapper .sidebuttons')).not.toBeInTheDocument();
|
|
344
|
+
|
|
345
|
+
case 3:
|
|
346
|
+
case "end":
|
|
347
|
+
return _context4.stop();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}, _callee4);
|
|
351
|
+
})));
|
|
352
|
+
it('should render menu search on input change', function () {
|
|
353
|
+
var _render12 = (0, _react2.render)(sidebarNavMockRender({
|
|
354
|
+
enableMenuSearch: true
|
|
355
|
+
})),
|
|
356
|
+
container = _render12.container;
|
|
357
|
+
|
|
358
|
+
var input = container.querySelector('.inputwrapper .inputcontent .textinput');
|
|
359
|
+
|
|
360
|
+
_react2.fireEvent.change(input, {
|
|
361
|
+
target: {
|
|
362
|
+
value: 'A'
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
expect(document.querySelector('.searchmenu')).toBeInTheDocument();
|
|
367
|
+
expect(document.querySelectorAll('.list-component .item').length).toBe(5);
|
|
368
|
+
});
|
|
369
|
+
});
|
|
311
370
|
});
|
|
312
371
|
});
|
package/lib/table/index.js
CHANGED
|
@@ -200,8 +200,8 @@ Table.defaultProps = {
|
|
|
200
200
|
bodyScrollable: false,
|
|
201
201
|
skeletonize: false,
|
|
202
202
|
strict: false,
|
|
203
|
-
skeletonInRows:
|
|
204
|
-
skeletonInHeader:
|
|
203
|
+
skeletonInRows: undefined,
|
|
204
|
+
skeletonInHeader: true
|
|
205
205
|
};
|
|
206
206
|
var _default = Table;
|
|
207
207
|
exports["default"] = _default;
|