Move focus in and out of sublists
This commit is contained in:
42
architype.js
42
architype.js
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user