removeNodeFromTree static method
- ElectricalNode root,
- String nodeIdToRemove
Remove a node from tree and return new tree root Returns null if root itself is removed
Implementation
static ElectricalNode? removeNodeFromTree(
ElectricalNode root, String nodeIdToRemove) {
if (root.id == nodeIdToRemove) return null;
return root.map(
source: (node) => node.copyWith(
children: _removeNodeFromChildren(node.children, nodeIdToRemove)),
protection: (node) => node.copyWith(
children: _removeNodeFromChildren(node.children, nodeIdToRemove)),
panel: (node) => node.copyWith(
children: _removeNodeFromChildren(node.children, nodeIdToRemove)),
load: (node) => node, // Loads have no children
);
}