I have a tree and if I select two nodes they are saved correctly, but if I later decide to delete only one node of the two previously selected, both are deleted. How can I delete only one? this is the part of the code where I check for unselected nodes. The problem is the delete, but I don't know how to do it. Consider that the selected nodes are passed into a map -> functions <with key / value>
nodeUnselect(event) {
if (this.dialogDate) {
this.selectedNode.push(event.node);
if (event.node.parent) {
this.selectedNode.push(event.node.parent);
}
} else {
if (event.node.parent) {
if (this.userData.functions && event.node.data && event.node.data.functionFK) {
delete this.userData.functions[event.node.data.functionFK];
}
} else {
if (event.node.children && event.node.children.length) {
for (const childNode of event.node.children) {
if (this.userData.functions && childNode.data && childNode.data.functionFK) {
delete this.userData.functions[childNode.data.functionFK];
}
}
}
}
}
}
If you need more code I'll post it
Is may help some one,
deleteNode(node:any) : void {
if (node.parent != null) {
console.log(node.buildingId)
console.log(node.parent.children.indexOf(node))
node.parent.children.splice(node.parent.children.indexOf(node), 1)
}}