linear-react-components-ui 0.4.75 → 0.4.76-beta.11
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/.eslintrc.js +2 -5
- package/.tool-versions +1 -0
- package/.vscode/settings.json +8 -9
- package/README.md +33 -0
- package/config/jest/cssTransform.js +14 -0
- package/config/jest/fileTransform.js +12 -0
- package/config/jest/storageMock.js +40 -0
- package/jest.config.js +18 -0
- package/lib/alerts/alert.spec.js +133 -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/popover.scss +9 -11
- 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 -44
- package/lib/assets/styles/treeview.scss +32 -0
- package/lib/avatar/avatar.spec.js +190 -0
- package/lib/avatar/index.js +6 -2
- package/lib/badge/badge.spec.js +127 -0
- package/lib/badge/index.js +3 -5
- package/lib/buttons/DefaultButton.js +7 -1
- package/lib/buttons/buttons.spec.js +504 -0
- package/lib/calendar/calendar.spec.js +171 -0
- package/lib/checkbox/Label.js +37 -0
- package/lib/checkbox/checkbox.spec.js +215 -0
- package/lib/checkbox/index.js +21 -6
- package/lib/dialog/Custom.js +7 -1
- package/lib/dialog/base/index.js +18 -6
- package/lib/dialog/dialog.spec.js +488 -0
- package/lib/dialog/form/index.js +23 -4
- package/lib/drawer/Drawer.js +3 -0
- package/lib/drawer/Drawer.spec.js +258 -0
- package/lib/drawer/Header.js +4 -1
- package/lib/drawer/index.js +4 -1
- package/lib/dropdown/Popup.js +1 -0
- package/lib/dropdown/dropdown.spec.js +168 -0
- package/lib/dropdown/withDropdown.js +10 -4
- package/lib/fieldset/fieldset.spec.js +329 -0
- package/lib/form/Field.js +2 -0
- package/lib/form/FieldNumber.js +10 -2
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/form.spec.js +285 -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/gridlayout/GridRow.js +1 -1
- package/lib/gridlayout/gridLayout.spec.js +169 -0
- package/lib/icons/helper.js +16 -0
- package/lib/icons/icons.spec.js +86 -0
- package/lib/icons/index.js +2 -0
- package/lib/inputs/base/InputTextBase.js +24 -5
- package/lib/inputs/base/base.spec.js +690 -0
- package/lib/inputs/base/helpers.js +19 -3
- package/lib/inputs/color/color_input.spec.js +174 -0
- package/lib/inputs/color/index.js +2 -2
- package/lib/inputs/date/Dropdown.js +3 -3
- package/lib/inputs/date/date.spec.js +344 -0
- package/lib/inputs/date/helpers.js +36 -0
- package/lib/inputs/date/index.js +11 -9
- package/lib/inputs/mask/Cpf.js +9 -9
- package/lib/inputs/mask/input_mask.spec.js +590 -0
- 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/number/numberfield.spec.js +215 -0
- 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/search_input.spec.js +209 -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/select.spec.js +391 -0
- package/lib/inputs/select/simple/index.js +30 -18
- package/lib/inputs/text/textfield.spec.js +215 -0
- package/lib/inputs/textarea/textarea.spec.js +59 -0
- package/lib/internals/withTooltip.js +86 -82
- package/lib/labelMessages/index.js +3 -2
- package/lib/labelMessages/labelMessages.spec.js +176 -0
- package/lib/labels/label.spec.js +162 -0
- package/lib/list/Item.js +3 -3
- package/lib/list/index.js +21 -10
- package/lib/list/list.spec.js +611 -0
- package/lib/menus/float/MenuItem.js +25 -8
- package/lib/menus/float/float-menu.spec.js +221 -0
- package/lib/menus/sidenav/index.js +7 -3
- package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
- package/lib/menus/sidenav/sidenav.spec.js +312 -0
- package/lib/noPermission/index.js +2 -1
- package/lib/panel/panel.spec.js +216 -0
- package/lib/popover/index.js +2 -1
- package/lib/popover/popover.spec.js +146 -0
- package/lib/progress/Bar.js +40 -9
- package/lib/progress/index.js +12 -4
- package/lib/progress/progress.spec.js +86 -0
- package/lib/radio/radio.spec.js +189 -0
- package/lib/spinner/SpinnerLoading.js +14 -24
- package/lib/spinner/index.js +6 -1
- package/lib/spinner/spinner.spec.js +152 -0
- package/lib/split/Split.js +10 -12
- package/lib/split/split.spec.js +151 -0
- package/lib/table/Header.js +3 -1
- package/lib/table/Row.js +2 -5
- package/lib/table/index.js +1 -4
- package/lib/table/table.spec.js +352 -0
- 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 +349 -0
- package/lib/toolbar/index.js +8 -4
- package/lib/toolbar/toolbar.spec.js +394 -0
- package/lib/tooltip/index.js +20 -6
- package/lib/tooltip/tooltip.spec.js +203 -0
- package/lib/treeview/Node.js +347 -48
- package/lib/treeview/index.js +456 -35
- package/lib/treeview/treeview.spec.js +261 -0
- package/package.json +19 -9
- package/.DS_Store +0 -0
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,109 +67,384 @@ 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
|
-
|
|
92
|
+
node: node,
|
|
93
|
+
isVisible: startNodesOpened && nodeHasItens(node),
|
|
94
|
+
wasOpened: startNodesOpened && nodeHasItens(node),
|
|
95
|
+
showNodeElements: false,
|
|
96
|
+
keepMenuOpened: false
|
|
94
97
|
};
|
|
95
98
|
return _this;
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
_createClass(TreeNode, [{
|
|
102
|
+
key: "componentDidMount",
|
|
103
|
+
value: function componentDidMount() {
|
|
104
|
+
var _this$props = this.props,
|
|
105
|
+
isParent = _this$props.isParent,
|
|
106
|
+
nodeToolbarElements = _this$props.nodeToolbarElements,
|
|
107
|
+
nodeRightElements = _this$props.nodeRightElements;
|
|
108
|
+
|
|
109
|
+
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
110
|
+
this.labelRef.current.addEventListener('mouseenter', this.handleShowNodeElements);
|
|
111
|
+
this.labelRef.current.addEventListener('mouseleave', this.handleShowNodeElements);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}, {
|
|
115
|
+
key: "componentWillUnmount",
|
|
116
|
+
value: function componentWillUnmount() {
|
|
117
|
+
var _this$props2 = this.props,
|
|
118
|
+
isParent = _this$props2.isParent,
|
|
119
|
+
nodeToolbarElements = _this$props2.nodeToolbarElements,
|
|
120
|
+
nodeRightElements = _this$props2.nodeRightElements;
|
|
121
|
+
|
|
122
|
+
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
123
|
+
this.labelRef.current.removeEventListener('mouseenter', this.handleShowNodeElements);
|
|
124
|
+
this.labelRef.current.removeEventListener('mouseleave', this.handleShowNodeElements);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}, {
|
|
99
128
|
key: "render",
|
|
100
129
|
value: function render() {
|
|
101
130
|
var _this2 = this;
|
|
102
131
|
|
|
103
|
-
var _this$
|
|
104
|
-
|
|
105
|
-
|
|
132
|
+
var _this$props3 = this.props,
|
|
133
|
+
children = _this$props3.children,
|
|
134
|
+
isParent = _this$props3.isParent,
|
|
135
|
+
onNodeClick = _this$props3.onNodeClick,
|
|
136
|
+
nodeMenuButtonSize = _this$props3.nodeMenuButtonSize;
|
|
137
|
+
var node = this.state.node;
|
|
138
|
+
var showNodeElements = this.state.showNodeElements;
|
|
106
139
|
return /*#__PURE__*/_react["default"].createElement(_constants.TreeviewContext.Consumer, null, function (_ref) {
|
|
107
140
|
var valuePropName = _ref.valuePropName,
|
|
108
141
|
labelPropName = _ref.labelPropName,
|
|
109
142
|
selectedIds = _ref.selectedIds,
|
|
110
|
-
|
|
143
|
+
handlerUpdateSelectedIds = _ref.handlerUpdateSelectedIds,
|
|
111
144
|
showCheckBox = _ref.showCheckBox,
|
|
112
145
|
requiredIds = _ref.requiredIds,
|
|
113
|
-
disabled = _ref.disabled
|
|
114
|
-
|
|
146
|
+
disabled = _ref.disabled,
|
|
147
|
+
handlerToggleCheckChildren = _ref.handlerToggleCheckChildren,
|
|
148
|
+
allowCheckAllChildren = _ref.allowCheckAllChildren,
|
|
149
|
+
requiredParentsIds = _ref.requiredParentsIds,
|
|
150
|
+
defaultDisabledTooltip = _ref.defaultDisabledTooltip;
|
|
151
|
+
var requiredNodes = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParentsIds));
|
|
152
|
+
var required = requiredNodes.includes(node[valuePropName]);
|
|
115
153
|
var checked = selectedIds.includes(node[valuePropName]) || required;
|
|
116
154
|
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
117
155
|
className: "treeviewitem"
|
|
118
156
|
}, _this2.getSpan(), /*#__PURE__*/_react["default"].createElement("div", {
|
|
119
|
-
className: "label"
|
|
157
|
+
className: "label",
|
|
158
|
+
ref: _this2.labelRef,
|
|
159
|
+
role: "button",
|
|
160
|
+
onKeyPress: null,
|
|
161
|
+
tabIndex: "-1",
|
|
162
|
+
onClick: onNodeClick ? function () {
|
|
163
|
+
return onNodeClick(node);
|
|
164
|
+
} : null
|
|
120
165
|
}, showCheckBox ? /*#__PURE__*/_react["default"].createElement(_checkbox["default"], {
|
|
121
166
|
checked: checked,
|
|
122
167
|
disabled: required || disabled,
|
|
123
168
|
value: "".concat(node[valuePropName]),
|
|
124
169
|
label: node[labelPropName],
|
|
125
|
-
|
|
126
|
-
|
|
170
|
+
tooltip: required ? defaultDisabledTooltip : '',
|
|
171
|
+
onChange: disabled || required ? undefined : function (e) {
|
|
172
|
+
handlerUpdateSelectedIds(node.id, e.target.checked, isParent);
|
|
173
|
+
}
|
|
174
|
+
}) : node[labelPropName], allowCheckAllChildren && showNodeElements && isParent ? /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
|
|
175
|
+
dropdown: true,
|
|
176
|
+
dropdownAlign: "left",
|
|
177
|
+
size: nodeMenuButtonSize,
|
|
178
|
+
onClick: function onClick() {
|
|
179
|
+
_this2.setState({
|
|
180
|
+
keepMenuOpened: !_this2.state.keepMenuOpened
|
|
181
|
+
});
|
|
182
|
+
},
|
|
183
|
+
showIconDropdown: false,
|
|
184
|
+
iconName: "menu",
|
|
185
|
+
customClass: "node-menu",
|
|
186
|
+
boxShadow: false
|
|
187
|
+
}, /*#__PURE__*/_react["default"].createElement(_list["default"], {
|
|
188
|
+
condensed: true
|
|
189
|
+
}, /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
|
|
190
|
+
text: "Marcar todos",
|
|
191
|
+
onClick: function onClick() {
|
|
192
|
+
handlerToggleCheckChildren(node.id, true);
|
|
193
|
+
|
|
194
|
+
_this2.setState({
|
|
195
|
+
showNodeElements: false,
|
|
196
|
+
keepMenuOpened: false
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}), /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
|
|
200
|
+
text: "Desmarcar todos",
|
|
201
|
+
onClick: function onClick() {
|
|
202
|
+
handlerToggleCheckChildren(node.id, false, required);
|
|
203
|
+
|
|
204
|
+
_this2.setState({
|
|
205
|
+
showNodeElements: false,
|
|
206
|
+
keepMenuOpened: false
|
|
207
|
+
});
|
|
127
208
|
}
|
|
128
|
-
}) :
|
|
209
|
+
}))) : null, showNodeElements && _this2.returnNodeRightElements(), showNodeElements && _this2.returnNodeToolbarElements()), /*#__PURE__*/_react["default"].createElement("ul", {
|
|
129
210
|
className: "nodelist"
|
|
130
211
|
}, _this2.state.isVisible && children));
|
|
131
212
|
});
|
|
132
213
|
}
|
|
214
|
+
}], [{
|
|
215
|
+
key: "getDerivedStateFromProps",
|
|
216
|
+
value: function getDerivedStateFromProps(props, state) {
|
|
217
|
+
var node = props.node,
|
|
218
|
+
startNodesOpened = props.startNodesOpened;
|
|
219
|
+
|
|
220
|
+
if (node !== state.node) {
|
|
221
|
+
return {
|
|
222
|
+
node: node,
|
|
223
|
+
isVisible: startNodesOpened && nodeHasItens(node),
|
|
224
|
+
wasOpened: startNodesOpened && nodeHasItens(node)
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
133
230
|
}]);
|
|
134
231
|
|
|
135
232
|
return TreeNode;
|
|
136
233
|
}(_react.Component);
|
|
137
234
|
|
|
235
|
+
var _initialiseProps = function _initialiseProps() {
|
|
236
|
+
var _this3 = this;
|
|
237
|
+
|
|
238
|
+
Object.defineProperty(this, "getSpan", {
|
|
239
|
+
configurable: true,
|
|
240
|
+
enumerable: true,
|
|
241
|
+
writable: true,
|
|
242
|
+
value: function value() {
|
|
243
|
+
var alwaysShowArrow = _this3.props.alwaysShowArrow;
|
|
244
|
+
var node = _this3.state.node;
|
|
245
|
+
|
|
246
|
+
var span = /*#__PURE__*/_react["default"].createElement("noscript", null);
|
|
247
|
+
|
|
248
|
+
if (node.itens && node.itens.length > 0 || alwaysShowArrow) {
|
|
249
|
+
span = /*#__PURE__*/_react["default"].createElement("span", {
|
|
250
|
+
onKeyPress: null,
|
|
251
|
+
tabIndex: 0,
|
|
252
|
+
role: "button",
|
|
253
|
+
className: "opencloseicon",
|
|
254
|
+
onClick: function onClick() {
|
|
255
|
+
return _this3.openCloseTree(node);
|
|
256
|
+
}
|
|
257
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
|
|
258
|
+
name: _this3.state.isVisible ? 'up' : 'down',
|
|
259
|
+
size: 10
|
|
260
|
+
}));
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
return span;
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
Object.defineProperty(this, "openCloseTree", {
|
|
267
|
+
configurable: true,
|
|
268
|
+
enumerable: true,
|
|
269
|
+
writable: true,
|
|
270
|
+
value: function value(node) {
|
|
271
|
+
var _this3$state = _this3.state,
|
|
272
|
+
isVisible = _this3$state.isVisible,
|
|
273
|
+
wasOpened = _this3$state.wasOpened;
|
|
274
|
+
var handlerOnNodeOpen = _this3.props.handlerOnNodeOpen;
|
|
275
|
+
var nextState = {
|
|
276
|
+
isVisible: !isVisible
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
if (!wasOpened && handlerOnNodeOpen) {
|
|
280
|
+
nextState = _extends({}, nextState, {
|
|
281
|
+
wasOpened: true
|
|
282
|
+
});
|
|
283
|
+
handlerOnNodeOpen(node);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
_this3.setState(nextState);
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
Object.defineProperty(this, "handleShowNodeElements", {
|
|
290
|
+
configurable: true,
|
|
291
|
+
enumerable: true,
|
|
292
|
+
writable: true,
|
|
293
|
+
value: function value() {
|
|
294
|
+
var _this3$state2 = _this3.state,
|
|
295
|
+
showNodeElements = _this3$state2.showNodeElements,
|
|
296
|
+
keepMenuOpened = _this3$state2.keepMenuOpened;
|
|
297
|
+
if (!showNodeElements) _this3.setState({
|
|
298
|
+
showNodeElements: true
|
|
299
|
+
});else if (showNodeElements && !keepMenuOpened) {
|
|
300
|
+
_this3.setState({
|
|
301
|
+
showNodeElements: false
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
Object.defineProperty(this, "updateElements", {
|
|
307
|
+
configurable: true,
|
|
308
|
+
enumerable: true,
|
|
309
|
+
writable: true,
|
|
310
|
+
value: function value(elements) {
|
|
311
|
+
var nodeElementsValidations = _this3.props.nodeElementsValidations;
|
|
312
|
+
var node = _this3.state.node;
|
|
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 nodeElementsValidations = _this3.props.nodeElementsValidations;
|
|
392
|
+
var node = _this3.state.node;
|
|
393
|
+
var validations = nodeElementsValidations[validationKey];
|
|
394
|
+
var options = {
|
|
395
|
+
disabled: {
|
|
396
|
+
disabled: true
|
|
397
|
+
},
|
|
398
|
+
unvisible: {
|
|
399
|
+
visible: false
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
var elementBehavior = {};
|
|
403
|
+
|
|
404
|
+
if (validations) {
|
|
405
|
+
validations.forEach(function (validation) {
|
|
406
|
+
var validator = validation.validator,
|
|
407
|
+
applyBehavior = validation.applyBehavior;
|
|
408
|
+
|
|
409
|
+
if (_lodash["default"].isEmpty(elementBehavior) && validator && validator(node)) {
|
|
410
|
+
elementBehavior = options[applyBehavior] || options.unvisible;
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
return elementBehavior;
|
|
416
|
+
}
|
|
417
|
+
});
|
|
418
|
+
};
|
|
419
|
+
|
|
138
420
|
TreeNode.propTypes = {
|
|
139
421
|
node: _propTypes["default"].object.isRequired,
|
|
140
422
|
children: _propTypes["default"].any.isRequired,
|
|
141
423
|
childrenIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
142
424
|
parentId: _propTypes["default"].number,
|
|
143
|
-
disabled: _propTypes["default"].bool
|
|
425
|
+
disabled: _propTypes["default"].bool,
|
|
426
|
+
isParent: _propTypes["default"].bool,
|
|
427
|
+
alwaysShowArrow: _propTypes["default"].bool,
|
|
428
|
+
nodeRightElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
429
|
+
nodeToolbarElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
430
|
+
nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
|
|
431
|
+
onNodeClick: _propTypes["default"].func,
|
|
432
|
+
handlerOnNodeOpen: _propTypes["default"].func,
|
|
433
|
+
nodeElementsValidations: _propTypes["default"].object,
|
|
434
|
+
startNodesOpened: _propTypes["default"].bool.isRequired
|
|
144
435
|
};
|
|
145
436
|
TreeNode.defaultProps = {
|
|
146
437
|
childrenIds: [],
|
|
147
438
|
parentId: undefined,
|
|
148
|
-
disabled: false
|
|
439
|
+
disabled: false,
|
|
440
|
+
isParent: false,
|
|
441
|
+
alwaysShowArrow: false,
|
|
442
|
+
nodeRightElements: undefined,
|
|
443
|
+
nodeToolbarElements: undefined,
|
|
444
|
+
nodeMenuButtonSize: 'small',
|
|
445
|
+
onNodeClick: undefined,
|
|
446
|
+
handlerOnNodeOpen: undefined,
|
|
447
|
+
nodeElementsValidations: undefined
|
|
149
448
|
};
|
|
150
449
|
TreeNode.contextType = _constants.TreeviewContext;
|
|
151
450
|
var _default = TreeNode;
|