linear-react-components-ui 0.4.76-rc.11 → 0.4.76-rc.12
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 +23 -0
- package/lib/assets/styles/dropdown.scss +25 -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 -46
- 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 +76 -10
- 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 +83 -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 +153 -20
- package/lib/toolbar/index.js +8 -4
- package/lib/tooltip/index.js +12 -0
- package/lib/treeview/Node.js +288 -18
- package/lib/treeview/index.js +448 -35
- 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,90 @@ 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;
|
|
137
466
|
var childrenIds = [];
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
467
|
+
|
|
468
|
+
if (node.itens && node.itens.length > 0) {
|
|
469
|
+
childrenIds = node.itens.map(function (i) {
|
|
470
|
+
return i.id;
|
|
471
|
+
});
|
|
472
|
+
|
|
473
|
+
if (ids) {
|
|
474
|
+
var idWithChildren = {};
|
|
475
|
+
idWithChildren[node.id] = childrenIds;
|
|
476
|
+
Object.assign(ids, idWithChildren);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
|
|
141
480
|
return /*#__PURE__*/_react["default"].createElement(_Node["default"], {
|
|
142
481
|
key: "node-".concat(node.id),
|
|
143
482
|
node: node,
|
|
483
|
+
alwaysShowArrow: alwaysShowArrow,
|
|
144
484
|
childrenIds: childrenIds,
|
|
145
|
-
|
|
485
|
+
isParent: node.itens && node.itens.length > 0,
|
|
486
|
+
parentId: parentId,
|
|
487
|
+
nodeRightElements: nodeRightElements,
|
|
488
|
+
nodeToolbarElements: nodeToolbarElements,
|
|
489
|
+
nodeElementsValidations: nodeElementsValidations,
|
|
490
|
+
nodeMenuButtonSize: nodeMenuButtonSize,
|
|
491
|
+
onNodeClick: onNodeClick,
|
|
492
|
+
handlerOnNodeOpen: _this.handleOnNodeOpen
|
|
146
493
|
}, childrenIds.length > 0 && node.itens.map(function (nodeitem) {
|
|
147
|
-
return _this.buildTree(nodeitem,
|
|
494
|
+
return _this.buildTree(nodeitem, node.id, ids);
|
|
148
495
|
}));
|
|
149
496
|
}
|
|
150
|
-
})
|
|
497
|
+
});
|
|
498
|
+
_this.idsWithChildren = {};
|
|
499
|
+
_this.state = {
|
|
500
|
+
data: _this.props.data,
|
|
501
|
+
propSelectedIds: _this.props.selectedIds,
|
|
502
|
+
selectedIds: _this.props.selectedIds,
|
|
503
|
+
isHandlingSelectedIds: false,
|
|
504
|
+
requiredParentsIds: [],
|
|
505
|
+
alreadyOpenedIds: []
|
|
506
|
+
};
|
|
507
|
+
return _this;
|
|
151
508
|
}
|
|
152
509
|
|
|
153
510
|
_createClass(TreeView, [{
|
|
511
|
+
key: "componentDidMount",
|
|
512
|
+
value: function componentDidMount() {
|
|
513
|
+
this.buildTree(this.state.data, undefined, this.idsWithChildren);
|
|
514
|
+
}
|
|
515
|
+
}, {
|
|
516
|
+
key: "componentDidUpdate",
|
|
517
|
+
value: function componentDidUpdate(prevProps, prevState) {
|
|
518
|
+
var _this$state3 = this.state,
|
|
519
|
+
selectedIds = _this$state3.selectedIds,
|
|
520
|
+
propSelectedIds = _this$state3.propSelectedIds;
|
|
521
|
+
var allowCheckAllAncestry = this.props.allowCheckAllAncestry;
|
|
522
|
+
|
|
523
|
+
var isSameSelectedIds = _lodash["default"].isEqual(propSelectedIds.sort(), prevState.propSelectedIds.sort());
|
|
524
|
+
|
|
525
|
+
if (allowCheckAllAncestry && !isSameSelectedIds) this.handleNewSelectedIds(selectedIds);
|
|
526
|
+
}
|
|
527
|
+
}, {
|
|
154
528
|
key: "render",
|
|
155
529
|
value: function render() {
|
|
156
|
-
var _this$
|
|
157
|
-
customClass = _this$
|
|
158
|
-
bordered = _this$
|
|
159
|
-
children = _this$
|
|
160
|
-
styleForContainer = _this$
|
|
530
|
+
var _this$props4 = this.props,
|
|
531
|
+
customClass = _this$props4.customClass,
|
|
532
|
+
bordered = _this$props4.bordered,
|
|
533
|
+
children = _this$props4.children,
|
|
534
|
+
styleForContainer = _this$props4.styleForContainer;
|
|
161
535
|
var data = this.state.data;
|
|
162
536
|
return /*#__PURE__*/_react["default"].createElement(_constants.TreeviewContext.Provider, {
|
|
163
537
|
value: this.getContextValues()
|
|
@@ -168,6 +542,25 @@ var TreeView = /*#__PURE__*/function (_Component) {
|
|
|
168
542
|
className: "treeviewcontainer ".concat(bordered && '-bordered')
|
|
169
543
|
}, this.buildTree(data))));
|
|
170
544
|
}
|
|
545
|
+
}], [{
|
|
546
|
+
key: "getDerivedStateFromProps",
|
|
547
|
+
value: function getDerivedStateFromProps(props, state) {
|
|
548
|
+
var data = props.data,
|
|
549
|
+
selectedIds = props.selectedIds;
|
|
550
|
+
var propSelectedIds = state.propSelectedIds;
|
|
551
|
+
|
|
552
|
+
var isSameSelectedIds = _lodash["default"].isEqual(propSelectedIds.sort(), selectedIds.sort());
|
|
553
|
+
|
|
554
|
+
if (data !== state.data || !isSameSelectedIds) {
|
|
555
|
+
return {
|
|
556
|
+
data: data,
|
|
557
|
+
selectedIds: selectedIds,
|
|
558
|
+
propSelectedIds: selectedIds
|
|
559
|
+
};
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
return null;
|
|
563
|
+
}
|
|
171
564
|
}]);
|
|
172
565
|
|
|
173
566
|
return TreeView;
|
|
@@ -181,23 +574,43 @@ TreeView.propTypes = {
|
|
|
181
574
|
labelPropName: _propTypes["default"].string.isRequired,
|
|
182
575
|
parentPropName: _propTypes["default"].string.isRequired,
|
|
183
576
|
startNodesOpened: _propTypes["default"].bool,
|
|
577
|
+
alwaysShowArrow: _propTypes["default"].bool,
|
|
184
578
|
selectedIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
185
579
|
requiredIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
186
580
|
showCheckBox: _propTypes["default"].bool,
|
|
187
581
|
onSelectedIdsChange: _propTypes["default"].func,
|
|
188
582
|
children: _propTypes["default"].instanceOf(Object),
|
|
189
|
-
styleForContainer: _propTypes["default"].object
|
|
583
|
+
styleForContainer: _propTypes["default"].object,
|
|
584
|
+
allowCheckAllChildren: _propTypes["default"].bool,
|
|
585
|
+
allowCheckAllAncestry: _propTypes["default"].bool,
|
|
586
|
+
defaultDisabledTooltip: _propTypes["default"].string,
|
|
587
|
+
nodeRightElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
588
|
+
nodeToolbarElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
|
|
589
|
+
nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
|
|
590
|
+
onNodeClick: _propTypes["default"].func,
|
|
591
|
+
onNodeOpen: _propTypes["default"].func,
|
|
592
|
+
nodeElementsValidations: _propTypes["default"].object
|
|
190
593
|
};
|
|
191
594
|
TreeView.defaultProps = {
|
|
192
595
|
customClass: '',
|
|
193
596
|
bordered: false,
|
|
194
597
|
startNodesOpened: false,
|
|
598
|
+
alwaysShowArrow: false,
|
|
195
599
|
selectedIds: [],
|
|
196
600
|
requiredIds: [],
|
|
197
601
|
showCheckBox: false,
|
|
198
602
|
onSelectedIdsChange: undefined,
|
|
199
603
|
children: undefined,
|
|
200
|
-
styleForContainer: {}
|
|
604
|
+
styleForContainer: {},
|
|
605
|
+
allowCheckAllChildren: false,
|
|
606
|
+
allowCheckAllAncestry: false,
|
|
607
|
+
defaultDisabledTooltip: '',
|
|
608
|
+
nodeRightElements: undefined,
|
|
609
|
+
nodeToolbarElements: undefined,
|
|
610
|
+
nodeMenuButtonSize: 'small',
|
|
611
|
+
onNodeClick: undefined,
|
|
612
|
+
onNodeOpen: undefined,
|
|
613
|
+
nodeElementsValidations: undefined
|
|
201
614
|
};
|
|
202
615
|
var _default = TreeView;
|
|
203
616
|
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-rc.
|
|
3
|
+
"version": "0.4.76-rc.12",
|
|
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",
|