react-core-ts 2.1.24 → 2.1.25
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.
|
@@ -14,25 +14,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
14
|
exports.buildTree = void 0;
|
|
15
15
|
function buildTree(data, idField, parentField) {
|
|
16
16
|
var nodeMap = new Map();
|
|
17
|
-
// Initialize all nodes
|
|
18
17
|
data.forEach(function (node) {
|
|
19
|
-
node
|
|
20
|
-
nodeMap.set(node[idField], node);
|
|
18
|
+
nodeMap.set(node[idField], __assign(__assign({}, node), { checked: false, children: [] }));
|
|
21
19
|
});
|
|
22
|
-
// Build the tree structure
|
|
23
20
|
var tree = [];
|
|
24
21
|
data.forEach(function (node) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
var currentNode = nodeMap.get(node[idField]);
|
|
23
|
+
var parentId = node[parentField];
|
|
24
|
+
var hasParent = parentId !== null && parentId !== undefined && parentId !== '';
|
|
25
|
+
if (hasParent) {
|
|
26
|
+
var parentNode = nodeMap.get(parentId);
|
|
27
|
+
if (parentNode) {
|
|
28
|
+
parentNode.children.push(currentNode);
|
|
29
|
+
return;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
// No parentId means it's a root node
|
|
34
|
-
tree.push(__assign(__assign({}, node), { checked: false }));
|
|
35
|
-
}
|
|
32
|
+
tree.push(currentNode);
|
|
36
33
|
});
|
|
37
34
|
return tree;
|
|
38
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertFlatArraytoTreeStructure.js","sourceRoot":"","sources":["../../src/utilities/convertFlatArraytoTreeStructure.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,SAAgB,SAAS,CAAC,IAAW,EAAE,OAAe,EAAE,WAAmB;IACzE,IAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAE1B,
|
|
1
|
+
{"version":3,"file":"convertFlatArraytoTreeStructure.js","sourceRoot":"","sources":["../../src/utilities/convertFlatArraytoTreeStructure.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,SAAgB,SAAS,CAAC,IAAW,EAAE,OAAe,EAAE,WAAmB;IACzE,IAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAE1B,IAAI,CAAC,OAAO,CAAC,UAAC,IAAI;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,wBACpB,IAAI,KACP,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,EAAE,IACZ,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAM,IAAI,GAAU,EAAE,CAAC;IAEvB,IAAI,CAAC,OAAO,CAAC,UAAC,IAAI;QAChB,IAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,IAAM,SAAS,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC;QAEjF,IAAI,SAAS,EAAE;YACb,IAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEzC,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACtC,OAAO;aACR;SACF;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AA/BD,8BA+BC"}
|
package/package.json
CHANGED
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
export function buildTree(data: any[], idField: string, parentField: string) {
|
|
2
2
|
const nodeMap = new Map();
|
|
3
3
|
|
|
4
|
-
// Initialize all nodes
|
|
5
4
|
data.forEach((node) => {
|
|
6
|
-
node
|
|
7
|
-
|
|
5
|
+
nodeMap.set(node[idField], {
|
|
6
|
+
...node,
|
|
7
|
+
checked: false,
|
|
8
|
+
children: [],
|
|
9
|
+
});
|
|
8
10
|
});
|
|
9
11
|
|
|
10
|
-
// Build the tree structure
|
|
11
12
|
const tree: any[] = [];
|
|
12
13
|
|
|
13
14
|
data.forEach((node) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const currentNode = nodeMap.get(node[idField]);
|
|
16
|
+
const parentId = node[parentField];
|
|
17
|
+
const hasParent = parentId !== null && parentId !== undefined && parentId !== '';
|
|
18
|
+
|
|
19
|
+
if (hasParent) {
|
|
20
|
+
const parentNode = nodeMap.get(parentId);
|
|
21
|
+
|
|
22
|
+
if (parentNode) {
|
|
23
|
+
parentNode.children.push(currentNode);
|
|
24
|
+
return;
|
|
19
25
|
}
|
|
20
|
-
} else {
|
|
21
|
-
// No parentId means it's a root node
|
|
22
|
-
tree.push({ ...node, checked: false });
|
|
23
26
|
}
|
|
27
|
+
|
|
28
|
+
tree.push(currentNode);
|
|
24
29
|
});
|
|
25
30
|
|
|
26
31
|
return tree;
|