linear-react-components-ui 0.4.76-rc.9 → 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/.tool-versions +1 -0
- package/.vscode/settings.json +1 -2
- package/README.md +40 -5
- 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 +28 -2
- package/lib/assets/styles/effects.scss +32 -0
- package/lib/assets/styles/floatMenu.scss +0 -1
- 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/multiSelect.scss +105 -0
- package/lib/assets/styles/panel.scss +3 -1
- package/lib/assets/styles/periodpicker.scss +65 -0
- package/lib/assets/styles/progress.scss +8 -1
- package/lib/assets/styles/radio.scss +19 -0
- package/lib/assets/styles/select.scss +4 -3
- package/lib/assets/styles/sidenav.scss +11 -1
- package/lib/assets/styles/skeleton.scss +48 -0
- package/lib/assets/styles/table.scss +25 -5
- package/lib/assets/styles/tabs.scss +116 -75
- package/lib/assets/styles/treeview.scss +41 -0
- package/lib/assets/styles/uitour.scss +112 -0
- package/lib/avatar/avatar.spec.js +17 -6
- package/lib/avatar/index.js +1 -1
- package/lib/buttons/DefaultButton.js +13 -4
- package/lib/buttons/split_button/index.js +8 -4
- package/lib/checkbox/Label.js +37 -0
- package/lib/checkbox/checkbox.spec.js +16 -16
- package/lib/checkbox/index.js +33 -12
- package/lib/dialog/base/index.js +15 -6
- package/lib/dialog/form/index.js +24 -4
- package/lib/drawer/Drawer.js +9 -5
- package/lib/drawer/Header.js +15 -5
- package/lib/drawer/index.js +4 -1
- package/lib/dropdown/Popup.js +3 -2
- package/lib/form/Field.js +2 -0
- package/lib/form/FieldNumber.js +11 -3
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/form.spec.js +8 -0
- package/lib/form/helpers.js +20 -1
- package/lib/form/index.js +220 -218
- package/lib/form/withFieldHOC.js +5 -1
- package/lib/form/withFormSecurity.js +106 -0
- package/lib/icons/helper.js +24 -0
- package/lib/inputs/base/InputTextBase.js +30 -5
- package/lib/inputs/base/helpers.js +13 -9
- 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/multiSelect/ActionButtons.js +68 -0
- package/lib/inputs/multiSelect/Dropdown.js +200 -0
- package/lib/inputs/multiSelect/helper.js +18 -0
- package/lib/inputs/multiSelect/index.js +343 -0
- package/lib/inputs/number/BaseNumber.js +1 -1
- package/lib/inputs/number/index.js +7 -5
- package/lib/inputs/period/Dialog.js +38 -0
- package/lib/inputs/period/Dropdown.js +90 -0
- package/lib/inputs/period/PeriodList.js +79 -0
- package/lib/inputs/period/helper.js +118 -0
- package/lib/inputs/period/index.js +490 -0
- package/lib/inputs/search/index.js +2 -0
- package/lib/inputs/select/Dropdown.js +55 -65
- package/lib/inputs/select/helper.js +65 -2
- package/lib/inputs/select/index.js +26 -3
- package/lib/inputs/select/multiple/index.js +16 -11
- package/lib/inputs/select/simple/index.js +39 -24
- package/lib/internals/constants.js +4 -3
- package/lib/internals/withTooltip.js +86 -82
- 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 +172 -14
- package/lib/list/list.spec.js +290 -89
- package/lib/menus/float/MenuItem.js +25 -8
- package/lib/menus/sidenav/NavMenuItem.js +17 -8
- package/lib/menus/sidenav/index.js +59 -86
- package/lib/menus/sidenav/popup_menu_search/index.js +26 -17
- package/lib/menus/sidenav/sidenav.spec.js +86 -19
- package/lib/panel/Header.js +4 -3
- package/lib/progress/Bar.js +40 -9
- package/lib/progress/index.js +12 -4
- package/lib/radio/index.js +9 -6
- package/lib/skeleton/SkeletonContainer.js +42 -0
- package/lib/skeleton/index.js +84 -0
- package/lib/spinner/index.js +6 -1
- package/lib/split/Split.js +5 -11
- 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 +19 -8
- package/lib/table/RowColumn.js +23 -3
- package/lib/table/helpers.js +11 -1
- package/lib/table/index.js +41 -8
- package/lib/tabs/DropdownItems.js +84 -0
- package/lib/tabs/Menu.js +12 -9
- package/lib/tabs/MenuItems.js +15 -9
- package/lib/tabs/Panel.js +1 -3
- package/lib/tabs/index.js +156 -22
- 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 +24 -9
- package/lib/tooltip/index.js +20 -7
- package/lib/treeview/Node.js +364 -49
- package/lib/treeview/index.js +475 -36
- 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 +9 -8
package/lib/treeview/Node.js
CHANGED
|
@@ -11,18 +11,44 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
|
|
14
|
+
var _uuid = _interopRequireDefault(require("uuid"));
|
|
15
|
+
|
|
16
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
17
|
+
|
|
14
18
|
var _checkbox = _interopRequireDefault(require("../checkbox"));
|
|
15
19
|
|
|
16
20
|
var _icons = _interopRequireDefault(require("../icons"));
|
|
17
21
|
|
|
18
22
|
var _constants = require("./constants");
|
|
19
23
|
|
|
24
|
+
var _buttons = _interopRequireDefault(require("../buttons"));
|
|
25
|
+
|
|
26
|
+
var _list = _interopRequireWildcard(require("../list"));
|
|
27
|
+
|
|
28
|
+
var _toolbar = _interopRequireWildcard(require("../toolbar"));
|
|
29
|
+
|
|
30
|
+
var _SpinnerLoading = _interopRequireDefault(require("../spinner/SpinnerLoading"));
|
|
31
|
+
|
|
20
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
33
|
|
|
22
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); }
|
|
23
35
|
|
|
24
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; }
|
|
25
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
|
+
|
|
40
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
41
|
+
|
|
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."); }
|
|
43
|
+
|
|
44
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
45
|
+
|
|
46
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
47
|
+
|
|
48
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
49
|
+
|
|
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; }
|
|
51
|
+
|
|
26
52
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
27
53
|
|
|
28
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); } }
|
|
@@ -43,109 +69,398 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
43
69
|
|
|
44
70
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
45
71
|
|
|
72
|
+
var nodeHasItens = function nodeHasItens(node) {
|
|
73
|
+
return node.itens && node.itens.length > 0;
|
|
74
|
+
};
|
|
75
|
+
|
|
46
76
|
var TreeNode = /*#__PURE__*/function (_Component) {
|
|
47
77
|
_inherits(TreeNode, _Component);
|
|
48
78
|
|
|
49
79
|
var _super = _createSuper(TreeNode);
|
|
50
80
|
|
|
51
|
-
function TreeNode(props
|
|
81
|
+
function TreeNode(props) {
|
|
52
82
|
var _this;
|
|
53
83
|
|
|
54
84
|
_classCallCheck(this, TreeNode);
|
|
55
85
|
|
|
56
86
|
_this = _super.call(this, props);
|
|
57
|
-
Object.defineProperty(_assertThisInitialized(_this), "getSpan", {
|
|
58
|
-
configurable: true,
|
|
59
|
-
enumerable: true,
|
|
60
|
-
writable: true,
|
|
61
|
-
value: function value() {
|
|
62
|
-
var node = _this.props.node;
|
|
63
|
-
|
|
64
|
-
var span = /*#__PURE__*/_react["default"].createElement("noscript", null);
|
|
65
|
-
|
|
66
|
-
if (node.itens && node.itens.length > 0) {
|
|
67
|
-
span = /*#__PURE__*/_react["default"].createElement("span", {
|
|
68
|
-
onKeyPress: null,
|
|
69
|
-
tabIndex: 0,
|
|
70
|
-
role: "button",
|
|
71
|
-
className: "opencloseicon",
|
|
72
|
-
onClick: _this.openCloseTree
|
|
73
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
|
|
74
|
-
name: _this.state.isVisible ? 'up' : 'down',
|
|
75
|
-
size: 10
|
|
76
|
-
}));
|
|
77
|
-
}
|
|
78
87
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
enumerable: true,
|
|
85
|
-
writable: true,
|
|
86
|
-
value: function value() {
|
|
87
|
-
_this.setState({
|
|
88
|
-
isVisible: !_this.state.isVisible
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
});
|
|
88
|
+
_initialiseProps.call(_assertThisInitialized(_this));
|
|
89
|
+
|
|
90
|
+
_this.labelRef = /*#__PURE__*/_react["default"].createRef();
|
|
91
|
+
var node = props.node,
|
|
92
|
+
startNodesOpened = props.startNodesOpened;
|
|
92
93
|
_this.state = {
|
|
93
|
-
|
|
94
|
+
node: node,
|
|
95
|
+
isVisible: startNodesOpened && nodeHasItens(node),
|
|
96
|
+
wasOpened: startNodesOpened && nodeHasItens(node),
|
|
97
|
+
showNodeElements: false,
|
|
98
|
+
keepMenuOpened: false
|
|
94
99
|
};
|
|
95
100
|
return _this;
|
|
96
101
|
}
|
|
97
102
|
|
|
98
103
|
_createClass(TreeNode, [{
|
|
104
|
+
key: "componentDidMount",
|
|
105
|
+
value: function componentDidMount() {
|
|
106
|
+
var _this$props = this.props,
|
|
107
|
+
isParent = _this$props.isParent,
|
|
108
|
+
nodeToolbarElements = _this$props.nodeToolbarElements,
|
|
109
|
+
nodeRightElements = _this$props.nodeRightElements;
|
|
110
|
+
|
|
111
|
+
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
112
|
+
this.labelRef.current.addEventListener('mouseenter', this.handleShowNodeElements);
|
|
113
|
+
this.labelRef.current.addEventListener('mouseleave', this.handleShowNodeElements);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}, {
|
|
117
|
+
key: "componentWillUnmount",
|
|
118
|
+
value: function componentWillUnmount() {
|
|
119
|
+
var _this$props2 = this.props,
|
|
120
|
+
isParent = _this$props2.isParent,
|
|
121
|
+
nodeToolbarElements = _this$props2.nodeToolbarElements,
|
|
122
|
+
nodeRightElements = _this$props2.nodeRightElements;
|
|
123
|
+
|
|
124
|
+
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
125
|
+
this.labelRef.current.removeEventListener('mouseenter', this.handleShowNodeElements);
|
|
126
|
+
this.labelRef.current.removeEventListener('mouseleave', this.handleShowNodeElements);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}, {
|
|
99
130
|
key: "render",
|
|
100
131
|
value: function render() {
|
|
101
132
|
var _this2 = this;
|
|
102
133
|
|
|
103
|
-
var _this$
|
|
104
|
-
|
|
105
|
-
|
|
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;
|
|
141
|
+
var showNodeElements = this.state.showNodeElements;
|
|
106
142
|
return /*#__PURE__*/_react["default"].createElement(_constants.TreeviewContext.Consumer, null, function (_ref) {
|
|
107
143
|
var valuePropName = _ref.valuePropName,
|
|
108
144
|
labelPropName = _ref.labelPropName,
|
|
109
145
|
selectedIds = _ref.selectedIds,
|
|
110
|
-
|
|
146
|
+
handlerUpdateSelectedIds = _ref.handlerUpdateSelectedIds,
|
|
111
147
|
showCheckBox = _ref.showCheckBox,
|
|
112
148
|
requiredIds = _ref.requiredIds,
|
|
113
|
-
disabled = _ref.disabled
|
|
114
|
-
|
|
149
|
+
disabled = _ref.disabled,
|
|
150
|
+
handlerToggleCheckChildren = _ref.handlerToggleCheckChildren,
|
|
151
|
+
allowCheckAllChildren = _ref.allowCheckAllChildren,
|
|
152
|
+
requiredParentsIds = _ref.requiredParentsIds,
|
|
153
|
+
defaultDisabledTooltip = _ref.defaultDisabledTooltip;
|
|
154
|
+
var requiredNodes = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParentsIds));
|
|
155
|
+
var required = requiredNodes.includes(node[valuePropName]);
|
|
115
156
|
var checked = selectedIds.includes(node[valuePropName]) || required;
|
|
116
157
|
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
117
158
|
className: "treeviewitem"
|
|
118
159
|
}, _this2.getSpan(), /*#__PURE__*/_react["default"].createElement("div", {
|
|
119
|
-
className: "label"
|
|
160
|
+
className: "label",
|
|
161
|
+
style: {
|
|
162
|
+
textDecoration: !onNodeClick ? 'none' : null,
|
|
163
|
+
backgroundColor: selectedNodeId === node.id ? 'rgb(209, 209, 209)' : null
|
|
164
|
+
},
|
|
165
|
+
ref: _this2.labelRef,
|
|
166
|
+
role: "button",
|
|
167
|
+
onKeyPress: null,
|
|
168
|
+
tabIndex: "-1",
|
|
169
|
+
onClick: onNodeClick ? function () {
|
|
170
|
+
return onNodeClick(node);
|
|
171
|
+
} : null
|
|
120
172
|
}, showCheckBox ? /*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
121
173
|
checked: checked,
|
|
122
174
|
disabled: required || disabled,
|
|
123
175
|
value: "".concat(node[valuePropName]),
|
|
124
176
|
label: node[labelPropName],
|
|
125
|
-
|
|
126
|
-
|
|
177
|
+
tooltip: required ? defaultDisabledTooltip : '',
|
|
178
|
+
onChange: disabled || required ? undefined : function (e) {
|
|
179
|
+
handlerUpdateSelectedIds(node.id, e.target.checked, isParent);
|
|
180
|
+
}
|
|
181
|
+
}) : node[labelPropName], allowCheckAllChildren && showNodeElements && isParent ? /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
|
|
182
|
+
dropdown: true,
|
|
183
|
+
dropdownAlign: "left",
|
|
184
|
+
size: nodeMenuButtonSize,
|
|
185
|
+
onClick: function onClick() {
|
|
186
|
+
_this2.setState({
|
|
187
|
+
keepMenuOpened: !_this2.state.keepMenuOpened
|
|
188
|
+
});
|
|
189
|
+
},
|
|
190
|
+
showIconDropdown: false,
|
|
191
|
+
iconName: "menu",
|
|
192
|
+
customClass: "node-menu",
|
|
193
|
+
boxShadow: false
|
|
194
|
+
}, /*#__PURE__*/_react["default"].createElement(_list["default"], {
|
|
195
|
+
condensed: true
|
|
196
|
+
}, /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
|
|
197
|
+
text: "Marcar todos",
|
|
198
|
+
onClick: function onClick() {
|
|
199
|
+
handlerToggleCheckChildren(node.id, true);
|
|
200
|
+
|
|
201
|
+
_this2.setState({
|
|
202
|
+
showNodeElements: false,
|
|
203
|
+
keepMenuOpened: false
|
|
204
|
+
});
|
|
127
205
|
}
|
|
128
|
-
})
|
|
206
|
+
}), /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
|
|
207
|
+
text: "Desmarcar todos",
|
|
208
|
+
onClick: function onClick() {
|
|
209
|
+
handlerToggleCheckChildren(node.id, false, required);
|
|
210
|
+
|
|
211
|
+
_this2.setState({
|
|
212
|
+
showNodeElements: false,
|
|
213
|
+
keepMenuOpened: false
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}))) : null, showNodeElements && _this2.returnNodeRightElements(), showNodeElements && _this2.returnNodeToolbarElements()), /*#__PURE__*/_react["default"].createElement("ul", {
|
|
129
217
|
className: "nodelist"
|
|
130
218
|
}, _this2.state.isVisible && children));
|
|
131
219
|
});
|
|
132
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
|
+
}
|
|
133
237
|
}]);
|
|
134
238
|
|
|
135
239
|
return TreeNode;
|
|
136
240
|
}(_react.Component);
|
|
137
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
|
+
|
|
138
432
|
TreeNode.propTypes = {
|
|
139
433
|
node: _propTypes["default"].object.isRequired,
|
|
140
434
|
children: _propTypes["default"].any.isRequired,
|
|
141
435
|
childrenIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
142
|
-
parentId: _propTypes["default"].number,
|
|
143
|
-
disabled: _propTypes["default"].bool
|
|
436
|
+
parentId: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
437
|
+
disabled: _propTypes["default"].bool,
|
|
438
|
+
isParent: _propTypes["default"].bool,
|
|
439
|
+
alwaysShowArrow: _propTypes["default"].bool,
|
|
440
|
+
nodeRightElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
441
|
+
nodeToolbarElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
442
|
+
nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
|
|
443
|
+
onNodeClick: _propTypes["default"].func,
|
|
444
|
+
handlerOnNodeOpen: _propTypes["default"].func,
|
|
445
|
+
nodeElementsValidations: _propTypes["default"].object,
|
|
446
|
+
startNodesOpened: _propTypes["default"].bool.isRequired,
|
|
447
|
+
idsInLoading: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
448
|
+
selectedNodeId: _propTypes["default"].number
|
|
144
449
|
};
|
|
145
450
|
TreeNode.defaultProps = {
|
|
146
451
|
childrenIds: [],
|
|
147
452
|
parentId: undefined,
|
|
148
|
-
disabled: false
|
|
453
|
+
disabled: false,
|
|
454
|
+
isParent: false,
|
|
455
|
+
alwaysShowArrow: false,
|
|
456
|
+
nodeRightElements: undefined,
|
|
457
|
+
nodeToolbarElements: undefined,
|
|
458
|
+
nodeMenuButtonSize: 'small',
|
|
459
|
+
onNodeClick: undefined,
|
|
460
|
+
handlerOnNodeOpen: undefined,
|
|
461
|
+
nodeElementsValidations: undefined,
|
|
462
|
+
idsInLoading: [],
|
|
463
|
+
selectedNodeId: undefined
|
|
149
464
|
};
|
|
150
465
|
TreeNode.contextType = _constants.TreeviewContext;
|
|
151
466
|
var _default = TreeNode;
|