addChild method
TreeNodeId
addChild(
- TreeNodeId parentId, {
- String label = 'New item',
- bool folder = false,
- T? value,
Append a new child under parentId, expand it, select & begin renaming
the new node. Returns the new node's id.
Implementation
TreeNodeId addChild(TreeNodeId parentId, {String label = 'New item', bool folder = false, T? value}) {
final id = _newId();
final child = TreeNode<T>(id: id, label: label, folder: folder ? true : null, value: value);
_apply(TreeOps.mapNode<T>(_roots, parentId, (p) => p.copyWith(
folder: true,
children: [...p.children, child],
)));
_expanded.add(parentId);
_selected = id;
_focused = id;
_editing = id;
return id;
}