expandAncestors method
void
expandAncestors(
- T node, [
- @Deprecated('Use [TreeController.parentProvider] instead.') ParentProvider<
T> ? parentProvider
Walks up the ancestors of node
setting their expansion state to true
.
Note: node
is not expanded by this method.
This can be used to reveal a hidden node (e.g. when searching for a node in a search view).
parentProvider
should return the direct parent of the given node or
null
if the root node is reached, this callback is used to traverse the
ancestors of node
.
This method depends on TreeController.parentProvider
and will throw an
AssertionError in debug mode if parentProvider
is not defined.
Implementation
void expandAncestors(
T node, [
@Deprecated('Use [TreeController.parentProvider] instead.')
ParentProvider<T>? parentProvider,
]) {
assert(() {
if (parentProvider == null) return _debugCheckHasParentProvider();
return true;
}());
parentProvider ??= this.parentProvider;
T? current = parentProvider(node);
if (current == null) return;
while (current != null) {
_expand(current);
current = parentProvider(current);
}
rebuild();
}