From 8dedf83b22c0da44e0d83a9940291e0d1f0497e4 Mon Sep 17 00:00:00 2001 From: tdro Date: Fri, 2 Feb 2024 19:42:49 -0500 Subject: static/js/fixedsearch: Avoid search conflict Add some guards --- assets/js/index.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'assets') diff --git a/assets/js/index.js b/assets/js/index.js index f417396..176959d 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -542,24 +542,32 @@ function initialize() { if (boot) { script(window.location.origin + "/js/fuzzysort.js").then(function() { - boot = false; fetch("/index.json", function(request) { appendItemsTo({}, JSON.parse(request.responseText)); + search(query.value, data.items, options); + boot = false; }); const options = { key: [ "title" ] }; - query.addEventListener("keyup", function() { - search(query.value, data.items, options); - }); - query.addEventListener("focusin", function() { - search(query.value, data.items, options); + [ + "keyup", + "focusin" + ].forEach(function(event) { + query.addEventListener(event, function() { + if (data.items) search(query.value, data.items, options); + else { + boot = true; + initialize(); + } + }); }); - search(query.value, data.items, options); }).catch(function(error) { console.error("ERROR: Failed to load fuzzy search", error); + boot = true; + initialize(); }); } } -- cgit v1.2.3