From c6ce067216e7732ac83b94100233c3f55d0ba993 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sat, 14 Oct 2017 18:43:00 +0200 Subject: [PATCH] Hide help when search bar is focused --- src/librustdoc/html/static/main.js | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index bccad6c89dc4f..8f7cd244c2fa6 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -163,6 +163,20 @@ return String.fromCharCode(c); } + function displayHelp(display, ev) { + if (display === true) { + if (hasClass(help, "hidden")) { + ev.preventDefault(); + removeClass(help, "hidden"); + addClass(document.body, "blur"); + } + } else if (!hasClass(help, "hidden")) { + ev.preventDefault(); + addClass(help, "hidden"); + removeClass(document.body, "blur"); + } + } + function handleShortcut(ev) { if (document.activeElement.tagName === "INPUT") return; @@ -176,9 +190,7 @@ case "Escape": var search = document.getElementById("search"); if (!hasClass(help, "hidden")) { - ev.preventDefault(); - addClass(help, "hidden"); - removeClass(document.body, "blur"); + displayHelp(false, ev); } else if (!hasClass(search, "hidden")) { ev.preventDefault(); addClass(search, "hidden"); @@ -188,6 +200,7 @@ case "s": case "S": + displayHelp(false, ev); ev.preventDefault(); focusSearchBar(); break; @@ -198,10 +211,8 @@ break; case "?": - if (ev.shiftKey && hasClass(help, "hidden")) { - ev.preventDefault(); - removeClass(help, "hidden"); - addClass(document.body, "blur"); + if (ev.shiftKey) { + displayHelp(true, ev); } break; }