in fuse-ui-fabric/tree/treeView.tsx [361:384]
private findPrev(cur: ITreeNodeView): ITreeNodeView {
const parent = cur.parent;
if (!parent) {
return null;
}
const children = parent.children;
let iter = children.next();
let prev: ITreeNodeView = parent;
while (!iter.done) {
if (iter.value === cur) {
if (prev.expanded && prev !== parent) {
return last(prev.children) || prev;
}
return prev;
}
prev = iter.value;
iter = children.next();
}
return null;
}