generated docs: further clean up keyboard shortcut handling
now it's harder to introduce a bug when modifying keyboard shortcut code.master
parent
725c873e81
commit
e6ca61bdd1
|
@ -1141,10 +1141,8 @@
|
|||
}
|
||||
|
||||
function onSearchKeyDown(ev) {
|
||||
switch (ev.which) {
|
||||
case 13:
|
||||
if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
|
||||
|
||||
switch (getKeyString(ev)) {
|
||||
case "Enter":
|
||||
// detect if this search changes anything
|
||||
var terms1 = getSearchTerms();
|
||||
startSearch();
|
||||
|
@ -1157,9 +1155,7 @@
|
|||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
return;
|
||||
case 27:
|
||||
if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
|
||||
|
||||
case "Esc":
|
||||
domSearch.value = "";
|
||||
domSearch.blur();
|
||||
curSearchIndex = -1;
|
||||
|
@ -1167,16 +1163,12 @@
|
|||
ev.stopPropagation();
|
||||
startSearch();
|
||||
return;
|
||||
case 38:
|
||||
if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
|
||||
|
||||
case "Up":
|
||||
moveSearchCursor(-1);
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
return;
|
||||
case 40:
|
||||
if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
|
||||
|
||||
case "Down":
|
||||
moveSearchCursor(1);
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
|
@ -1210,21 +1202,35 @@
|
|||
renderSearchCursor();
|
||||
}
|
||||
|
||||
function getKeyValue(ev) {
|
||||
if("key" in ev && typeof ev.key != "undefined") {
|
||||
return ev.key
|
||||
}
|
||||
var code = ev.charCode || ev.keyCode;
|
||||
if(code == 27) {
|
||||
return "Escape"
|
||||
}
|
||||
return String.fromCharCode(code)
|
||||
function getKeyString(ev) {
|
||||
var name;
|
||||
var ignoreShift = false;
|
||||
switch (ev.which) {
|
||||
case 13:
|
||||
name = "Enter";
|
||||
break;
|
||||
case 27:
|
||||
name = "Esc";
|
||||
break;
|
||||
case 38:
|
||||
name = "Up";
|
||||
break;
|
||||
case 40:
|
||||
name = "Down";
|
||||
break;
|
||||
default:
|
||||
ignoreShift = true;
|
||||
name = (ev.key != null) ? ev.key : String.fromCharCode(ev.charCode || ev.keyCode);
|
||||
}
|
||||
if (!ignoreShift && ev.shiftKey) name = "Shift+" + name;
|
||||
if (ev.altKey) name = "Alt+" + name;
|
||||
if (ev.ctrlKey) name = "Ctrl+" + name;
|
||||
return name;
|
||||
}
|
||||
|
||||
function onWindowKeyDown(ev) {
|
||||
switch (getKeyValue(ev)) {
|
||||
case "Escape":
|
||||
if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
|
||||
switch (getKeyString(ev)) {
|
||||
case "Esc":
|
||||
if (!domHelpModal.classList.contains("hidden")) {
|
||||
domHelpModal.classList.add("hidden");
|
||||
ev.preventDefault();
|
||||
|
@ -1232,7 +1238,6 @@
|
|||
}
|
||||
break;
|
||||
case "s":
|
||||
if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
|
||||
domSearch.focus();
|
||||
domSearch.select();
|
||||
ev.preventDefault();
|
||||
|
@ -1240,7 +1245,6 @@
|
|||
startAsyncSearch();
|
||||
break;
|
||||
case "?":
|
||||
if (!ev.shiftKey || ev.ctrlKey || ev.altKey) return;
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
showHelpModal();
|
||||
|
|
Loading…
Reference in New Issue