diff options
| author | tdro <tdro@noreply.example.com> | 2024-08-04 00:00:00 +0000 |
|---|---|---|
| committer | tdro <tdro@noreply.example.com> | 2024-08-04 00:00:00 +0000 |
| commit | 443652fe6cd393eba0ca89739fd481a0bb671550 (patch) | |
| tree | 24377bfad43d98f38dd2f3075be07d992ff95f6e | |
| parent | e70816dc7cc8d9dda313909b63787bac2ff3bb6f (diff) | |
| download | canory-443652fe6cd393eba0ca89739fd481a0bb671550.tar.gz canory-443652fe6cd393eba0ca89739fd481a0bb671550.tar.bz2 canory-443652fe6cd393eba0ca89739fd481a0bb671550.zip | |
static/js/fixedsearch: Fix up
| -rw-r--r-- | assets/js/index.js | 35 | ||||
| -rw-r--r-- | static/js/fixedsearch.ts | 26 |
2 files changed, 38 insertions, 23 deletions
diff --git a/assets/js/index.js b/assets/js/index.js index 694faa1..e05fa01 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -294,11 +294,26 @@ "URLChangedCustomEvent" ].forEach(function(event) { self.addEventListener(event, function() { - const container = document.querySelector("search-box"); - const dropdown = document.querySelector("search-box ul"); - const form = document.querySelector("search-box form"); - const query = document.querySelector("search-box input"); - const submit = document.querySelector("search-box button"); + const Container = function() { + return document.querySelector("search-box"); + }; + const container = Container(); + const Dropdown = function() { + return document.querySelector("search-box ul"); + }; + const dropdown = Dropdown(); + const Form = function() { + return document.querySelector("search-box form"); + }; + const form = Form(); + const Query = function() { + return document.querySelector("search-box input"); + }; + const query = Query(); + const Submit = function() { + return document.querySelector("search-box button"); + }; + const submit = Submit(); function first(element) { if (element.firstChild.nextElementSibling) { return element.firstChild.nextElementSibling.firstChild.nextElementSibling; @@ -391,15 +406,15 @@ if (scrolls > 3) { scrolls = 0; document.activeElement.blur(); - dropdown.setAttribute("hidden", ""); - container.removeAttribute("data-focus"); + Dropdown().setAttribute("hidden", ""); + Container().removeAttribute("data-focus"); } scrolls++; }); self.addEventListener("click", function(event) { - if (!form.contains(event.target) && !(document.activeElement === query) && !(document.activeElement === submit)) { - dropdown.setAttribute("hidden", ""); - container.removeAttribute("data-focus"); + if (!Form().contains(event.target) && !(document.activeElement === Query()) && !(document.activeElement === Submit())) { + Dropdown().setAttribute("hidden", ""); + Container().removeAttribute("data-focus"); } }); } diff --git a/static/js/fixedsearch.ts b/static/js/fixedsearch.ts index 54916aa..fc2dee1 100644 --- a/static/js/fixedsearch.ts +++ b/static/js/fixedsearch.ts @@ -8,11 +8,12 @@ (function () { ["DOMContentLoaded", "URLChangedCustomEvent"].forEach(function (event) { self.addEventListener(event, function () { - const container = document.querySelector("search-box"); - const dropdown = document.querySelector("search-box ul"); - const form = document.querySelector("search-box form"); - const query = document.querySelector("search-box input"); - const submit = document.querySelector("search-box button"); + + const Container = function () { return document.querySelector("search-box") }; const container = Container(); + const Dropdown = function () { return document.querySelector("search-box ul") }; const dropdown = Dropdown(); + const Form = function () { return document.querySelector("search-box form") }; const form = Form(); + const Query = function () { return document.querySelector("search-box input") }; const query = Query(); + const Submit = function () { return document.querySelector("search-box button") }; const submit = Submit(); function first(element) { if (element.firstChild.nextElementSibling) { @@ -123,25 +124,24 @@ if (event === "DOMContentLoaded") { let scrolls = 0; - self.addEventListener("scroll", function () { if (scrolls > 3) { scrolls = 0; document.activeElement.blur(); - dropdown.setAttribute("hidden", ""); - container.removeAttribute("data-focus"); + Dropdown().setAttribute("hidden", ""); + Container().removeAttribute("data-focus"); } scrolls++; }); self.addEventListener("click", function (event) { if ( - !form.contains(event.target) && - !(document.activeElement === query) && - !(document.activeElement === submit) + !Form().contains(event.target) && + !(document.activeElement === Query()) && + !(document.activeElement === Submit()) ) { - dropdown.setAttribute("hidden", ""); - container.removeAttribute("data-focus"); + Dropdown().setAttribute("hidden", ""); + Container().removeAttribute("data-focus"); } }); } |
