linear-react-components-ui 0.4.76-beta.12 → 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/.tool-versions +1 -0
- package/.vscode/settings.json +1 -2
- package/README.md +33 -0
- 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 +28 -2
- package/lib/assets/styles/effects.scss +12 -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/multiSelect.scss +105 -0
- package/lib/assets/styles/panel.scss +5 -2
- 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 +1 -0
- package/lib/assets/styles/skeleton.scss +48 -0
- package/lib/assets/styles/table.scss +14 -5
- package/lib/assets/styles/tabs.scss +79 -43
- 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 +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/form/Field.js +2 -0
- package/lib/form/FieldNumber.js +10 -2
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/helpers.js +20 -1
- package/lib/form/index.js +207 -224
- package/lib/form/withFieldHOC.js +5 -1
- package/lib/form/withFormSecurity.js +106 -0
- package/lib/icons/helper.js +16 -0
- package/lib/inputs/base/InputTextBase.js +10 -5
- package/lib/inputs/base/helpers.js +2 -1
- 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/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 +85 -81
- package/lib/labels/DefaultLabel.js +7 -4
- 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/NavMenuItem.js +2 -2
- package/lib/menus/sidenav/index.js +7 -3
- package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
- package/lib/panel/Content.js +11 -4
- 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/HeaderColumn.js +24 -3
- package/lib/table/Row.js +7 -3
- package/lib/table/RowColumn.js +22 -3
- package/lib/table/index.js +11 -4
- package/lib/tabs/DropdownItems.js +84 -0
- package/lib/tabs/Menu.js +18 -5
- 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 +348 -49
- package/lib/treeview/index.js +457 -36
- package/package.json +9 -8
package/lib/treeview/index.js
CHANGED
|
@@ -78,47 +78,368 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
78
78
|
|
|
79
79
|
var _super = _createSuper(TreeView);
|
|
80
80
|
|
|
81
|
-
function TreeView() {
|
|
82
|
-
var
|
|
81
|
+
function TreeView(props) {
|
|
82
|
+
var _this;
|
|
83
83
|
|
|
84
84
|
_classCallCheck(this, TreeView);
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
_this = _super.call(this, props);
|
|
87
|
+
Object.defineProperty(_assertThisInitialized(_this), "getContextValues", {
|
|
88
|
+
configurable: true,
|
|
89
|
+
enumerable: true,
|
|
90
|
+
writable: true,
|
|
91
|
+
value: function value() {
|
|
92
|
+
return _extends({}, _this.props, _this.state, {
|
|
93
|
+
handlerUpdateSelectedIds: _this.updateSelectedIds,
|
|
94
|
+
handlerToggleCheckChildren: _this.toggleCheckChildren
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(_assertThisInitialized(_this), "handleNewSelectedIds", {
|
|
99
|
+
configurable: true,
|
|
100
|
+
enumerable: true,
|
|
101
|
+
writable: true,
|
|
102
|
+
value: function value(selectedIds) {
|
|
103
|
+
var requiredIds = [];
|
|
104
|
+
var newSelectedIds = [];
|
|
105
|
+
selectedIds.forEach(function (id) {
|
|
106
|
+
var _this$checkAllAncestr = _this.checkAllAncestry(id, [], true, false),
|
|
107
|
+
requiredParentsIds = _this$checkAllAncestr.requiredParentsIds,
|
|
108
|
+
updatedIdsWithAncestryIds = _this$checkAllAncestr.updatedIdsWithAncestryIds;
|
|
109
|
+
|
|
110
|
+
newSelectedIds = [].concat(_toConsumableArray(newSelectedIds), _toConsumableArray(updatedIdsWithAncestryIds));
|
|
111
|
+
requiredIds = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParentsIds));
|
|
112
|
+
});
|
|
89
113
|
|
|
90
|
-
|
|
114
|
+
_this.setState({
|
|
115
|
+
requiredParentsIds: _lodash["default"].uniq(requiredIds),
|
|
116
|
+
selectedIds: _lodash["default"].uniq(newSelectedIds)
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(_assertThisInitialized(_this), "returnParentId", {
|
|
91
121
|
configurable: true,
|
|
92
122
|
enumerable: true,
|
|
93
123
|
writable: true,
|
|
94
|
-
value: {
|
|
95
|
-
|
|
96
|
-
|
|
124
|
+
value: function value(nodeId) {
|
|
125
|
+
var parentId = Object.keys(_this.idsWithChildren).find(function (id) {
|
|
126
|
+
return _this.idsWithChildren[id].find(function (childId) {
|
|
127
|
+
return childId === nodeId;
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
return Number(parentId);
|
|
97
131
|
}
|
|
98
|
-
})
|
|
132
|
+
});
|
|
133
|
+
Object.defineProperty(_assertThisInitialized(_this), "returnAllAncestryIds", {
|
|
99
134
|
configurable: true,
|
|
100
135
|
enumerable: true,
|
|
101
136
|
writable: true,
|
|
102
|
-
value: function value() {
|
|
103
|
-
|
|
104
|
-
|
|
137
|
+
value: function value(nodeId) {
|
|
138
|
+
var ancestryIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
139
|
+
|
|
140
|
+
var parentId = _this.returnParentId(nodeId);
|
|
141
|
+
|
|
142
|
+
if (parentId) {
|
|
143
|
+
var currentAncestryIds = [].concat(_toConsumableArray(ancestryIds), [Number(parentId)]);
|
|
144
|
+
return _this.returnAllAncestryIds(Number(parentId), currentAncestryIds);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return ancestryIds;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(_assertThisInitialized(_this), "returnChildrenIds", {
|
|
151
|
+
configurable: true,
|
|
152
|
+
enumerable: true,
|
|
153
|
+
writable: true,
|
|
154
|
+
value: function value(nodeId) {
|
|
155
|
+
var returnRequiredIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
156
|
+
var nodeChildrenIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
157
|
+
var requiredIds = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
158
|
+
|
|
159
|
+
if (_this.idsWithChildren[nodeId] !== undefined) {
|
|
160
|
+
nodeChildrenIds.push(nodeId);
|
|
161
|
+
if (returnRequiredIds) requiredIds.push(nodeId);
|
|
162
|
+
|
|
163
|
+
_this.idsWithChildren[nodeId].forEach(function (childId) {
|
|
164
|
+
return _this.returnChildrenIds(childId, returnRequiredIds, nodeChildrenIds, requiredIds);
|
|
165
|
+
});
|
|
166
|
+
} else nodeChildrenIds.push(nodeId);
|
|
167
|
+
|
|
168
|
+
return returnRequiredIds ? {
|
|
169
|
+
nodeChildrenIds: nodeChildrenIds,
|
|
170
|
+
requiredIds: requiredIds
|
|
171
|
+
} : nodeChildrenIds;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
Object.defineProperty(_assertThisInitialized(_this), "returnRequiredAncestryIds", {
|
|
175
|
+
configurable: true,
|
|
176
|
+
enumerable: true,
|
|
177
|
+
writable: true,
|
|
178
|
+
value: function value(nodeId) {
|
|
179
|
+
var requiredAncestryIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
180
|
+
var previousParentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
181
|
+
var selectedSiblingsIds = [];
|
|
182
|
+
var selectedIds = _this.state.selectedIds;
|
|
183
|
+
|
|
184
|
+
var parentId = _this.returnParentId(nodeId);
|
|
185
|
+
|
|
186
|
+
if (parentId) {
|
|
187
|
+
var nodeSiblingsIds = _this.idsWithChildren[parentId].filter(function (childId) {
|
|
188
|
+
return childId !== nodeId;
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
var isPreviousParentSelected = selectedIds.includes(previousParentId);
|
|
192
|
+
|
|
193
|
+
if (nodeSiblingsIds && nodeSiblingsIds.length > 0) {
|
|
194
|
+
selectedSiblingsIds = selectedIds.filter(function (id) {
|
|
195
|
+
return nodeSiblingsIds.includes(id);
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
var requiredIds = isPreviousParentSelected || selectedSiblingsIds.length > 0 ? _toConsumableArray(requiredAncestryIds) : [].concat(_toConsumableArray(requiredAncestryIds), [parentId]);
|
|
200
|
+
|
|
201
|
+
if (selectedSiblingsIds.length === 0 && !isPreviousParentSelected) {
|
|
202
|
+
return _this.returnRequiredAncestryIds(parentId, requiredIds, parentId);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return requiredAncestryIds;
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
Object.defineProperty(_assertThisInitialized(_this), "toggleCheckChildren", {
|
|
210
|
+
configurable: true,
|
|
211
|
+
enumerable: true,
|
|
212
|
+
writable: true,
|
|
213
|
+
value: function value(nodeId, check) {
|
|
214
|
+
var required = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
215
|
+
|
|
216
|
+
_this.setState({
|
|
217
|
+
isHandlingSelectedIds: true
|
|
218
|
+
}, function () {
|
|
219
|
+
_this.updateSelectedIds(nodeId, check, true, required);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
Object.defineProperty(_assertThisInitialized(_this), "checkAllAncestry", {
|
|
224
|
+
configurable: true,
|
|
225
|
+
enumerable: true,
|
|
226
|
+
writable: true,
|
|
227
|
+
value: function value(nodeId, codigos) {
|
|
228
|
+
var returnRequiredParentsIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
229
|
+
var updateState = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
230
|
+
var selectedIds = _this.state.selectedIds;
|
|
231
|
+
var requiredParentsIds = _this.state.requiredParentsIds;
|
|
232
|
+
|
|
233
|
+
var nodeAncestryIds = _this.returnAllAncestryIds(nodeId);
|
|
234
|
+
|
|
235
|
+
var notRequiredAncestryIds = nodeAncestryIds.filter(function (id) {
|
|
236
|
+
return !requiredParentsIds.includes(id);
|
|
237
|
+
});
|
|
238
|
+
var notSelectedAncestryIds = nodeAncestryIds.filter(function (id) {
|
|
239
|
+
return !selectedIds.includes(id);
|
|
240
|
+
});
|
|
241
|
+
selectedIds = [].concat(_toConsumableArray(selectedIds), _toConsumableArray(codigos), _toConsumableArray(notSelectedAncestryIds));
|
|
242
|
+
requiredParentsIds = [].concat(_toConsumableArray(requiredParentsIds), _toConsumableArray(notRequiredAncestryIds));
|
|
243
|
+
if (updateState) _this.setState({
|
|
244
|
+
requiredParentsIds: requiredParentsIds
|
|
245
|
+
});
|
|
246
|
+
return !returnRequiredParentsIds ? selectedIds : {
|
|
247
|
+
updatedIdsWithAncestryIds: selectedIds,
|
|
248
|
+
requiredParentsIds: requiredParentsIds
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
Object.defineProperty(_assertThisInitialized(_this), "updateAncestryAndSelectedIds", {
|
|
253
|
+
configurable: true,
|
|
254
|
+
enumerable: true,
|
|
255
|
+
writable: true,
|
|
256
|
+
value: function value(nodeId, codigos, requiredParentsIds) {
|
|
257
|
+
var selectedIds = _this.state.selectedIds;
|
|
258
|
+
|
|
259
|
+
var ancestryIds = _this.returnRequiredAncestryIds(nodeId);
|
|
260
|
+
|
|
261
|
+
var remainRequiredParentsIds = requiredParentsIds.filter(function (id) {
|
|
262
|
+
return !ancestryIds.includes(id);
|
|
263
|
+
});
|
|
264
|
+
selectedIds = selectedIds.filter(function (selectedId) {
|
|
265
|
+
return !codigos.includes(selectedId);
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
_this.setState({
|
|
269
|
+
requiredParentsIds: remainRequiredParentsIds
|
|
105
270
|
});
|
|
271
|
+
|
|
272
|
+
return selectedIds;
|
|
106
273
|
}
|
|
107
|
-
})
|
|
274
|
+
});
|
|
275
|
+
Object.defineProperty(_assertThisInitialized(_this), "checkAllChildren", {
|
|
108
276
|
configurable: true,
|
|
109
277
|
enumerable: true,
|
|
110
278
|
writable: true,
|
|
111
|
-
value: function value(
|
|
279
|
+
value: function value(nodeId) {
|
|
280
|
+
var returnRequiredIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
281
|
+
var currentRequiredIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
282
|
+
var _this$state = _this.state,
|
|
283
|
+
selectedIds = _this$state.selectedIds,
|
|
284
|
+
requiredParentsIds = _this$state.requiredParentsIds;
|
|
285
|
+
var childrenIds;
|
|
286
|
+
|
|
287
|
+
if (returnRequiredIds) {
|
|
288
|
+
var _this$returnChildrenI = _this.returnChildrenIds(nodeId, returnRequiredIds),
|
|
289
|
+
nodeChildrenIds = _this$returnChildrenI.nodeChildrenIds,
|
|
290
|
+
requiredIds = _this$returnChildrenI.requiredIds;
|
|
291
|
+
|
|
292
|
+
var newRequiredIds = requiredIds.filter(function (id) {
|
|
293
|
+
return !currentRequiredIds.includes(id);
|
|
294
|
+
});
|
|
295
|
+
requiredParentsIds = [].concat(_toConsumableArray(currentRequiredIds), _toConsumableArray(newRequiredIds));
|
|
296
|
+
childrenIds = nodeChildrenIds;
|
|
297
|
+
} else childrenIds = _this.returnChildrenIds(nodeId);
|
|
298
|
+
|
|
299
|
+
var notSelectedChildrenIds = childrenIds.filter(function (id) {
|
|
300
|
+
return !selectedIds.includes(id);
|
|
301
|
+
});
|
|
302
|
+
selectedIds = [].concat(_toConsumableArray(selectedIds), _toConsumableArray(notSelectedChildrenIds));
|
|
303
|
+
|
|
304
|
+
_this.setState({
|
|
305
|
+
isHandlingSelectedIds: false,
|
|
306
|
+
requiredParentsIds: requiredParentsIds
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
return selectedIds;
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
Object.defineProperty(_assertThisInitialized(_this), "uncheckAllChildren", {
|
|
313
|
+
configurable: true,
|
|
314
|
+
enumerable: true,
|
|
315
|
+
writable: true,
|
|
316
|
+
value: function value(nodeId) {
|
|
317
|
+
var remainSelectedIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
318
|
+
var selectedIds = remainSelectedIds.length > 0 ? remainSelectedIds : _this.state.selectedIds;
|
|
319
|
+
|
|
320
|
+
var childrenIds = _this.returnChildrenIds(nodeId);
|
|
321
|
+
|
|
322
|
+
selectedIds = selectedIds.filter(function (selectedId) {
|
|
323
|
+
return !childrenIds.includes(selectedId);
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
_this.setState({
|
|
327
|
+
isHandlingSelectedIds: false
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
return selectedIds;
|
|
331
|
+
}
|
|
332
|
+
});
|
|
333
|
+
Object.defineProperty(_assertThisInitialized(_this), "uncheckRequiredChildren", {
|
|
334
|
+
configurable: true,
|
|
335
|
+
enumerable: true,
|
|
336
|
+
writable: true,
|
|
337
|
+
value: function value(nodeId, codigos, requiredParentsIds) {
|
|
338
|
+
var childrenIds = _this.returnChildrenIds(nodeId);
|
|
339
|
+
|
|
340
|
+
var remainRequiredIds = requiredParentsIds.filter(function (id) {
|
|
341
|
+
return !childrenIds.includes(id);
|
|
342
|
+
});
|
|
343
|
+
|
|
344
|
+
_this.setState({
|
|
345
|
+
requiredParentsIds: _toConsumableArray(remainRequiredIds)
|
|
346
|
+
}, function () {
|
|
347
|
+
return _this.updateAncestryAndSelectedIds(nodeId, codigos, remainRequiredIds);
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
Object.defineProperty(_assertThisInitialized(_this), "handleOnNodeOpen", {
|
|
352
|
+
configurable: true,
|
|
353
|
+
enumerable: true,
|
|
354
|
+
writable: true,
|
|
355
|
+
value: function value(node) {
|
|
356
|
+
var id = node.id;
|
|
357
|
+
var onNodeOpen = _this.props.onNodeOpen;
|
|
358
|
+
var alreadyOpenedIds = _this.state.alreadyOpenedIds;
|
|
359
|
+
|
|
360
|
+
if (!alreadyOpenedIds.includes(id) && onNodeOpen) {
|
|
361
|
+
alreadyOpenedIds = [].concat(_toConsumableArray(alreadyOpenedIds), [id]);
|
|
362
|
+
onNodeOpen(node);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
_this.setState({
|
|
366
|
+
alreadyOpenedIds: alreadyOpenedIds
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
});
|
|
370
|
+
Object.defineProperty(_assertThisInitialized(_this), "handleCheck", {
|
|
371
|
+
configurable: true,
|
|
372
|
+
enumerable: true,
|
|
373
|
+
writable: true,
|
|
374
|
+
value: function value(nodeId, isParent) {
|
|
375
|
+
var selectedIds = _this.state.selectedIds;
|
|
376
|
+
var codigos = _lodash["default"].isArray(nodeId) ? nodeId : [nodeId];
|
|
377
|
+
var isHandlingSelectedIds = _this.state.isHandlingSelectedIds;
|
|
378
|
+
var _this$props = _this.props,
|
|
379
|
+
allowCheckAllChildren = _this$props.allowCheckAllChildren,
|
|
380
|
+
allowCheckAllAncestry = _this$props.allowCheckAllAncestry;
|
|
381
|
+
selectedIds = [].concat(_toConsumableArray(selectedIds), _toConsumableArray(codigos));
|
|
382
|
+
|
|
383
|
+
if (isParent && isHandlingSelectedIds && allowCheckAllChildren) {
|
|
384
|
+
if (allowCheckAllAncestry) {
|
|
385
|
+
var _this$checkAllAncestr2 = _this.checkAllAncestry(nodeId, codigos, true),
|
|
386
|
+
updatedIdsWithAncestryIds = _this$checkAllAncestr2.updatedIdsWithAncestryIds,
|
|
387
|
+
requiredParentsIds = _this$checkAllAncestr2.requiredParentsIds;
|
|
388
|
+
|
|
389
|
+
var updatedIdsWithChidlrenIds = _this.checkAllChildren(nodeId, true, requiredParentsIds);
|
|
390
|
+
|
|
391
|
+
selectedIds = [].concat(_toConsumableArray(updatedIdsWithAncestryIds), _toConsumableArray(updatedIdsWithChidlrenIds));
|
|
392
|
+
} else selectedIds = _this.checkAllChildren(nodeId);
|
|
393
|
+
} else if (allowCheckAllAncestry) {
|
|
394
|
+
selectedIds = _this.checkAllAncestry(nodeId, codigos);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
return selectedIds;
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
Object.defineProperty(_assertThisInitialized(_this), "handleUncheck", {
|
|
401
|
+
configurable: true,
|
|
402
|
+
enumerable: true,
|
|
403
|
+
writable: true,
|
|
404
|
+
value: function value(nodeId, isParent, required) {
|
|
405
|
+
var selectedIds = _this.state.selectedIds;
|
|
406
|
+
var _this$state2 = _this.state,
|
|
407
|
+
isHandlingSelectedIds = _this$state2.isHandlingSelectedIds,
|
|
408
|
+
requiredParentsIds = _this$state2.requiredParentsIds;
|
|
409
|
+
var _this$props2 = _this.props,
|
|
410
|
+
allowCheckAllChildren = _this$props2.allowCheckAllChildren,
|
|
411
|
+
allowCheckAllAncestry = _this$props2.allowCheckAllAncestry;
|
|
412
|
+
var codigos = _lodash["default"].isArray(nodeId) ? nodeId : [nodeId];
|
|
413
|
+
selectedIds = selectedIds.filter(function (id) {
|
|
414
|
+
return !codigos.includes(id);
|
|
415
|
+
});
|
|
416
|
+
|
|
417
|
+
if (isParent && isHandlingSelectedIds && allowCheckAllChildren) {
|
|
418
|
+
if (allowCheckAllAncestry) {
|
|
419
|
+
var updatedSelectedIds = _this.updateAncestryAndSelectedIds(nodeId, codigos, requiredParentsIds);
|
|
420
|
+
|
|
421
|
+
selectedIds = _this.uncheckAllChildren(nodeId, updatedSelectedIds);
|
|
422
|
+
if (required) _this.uncheckRequiredChildren(nodeId, codigos, requiredParentsIds);
|
|
423
|
+
} else selectedIds = _this.uncheckAllChildren(nodeId);
|
|
424
|
+
} else if (allowCheckAllAncestry) {
|
|
425
|
+
selectedIds = _this.updateAncestryAndSelectedIds(nodeId, codigos, requiredParentsIds);
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
return selectedIds;
|
|
429
|
+
}
|
|
430
|
+
});
|
|
431
|
+
Object.defineProperty(_assertThisInitialized(_this), "updateSelectedIds", {
|
|
432
|
+
configurable: true,
|
|
433
|
+
enumerable: true,
|
|
434
|
+
writable: true,
|
|
435
|
+
value: function value(nodeId, checked, isParent, required) {
|
|
112
436
|
var selectedIds = _this.state.selectedIds;
|
|
113
437
|
var onSelectedIdsChange = _this.props.onSelectedIdsChange;
|
|
114
|
-
var codigos = _lodash["default"].isArray(ids) ? ids : [ids];
|
|
115
438
|
|
|
116
439
|
if (checked) {
|
|
117
|
-
selectedIds =
|
|
440
|
+
selectedIds = _this.handleCheck(nodeId, isParent);
|
|
118
441
|
} else {
|
|
119
|
-
selectedIds =
|
|
120
|
-
return !codigos.includes(id);
|
|
121
|
-
});
|
|
442
|
+
selectedIds = _this.handleUncheck(nodeId, isParent, required);
|
|
122
443
|
}
|
|
123
444
|
|
|
124
445
|
_this.setState({
|
|
@@ -127,37 +448,92 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
127
448
|
|
|
128
449
|
if (onSelectedIdsChange) onSelectedIdsChange(selectedIds);
|
|
129
450
|
}
|
|
130
|
-
})
|
|
451
|
+
});
|
|
452
|
+
Object.defineProperty(_assertThisInitialized(_this), "buildTree", {
|
|
131
453
|
configurable: true,
|
|
132
454
|
enumerable: true,
|
|
133
455
|
writable: true,
|
|
134
456
|
value: function value(node) {
|
|
135
457
|
var parentId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
136
|
-
var
|
|
458
|
+
var ids = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
459
|
+
var _this$props3 = _this.props,
|
|
460
|
+
nodeRightElements = _this$props3.nodeRightElements,
|
|
461
|
+
onNodeClick = _this$props3.onNodeClick,
|
|
462
|
+
nodeElementsValidations = _this$props3.nodeElementsValidations,
|
|
463
|
+
nodeToolbarElements = _this$props3.nodeToolbarElements,
|
|
464
|
+
nodeMenuButtonSize = _this$props3.nodeMenuButtonSize,
|
|
465
|
+
alwaysShowArrow = _this$props3.alwaysShowArrow,
|
|
466
|
+
startNodesOpened = _this$props3.startNodesOpened;
|
|
137
467
|
var childrenIds = [];
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
468
|
+
|
|
469
|
+
if (node.itens && node.itens.length > 0) {
|
|
470
|
+
childrenIds = node.itens.map(function (i) {
|
|
471
|
+
return i.id;
|
|
472
|
+
});
|
|
473
|
+
|
|
474
|
+
if (ids) {
|
|
475
|
+
var idWithChildren = {};
|
|
476
|
+
idWithChildren[node.id] = childrenIds;
|
|
477
|
+
Object.assign(ids, idWithChildren);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
|
|
141
481
|
return /*#__PURE__*/_react["default"].createElement(_Node["default"], {
|
|
142
482
|
key: "node-".concat(node.id),
|
|
143
483
|
node: node,
|
|
484
|
+
startNodesOpened: startNodesOpened,
|
|
485
|
+
alwaysShowArrow: alwaysShowArrow,
|
|
144
486
|
childrenIds: childrenIds,
|
|
145
|
-
|
|
487
|
+
isParent: node.itens && node.itens.length > 0,
|
|
488
|
+
parentId: parentId,
|
|
489
|
+
nodeRightElements: nodeRightElements,
|
|
490
|
+
nodeToolbarElements: nodeToolbarElements,
|
|
491
|
+
nodeElementsValidations: nodeElementsValidations,
|
|
492
|
+
nodeMenuButtonSize: nodeMenuButtonSize,
|
|
493
|
+
onNodeClick: onNodeClick,
|
|
494
|
+
handlerOnNodeOpen: _this.handleOnNodeOpen
|
|
146
495
|
}, childrenIds.length > 0 && node.itens.map(function (nodeitem) {
|
|
147
|
-
return _this.buildTree(nodeitem,
|
|
496
|
+
return _this.buildTree(nodeitem, node.id, ids);
|
|
148
497
|
}));
|
|
149
498
|
}
|
|
150
|
-
})
|
|
499
|
+
});
|
|
500
|
+
_this.idsWithChildren = {};
|
|
501
|
+
_this.state = {
|
|
502
|
+
data: _this.props.data,
|
|
503
|
+
propSelectedIds: _this.props.selectedIds,
|
|
504
|
+
selectedIds: _this.props.selectedIds,
|
|
505
|
+
isHandlingSelectedIds: false,
|
|
506
|
+
requiredParentsIds: [],
|
|
507
|
+
alreadyOpenedIds: []
|
|
508
|
+
};
|
|
509
|
+
return _this;
|
|
151
510
|
}
|
|
152
511
|
|
|
153
512
|
_createClass(TreeView, [{
|
|
513
|
+
key: "componentDidMount",
|
|
514
|
+
value: function componentDidMount() {
|
|
515
|
+
this.buildTree(this.state.data, undefined, this.idsWithChildren);
|
|
516
|
+
}
|
|
517
|
+
}, {
|
|
518
|
+
key: "componentDidUpdate",
|
|
519
|
+
value: function componentDidUpdate(prevProps, prevState) {
|
|
520
|
+
var _this$state3 = this.state,
|
|
521
|
+
selectedIds = _this$state3.selectedIds,
|
|
522
|
+
propSelectedIds = _this$state3.propSelectedIds;
|
|
523
|
+
var allowCheckAllAncestry = this.props.allowCheckAllAncestry;
|
|
524
|
+
|
|
525
|
+
var isSameSelectedIds = _lodash["default"].isEqual(propSelectedIds.sort(), prevState.propSelectedIds.sort());
|
|
526
|
+
|
|
527
|
+
if (allowCheckAllAncestry && !isSameSelectedIds) this.handleNewSelectedIds(selectedIds);
|
|
528
|
+
}
|
|
529
|
+
}, {
|
|
154
530
|
key: "render",
|
|
155
531
|
value: function render() {
|
|
156
|
-
var _this$
|
|
157
|
-
customClass = _this$
|
|
158
|
-
bordered = _this$
|
|
159
|
-
children = _this$
|
|
160
|
-
styleForContainer = _this$
|
|
532
|
+
var _this$props4 = this.props,
|
|
533
|
+
customClass = _this$props4.customClass,
|
|
534
|
+
bordered = _this$props4.bordered,
|
|
535
|
+
children = _this$props4.children,
|
|
536
|
+
styleForContainer = _this$props4.styleForContainer;
|
|
161
537
|
var data = this.state.data;
|
|
162
538
|
return /*#__PURE__*/_react["default"].createElement(_constants.TreeviewContext.Provider, {
|
|
163
539
|
value: this.getContextValues()
|
|
@@ -168,6 +544,29 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
168
544
|
className: "treeviewcontainer ".concat(bordered && '-bordered')
|
|
169
545
|
}, this.buildTree(data))));
|
|
170
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
|
+
}
|
|
171
570
|
}]);
|
|
172
571
|
|
|
173
572
|
return TreeView;
|
|
@@ -181,23 +580,45 @@ TreeView.propTypes = {
|
|
|
181
580
|
labelPropName: _propTypes["default"].string.isRequired,
|
|
182
581
|
parentPropName: _propTypes["default"].string.isRequired,
|
|
183
582
|
startNodesOpened: _propTypes["default"].bool,
|
|
583
|
+
alwaysShowArrow: _propTypes["default"].bool,
|
|
184
584
|
selectedIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
185
|
-
requiredIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
585
|
+
requiredIds: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])),
|
|
186
586
|
showCheckBox: _propTypes["default"].bool,
|
|
187
587
|
onSelectedIdsChange: _propTypes["default"].func,
|
|
188
588
|
children: _propTypes["default"].instanceOf(Object),
|
|
189
|
-
styleForContainer: _propTypes["default"].object
|
|
589
|
+
styleForContainer: _propTypes["default"].object,
|
|
590
|
+
allowCheckAllChildren: _propTypes["default"].bool,
|
|
591
|
+
allowCheckAllAncestry: _propTypes["default"].bool,
|
|
592
|
+
defaultDisabledTooltip: _propTypes["default"].string,
|
|
593
|
+
nodeRightElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
594
|
+
nodeToolbarElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
595
|
+
nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
|
|
596
|
+
onNodeClick: _propTypes["default"].func,
|
|
597
|
+
onNodeOpen: _propTypes["default"].func,
|
|
598
|
+
nodeElementsValidations: _propTypes["default"].object,
|
|
599
|
+
enableDynamicData: _propTypes["default"].bool
|
|
190
600
|
};
|
|
191
601
|
TreeView.defaultProps = {
|
|
192
602
|
customClass: '',
|
|
193
603
|
bordered: false,
|
|
194
604
|
startNodesOpened: false,
|
|
605
|
+
alwaysShowArrow: false,
|
|
195
606
|
selectedIds: [],
|
|
196
607
|
requiredIds: [],
|
|
197
608
|
showCheckBox: false,
|
|
198
609
|
onSelectedIdsChange: undefined,
|
|
199
610
|
children: undefined,
|
|
200
|
-
styleForContainer: {}
|
|
611
|
+
styleForContainer: {},
|
|
612
|
+
allowCheckAllChildren: false,
|
|
613
|
+
allowCheckAllAncestry: false,
|
|
614
|
+
defaultDisabledTooltip: '',
|
|
615
|
+
nodeRightElements: undefined,
|
|
616
|
+
nodeToolbarElements: undefined,
|
|
617
|
+
nodeMenuButtonSize: 'small',
|
|
618
|
+
onNodeClick: undefined,
|
|
619
|
+
onNodeOpen: undefined,
|
|
620
|
+
nodeElementsValidations: undefined,
|
|
621
|
+
enableDynamicData: false
|
|
201
622
|
};
|
|
202
623
|
var _default = TreeView;
|
|
203
624
|
exports["default"] = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linear-react-components-ui",
|
|
3
|
-
"version": "0.4.76-beta.
|
|
3
|
+
"version": "0.4.76-beta.13",
|
|
4
4
|
"description": "Linear Sistemas ReactJs Components",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"check:js": "./node_modules/.bin/eslint ./src/* --ext .js, --ext .jsx",
|
|
12
12
|
"deploy:heroku": "npm run demo:prod && cd demo && git commit -am 'Deploy' && git push heroku master",
|
|
13
13
|
"publish:npm": "npm run lib && npm publish",
|
|
14
|
+
"publish:npm:beta": "npm run lib && npm publish --tag beta",
|
|
14
15
|
"prepare": "husky install",
|
|
15
16
|
"test": "jest --env=jsdom",
|
|
16
17
|
"test:watch": "jest --watchAll --env=jsdom",
|
|
@@ -19,10 +20,10 @@
|
|
|
19
20
|
"keywords": [],
|
|
20
21
|
"license": "MIT",
|
|
21
22
|
"peerDependencies": {
|
|
22
|
-
"react": "^
|
|
23
|
-
"react-dom": "^
|
|
24
|
-
"react-router-dom": "^
|
|
25
|
-
"react-transition-group": "^
|
|
23
|
+
"react": "^17.0.2",
|
|
24
|
+
"react-dom": "^17.0.2",
|
|
25
|
+
"react-router-dom": "^5.2.0",
|
|
26
|
+
"react-transition-group": "^4.4.2"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
28
29
|
"@babel/cli": "^7.5.5",
|
|
@@ -65,11 +66,11 @@
|
|
|
65
66
|
},
|
|
66
67
|
"dependencies": {
|
|
67
68
|
"attach-dom-events": "^1.0.0",
|
|
68
|
-
"history": "^
|
|
69
|
+
"history": "^5.0.0",
|
|
69
70
|
"imask": "^3.1.1",
|
|
70
71
|
"init": "^0.1.2",
|
|
71
|
-
"lodash": "^4.17.
|
|
72
|
-
"moment": "^2.
|
|
72
|
+
"lodash": "^4.17.21",
|
|
73
|
+
"moment": "^2.29.1",
|
|
73
74
|
"node-sass": "^4.13.0",
|
|
74
75
|
"prop-types": "^15.7.2",
|
|
75
76
|
"react-syntax-highlighter": "^6.1.1",
|