in fuse-ui-fabric/tree/treeView.tsx [386:412]
private findNext(cur: ITreeNodeView, skipChildren: boolean = false): ITreeNodeView {
if (cur.expanded && !skipChildren) {
const firstChild = first(cur.children);
if (firstChild) {
return firstChild;
}
}
const parent = cur.parent;
if (!parent) {
return null;
}
const children = parent.children;
let iter = children.next();
let prev: ITreeNodeView = null;
while (!iter.done) {
if (prev === cur) {
return iter.value;
}
prev = iter.value;
iter = children.next();
}
return this.findNext(parent, true);
}