|
|
- "use strict";
- function handleTree(data, id, parentId, children) {
- let config = {
- id: id || "id",
- parentId: parentId || "parentId",
- childrenList: children || "children"
- };
- var childrenListMap = {};
- var nodeIds = {};
- var tree = [];
- for (let d of data) {
- let parentId2 = d[config.parentId];
- if (childrenListMap[parentId2] == null) {
- childrenListMap[parentId2] = [];
- }
- nodeIds[d[config.id]] = d;
- childrenListMap[parentId2].push(d);
- }
- for (let d of data) {
- let parentId2 = d[config.parentId];
- if (nodeIds[parentId2] == null) {
- tree.push(d);
- }
- }
- for (let t of tree) {
- adaptToChildrenList(t);
- }
- function adaptToChildrenList(o) {
- if (childrenListMap[o[config.id]] !== null) {
- o[config.childrenList] = childrenListMap[o[config.id]];
- }
- if (o[config.childrenList]) {
- for (let c of o[config.childrenList]) {
- adaptToChildrenList(c);
- }
- }
- }
- return tree;
- }
- exports.handleTree = handleTree;
- //# sourceMappingURL=../../.sourcemap/mp-weixin/utils/tree.js.map
|