| ... | ... | @@ -127,16 +127,20 @@ const NAV_MODES = { |
| 127 | 127 | window.guideSearch = guidesSearchIndex; |
| 128 | 128 | parseGuides(); |
| 129 | 129 | |
| 130 | | |
| 130 | // identifiers can contain '?' so we want to allow typing |
| 131 | // the question mark when the search is focused instead of toggling the help modal |
| 132 | let canToggleHelpModal = true; |
| 131 | 133 | |
| 132 | 134 | domSearch.disabled = false; |
| 133 | 135 | domSearch.addEventListener("keydown", onSearchKeyDown, false); |
| 134 | 136 | domSearch.addEventListener("focus", ev => { |
| 135 | 137 | domSearchPlaceholder.classList.add("hidden"); |
| 138 | canToggleHelpModal = false; |
| 136 | 139 | }); |
| 137 | 140 | domSearch.addEventListener("blur", ev => { |
| 138 | 141 | if (domSearch.value.length == 0) |
| 139 | 142 | domSearchPlaceholder.classList.remove("hidden"); |
| 143 | canToggleHelpModal = true; |
| 140 | 144 | }); |
| 141 | 145 | domSectSearchAllResultsLink.addEventListener('click', onClickSearchShowAllResults, false); |
| 142 | 146 | function onClickSearchShowAllResults(ev) { |
| ... | ... | @@ -4045,9 +4049,16 @@ function addDeclToSearchResults(decl, declIndex, modNames, item, list, stack) { |
| 4045 | 4049 | } |
| 4046 | 4050 | break; |
| 4047 | 4051 | case "?": |
| 4048 | | ev.preventDefault(); |
| 4049 | | ev.stopPropagation(); |
| 4050 | | showHelpModal(); |
| 4052 | if (!canToggleHelpModal) break; |
| 4053 | |
| 4054 | // toggle the help modal |
| 4055 | if (!domHelpModal.classList.contains("hidden")) { |
| 4056 | onEscape(ev); |
| 4057 | } else { |
| 4058 | ev.preventDefault(); |
| 4059 | ev.stopPropagation(); |
| 4060 | showHelpModal(); |
| 4061 | } |
| 4051 | 4062 | break; |
| 4052 | 4063 | } |
| 4053 | 4064 | } |
| ... | ... | @@ -4852,4 +4863,4 @@ function RadixTree() { |
| 4852 | 4863 | |
| 4853 | 4864 | // BUT! |
| 4854 | 4865 | |
| 4855 | | // We want to be able to search "Hash", for example! |
| | \ No newline at end of file |
| 4866 | // We want to be able to search "Hash", for example! |