linear-react-components-ui 0.4.76-rc.7 → 0.4.76
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/.husky/pre-commit +2 -2
- package/README.md +19 -7
- package/lib/assets/styles/button.scss +19 -10
- package/lib/assets/styles/checkbox.scss +92 -70
- package/lib/assets/styles/commons.scss +36 -0
- package/lib/assets/styles/drawers.scss +22 -6
- package/lib/assets/styles/dropdown.scss +3 -0
- package/lib/assets/styles/effects.scss +20 -0
- package/lib/assets/styles/gridlayout.scss +2 -1
- package/lib/assets/styles/input.scss +21 -0
- package/lib/assets/styles/label.scss +9 -1
- package/lib/assets/styles/list.scss +8 -0
- package/lib/assets/styles/panel.scss +4 -1
- package/lib/assets/styles/radio.scss +19 -0
- package/lib/assets/styles/select.scss +3 -3
- package/lib/assets/styles/sidenav.scss +11 -1
- package/lib/assets/styles/skeleton.scss +48 -0
- package/lib/assets/styles/table.scss +17 -5
- package/lib/assets/styles/tabs.scss +51 -44
- package/lib/assets/styles/treeview.scss +9 -0
- package/lib/assets/styles/uitour.scss +112 -0
- package/lib/buttons/DefaultButton.js +7 -4
- package/lib/buttons/split_button/index.js +8 -4
- package/lib/checkbox/Label.js +1 -1
- package/lib/checkbox/checkbox.spec.js +16 -16
- package/lib/checkbox/index.js +16 -9
- package/lib/dialog/form/index.js +10 -3
- package/lib/drawer/Drawer.js +9 -5
- package/lib/drawer/Header.js +15 -5
- package/lib/dropdown/Popup.js +3 -2
- package/lib/form/FieldNumber.js +1 -1
- package/lib/form/FieldPeriod.js +1 -1
- package/lib/form/form.spec.js +8 -0
- package/lib/form/helpers.js +12 -1
- package/lib/form/index.js +61 -47
- package/lib/form/withFieldHOC.js +3 -1
- package/lib/icons/helper.js +8 -0
- package/lib/inputs/base/InputTextBase.js +40 -6
- package/lib/inputs/base/helpers.js +15 -3
- package/lib/inputs/date/Dropdown.js +3 -3
- package/lib/inputs/date/date.spec.js +46 -36
- package/lib/inputs/date/helpers.js +36 -0
- package/lib/inputs/date/index.js +12 -10
- package/lib/inputs/mask/Phone.js +10 -1
- package/lib/inputs/mask/imaskHOC.js +2 -1
- package/lib/inputs/mask/input_mask.spec.js +21 -4
- package/lib/inputs/search/index.js +2 -0
- package/lib/inputs/select/Dropdown.js +51 -61
- package/lib/inputs/select/helper.js +65 -2
- package/lib/inputs/select/multiple/index.js +8 -5
- package/lib/inputs/select/simple/index.js +9 -6
- package/lib/internals/constants.js +4 -3
- package/lib/internals/withTooltip.js +14 -11
- package/lib/labels/DefaultLabel.js +7 -4
- package/lib/list/Item.js +35 -9
- package/lib/list/helpers.js +8 -3
- package/lib/list/index.js +161 -13
- package/lib/list/list.spec.js +259 -102
- package/lib/menus/sidenav/NavMenuItem.js +17 -8
- package/lib/menus/sidenav/index.js +53 -84
- package/lib/menus/sidenav/popup_menu_search/index.js +25 -16
- package/lib/menus/sidenav/sidenav.spec.js +86 -19
- package/lib/panel/Header.js +4 -3
- package/lib/radio/index.js +9 -6
- package/lib/skeleton/SkeletonContainer.js +42 -0
- package/lib/skeleton/index.js +84 -0
- package/lib/table/Body.js +55 -11
- package/lib/table/Header.js +14 -1
- package/lib/table/HeaderColumn.js +26 -3
- package/lib/table/Row.js +18 -7
- package/lib/table/RowColumn.js +23 -3
- package/lib/table/helpers.js +11 -1
- package/lib/table/index.js +41 -8
- package/lib/tabs/Menu.js +1 -11
- package/lib/tabs/MenuItems.js +9 -3
- package/lib/tabs/index.js +78 -53
- package/lib/tabs/tabs.spec.js +8 -5
- package/lib/toolbar/ButtonBar.js +30 -24
- package/lib/toolbar/LabelBar.js +22 -27
- package/lib/toolbar/helpers.js +12 -0
- package/lib/toolbar/index.js +23 -12
- package/lib/tooltip/index.js +8 -7
- package/lib/treeview/Node.js +248 -203
- package/lib/treeview/index.js +40 -20
- package/lib/treeview/treeview.spec.js +18 -0
- package/lib/uitour/helpers.js +15 -0
- package/lib/uitour/index.js +271 -0
- package/lib/uitour/uitour.spec.js +176 -0
- package/package.json +1 -1
- package/.DS_Store +0 -0
package/lib/treeview/Node.js
CHANGED
|
@@ -27,12 +27,16 @@ var _list = _interopRequireWildcard(require("../list"));
|
|
|
27
27
|
|
|
28
28
|
var _toolbar = _interopRequireWildcard(require("../toolbar"));
|
|
29
29
|
|
|
30
|
+
var _SpinnerLoading = _interopRequireDefault(require("../spinner/SpinnerLoading"));
|
|
31
|
+
|
|
30
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
31
33
|
|
|
32
34
|
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); }
|
|
33
35
|
|
|
34
36
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
37
|
|
|
38
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
39
|
+
|
|
36
40
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
37
41
|
|
|
38
42
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -45,8 +49,6 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
|
|
45
49
|
|
|
46
50
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
47
51
|
|
|
48
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
49
|
-
|
|
50
52
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
51
53
|
|
|
52
54
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
@@ -67,204 +69,31 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
67
69
|
|
|
68
70
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
69
71
|
|
|
72
|
+
var nodeHasItens = function nodeHasItens(node) {
|
|
73
|
+
return node.itens && node.itens.length > 0;
|
|
74
|
+
};
|
|
75
|
+
|
|
70
76
|
var TreeNode = /*#__PURE__*/function (_Component) {
|
|
71
77
|
_inherits(TreeNode, _Component);
|
|
72
78
|
|
|
73
79
|
var _super = _createSuper(TreeNode);
|
|
74
80
|
|
|
75
|
-
function TreeNode(props
|
|
81
|
+
function TreeNode(props) {
|
|
76
82
|
var _this;
|
|
77
83
|
|
|
78
84
|
_classCallCheck(this, TreeNode);
|
|
79
85
|
|
|
80
86
|
_this = _super.call(this, props);
|
|
81
|
-
Object.defineProperty(_assertThisInitialized(_this), "getSpan", {
|
|
82
|
-
configurable: true,
|
|
83
|
-
enumerable: true,
|
|
84
|
-
writable: true,
|
|
85
|
-
value: function value() {
|
|
86
|
-
var _this$props = _this.props,
|
|
87
|
-
node = _this$props.node,
|
|
88
|
-
alwaysShowArrow = _this$props.alwaysShowArrow;
|
|
89
|
-
|
|
90
|
-
var span = /*#__PURE__*/_react["default"].createElement("noscript", null);
|
|
91
|
-
|
|
92
|
-
if (node.itens && node.itens.length > 0 || alwaysShowArrow) {
|
|
93
|
-
span = /*#__PURE__*/_react["default"].createElement("span", {
|
|
94
|
-
onKeyPress: null,
|
|
95
|
-
tabIndex: 0,
|
|
96
|
-
role: "button",
|
|
97
|
-
className: "opencloseicon",
|
|
98
|
-
onClick: function onClick() {
|
|
99
|
-
return _this.openCloseTree(node);
|
|
100
|
-
}
|
|
101
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
|
|
102
|
-
name: _this.state.isVisible ? 'up' : 'down',
|
|
103
|
-
size: 10
|
|
104
|
-
}));
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return span;
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
Object.defineProperty(_assertThisInitialized(_this), "openCloseTree", {
|
|
111
|
-
configurable: true,
|
|
112
|
-
enumerable: true,
|
|
113
|
-
writable: true,
|
|
114
|
-
value: function value(node) {
|
|
115
|
-
var _this$state = _this.state,
|
|
116
|
-
isVisible = _this$state.isVisible,
|
|
117
|
-
wasOpened = _this$state.wasOpened;
|
|
118
|
-
var handlerOnNodeOpen = _this.props.handlerOnNodeOpen;
|
|
119
|
-
var nextState = {
|
|
120
|
-
isVisible: !isVisible
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
if (!wasOpened && handlerOnNodeOpen) {
|
|
124
|
-
nextState = _extends({}, nextState, {
|
|
125
|
-
wasOpened: true
|
|
126
|
-
});
|
|
127
|
-
handlerOnNodeOpen(node);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
_this.setState(nextState);
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
Object.defineProperty(_assertThisInitialized(_this), "handleShowNodeElements", {
|
|
134
|
-
configurable: true,
|
|
135
|
-
enumerable: true,
|
|
136
|
-
writable: true,
|
|
137
|
-
value: function value() {
|
|
138
|
-
var _this$state2 = _this.state,
|
|
139
|
-
showNodeElements = _this$state2.showNodeElements,
|
|
140
|
-
keepMenuOpened = _this$state2.keepMenuOpened;
|
|
141
|
-
if (!showNodeElements) _this.setState({
|
|
142
|
-
showNodeElements: true
|
|
143
|
-
});else if (showNodeElements && !keepMenuOpened) {
|
|
144
|
-
_this.setState({
|
|
145
|
-
showNodeElements: false
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
Object.defineProperty(_assertThisInitialized(_this), "updateElements", {
|
|
151
|
-
configurable: true,
|
|
152
|
-
enumerable: true,
|
|
153
|
-
writable: true,
|
|
154
|
-
value: function value(elements) {
|
|
155
|
-
var _this$props2 = _this.props,
|
|
156
|
-
node = _this$props2.node,
|
|
157
|
-
nodeElementsValidations = _this$props2.nodeElementsValidations;
|
|
158
|
-
var updatedElements = [];
|
|
159
|
-
|
|
160
|
-
if (elements) {
|
|
161
|
-
updatedElements = _react["default"].Children.map(elements, function (element) {
|
|
162
|
-
if ( /*#__PURE__*/_react["default"].isValidElement(element) && element.props) {
|
|
163
|
-
var _element$props = element.props,
|
|
164
|
-
validationKey = _element$props.validationKey,
|
|
165
|
-
onNodeElementClick = _element$props.onNodeElementClick;
|
|
166
|
-
var elementBehavior;
|
|
167
|
-
var newProps = {};
|
|
168
|
-
|
|
169
|
-
if (nodeElementsValidations && validationKey) {
|
|
170
|
-
elementBehavior = _this.validateNodeElement(validationKey);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
if (onNodeElementClick) {
|
|
174
|
-
newProps = _extends({}, newProps, {
|
|
175
|
-
onClick: function onClick(e) {
|
|
176
|
-
onNodeElementClick(node);
|
|
177
|
-
if (e.stopPropagation) e.stopPropagation();
|
|
178
|
-
},
|
|
179
|
-
onNodeElementClick: null
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
return /*#__PURE__*/_react["default"].cloneElement(element, _extends({}, elementBehavior, newProps));
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
return element;
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
return updatedElements;
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
Object.defineProperty(_assertThisInitialized(_this), "returnNodeRightElements", {
|
|
194
|
-
configurable: true,
|
|
195
|
-
enumerable: true,
|
|
196
|
-
writable: true,
|
|
197
|
-
value: function value() {
|
|
198
|
-
var nodeRightElements = _this.props.nodeRightElements;
|
|
199
|
-
|
|
200
|
-
var updatedNodeRightElements = _this.updateElements(nodeRightElements).map(function (element) {
|
|
201
|
-
var unvisible = element.props && 'visible' in element.props && !element.props.visible;
|
|
202
|
-
var style = unvisible ? {
|
|
203
|
-
display: 'none'
|
|
204
|
-
} : {};
|
|
205
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
206
|
-
style: style,
|
|
207
|
-
key: "element-".concat(_uuid["default"].v1()),
|
|
208
|
-
className: "element"
|
|
209
|
-
}, element);
|
|
210
|
-
});
|
|
211
|
-
|
|
212
|
-
return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
213
|
-
className: "node-rightelements"
|
|
214
|
-
}, updatedNodeRightElements) : null;
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
Object.defineProperty(_assertThisInitialized(_this), "returnNodeToolbarElements", {
|
|
218
|
-
configurable: true,
|
|
219
|
-
enumerable: true,
|
|
220
|
-
writable: true,
|
|
221
|
-
value: function value() {
|
|
222
|
-
var nodeToolbarElements = _this.props.nodeToolbarElements;
|
|
223
|
-
|
|
224
|
-
var updatedNodeRightElements = _this.updateElements(nodeToolbarElements);
|
|
225
|
-
|
|
226
|
-
return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement(_toolbar["default"], {
|
|
227
|
-
customClass: "node-toolbarelements"
|
|
228
|
-
}, /*#__PURE__*/_react["default"].createElement(_toolbar.ToolBarGroup, null, updatedNodeRightElements)) : null;
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
Object.defineProperty(_assertThisInitialized(_this), "validateNodeElement", {
|
|
232
|
-
configurable: true,
|
|
233
|
-
enumerable: true,
|
|
234
|
-
writable: true,
|
|
235
|
-
value: function value(validationKey) {
|
|
236
|
-
var _this$props3 = _this.props,
|
|
237
|
-
nodeElementsValidations = _this$props3.nodeElementsValidations,
|
|
238
|
-
node = _this$props3.node;
|
|
239
|
-
var validations = nodeElementsValidations[validationKey];
|
|
240
|
-
var options = {
|
|
241
|
-
disabled: {
|
|
242
|
-
disabled: true
|
|
243
|
-
},
|
|
244
|
-
unvisible: {
|
|
245
|
-
visible: false
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
var elementBehavior = {};
|
|
249
87
|
|
|
250
|
-
|
|
251
|
-
validations.forEach(function (validation) {
|
|
252
|
-
var validator = validation.validator,
|
|
253
|
-
applyBehavior = validation.applyBehavior;
|
|
88
|
+
_initialiseProps.call(_assertThisInitialized(_this));
|
|
254
89
|
|
|
255
|
-
if (_lodash["default"].isEmpty(elementBehavior) && validator && validator(node)) {
|
|
256
|
-
elementBehavior = options[applyBehavior] || options.unvisible;
|
|
257
|
-
}
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
return elementBehavior;
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
90
|
_this.labelRef = /*#__PURE__*/_react["default"].createRef();
|
|
91
|
+
var node = props.node,
|
|
92
|
+
startNodesOpened = props.startNodesOpened;
|
|
265
93
|
_this.state = {
|
|
266
|
-
|
|
267
|
-
|
|
94
|
+
node: node,
|
|
95
|
+
isVisible: startNodesOpened && nodeHasItens(node),
|
|
96
|
+
wasOpened: startNodesOpened && nodeHasItens(node),
|
|
268
97
|
showNodeElements: false,
|
|
269
98
|
keepMenuOpened: false
|
|
270
99
|
};
|
|
@@ -274,10 +103,10 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
274
103
|
_createClass(TreeNode, [{
|
|
275
104
|
key: "componentDidMount",
|
|
276
105
|
value: function componentDidMount() {
|
|
277
|
-
var _this$
|
|
278
|
-
isParent = _this$
|
|
279
|
-
nodeToolbarElements = _this$
|
|
280
|
-
nodeRightElements = _this$
|
|
106
|
+
var _this$props = this.props,
|
|
107
|
+
isParent = _this$props.isParent,
|
|
108
|
+
nodeToolbarElements = _this$props.nodeToolbarElements,
|
|
109
|
+
nodeRightElements = _this$props.nodeRightElements;
|
|
281
110
|
|
|
282
111
|
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
283
112
|
this.labelRef.current.addEventListener('mouseenter', this.handleShowNodeElements);
|
|
@@ -287,10 +116,10 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
287
116
|
}, {
|
|
288
117
|
key: "componentWillUnmount",
|
|
289
118
|
value: function componentWillUnmount() {
|
|
290
|
-
var _this$
|
|
291
|
-
isParent = _this$
|
|
292
|
-
nodeToolbarElements = _this$
|
|
293
|
-
nodeRightElements = _this$
|
|
119
|
+
var _this$props2 = this.props,
|
|
120
|
+
isParent = _this$props2.isParent,
|
|
121
|
+
nodeToolbarElements = _this$props2.nodeToolbarElements,
|
|
122
|
+
nodeRightElements = _this$props2.nodeRightElements;
|
|
294
123
|
|
|
295
124
|
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
296
125
|
this.labelRef.current.removeEventListener('mouseenter', this.handleShowNodeElements);
|
|
@@ -302,12 +131,13 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
302
131
|
value: function render() {
|
|
303
132
|
var _this2 = this;
|
|
304
133
|
|
|
305
|
-
var _this$
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
134
|
+
var _this$props3 = this.props,
|
|
135
|
+
children = _this$props3.children,
|
|
136
|
+
isParent = _this$props3.isParent,
|
|
137
|
+
onNodeClick = _this$props3.onNodeClick,
|
|
138
|
+
nodeMenuButtonSize = _this$props3.nodeMenuButtonSize,
|
|
139
|
+
selectedNodeId = _this$props3.selectedNodeId;
|
|
140
|
+
var node = this.state.node;
|
|
311
141
|
var showNodeElements = this.state.showNodeElements;
|
|
312
142
|
return /*#__PURE__*/_react["default"].createElement(_constants.TreeviewContext.Consumer, null, function (_ref) {
|
|
313
143
|
var valuePropName = _ref.valuePropName,
|
|
@@ -328,6 +158,10 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
328
158
|
className: "treeviewitem"
|
|
329
159
|
}, _this2.getSpan(), /*#__PURE__*/_react["default"].createElement("div", {
|
|
330
160
|
className: "label",
|
|
161
|
+
style: {
|
|
162
|
+
textDecoration: !onNodeClick ? 'none' : null,
|
|
163
|
+
backgroundColor: selectedNodeId === node.id ? 'rgb(209, 209, 209)' : null
|
|
164
|
+
},
|
|
331
165
|
ref: _this2.labelRef,
|
|
332
166
|
role: "button",
|
|
333
167
|
onKeyPress: null,
|
|
@@ -384,16 +218,222 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
384
218
|
}, _this2.state.isVisible && children));
|
|
385
219
|
});
|
|
386
220
|
}
|
|
221
|
+
}], [{
|
|
222
|
+
key: "getDerivedStateFromProps",
|
|
223
|
+
value: function getDerivedStateFromProps(props, state) {
|
|
224
|
+
var node = props.node,
|
|
225
|
+
startNodesOpened = props.startNodesOpened;
|
|
226
|
+
|
|
227
|
+
if (node !== state.node) {
|
|
228
|
+
return {
|
|
229
|
+
node: node,
|
|
230
|
+
isVisible: startNodesOpened && nodeHasItens(node),
|
|
231
|
+
wasOpened: startNodesOpened && nodeHasItens(node)
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
387
237
|
}]);
|
|
388
238
|
|
|
389
239
|
return TreeNode;
|
|
390
240
|
}(_react.Component);
|
|
391
241
|
|
|
242
|
+
var _initialiseProps = function _initialiseProps() {
|
|
243
|
+
var _this3 = this;
|
|
244
|
+
|
|
245
|
+
Object.defineProperty(this, "getSpan", {
|
|
246
|
+
configurable: true,
|
|
247
|
+
enumerable: true,
|
|
248
|
+
writable: true,
|
|
249
|
+
value: function value() {
|
|
250
|
+
var _this3$props = _this3.props,
|
|
251
|
+
alwaysShowArrow = _this3$props.alwaysShowArrow,
|
|
252
|
+
idsInLoading = _this3$props.idsInLoading;
|
|
253
|
+
var node = _this3.state.node;
|
|
254
|
+
var isLoading = idsInLoading.includes(node.id);
|
|
255
|
+
|
|
256
|
+
var span = /*#__PURE__*/_react["default"].createElement("noscript", null);
|
|
257
|
+
|
|
258
|
+
if (node.itens && node.itens.length > 0 || alwaysShowArrow) {
|
|
259
|
+
span = /*#__PURE__*/_react["default"].createElement("span", {
|
|
260
|
+
onKeyPress: null,
|
|
261
|
+
tabIndex: 0,
|
|
262
|
+
role: "button",
|
|
263
|
+
className: isLoading ? 'loading' : 'opencloseicon',
|
|
264
|
+
onClick: function onClick() {
|
|
265
|
+
return _this3.openCloseTree(node);
|
|
266
|
+
}
|
|
267
|
+
}, isLoading ? /*#__PURE__*/_react["default"].createElement(_SpinnerLoading["default"], {
|
|
268
|
+
size: "35px"
|
|
269
|
+
}) : /*#__PURE__*/_react["default"].createElement(_icons["default"], {
|
|
270
|
+
name: _this3.state.isVisible ? 'up' : 'down',
|
|
271
|
+
size: 10
|
|
272
|
+
}));
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
return span;
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
Object.defineProperty(this, "openCloseTree", {
|
|
279
|
+
configurable: true,
|
|
280
|
+
enumerable: true,
|
|
281
|
+
writable: true,
|
|
282
|
+
value: function value(node) {
|
|
283
|
+
var _this3$state = _this3.state,
|
|
284
|
+
isVisible = _this3$state.isVisible,
|
|
285
|
+
wasOpened = _this3$state.wasOpened;
|
|
286
|
+
var handlerOnNodeOpen = _this3.props.handlerOnNodeOpen;
|
|
287
|
+
var nextState = {
|
|
288
|
+
isVisible: !isVisible
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
if (!wasOpened && handlerOnNodeOpen) {
|
|
292
|
+
nextState = _extends({}, nextState, {
|
|
293
|
+
wasOpened: true
|
|
294
|
+
});
|
|
295
|
+
handlerOnNodeOpen(node);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
_this3.setState(nextState);
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
Object.defineProperty(this, "handleShowNodeElements", {
|
|
302
|
+
configurable: true,
|
|
303
|
+
enumerable: true,
|
|
304
|
+
writable: true,
|
|
305
|
+
value: function value() {
|
|
306
|
+
var _this3$state2 = _this3.state,
|
|
307
|
+
showNodeElements = _this3$state2.showNodeElements,
|
|
308
|
+
keepMenuOpened = _this3$state2.keepMenuOpened;
|
|
309
|
+
if (!showNodeElements) _this3.setState({
|
|
310
|
+
showNodeElements: true
|
|
311
|
+
});else if (showNodeElements && !keepMenuOpened) {
|
|
312
|
+
_this3.setState({
|
|
313
|
+
showNodeElements: false
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
Object.defineProperty(this, "updateElements", {
|
|
319
|
+
configurable: true,
|
|
320
|
+
enumerable: true,
|
|
321
|
+
writable: true,
|
|
322
|
+
value: function value(elements) {
|
|
323
|
+
var nodeElementsValidations = _this3.props.nodeElementsValidations;
|
|
324
|
+
var node = _this3.state.node;
|
|
325
|
+
var updatedElements = [];
|
|
326
|
+
|
|
327
|
+
if (elements) {
|
|
328
|
+
updatedElements = _react["default"].Children.map(elements, function (element) {
|
|
329
|
+
if ( /*#__PURE__*/_react["default"].isValidElement(element) && element.props) {
|
|
330
|
+
var _element$props = element.props,
|
|
331
|
+
validationKey = _element$props.validationKey,
|
|
332
|
+
onNodeElementClick = _element$props.onNodeElementClick;
|
|
333
|
+
var elementBehavior;
|
|
334
|
+
var newProps = {};
|
|
335
|
+
|
|
336
|
+
if (nodeElementsValidations && validationKey) {
|
|
337
|
+
elementBehavior = _this3.validateNodeElement(validationKey);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
if (onNodeElementClick) {
|
|
341
|
+
newProps = _extends({}, newProps, {
|
|
342
|
+
onClick: function onClick(e) {
|
|
343
|
+
onNodeElementClick(node);
|
|
344
|
+
if (e.stopPropagation) e.stopPropagation();
|
|
345
|
+
},
|
|
346
|
+
onNodeElementClick: null
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
return /*#__PURE__*/_react["default"].cloneElement(element, _extends({}, elementBehavior, newProps));
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
return element;
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
return updatedElements;
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
Object.defineProperty(this, "returnNodeRightElements", {
|
|
361
|
+
configurable: true,
|
|
362
|
+
enumerable: true,
|
|
363
|
+
writable: true,
|
|
364
|
+
value: function value() {
|
|
365
|
+
var nodeRightElements = _this3.props.nodeRightElements;
|
|
366
|
+
|
|
367
|
+
var updatedNodeRightElements = _this3.updateElements(nodeRightElements).map(function (element) {
|
|
368
|
+
var unvisible = element.props && 'visible' in element.props && !element.props.visible;
|
|
369
|
+
var style = unvisible ? {
|
|
370
|
+
display: 'none'
|
|
371
|
+
} : {};
|
|
372
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
373
|
+
style: style,
|
|
374
|
+
key: "element-".concat(_uuid["default"].v1()),
|
|
375
|
+
className: "element"
|
|
376
|
+
}, element);
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
380
|
+
className: "node-rightelements"
|
|
381
|
+
}, updatedNodeRightElements) : null;
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
Object.defineProperty(this, "returnNodeToolbarElements", {
|
|
385
|
+
configurable: true,
|
|
386
|
+
enumerable: true,
|
|
387
|
+
writable: true,
|
|
388
|
+
value: function value() {
|
|
389
|
+
var nodeToolbarElements = _this3.props.nodeToolbarElements;
|
|
390
|
+
|
|
391
|
+
var updatedNodeRightElements = _this3.updateElements(nodeToolbarElements);
|
|
392
|
+
|
|
393
|
+
return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement(_toolbar["default"], {
|
|
394
|
+
customClass: "node-toolbarelements"
|
|
395
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolbar.ToolBarGroup, null, updatedNodeRightElements)) : null;
|
|
396
|
+
}
|
|
397
|
+
});
|
|
398
|
+
Object.defineProperty(this, "validateNodeElement", {
|
|
399
|
+
configurable: true,
|
|
400
|
+
enumerable: true,
|
|
401
|
+
writable: true,
|
|
402
|
+
value: function value(validationKey) {
|
|
403
|
+
var nodeElementsValidations = _this3.props.nodeElementsValidations;
|
|
404
|
+
var node = _this3.state.node;
|
|
405
|
+
var validations = nodeElementsValidations[validationKey];
|
|
406
|
+
var options = {
|
|
407
|
+
disabled: {
|
|
408
|
+
disabled: true
|
|
409
|
+
},
|
|
410
|
+
unvisible: {
|
|
411
|
+
visible: false
|
|
412
|
+
}
|
|
413
|
+
};
|
|
414
|
+
var elementBehavior = {};
|
|
415
|
+
|
|
416
|
+
if (validations) {
|
|
417
|
+
validations.forEach(function (validation) {
|
|
418
|
+
var validator = validation.validator,
|
|
419
|
+
applyBehavior = validation.applyBehavior;
|
|
420
|
+
|
|
421
|
+
if (_lodash["default"].isEmpty(elementBehavior) && validator && validator(node)) {
|
|
422
|
+
elementBehavior = options[applyBehavior] || options.unvisible;
|
|
423
|
+
}
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
return elementBehavior;
|
|
428
|
+
}
|
|
429
|
+
});
|
|
430
|
+
};
|
|
431
|
+
|
|
392
432
|
TreeNode.propTypes = {
|
|
393
433
|
node: _propTypes["default"].object.isRequired,
|
|
394
434
|
children: _propTypes["default"].any.isRequired,
|
|
395
435
|
childrenIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
396
|
-
parentId: _propTypes["default"].number,
|
|
436
|
+
parentId: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
397
437
|
disabled: _propTypes["default"].bool,
|
|
398
438
|
isParent: _propTypes["default"].bool,
|
|
399
439
|
alwaysShowArrow: _propTypes["default"].bool,
|
|
@@ -402,7 +442,10 @@ TreeNode.propTypes = {
|
|
|
402
442
|
nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
|
|
403
443
|
onNodeClick: _propTypes["default"].func,
|
|
404
444
|
handlerOnNodeOpen: _propTypes["default"].func,
|
|
405
|
-
nodeElementsValidations: _propTypes["default"].object
|
|
445
|
+
nodeElementsValidations: _propTypes["default"].object,
|
|
446
|
+
startNodesOpened: _propTypes["default"].bool.isRequired,
|
|
447
|
+
idsInLoading: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
448
|
+
selectedNodeId: _propTypes["default"].number
|
|
406
449
|
};
|
|
407
450
|
TreeNode.defaultProps = {
|
|
408
451
|
childrenIds: [],
|
|
@@ -415,7 +458,9 @@ TreeNode.defaultProps = {
|
|
|
415
458
|
nodeMenuButtonSize: 'small',
|
|
416
459
|
onNodeClick: undefined,
|
|
417
460
|
handlerOnNodeOpen: undefined,
|
|
418
|
-
nodeElementsValidations: undefined
|
|
461
|
+
nodeElementsValidations: undefined,
|
|
462
|
+
idsInLoading: [],
|
|
463
|
+
selectedNodeId: undefined
|
|
419
464
|
};
|
|
420
465
|
TreeNode.contextType = _constants.TreeviewContext;
|
|
421
466
|
var _default = TreeNode;
|
package/lib/treeview/index.js
CHANGED
|
@@ -100,20 +100,26 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
100
100
|
enumerable: true,
|
|
101
101
|
writable: true,
|
|
102
102
|
value: function value(selectedIds) {
|
|
103
|
-
var requiredIds = [];
|
|
104
|
-
var newSelectedIds = [];
|
|
105
|
-
selectedIds.forEach(function (id) {
|
|
106
|
-
var _this$checkAllAncestr = _this.checkAllAncestry(id, [], true, false),
|
|
107
|
-
requiredParentsIds = _this$checkAllAncestr.requiredParentsIds,
|
|
108
|
-
updatedIdsWithAncestryIds = _this$checkAllAncestr.updatedIdsWithAncestryIds;
|
|
109
|
-
|
|
110
|
-
newSelectedIds = [].concat(_toConsumableArray(newSelectedIds), _toConsumableArray(updatedIdsWithAncestryIds));
|
|
111
|
-
requiredIds = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParentsIds));
|
|
112
|
-
});
|
|
113
|
-
|
|
114
103
|
_this.setState({
|
|
115
|
-
requiredParentsIds:
|
|
116
|
-
|
|
104
|
+
requiredParentsIds: []
|
|
105
|
+
}, function () {
|
|
106
|
+
var requiredIds = [];
|
|
107
|
+
var newSelectedIds = [];
|
|
108
|
+
var selectedIdsUpdatedOnMount = _this.state.selectedIdsUpdatedOnMount;
|
|
109
|
+
selectedIds.forEach(function (id) {
|
|
110
|
+
var _this$checkAllAncestr = _this.checkAllAncestry(id, [], true, false),
|
|
111
|
+
requiredParentsIds = _this$checkAllAncestr.requiredParentsIds,
|
|
112
|
+
updatedIdsWithAncestryIds = _this$checkAllAncestr.updatedIdsWithAncestryIds;
|
|
113
|
+
|
|
114
|
+
newSelectedIds = [].concat(_toConsumableArray(newSelectedIds), _toConsumableArray(updatedIdsWithAncestryIds));
|
|
115
|
+
requiredIds = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParentsIds));
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
_this.setState({
|
|
119
|
+
requiredParentsIds: _lodash["default"].uniq(requiredIds),
|
|
120
|
+
selectedIds: _lodash["default"].uniq(newSelectedIds),
|
|
121
|
+
selectedIdsUpdatedOnMount: selectedIdsUpdatedOnMount || true
|
|
122
|
+
});
|
|
117
123
|
});
|
|
118
124
|
}
|
|
119
125
|
});
|
|
@@ -462,7 +468,10 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
462
468
|
nodeElementsValidations = _this$props3.nodeElementsValidations,
|
|
463
469
|
nodeToolbarElements = _this$props3.nodeToolbarElements,
|
|
464
470
|
nodeMenuButtonSize = _this$props3.nodeMenuButtonSize,
|
|
465
|
-
alwaysShowArrow = _this$props3.alwaysShowArrow
|
|
471
|
+
alwaysShowArrow = _this$props3.alwaysShowArrow,
|
|
472
|
+
startNodesOpened = _this$props3.startNodesOpened,
|
|
473
|
+
idsInLoading = _this$props3.idsInLoading,
|
|
474
|
+
selectedNodeId = _this$props3.selectedNodeId;
|
|
466
475
|
var childrenIds = [];
|
|
467
476
|
|
|
468
477
|
if (node.itens && node.itens.length > 0) {
|
|
@@ -480,6 +489,8 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
480
489
|
return /*#__PURE__*/_react["default"].createElement(_Node["default"], {
|
|
481
490
|
key: "node-".concat(node.id),
|
|
482
491
|
node: node,
|
|
492
|
+
idsInLoading: idsInLoading,
|
|
493
|
+
startNodesOpened: startNodesOpened,
|
|
483
494
|
alwaysShowArrow: alwaysShowArrow,
|
|
484
495
|
childrenIds: childrenIds,
|
|
485
496
|
isParent: node.itens && node.itens.length > 0,
|
|
@@ -489,6 +500,7 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
489
500
|
nodeElementsValidations: nodeElementsValidations,
|
|
490
501
|
nodeMenuButtonSize: nodeMenuButtonSize,
|
|
491
502
|
onNodeClick: onNodeClick,
|
|
503
|
+
selectedNodeId: selectedNodeId,
|
|
492
504
|
handlerOnNodeOpen: _this.handleOnNodeOpen
|
|
493
505
|
}, childrenIds.length > 0 && node.itens.map(function (nodeitem) {
|
|
494
506
|
return _this.buildTree(nodeitem, node.id, ids);
|
|
@@ -502,7 +514,8 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
502
514
|
selectedIds: _this.props.selectedIds,
|
|
503
515
|
isHandlingSelectedIds: false,
|
|
504
516
|
requiredParentsIds: [],
|
|
505
|
-
alreadyOpenedIds: []
|
|
517
|
+
alreadyOpenedIds: [],
|
|
518
|
+
selectedIdsUpdatedOnMount: false
|
|
506
519
|
};
|
|
507
520
|
return _this;
|
|
508
521
|
}
|
|
@@ -517,12 +530,15 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
517
530
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
518
531
|
var _this$state3 = this.state,
|
|
519
532
|
selectedIds = _this$state3.selectedIds,
|
|
520
|
-
propSelectedIds = _this$state3.propSelectedIds
|
|
533
|
+
propSelectedIds = _this$state3.propSelectedIds,
|
|
534
|
+
selectedIdsUpdatedOnMount = _this$state3.selectedIdsUpdatedOnMount;
|
|
521
535
|
var allowCheckAllAncestry = this.props.allowCheckAllAncestry;
|
|
522
536
|
|
|
523
537
|
var isSameSelectedIds = _lodash["default"].isEqual(propSelectedIds.sort(), prevState.propSelectedIds.sort());
|
|
524
538
|
|
|
525
|
-
if (allowCheckAllAncestry && !isSameSelectedIds)
|
|
539
|
+
if (allowCheckAllAncestry && (!selectedIdsUpdatedOnMount || !isSameSelectedIds)) {
|
|
540
|
+
this.handleNewSelectedIds(selectedIds);
|
|
541
|
+
}
|
|
526
542
|
}
|
|
527
543
|
}, {
|
|
528
544
|
key: "render",
|
|
@@ -580,7 +596,7 @@ TreeView.propTypes = {
|
|
|
580
596
|
startNodesOpened: _propTypes["default"].bool,
|
|
581
597
|
alwaysShowArrow: _propTypes["default"].bool,
|
|
582
598
|
selectedIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
583
|
-
requiredIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
599
|
+
requiredIds: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])),
|
|
584
600
|
showCheckBox: _propTypes["default"].bool,
|
|
585
601
|
onSelectedIdsChange: _propTypes["default"].func,
|
|
586
602
|
children: _propTypes["default"].instanceOf(Object),
|
|
@@ -594,7 +610,9 @@ TreeView.propTypes = {
|
|
|
594
610
|
onNodeClick: _propTypes["default"].func,
|
|
595
611
|
onNodeOpen: _propTypes["default"].func,
|
|
596
612
|
nodeElementsValidations: _propTypes["default"].object,
|
|
597
|
-
enableDynamicData: _propTypes["default"].bool
|
|
613
|
+
enableDynamicData: _propTypes["default"].bool,
|
|
614
|
+
idsInLoading: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
615
|
+
selectedNodeId: _propTypes["default"].number
|
|
598
616
|
};
|
|
599
617
|
TreeView.defaultProps = {
|
|
600
618
|
customClass: '',
|
|
@@ -616,7 +634,9 @@ TreeView.defaultProps = {
|
|
|
616
634
|
onNodeClick: undefined,
|
|
617
635
|
onNodeOpen: undefined,
|
|
618
636
|
nodeElementsValidations: undefined,
|
|
619
|
-
enableDynamicData: false
|
|
637
|
+
enableDynamicData: false,
|
|
638
|
+
idsInLoading: [],
|
|
639
|
+
selectedNodeId: undefined
|
|
620
640
|
};
|
|
621
641
|
var _default = TreeView;
|
|
622
642
|
exports["default"] = _default;
|