in src/draft-components/tree-actions/tree-actions.tsx [11:53]
function getTreeActionFromKey(event: KeyboardEvent, item: TreeItem, expanded: boolean, level: number): TreeActions {
const { key } = event;
switch(key) {
case Keys.Down:
event.preventDefault();
event.stopPropagation();
return TreeActions.Next;
case Keys.Up:
event.preventDefault();
event.stopPropagation();
return TreeActions.Previous;
case Keys.Right:
event.preventDefault();
event.stopPropagation();
if (item.children) {
return expanded ? TreeActions.Next : TreeActions.Open;
}
break;
case Keys.Left:
event.preventDefault();
event.stopPropagation();
if (expanded) {
return TreeActions.Close;
}
else if (level > 1) {
return TreeActions.UpLevel;
}
break;
case Keys.Home:
event.preventDefault();
event.stopPropagation();
return TreeActions.First;
case Keys.End:
event.preventDefault();
event.stopPropagation();
return TreeActions.Last;
case Keys.Enter:
case Keys.Space:
event.stopPropagation();
return TreeActions.Select;
}
}