when i call expandnode method i alwayse receive this error when i try to filter trought the data after the call.
*Here is the code:
expandNode(treeNode: TreeNode, all: boolean = false) { const node = this.tree.treeModel.getNodeById(treeNode.id); if (node != null) { if (all) { this.expandAllNodeLazy(node); } else { node.expand(); } } }
` this.devicetreeService.findNodePath(url).subscribe(
async node => {
this.searchNode = node;
//expand root
var root = this.tree.treeModel.getNodeBy((node) => node.data.entityId == '');
this.collapseNode(root);
this.expandNode(root, false);
//expand computer
var pc = root.data.children.filter(pc => pc.name == this.searchNode.computerName)[0];
this.expandNode(pc, false);
//expand communicationInterface
var com = pc.children.filter(com => com.communicationInterfaceDataDTO.interfaceNo == this.searchNode.interfaceNumber)[0];
this.expandNode(com, false);
//is TCP/TP or HTTP, serial?
if (this.searchNode.taId != 0) {
var ta = com.children.filter(ta => ta.entityId == this.searchNode.taId)[0];
this.expandNode(ta, false);
} else {
var ta = com;
}
var device = ta.children.filter(device => device.entityId == sysNr)[0];
if (this.searchDeviceTyp == 'device') {
//for auto scroll
var node = device;
} else {
var node = await this.findNodeRecurse(device);
}
//select the node
this.tree.treeModel.getNodeById(node.id).toggleActivated();
//auto scroll to node
var labels = document.getElementsByTagName("label");
for (var i = 0; i < labels.length; i++) {
if (labels[i].innerHTML == node.name) {
labels[i].scrollIntoView();
break;
}
}
}
);`
alwayse after this.expandNode(root, false); I receive this error:
core.js:14597 ERROR Error: Uncaught (in promise): TypeError: Cannot read properties of undefined (reading 'length') TypeError: Cannot read properties of undefined (reading 'length')
and I tried this approach but i didn´t work because when the node take time to expand:
` if (root.data.children && root.data.children.length > 0) {
var pc = root.data.children.filter(pc => pc.name ==
this.searchNode.computerName)[0];
if (pc) {
this.expandNode(pc, false);
if (pc.children && pc.children.length > 0) {
var com = pc.children.filter(com => com.communicationInterfaceDataDTO.interfaceNo == this.searchNode.interfaceNumber)[0];
Support Requests should not be opened as issues and should be handled in the following ways:
On StackOverflow using the
angular-tree-component
tagIn our slack support channel at https://angular-tree-component.herokuapp.com/
when i call expandnode method i alwayse receive this error when i try to filter trought the data after the call. *Here is the code:
expandNode(treeNode: TreeNode, all: boolean = false) { const node = this.tree.treeModel.getNodeById(treeNode.id); if (node != null) { if (all) { this.expandAllNodeLazy(node); } else { node.expand(); } } }
` this.devicetreeService.findNodePath(url).subscribe( async node => { this.searchNode = node; //expand root var root = this.tree.treeModel.getNodeBy((node) => node.data.entityId == ''); this.collapseNode(root); this.expandNode(root, false);alwayse after this.expandNode(root, false); I receive this error:
core.js:14597 ERROR Error: Uncaught (in promise): TypeError: Cannot read properties of undefined (reading 'length') TypeError: Cannot read properties of undefined (reading 'length')
and I tried this approach but i didn´t work because when the node take time to expand: ` if (root.data.children && root.data.children.length > 0) { var pc = root.data.children.filter(pc => pc.name == this.searchNode.computerName)[0];if (pc) { this.expandNode(pc, false);
if (pc.children && pc.children.length > 0) { var com = pc.children.filter(com => com.communicationInterfaceDataDTO.interfaceNo == this.searchNode.interfaceNumber)[0];
.... } } } } }`