diff options
author | tdro <tdro@noreply.example.com> | 2024-02-02 19:42:49 -0500 |
---|---|---|
committer | tdro <tdro@noreply.example.com> | 2024-02-02 19:42:49 -0500 |
commit | 8dedf83b22c0da44e0d83a9940291e0d1f0497e4 (patch) | |
tree | 4a1ab92c2a9d65adcc3e04ae672c4a8b06a3d4e1 /assets/js | |
parent | e3d4279567d1fb6bf1ac9523fe7b2251ba8f0944 (diff) | |
download | canory-8dedf83b22c0da44e0d83a9940291e0d1f0497e4.tar.gz canory-8dedf83b22c0da44e0d83a9940291e0d1f0497e4.tar.bz2 canory-8dedf83b22c0da44e0d83a9940291e0d1f0497e4.zip |
static/js/fixedsearch: Avoid search conflict
Add some guards
Diffstat (limited to 'assets/js')
-rw-r--r-- | assets/js/index.js | 22 |
1 files changed, 15 insertions, 7 deletions
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(); }); } } |