rsuite 5.32.0 → 5.33.1
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/CHANGELOG.md +15 -0
- package/cjs/Carousel/Carousel.js +12 -2
- package/cjs/Cascader/Cascader.js +2 -2
- package/cjs/Cascader/utils.d.ts +0 -9
- package/cjs/Cascader/utils.js +2 -48
- package/cjs/CheckPicker/CheckPicker.js +6 -2
- package/cjs/CheckTreePicker/CheckTreePicker.js +16 -3
- package/cjs/DatePicker/DatePicker.js +1 -1
- package/cjs/InputPicker/InputPicker.js +7 -2
- package/cjs/MultiCascader/MultiCascader.js +1 -0
- package/cjs/Picker/DropdownMenu.d.ts +1 -0
- package/cjs/Picker/DropdownMenu.js +19 -6
- package/cjs/Picker/utils.d.ts +2 -0
- package/cjs/Picker/utils.js +8 -1
- package/cjs/SelectPicker/SelectPicker.js +7 -2
- package/cjs/Tree/Tree.d.ts +2 -0
- package/cjs/TreePicker/TreePicker.js +16 -3
- package/cjs/utils/getDataGroupBy.d.ts +4 -1
- package/cjs/utils/getDataGroupBy.js +12 -24
- package/cjs/utils/index.d.ts +0 -1
- package/cjs/utils/index.js +1 -6
- package/cjs/utils/treeUtils.d.ts +25 -1
- package/cjs/utils/treeUtils.js +121 -9
- package/dist/rsuite.js +61 -21
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Carousel/Carousel.js +13 -3
- package/esm/Cascader/Cascader.js +2 -2
- package/esm/Cascader/utils.d.ts +0 -9
- package/esm/Cascader/utils.js +1 -44
- package/esm/CheckPicker/CheckPicker.js +5 -2
- package/esm/CheckTreePicker/CheckTreePicker.js +17 -4
- package/esm/DatePicker/DatePicker.js +1 -1
- package/esm/InputPicker/InputPicker.js +6 -2
- package/esm/MultiCascader/MultiCascader.js +1 -0
- package/esm/Picker/DropdownMenu.d.ts +1 -0
- package/esm/Picker/DropdownMenu.js +17 -5
- package/esm/Picker/utils.d.ts +2 -0
- package/esm/Picker/utils.js +8 -1
- package/esm/SelectPicker/SelectPicker.js +6 -2
- package/esm/Tree/Tree.d.ts +2 -0
- package/esm/TreePicker/TreePicker.js +18 -5
- package/esm/utils/getDataGroupBy.d.ts +4 -1
- package/esm/utils/getDataGroupBy.js +13 -24
- package/esm/utils/index.d.ts +0 -1
- package/esm/utils/index.js +0 -1
- package/esm/utils/treeUtils.d.ts +25 -1
- package/esm/utils/treeUtils.js +111 -10
- package/package.json +3 -3
package/cjs/utils/treeUtils.js
CHANGED
|
@@ -8,6 +8,8 @@ exports.__esModule = true;
|
|
|
8
8
|
exports.shouldShowNodeByParentExpanded = shouldShowNodeByParentExpanded;
|
|
9
9
|
exports.UNSAFE_flattenTree = UNSAFE_flattenTree;
|
|
10
10
|
exports.flattenTree = flattenTree;
|
|
11
|
+
exports.walkTreeBfs = walkTreeBfs;
|
|
12
|
+
exports.walkTreeDfs = walkTreeDfs;
|
|
11
13
|
exports.getNodeParents = getNodeParents;
|
|
12
14
|
exports.getNodeParentKeys = getNodeParentKeys;
|
|
13
15
|
exports.hasVisibleChildren = hasVisibleChildren;
|
|
@@ -39,7 +41,10 @@ exports.getNodeFormattedRefKey = getNodeFormattedRefKey;
|
|
|
39
41
|
exports.createDragPreview = createDragPreview;
|
|
40
42
|
exports.removeDragPreview = removeDragPreview;
|
|
41
43
|
exports.stringifyTreeNodeLabel = stringifyTreeNodeLabel;
|
|
42
|
-
exports.
|
|
44
|
+
exports.getParentMap = getParentMap;
|
|
45
|
+
exports.getKeyParentMap = getKeyParentMap;
|
|
46
|
+
exports.getPathTowardsItem = getPathTowardsItem;
|
|
47
|
+
exports.getScrollToIndex = exports.focusPreviousItem = exports.focusNextItem = exports.focusTreeNode = exports.getElementByDataKey = exports.getActiveItem = exports.getActiveIndex = exports.getFocusableItems = exports.WalkTreeStrategy = void 0;
|
|
43
48
|
|
|
44
49
|
var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
45
50
|
|
|
@@ -73,6 +78,12 @@ var _constants = require("./constants");
|
|
|
73
78
|
|
|
74
79
|
var _attachParent = require("./attachParent");
|
|
75
80
|
|
|
81
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
82
|
+
|
|
83
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
84
|
+
|
|
85
|
+
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; }
|
|
86
|
+
|
|
76
87
|
// gap of tree node
|
|
77
88
|
var TREE_NODE_GAP = 4;
|
|
78
89
|
/**
|
|
@@ -135,15 +146,35 @@ function UNSAFE_flattenTree(tree, childrenKey, executor) {
|
|
|
135
146
|
return flattenData;
|
|
136
147
|
}
|
|
137
148
|
|
|
138
|
-
|
|
149
|
+
var WalkTreeStrategy;
|
|
150
|
+
exports.WalkTreeStrategy = WalkTreeStrategy;
|
|
151
|
+
|
|
152
|
+
(function (WalkTreeStrategy) {
|
|
153
|
+
WalkTreeStrategy[WalkTreeStrategy["DFS"] = 0] = "DFS";
|
|
154
|
+
WalkTreeStrategy[WalkTreeStrategy["BFS"] = 1] = "BFS";
|
|
155
|
+
})(WalkTreeStrategy || (exports.WalkTreeStrategy = WalkTreeStrategy = {}));
|
|
156
|
+
|
|
157
|
+
function flattenTree(rootNodes, getChildren, walkStrategy) {
|
|
158
|
+
if (walkStrategy === void 0) {
|
|
159
|
+
walkStrategy = WalkTreeStrategy.BFS;
|
|
160
|
+
}
|
|
161
|
+
|
|
139
162
|
var result = [];
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
163
|
+
|
|
164
|
+
if (walkStrategy === WalkTreeStrategy.BFS) {
|
|
165
|
+
walkTreeBfs(rootNodes, getChildren, function (node) {
|
|
166
|
+
return result.push(node);
|
|
167
|
+
});
|
|
168
|
+
} else if (walkStrategy === WalkTreeStrategy.DFS) {
|
|
169
|
+
walkTreeDfs(rootNodes, getChildren, function (node) {
|
|
170
|
+
return result.push(node);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
|
|
143
174
|
return result;
|
|
144
175
|
}
|
|
145
176
|
|
|
146
|
-
function
|
|
177
|
+
function walkTreeBfs(rootNodes, getChildren, callback) {
|
|
147
178
|
for (var queue = [].concat(rootNodes); queue.length > 0;) {
|
|
148
179
|
var _node = queue.shift();
|
|
149
180
|
|
|
@@ -155,6 +186,18 @@ function walkTree(rootNodes, getChildren, callback) {
|
|
|
155
186
|
}
|
|
156
187
|
}
|
|
157
188
|
}
|
|
189
|
+
|
|
190
|
+
function walkTreeDfs(rootNodes, getChildren, callback) {
|
|
191
|
+
for (var _iterator = _createForOfIteratorHelperLoose(rootNodes), _step; !(_step = _iterator()).done;) {
|
|
192
|
+
var _node2 = _step.value;
|
|
193
|
+
callback(_node2);
|
|
194
|
+
var children = getChildren(_node2);
|
|
195
|
+
|
|
196
|
+
if (children) {
|
|
197
|
+
walkTreeDfs(children, getChildren, callback);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
158
201
|
/**
|
|
159
202
|
* get all ancestor nodes of given node
|
|
160
203
|
* @param {*} node
|
|
@@ -404,10 +447,10 @@ function findNodeOfTree(data, check) {
|
|
|
404
447
|
var _item3 = nodes[i];
|
|
405
448
|
|
|
406
449
|
if ((0, _isArray2.default)(_item3.children)) {
|
|
407
|
-
var
|
|
450
|
+
var _node3 = findNode(_item3.children);
|
|
408
451
|
|
|
409
|
-
if (
|
|
410
|
-
return
|
|
452
|
+
if (_node3) {
|
|
453
|
+
return _node3;
|
|
411
454
|
}
|
|
412
455
|
}
|
|
413
456
|
|
|
@@ -1195,4 +1238,73 @@ function stringifyTreeNodeLabel(label) {
|
|
|
1195
1238
|
}
|
|
1196
1239
|
|
|
1197
1240
|
return '';
|
|
1241
|
+
}
|
|
1242
|
+
/**
|
|
1243
|
+
* Returns a WeakMap that maps each item in `items` to its parent
|
|
1244
|
+
* indicated by `getChildren` function
|
|
1245
|
+
*/
|
|
1246
|
+
|
|
1247
|
+
|
|
1248
|
+
function getParentMap(items, getChildren) {
|
|
1249
|
+
var map = new WeakMap();
|
|
1250
|
+
|
|
1251
|
+
for (var queue = [].concat(items); queue.length > 0;) {
|
|
1252
|
+
var _item5 = queue.shift();
|
|
1253
|
+
|
|
1254
|
+
var children = getChildren(_item5);
|
|
1255
|
+
|
|
1256
|
+
if (children) {
|
|
1257
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(children), _step2; !(_step2 = _iterator2()).done;) {
|
|
1258
|
+
var child = _step2.value;
|
|
1259
|
+
map.set(child, _item5);
|
|
1260
|
+
queue.push(child);
|
|
1261
|
+
}
|
|
1262
|
+
}
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
return map;
|
|
1266
|
+
}
|
|
1267
|
+
/**
|
|
1268
|
+
* Returns a Map that maps each item's "key", indicated by `getKey` function,
|
|
1269
|
+
* to its parent indicated by `getChildren` function
|
|
1270
|
+
*
|
|
1271
|
+
* NOTICE:
|
|
1272
|
+
* Using this function is discouraged.
|
|
1273
|
+
* Use {@link getParentMap} whenever possible.
|
|
1274
|
+
*/
|
|
1275
|
+
|
|
1276
|
+
|
|
1277
|
+
function getKeyParentMap(items, getKey, getChildren) {
|
|
1278
|
+
var map = new Map();
|
|
1279
|
+
|
|
1280
|
+
for (var queue = [].concat(items); queue.length > 0;) {
|
|
1281
|
+
var _item6 = queue.shift();
|
|
1282
|
+
|
|
1283
|
+
var children = getChildren(_item6);
|
|
1284
|
+
|
|
1285
|
+
if (children) {
|
|
1286
|
+
for (var _iterator3 = _createForOfIteratorHelperLoose(children), _step3; !(_step3 = _iterator3()).done;) {
|
|
1287
|
+
var child = _step3.value;
|
|
1288
|
+
map.set(getKey(child), _item6);
|
|
1289
|
+
queue.push(child);
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1294
|
+
return map;
|
|
1295
|
+
}
|
|
1296
|
+
/**
|
|
1297
|
+
* Returns an array indicating the hierarchy path from root towards `target` item
|
|
1298
|
+
*/
|
|
1299
|
+
|
|
1300
|
+
|
|
1301
|
+
function getPathTowardsItem(target, getParent) {
|
|
1302
|
+
if (!target) return [];
|
|
1303
|
+
var path = [target];
|
|
1304
|
+
|
|
1305
|
+
for (var parent = getParent(target); !!parent; parent = getParent(parent)) {
|
|
1306
|
+
path.unshift(parent);
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
return path;
|
|
1198
1310
|
}
|