linear-react-components-ui 0.4.76-beta.1 → 0.4.76-beta.13
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 +12 -2
- package/lib/assets/styles/button.scss +17 -10
- package/lib/assets/styles/checkbox.scss +92 -70
- package/lib/assets/styles/commons.scss +26 -0
- package/lib/assets/styles/drawers.scss +22 -6
- package/lib/assets/styles/dropdown.scss +3 -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/panel.scss +5 -1
- package/lib/assets/styles/radio.scss +19 -0
- package/lib/assets/styles/skeleton.scss +48 -0
- package/lib/assets/styles/table.scss +6 -5
- package/lib/assets/styles/tabs.scss +2 -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/base/index.js +1 -1
- package/lib/dialog/form/index.js +10 -3
- package/lib/drawer/Drawer.js +9 -5
- package/lib/drawer/Header.js +15 -5
- package/lib/form/helpers.js +12 -1
- package/lib/form/index.js +195 -278
- package/lib/form/withFieldHOC.js +3 -1
- package/lib/form/withFormSecurity.js +8 -8
- package/lib/inputs/base/InputTextBase.js +20 -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/imaskHOC.js +2 -1
- package/lib/internals/withTooltip.js +13 -10
- package/lib/labels/DefaultLabel.js +7 -4
- package/lib/menus/sidenav/NavMenuItem.js +2 -2
- package/lib/panel/Content.js +11 -4
- package/lib/radio/index.js +9 -6
- package/lib/skeleton/SkeletonContainer.js +42 -0
- package/lib/skeleton/index.js +84 -0
- package/lib/table/HeaderColumn.js +24 -3
- package/lib/table/Row.js +6 -2
- package/lib/table/RowColumn.js +22 -3
- package/lib/table/index.js +11 -4
- 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 +231 -202
- package/lib/treeview/index.js +31 -13
- package/package.json +1 -1
- package/.DS_Store +0 -0
package/lib/treeview/Node.js
CHANGED
|
@@ -33,6 +33,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
33
33
|
|
|
34
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; }
|
|
35
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
|
+
|
|
36
38
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
37
39
|
|
|
38
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."); }
|
|
@@ -45,8 +47,6 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
|
|
45
47
|
|
|
46
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; }
|
|
47
49
|
|
|
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
50
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
51
51
|
|
|
52
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); } }
|
|
@@ -67,204 +67,31 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
67
67
|
|
|
68
68
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
69
69
|
|
|
70
|
+
var nodeHasItens = function nodeHasItens(node) {
|
|
71
|
+
return node.itens && node.itens.length > 0;
|
|
72
|
+
};
|
|
73
|
+
|
|
70
74
|
var TreeNode = /*#__PURE__*/function (_Component) {
|
|
71
75
|
_inherits(TreeNode, _Component);
|
|
72
76
|
|
|
73
77
|
var _super = _createSuper(TreeNode);
|
|
74
78
|
|
|
75
|
-
function TreeNode(props
|
|
79
|
+
function TreeNode(props) {
|
|
76
80
|
var _this;
|
|
77
81
|
|
|
78
82
|
_classCallCheck(this, TreeNode);
|
|
79
83
|
|
|
80
84
|
_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
85
|
|
|
186
|
-
|
|
187
|
-
});
|
|
188
|
-
}
|
|
86
|
+
_initialiseProps.call(_assertThisInitialized(_this));
|
|
189
87
|
|
|
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
|
-
|
|
250
|
-
if (validations) {
|
|
251
|
-
validations.forEach(function (validation) {
|
|
252
|
-
var validator = validation.validator,
|
|
253
|
-
applyBehavior = validation.applyBehavior;
|
|
254
|
-
|
|
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
88
|
_this.labelRef = /*#__PURE__*/_react["default"].createRef();
|
|
89
|
+
var node = props.node,
|
|
90
|
+
startNodesOpened = props.startNodesOpened;
|
|
265
91
|
_this.state = {
|
|
266
|
-
|
|
267
|
-
|
|
92
|
+
node: node,
|
|
93
|
+
isVisible: startNodesOpened && nodeHasItens(node),
|
|
94
|
+
wasOpened: startNodesOpened && nodeHasItens(node),
|
|
268
95
|
showNodeElements: false,
|
|
269
96
|
keepMenuOpened: false
|
|
270
97
|
};
|
|
@@ -274,10 +101,10 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
274
101
|
_createClass(TreeNode, [{
|
|
275
102
|
key: "componentDidMount",
|
|
276
103
|
value: function componentDidMount() {
|
|
277
|
-
var _this$
|
|
278
|
-
isParent = _this$
|
|
279
|
-
nodeToolbarElements = _this$
|
|
280
|
-
nodeRightElements = _this$
|
|
104
|
+
var _this$props = this.props,
|
|
105
|
+
isParent = _this$props.isParent,
|
|
106
|
+
nodeToolbarElements = _this$props.nodeToolbarElements,
|
|
107
|
+
nodeRightElements = _this$props.nodeRightElements;
|
|
281
108
|
|
|
282
109
|
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
283
110
|
this.labelRef.current.addEventListener('mouseenter', this.handleShowNodeElements);
|
|
@@ -287,10 +114,10 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
287
114
|
}, {
|
|
288
115
|
key: "componentWillUnmount",
|
|
289
116
|
value: function componentWillUnmount() {
|
|
290
|
-
var _this$
|
|
291
|
-
isParent = _this$
|
|
292
|
-
nodeToolbarElements = _this$
|
|
293
|
-
nodeRightElements = _this$
|
|
117
|
+
var _this$props2 = this.props,
|
|
118
|
+
isParent = _this$props2.isParent,
|
|
119
|
+
nodeToolbarElements = _this$props2.nodeToolbarElements,
|
|
120
|
+
nodeRightElements = _this$props2.nodeRightElements;
|
|
294
121
|
|
|
295
122
|
if (isParent || nodeRightElements || nodeToolbarElements) {
|
|
296
123
|
this.labelRef.current.removeEventListener('mouseenter', this.handleShowNodeElements);
|
|
@@ -302,12 +129,12 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
302
129
|
value: function render() {
|
|
303
130
|
var _this2 = this;
|
|
304
131
|
|
|
305
|
-
var _this$
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
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;
|
|
311
138
|
var showNodeElements = this.state.showNodeElements;
|
|
312
139
|
return /*#__PURE__*/_react["default"].createElement(_constants.TreeviewContext.Consumer, null, function (_ref) {
|
|
313
140
|
var valuePropName = _ref.valuePropName,
|
|
@@ -384,16 +211,217 @@ var TreeNode = /*#__PURE__*/function (_Component) {
|
|
|
384
211
|
}, _this2.state.isVisible && children));
|
|
385
212
|
});
|
|
386
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
|
+
}
|
|
387
230
|
}]);
|
|
388
231
|
|
|
389
232
|
return TreeNode;
|
|
390
233
|
}(_react.Component);
|
|
391
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
|
+
|
|
392
420
|
TreeNode.propTypes = {
|
|
393
421
|
node: _propTypes["default"].object.isRequired,
|
|
394
422
|
children: _propTypes["default"].any.isRequired,
|
|
395
423
|
childrenIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
396
|
-
parentId: _propTypes["default"].number,
|
|
424
|
+
parentId: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
|
|
397
425
|
disabled: _propTypes["default"].bool,
|
|
398
426
|
isParent: _propTypes["default"].bool,
|
|
399
427
|
alwaysShowArrow: _propTypes["default"].bool,
|
|
@@ -402,7 +430,8 @@ TreeNode.propTypes = {
|
|
|
402
430
|
nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
|
|
403
431
|
onNodeClick: _propTypes["default"].func,
|
|
404
432
|
handlerOnNodeOpen: _propTypes["default"].func,
|
|
405
|
-
nodeElementsValidations: _propTypes["default"].object
|
|
433
|
+
nodeElementsValidations: _propTypes["default"].object,
|
|
434
|
+
startNodesOpened: _propTypes["default"].bool.isRequired
|
|
406
435
|
};
|
|
407
436
|
TreeNode.defaultProps = {
|
|
408
437
|
childrenIds: [],
|
package/lib/treeview/index.js
CHANGED
|
@@ -78,15 +78,6 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
78
78
|
|
|
79
79
|
var _super = _createSuper(TreeView);
|
|
80
80
|
|
|
81
|
-
// static getDerivedStateFromProps(props, state) {
|
|
82
|
-
// const { data, selectedIds } = props;
|
|
83
|
-
// const { propSelectedIds } = state;
|
|
84
|
-
// const isSameSelectedIds = _.isEqual(propSelectedIds.sort(), selectedIds.sort());
|
|
85
|
-
// if (data !== state.data || !isSameSelectedIds) {
|
|
86
|
-
// return { data, selectedIds, propSelectedIds: selectedIds };
|
|
87
|
-
// }
|
|
88
|
-
// return null;
|
|
89
|
-
// }
|
|
90
81
|
function TreeView(props) {
|
|
91
82
|
var _this;
|
|
92
83
|
|
|
@@ -471,7 +462,8 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
471
462
|
nodeElementsValidations = _this$props3.nodeElementsValidations,
|
|
472
463
|
nodeToolbarElements = _this$props3.nodeToolbarElements,
|
|
473
464
|
nodeMenuButtonSize = _this$props3.nodeMenuButtonSize,
|
|
474
|
-
alwaysShowArrow = _this$props3.alwaysShowArrow
|
|
465
|
+
alwaysShowArrow = _this$props3.alwaysShowArrow,
|
|
466
|
+
startNodesOpened = _this$props3.startNodesOpened;
|
|
475
467
|
var childrenIds = [];
|
|
476
468
|
|
|
477
469
|
if (node.itens && node.itens.length > 0) {
|
|
@@ -489,6 +481,7 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
489
481
|
return /*#__PURE__*/_react["default"].createElement(_Node["default"], {
|
|
490
482
|
key: "node-".concat(node.id),
|
|
491
483
|
node: node,
|
|
484
|
+
startNodesOpened: startNodesOpened,
|
|
492
485
|
alwaysShowArrow: alwaysShowArrow,
|
|
493
486
|
childrenIds: childrenIds,
|
|
494
487
|
isParent: node.itens && node.itens.length > 0,
|
|
@@ -551,6 +544,29 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
551
544
|
className: "treeviewcontainer ".concat(bordered && '-bordered')
|
|
552
545
|
}, this.buildTree(data))));
|
|
553
546
|
}
|
|
547
|
+
}], [{
|
|
548
|
+
key: "getDerivedStateFromProps",
|
|
549
|
+
value: function getDerivedStateFromProps(props, state) {
|
|
550
|
+
var data = props.data,
|
|
551
|
+
selectedIds = props.selectedIds,
|
|
552
|
+
enableDynamicData = props.enableDynamicData;
|
|
553
|
+
var propSelectedIds = state.propSelectedIds;
|
|
554
|
+
|
|
555
|
+
var isSameSelectedIds = _lodash["default"].isEqual(propSelectedIds.sort(), selectedIds.sort());
|
|
556
|
+
|
|
557
|
+
if (enableDynamicData && data !== state.data) {
|
|
558
|
+
return {
|
|
559
|
+
data: data
|
|
560
|
+
};
|
|
561
|
+
} else if (!isSameSelectedIds) {
|
|
562
|
+
return {
|
|
563
|
+
selectedIds: selectedIds,
|
|
564
|
+
propSelectedIds: selectedIds
|
|
565
|
+
};
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
return null;
|
|
569
|
+
}
|
|
554
570
|
}]);
|
|
555
571
|
|
|
556
572
|
return TreeView;
|
|
@@ -566,7 +582,7 @@ TreeView.propTypes = {
|
|
|
566
582
|
startNodesOpened: _propTypes["default"].bool,
|
|
567
583
|
alwaysShowArrow: _propTypes["default"].bool,
|
|
568
584
|
selectedIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
569
|
-
requiredIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
585
|
+
requiredIds: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])),
|
|
570
586
|
showCheckBox: _propTypes["default"].bool,
|
|
571
587
|
onSelectedIdsChange: _propTypes["default"].func,
|
|
572
588
|
children: _propTypes["default"].instanceOf(Object),
|
|
@@ -579,7 +595,8 @@ TreeView.propTypes = {
|
|
|
579
595
|
nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
|
|
580
596
|
onNodeClick: _propTypes["default"].func,
|
|
581
597
|
onNodeOpen: _propTypes["default"].func,
|
|
582
|
-
nodeElementsValidations: _propTypes["default"].object
|
|
598
|
+
nodeElementsValidations: _propTypes["default"].object,
|
|
599
|
+
enableDynamicData: _propTypes["default"].bool
|
|
583
600
|
};
|
|
584
601
|
TreeView.defaultProps = {
|
|
585
602
|
customClass: '',
|
|
@@ -600,7 +617,8 @@ TreeView.defaultProps = {
|
|
|
600
617
|
nodeMenuButtonSize: 'small',
|
|
601
618
|
onNodeClick: undefined,
|
|
602
619
|
onNodeOpen: undefined,
|
|
603
|
-
nodeElementsValidations: undefined
|
|
620
|
+
nodeElementsValidations: undefined,
|
|
621
|
+
enableDynamicData: false
|
|
604
622
|
};
|
|
605
623
|
var _default = TreeView;
|
|
606
624
|
exports["default"] = _default;
|
package/package.json
CHANGED
package/.DS_Store
DELETED
|
Binary file
|