renameNode method
Submits a rename action for a specific node.
If the node was new, it resets the isNew flag after renaming.
Implementation
void renameNode(String id, String newName) {
final node = findNodeById(id);
if (node != null) {
final wasNew = node.isNew;
node.isNew = false;
onNodeRenamed?.call(node, newName);
_eventController.add(
TreeNodeRenamedEvent<T>(node: node, newName: newName),
);
setRenamingNodeId(null);
// If it was new, we might need to re-sort as the name changed
if (wasNew && _sortComparator != null) {
if (node.isRoot) {
_roots.sort(_sortComparator!);
} else {
node.parent?.internalSortChildren(_sortComparator!);
}
_rebuildFlatList();
notifyListeners();
}
}
}