about summary refs log tree commit diff stats
path: root/frontend/static
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/static')
-rw-r--r--frontend/static/search.js12
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"),