aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/docs/main.js43
1 files changed, 27 insertions, 16 deletions
diff --git a/lib/docs/main.js b/lib/docs/main.js
index 3072918b32..57cdd3c513 100644
--- a/lib/docs/main.js
+++ b/lib/docs/main.js
@@ -3148,6 +3148,22 @@ var zigAnalysis;
domSearch.blur();
}
+ function onEscape(ev) {
+ if (!domHelpModal.classList.contains("hidden")) {
+ domHelpModal.classList.add("hidden");
+ ev.preventDefault();
+ ev.stopPropagation();
+ } else {
+ domSearch.value = "";
+ domSearch.blur();
+ domSearchPlaceholder.classList.remove("hidden");
+ curSearchIndex = -1;
+ ev.preventDefault();
+ ev.stopPropagation();
+ startSearch();
+ }
+ }
+
function onSearchKeyDown(ev) {
switch (getKeyString(ev)) {
case "Enter":
@@ -3164,13 +3180,8 @@ var zigAnalysis;
ev.stopPropagation();
return;
case "Esc":
- domSearch.value = "";
- domSearch.blur();
- curSearchIndex = -1;
- ev.preventDefault();
- ev.stopPropagation();
- startSearch();
- return;
+ onEscape(ev);
+ return
case "Up":
moveSearchCursor(-1);
ev.preventDefault();
@@ -3245,19 +3256,18 @@ var zigAnalysis;
function onWindowKeyDown(ev) {
switch (getKeyString(ev)) {
case "Esc":
- if (!domHelpModal.classList.contains("hidden")) {
- domHelpModal.classList.add("hidden");
+ onEscape(ev);
+ break;
+ case "s":
+ if (domHelpModal.classList.contains("hidden")) {
+ // TODO: scroll the page to the very top
+ domSearch.focus();
+ domSearch.select();
ev.preventDefault();
ev.stopPropagation();
+ startAsyncSearch();
}
break;
- case "s":
- domSearch.focus();
- domSearch.select();
- ev.preventDefault();
- ev.stopPropagation();
- startAsyncSearch();
- break;
case "?":
ev.preventDefault();
ev.stopPropagation();
@@ -3273,6 +3283,7 @@ var zigAnalysis;
domHelpModal.style.top =
window.innerHeight / 2 - domHelpModal.clientHeight / 2 + "px";
domHelpModal.focus();
+ domSearch.blur();
}
function clearAsyncSearch() {