From 945122f6803392655a63175ec2bc615c494d043a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Can=20Y=C4=B1lmaz?= Date: Fri, 14 Apr 2023 18:07:12 +0300 Subject: [PATCH] find node with given id --- .../tree/src/lib/components/tree.component.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts index 219e049ce2..ccc44cde0b 100644 --- a/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts +++ b/npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts @@ -81,6 +81,21 @@ export class TreeComponent implements OnInit { this.subscriptionService.addOne(loaded$); } + private findNode(target: any, nodes: any[]) { + for (const node of nodes) { + if (node.key === target.id) { + return node; + } + if (node.children) { + let res = this.findNode(target, node.children); + if (res) { + return res; + } + } + } + return null; + } + onSelectedNodeChange(node: NzTreeNode) { this.selectedNode = node.origin.entity; if (this.changeCheckboxWithNode) { @@ -122,7 +137,8 @@ export class TreeComponent implements OnInit { } setSelectedNode(node: any) { - this.selectedNode = { ...node }; + let newSelectedNode = this.findNode(node, this.nodes); + this.selectedNode = { ...newSelectedNode }; this.cdr.markForCheck(); } }