Move focus in and out of sublists

This commit is contained in:
Ian Gulliver
2019-06-20 23:54:14 +00:00
parent 15711c4208
commit 4464abb573

View File

@@ -115,55 +115,62 @@ class List {
onKeyDown(e) {
switch (e.key) {
case 'Escape':
case 'ArrowLeft':
if (this.container_.parentElement.xArchObj) {
this.container_.parentElement.focus();
}
break;
case 'd':
this.deleteSelected();
e.stopPropagation();
e.preventDefault();
return;
break;
case 'D':
this.deleteSelectedAndAfter();
e.stopPropagation();
e.preventDefault();
return;
break;
case 'j':
case 'ArrowDown':
this.selectNext();
e.stopPropagation();
e.preventDefault();
return;
break;
case 'k':
case 'ArrowUp':
this.selectPrev();
e.stopPropagation();
e.preventDefault();
return;
break;
case 'PageUp':
this.selectPrevPage();
e.stopPropagation();
e.preventDefault();
return;
break;
case 'PageDown':
this.selectNextPage();
e.stopPropagation();
e.preventDefault();
return;
break;
case 'Home':
this.selectFirst();
e.stopPropagation();
e.preventDefault();
return;
break;
case 'End':
this.selectLast();
e.stopPropagation();
e.preventDefault();
return;
break;
}
}
}
@@ -344,6 +351,14 @@ class Node extends EditorEntryBase {
this.stopEdit();
break;
case 'ArrowLeft':
e.stopPropagation();
if (this.input_.selectionEnd == 0) {
e.preventDefault();
this.stopEdit();
}
break;
default:
e.stopPropagation();
break;
@@ -359,6 +374,13 @@ class Node extends EditorEntryBase {
e.stopPropagation();
e.preventDefault();
break;
case 'ArrowRight':
this.startEdit();
this.input_.selectionEnd = 0;
e.stopPropagation();
e.preventDefault();
break;
}
}
@@ -449,6 +471,10 @@ class Group extends EditorEntryBase {
e.stopPropagation();
e.preventDefault();
break;
case 'ArrowRight':
this.nodes_.selectNext();
break;
}
}