linear-react-components-ui 0.4.76-rc.10-beta → 0.4.76-rc.14
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/.tool-versions +1 -0
- package/.vscode/settings.json +1 -2
- package/README.md +33 -0
- package/lib/assets/styles/dropdown.scss +28 -2
- package/lib/assets/styles/effects.scss +12 -0
- package/lib/assets/styles/floatMenu.scss +0 -1
- package/lib/assets/styles/multiSelect.scss +105 -0
- package/lib/assets/styles/panel.scss +0 -1
- package/lib/assets/styles/periodpicker.scss +65 -0
- package/lib/assets/styles/progress.scss +8 -1
- package/lib/assets/styles/select.scss +1 -0
- package/lib/assets/styles/table.scss +13 -5
- package/lib/assets/styles/tabs.scss +79 -45
- package/lib/assets/styles/treeview.scss +32 -0
- package/lib/avatar/avatar.spec.js +17 -6
- package/lib/avatar/index.js +1 -1
- package/lib/buttons/DefaultButton.js +7 -1
- package/lib/checkbox/Label.js +37 -0
- package/lib/checkbox/index.js +20 -6
- package/lib/dialog/base/index.js +15 -6
- package/lib/dialog/form/index.js +16 -3
- package/lib/drawer/index.js +4 -1
- package/lib/form/Field.js +2 -0
- package/lib/form/FieldNumber.js +10 -2
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/helpers.js +9 -1
- package/lib/form/index.js +209 -222
- package/lib/form/withFieldHOC.js +2 -0
- package/lib/form/withFormSecurity.js +106 -0
- package/lib/icons/helper.js +16 -0
- package/lib/inputs/base/InputTextBase.js +1 -10
- package/lib/inputs/base/helpers.js +3 -11
- 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/select/Dropdown.js +4 -4
- package/lib/inputs/select/index.js +26 -3
- package/lib/inputs/select/multiple/index.js +9 -7
- package/lib/inputs/select/simple/index.js +30 -18
- package/lib/internals/withTooltip.js +86 -82
- package/lib/list/Item.js +3 -3
- package/lib/list/index.js +20 -10
- package/lib/list/list.spec.js +129 -85
- package/lib/menus/float/MenuItem.js +25 -8
- package/lib/menus/sidenav/index.js +7 -3
- package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
- package/lib/progress/Bar.js +40 -9
- package/lib/progress/index.js +12 -4
- package/lib/spinner/index.js +6 -1
- package/lib/split/Split.js +5 -11
- package/lib/table/Row.js +1 -1
- package/lib/tabs/DropdownItems.js +84 -0
- package/lib/tabs/Menu.js +18 -5
- package/lib/tabs/MenuItems.js +7 -7
- package/lib/tabs/Panel.js +1 -3
- package/lib/tabs/index.js +151 -20
- package/lib/tabs/tabs.spec.js +8 -5
- package/lib/toolbar/index.js +8 -4
- package/lib/tooltip/index.js +19 -3
- package/lib/treeview/Node.js +348 -48
- package/lib/treeview/index.js +456 -35
- package/package.json +9 -8
package/lib/treeview/Node.js
CHANGED
|
@@ -11,18 +11,42 @@ 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
|
+
|
|
20
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
31
|
|
|
22
32
|
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
33
|
|
|
24
34
|
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
35
|
|
|
36
|
+
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); }
|
|
37
|
+
|
|
38
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
39
|
+
|
|
40
|
+
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."); }
|
|
41
|
+
|
|
42
|
+
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); }
|
|
43
|
+
|
|
44
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
45
|
+
|
|
46
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
47
|
+
|
|
48
|
+
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; }
|
|
49
|
+
|
|
26
50
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
27
51
|
|
|
28
52
|
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,89 +67,160 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
43
67
|
|
|
44
68
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
45
69
|
|
|
70
|
+
var nodeHasItens = function nodeHasItens(node) {
|
|
71
|
+
return node.itens && node.itens.length > 0;
|
|
72
|
+
};
|
|
73
|
+
|
|
46
74
|
var TreeNode = /*#__PURE__*/function (_Component) {
|
|
47
75
|
_inherits(TreeNode, _Component);
|
|
48
76
|
|
|
49
77
|
var _super = _createSuper(TreeNode);
|
|
50
78
|
|
|
51
|
-
function TreeNode(props
|
|
79
|
+
function TreeNode(props) {
|
|
52
80
|
var _this;
|
|
53
81
|
|
|
54
82
|
_classCallCheck(this, TreeNode);
|
|
55
83
|
|
|
56
84
|
_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
85
|
|
|
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
|
-
});
|
|
86
|
+
_initialiseProps.call(_assertThisInitialized(_this));
|
|
87
|
+
|
|
88
|
+
_this.labelRef = /*#__PURE__*/_react["default"].createRef();
|
|
89
|
+
var node = props.node,
|
|
90
|
+
startNodesOpened = props.startNodesOpened;
|
|
92
91
|
_this.state = {
|
|
93
|
-
isVisible:
|
|
92
|
+
isVisible: nodeHasItens(node) && startNodesOpened,
|
|
93
|
+
wasOpened: nodeHasItens(node) && startNodesOpened,
|
|
94
|
+
showNodeElements: false,
|
|
95
|
+
keepMenuOpened: false
|
|
94
96
|
};
|
|
95
97
|
return _this;
|
|
96
98
|
}
|
|
97
99
|
|
|
98
100
|
_createClass(TreeNode, [{
|
|
101
|
+
key: "componentDidMount",
|
|
102
|
+
value: function componentDidMount() {
|
|
103
|
+
var _this$props = this.props,
|
|
104
|
+
isParent = _this$props.isParent,
|
|
105
|
+
nodeToolbarElements = _this$props.nodeToolbarElements,
|
|
106
|
+
nodeRightElements = _this$props.nodeRightElements;
|
|
107
|
+
|
|
108
|
+
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
109
|
+
this.labelRef.current.addEventListener('mouseenter', this.handleShowNodeElements);
|
|
110
|
+
this.labelRef.current.addEventListener('mouseleave', this.handleShowNodeElements);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}, {
|
|
114
|
+
key: "componentDidUpdate",
|
|
115
|
+
value: function componentDidUpdate(prevProps) {
|
|
116
|
+
var _this$props2 = this.props,
|
|
117
|
+
node = _this$props2.node,
|
|
118
|
+
startNodesOpened = _this$props2.startNodesOpened;
|
|
119
|
+
|
|
120
|
+
if (node !== prevProps.node && startNodesOpened) {
|
|
121
|
+
// eslint-disable-next-line react/no-did-update-set-state
|
|
122
|
+
this.setState({
|
|
123
|
+
isVisible: nodeHasItens(node) && startNodesOpened,
|
|
124
|
+
wasOpened: nodeHasItens(node) && startNodesOpened
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}, {
|
|
129
|
+
key: "componentWillUnmount",
|
|
130
|
+
value: function componentWillUnmount() {
|
|
131
|
+
var _this$props3 = this.props,
|
|
132
|
+
isParent = _this$props3.isParent,
|
|
133
|
+
nodeToolbarElements = _this$props3.nodeToolbarElements,
|
|
134
|
+
nodeRightElements = _this$props3.nodeRightElements;
|
|
135
|
+
|
|
136
|
+
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
137
|
+
this.labelRef.current.removeEventListener('mouseenter', this.handleShowNodeElements);
|
|
138
|
+
this.labelRef.current.removeEventListener('mouseleave', this.handleShowNodeElements);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}, {
|
|
99
142
|
key: "render",
|
|
100
143
|
value: function render() {
|
|
101
144
|
var _this2 = this;
|
|
102
145
|
|
|
103
|
-
var _this$
|
|
104
|
-
node = _this$
|
|
105
|
-
children = _this$
|
|
146
|
+
var _this$props4 = this.props,
|
|
147
|
+
node = _this$props4.node,
|
|
148
|
+
children = _this$props4.children,
|
|
149
|
+
isParent = _this$props4.isParent,
|
|
150
|
+
onNodeClick = _this$props4.onNodeClick,
|
|
151
|
+
nodeMenuButtonSize = _this$props4.nodeMenuButtonSize;
|
|
152
|
+
var showNodeElements = this.state.showNodeElements;
|
|
106
153
|
return /*#__PURE__*/_react["default"].createElement(_constants.TreeviewContext.Consumer, null, function (_ref) {
|
|
107
154
|
var valuePropName = _ref.valuePropName,
|
|
108
155
|
labelPropName = _ref.labelPropName,
|
|
109
156
|
selectedIds = _ref.selectedIds,
|
|
110
|
-
|
|
157
|
+
handlerUpdateSelectedIds = _ref.handlerUpdateSelectedIds,
|
|
111
158
|
showCheckBox = _ref.showCheckBox,
|
|
112
159
|
requiredIds = _ref.requiredIds,
|
|
113
|
-
disabled = _ref.disabled
|
|
114
|
-
|
|
160
|
+
disabled = _ref.disabled,
|
|
161
|
+
handlerToggleCheckChildren = _ref.handlerToggleCheckChildren,
|
|
162
|
+
allowCheckAllChildren = _ref.allowCheckAllChildren,
|
|
163
|
+
requiredParentsIds = _ref.requiredParentsIds,
|
|
164
|
+
defaultDisabledTooltip = _ref.defaultDisabledTooltip;
|
|
165
|
+
var requiredNodes = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParentsIds));
|
|
166
|
+
var required = requiredNodes.includes(node[valuePropName]);
|
|
115
167
|
var checked = selectedIds.includes(node[valuePropName]) || required;
|
|
116
168
|
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
117
169
|
className: "treeviewitem"
|
|
118
170
|
}, _this2.getSpan(), /*#__PURE__*/_react["default"].createElement("div", {
|
|
119
|
-
className: "label"
|
|
171
|
+
className: "label",
|
|
172
|
+
ref: _this2.labelRef,
|
|
173
|
+
role: "button",
|
|
174
|
+
onKeyPress: null,
|
|
175
|
+
tabIndex: "-1",
|
|
176
|
+
onClick: onNodeClick ? function () {
|
|
177
|
+
return onNodeClick(node);
|
|
178
|
+
} : null
|
|
120
179
|
}, showCheckBox ? /*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
121
180
|
checked: checked,
|
|
122
181
|
disabled: required || disabled,
|
|
123
182
|
value: "".concat(node[valuePropName]),
|
|
124
183
|
label: node[labelPropName],
|
|
125
|
-
|
|
126
|
-
|
|
184
|
+
tooltip: required ? defaultDisabledTooltip : '',
|
|
185
|
+
onChange: disabled || required ? undefined : function (e) {
|
|
186
|
+
handlerUpdateSelectedIds(node.id, e.target.checked, isParent);
|
|
187
|
+
}
|
|
188
|
+
}) : node[labelPropName], allowCheckAllChildren && showNodeElements && isParent ? /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
|
|
189
|
+
dropdown: true,
|
|
190
|
+
dropdownAlign: "left",
|
|
191
|
+
size: nodeMenuButtonSize,
|
|
192
|
+
onClick: function onClick() {
|
|
193
|
+
_this2.setState({
|
|
194
|
+
keepMenuOpened: !_this2.state.keepMenuOpened
|
|
195
|
+
});
|
|
196
|
+
},
|
|
197
|
+
showIconDropdown: false,
|
|
198
|
+
iconName: "menu",
|
|
199
|
+
customClass: "node-menu",
|
|
200
|
+
boxShadow: false
|
|
201
|
+
}, /*#__PURE__*/_react["default"].createElement(_list["default"], {
|
|
202
|
+
condensed: true
|
|
203
|
+
}, /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
|
|
204
|
+
text: "Marcar todos",
|
|
205
|
+
onClick: function onClick() {
|
|
206
|
+
handlerToggleCheckChildren(node.id, true);
|
|
207
|
+
|
|
208
|
+
_this2.setState({
|
|
209
|
+
showNodeElements: false,
|
|
210
|
+
keepMenuOpened: false
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}), /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
|
|
214
|
+
text: "Desmarcar todos",
|
|
215
|
+
onClick: function onClick() {
|
|
216
|
+
handlerToggleCheckChildren(node.id, false, required);
|
|
217
|
+
|
|
218
|
+
_this2.setState({
|
|
219
|
+
showNodeElements: false,
|
|
220
|
+
keepMenuOpened: false
|
|
221
|
+
});
|
|
127
222
|
}
|
|
128
|
-
}) :
|
|
223
|
+
}))) : null, showNodeElements && _this2.returnNodeRightElements(), showNodeElements && _this2.returnNodeToolbarElements()), /*#__PURE__*/_react["default"].createElement("ul", {
|
|
129
224
|
className: "nodelist"
|
|
130
225
|
}, _this2.state.isVisible && children));
|
|
131
226
|
});
|
|
@@ -135,17 +230,222 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
135
230
|
return TreeNode;
|
|
136
231
|
}(_react.Component);
|
|
137
232
|
|
|
233
|
+
var _initialiseProps = function _initialiseProps() {
|
|
234
|
+
var _this3 = this;
|
|
235
|
+
|
|
236
|
+
Object.defineProperty(this, "getSpan", {
|
|
237
|
+
configurable: true,
|
|
238
|
+
enumerable: true,
|
|
239
|
+
writable: true,
|
|
240
|
+
value: function value() {
|
|
241
|
+
var _this3$props = _this3.props,
|
|
242
|
+
node = _this3$props.node,
|
|
243
|
+
alwaysShowArrow = _this3$props.alwaysShowArrow;
|
|
244
|
+
|
|
245
|
+
var span = /*#__PURE__*/_react["default"].createElement("noscript", null);
|
|
246
|
+
|
|
247
|
+
if (node.itens && node.itens.length > 0 || alwaysShowArrow) {
|
|
248
|
+
span = /*#__PURE__*/_react["default"].createElement("span", {
|
|
249
|
+
onKeyPress: null,
|
|
250
|
+
tabIndex: 0,
|
|
251
|
+
role: "button",
|
|
252
|
+
className: "opencloseicon",
|
|
253
|
+
onClick: function onClick() {
|
|
254
|
+
return _this3.openCloseTree(node);
|
|
255
|
+
}
|
|
256
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
|
|
257
|
+
name: _this3.state.isVisible ? 'up' : 'down',
|
|
258
|
+
size: 10
|
|
259
|
+
}));
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return span;
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
Object.defineProperty(this, "openCloseTree", {
|
|
266
|
+
configurable: true,
|
|
267
|
+
enumerable: true,
|
|
268
|
+
writable: true,
|
|
269
|
+
value: function value(node) {
|
|
270
|
+
var _this3$state = _this3.state,
|
|
271
|
+
isVisible = _this3$state.isVisible,
|
|
272
|
+
wasOpened = _this3$state.wasOpened;
|
|
273
|
+
var handlerOnNodeOpen = _this3.props.handlerOnNodeOpen;
|
|
274
|
+
var nextState = {
|
|
275
|
+
isVisible: !isVisible
|
|
276
|
+
};
|
|
277
|
+
|
|
278
|
+
if (!wasOpened && handlerOnNodeOpen) {
|
|
279
|
+
nextState = _extends({}, nextState, {
|
|
280
|
+
wasOpened: true
|
|
281
|
+
});
|
|
282
|
+
handlerOnNodeOpen(node);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
_this3.setState(nextState);
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
Object.defineProperty(this, "handleShowNodeElements", {
|
|
289
|
+
configurable: true,
|
|
290
|
+
enumerable: true,
|
|
291
|
+
writable: true,
|
|
292
|
+
value: function value() {
|
|
293
|
+
var _this3$state2 = _this3.state,
|
|
294
|
+
showNodeElements = _this3$state2.showNodeElements,
|
|
295
|
+
keepMenuOpened = _this3$state2.keepMenuOpened;
|
|
296
|
+
if (!showNodeElements) _this3.setState({
|
|
297
|
+
showNodeElements: true
|
|
298
|
+
});else if (showNodeElements && !keepMenuOpened) {
|
|
299
|
+
_this3.setState({
|
|
300
|
+
showNodeElements: false
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
Object.defineProperty(this, "updateElements", {
|
|
306
|
+
configurable: true,
|
|
307
|
+
enumerable: true,
|
|
308
|
+
writable: true,
|
|
309
|
+
value: function value(elements) {
|
|
310
|
+
var _this3$props2 = _this3.props,
|
|
311
|
+
node = _this3$props2.node,
|
|
312
|
+
nodeElementsValidations = _this3$props2.nodeElementsValidations;
|
|
313
|
+
var updatedElements = [];
|
|
314
|
+
|
|
315
|
+
if (elements) {
|
|
316
|
+
updatedElements = _react["default"].Children.map(elements, function (element) {
|
|
317
|
+
if ( /*#__PURE__*/_react["default"].isValidElement(element) && element.props) {
|
|
318
|
+
var _element$props = element.props,
|
|
319
|
+
validationKey = _element$props.validationKey,
|
|
320
|
+
onNodeElementClick = _element$props.onNodeElementClick;
|
|
321
|
+
var elementBehavior;
|
|
322
|
+
var newProps = {};
|
|
323
|
+
|
|
324
|
+
if (nodeElementsValidations && validationKey) {
|
|
325
|
+
elementBehavior = _this3.validateNodeElement(validationKey);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
if (onNodeElementClick) {
|
|
329
|
+
newProps = _extends({}, newProps, {
|
|
330
|
+
onClick: function onClick(e) {
|
|
331
|
+
onNodeElementClick(node);
|
|
332
|
+
if (e.stopPropagation) e.stopPropagation();
|
|
333
|
+
},
|
|
334
|
+
onNodeElementClick: null
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
return /*#__PURE__*/_react["default"].cloneElement(element, _extends({}, elementBehavior, newProps));
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
return element;
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
return updatedElements;
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
Object.defineProperty(this, "returnNodeRightElements", {
|
|
349
|
+
configurable: true,
|
|
350
|
+
enumerable: true,
|
|
351
|
+
writable: true,
|
|
352
|
+
value: function value() {
|
|
353
|
+
var nodeRightElements = _this3.props.nodeRightElements;
|
|
354
|
+
|
|
355
|
+
var updatedNodeRightElements = _this3.updateElements(nodeRightElements).map(function (element) {
|
|
356
|
+
var unvisible = element.props && 'visible' in element.props && !element.props.visible;
|
|
357
|
+
var style = unvisible ? {
|
|
358
|
+
display: 'none'
|
|
359
|
+
} : {};
|
|
360
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
361
|
+
style: style,
|
|
362
|
+
key: "element-".concat(_uuid["default"].v1()),
|
|
363
|
+
className: "element"
|
|
364
|
+
}, element);
|
|
365
|
+
});
|
|
366
|
+
|
|
367
|
+
return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
368
|
+
className: "node-rightelements"
|
|
369
|
+
}, updatedNodeRightElements) : null;
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
Object.defineProperty(this, "returnNodeToolbarElements", {
|
|
373
|
+
configurable: true,
|
|
374
|
+
enumerable: true,
|
|
375
|
+
writable: true,
|
|
376
|
+
value: function value() {
|
|
377
|
+
var nodeToolbarElements = _this3.props.nodeToolbarElements;
|
|
378
|
+
|
|
379
|
+
var updatedNodeRightElements = _this3.updateElements(nodeToolbarElements);
|
|
380
|
+
|
|
381
|
+
return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement(_toolbar["default"], {
|
|
382
|
+
customClass: "node-toolbarelements"
|
|
383
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolbar.ToolBarGroup, null, updatedNodeRightElements)) : null;
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
Object.defineProperty(this, "validateNodeElement", {
|
|
387
|
+
configurable: true,
|
|
388
|
+
enumerable: true,
|
|
389
|
+
writable: true,
|
|
390
|
+
value: function value(validationKey) {
|
|
391
|
+
var _this3$props3 = _this3.props,
|
|
392
|
+
nodeElementsValidations = _this3$props3.nodeElementsValidations,
|
|
393
|
+
node = _this3$props3.node;
|
|
394
|
+
var validations = nodeElementsValidations[validationKey];
|
|
395
|
+
var options = {
|
|
396
|
+
disabled: {
|
|
397
|
+
disabled: true
|
|
398
|
+
},
|
|
399
|
+
unvisible: {
|
|
400
|
+
visible: false
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
var elementBehavior = {};
|
|
404
|
+
|
|
405
|
+
if (validations) {
|
|
406
|
+
validations.forEach(function (validation) {
|
|
407
|
+
var validator = validation.validator,
|
|
408
|
+
applyBehavior = validation.applyBehavior;
|
|
409
|
+
|
|
410
|
+
if (_lodash["default"].isEmpty(elementBehavior) && validator && validator(node)) {
|
|
411
|
+
elementBehavior = options[applyBehavior] || options.unvisible;
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
return elementBehavior;
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
};
|
|
420
|
+
|
|
138
421
|
TreeNode.propTypes = {
|
|
139
422
|
node: _propTypes["default"].object.isRequired,
|
|
140
423
|
children: _propTypes["default"].any.isRequired,
|
|
141
424
|
childrenIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
142
425
|
parentId: _propTypes["default"].number,
|
|
143
|
-
disabled: _propTypes["default"].bool
|
|
426
|
+
disabled: _propTypes["default"].bool,
|
|
427
|
+
isParent: _propTypes["default"].bool,
|
|
428
|
+
alwaysShowArrow: _propTypes["default"].bool,
|
|
429
|
+
nodeRightElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
430
|
+
nodeToolbarElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
431
|
+
nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
|
|
432
|
+
onNodeClick: _propTypes["default"].func,
|
|
433
|
+
handlerOnNodeOpen: _propTypes["default"].func,
|
|
434
|
+
nodeElementsValidations: _propTypes["default"].object,
|
|
435
|
+
startNodesOpened: _propTypes["default"].bool.isRequired
|
|
144
436
|
};
|
|
145
437
|
TreeNode.defaultProps = {
|
|
146
438
|
childrenIds: [],
|
|
147
439
|
parentId: undefined,
|
|
148
|
-
disabled: false
|
|
440
|
+
disabled: false,
|
|
441
|
+
isParent: false,
|
|
442
|
+
alwaysShowArrow: false,
|
|
443
|
+
nodeRightElements: undefined,
|
|
444
|
+
nodeToolbarElements: undefined,
|
|
445
|
+
nodeMenuButtonSize: 'small',
|
|
446
|
+
onNodeClick: undefined,
|
|
447
|
+
handlerOnNodeOpen: undefined,
|
|
448
|
+
nodeElementsValidations: undefined
|
|
149
449
|
};
|
|
150
450
|
TreeNode.contextType = _constants.TreeviewContext;
|
|
151
451
|
var _default = TreeNode;
|