diff options
Diffstat (limited to 'frontend/static')
-rw-r--r-- | frontend/static/search.js | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/frontend/static/search.js b/frontend/static/search.js index d9993e4..b16cf30 100644 --- a/frontend/static/search.js +++ b/frontend/static/search.js @@ -100,7 +100,7 @@ queryInput.addEventListener("input", function (ev) { for (const el of nav.children) { if (el.nodeName === "A") { const url = new URL(el.href); - if (ev.target.value) { + if (ev.target.value && !el.classList.contains("current")) { url.searchParams.set("query", ev.target.value); } else { url.searchParams.delete("query"); @@ -126,6 +126,16 @@ if (pagination !== null) { addPaginationEventListeners(pagination); } +document.querySelector("a.current").addEventListener("click", function (ev) { + search.reset(); + state.input = null; + range.deleteContents(); + state.fragment = ""; + history.pushState(state, null, ev.target.href); + ev.preventDefault(); + queryInput.value = ""; +}); + if (state.opened.length > 0) { state.opened.forEach((id) => document.getElementById(id).setAttribute("open", "open"), |