- ↑
- Move up in search results
diff --git a/lib/docs/main.js b/lib/docs/main.js
index f9bb9b9fb8..e10318c02d 100644
--- a/lib/docs/main.js
+++ b/lib/docs/main.js
@@ -127,16 +127,20 @@ const NAV_MODES = {
window.guideSearch = guidesSearchIndex;
parseGuides();
-
+ // identifiers can contain '?' so we want to allow typing
+ // the question mark when the search is focused instead of toggling the help modal
+ let canToggleHelpModal = true;
domSearch.disabled = false;
domSearch.addEventListener("keydown", onSearchKeyDown, false);
domSearch.addEventListener("focus", ev => {
domSearchPlaceholder.classList.add("hidden");
+ canToggleHelpModal = false;
});
domSearch.addEventListener("blur", ev => {
if (domSearch.value.length == 0)
domSearchPlaceholder.classList.remove("hidden");
+ canToggleHelpModal = true;
});
domSectSearchAllResultsLink.addEventListener('click', onClickSearchShowAllResults, false);
function onClickSearchShowAllResults(ev) {
@@ -4045,9 +4049,16 @@ function addDeclToSearchResults(decl, declIndex, modNames, item, list, stack) {
}
break;
case "?":
- ev.preventDefault();
- ev.stopPropagation();
- showHelpModal();
+ if (!canToggleHelpModal) break;
+
+ // toggle the help modal
+ if (!domHelpModal.classList.contains("hidden")) {
+ onEscape(ev);
+ } else {
+ ev.preventDefault();
+ ev.stopPropagation();
+ showHelpModal();
+ }
break;
}
}
@@ -4852,4 +4863,4 @@ function RadixTree() {
// BUT!
-// We want to be able to search "Hash", for example!
\ No newline at end of file
+// We want to be able to search "Hash", for example!