« get me outta code hell

search: minor client refactor - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/static/js
diff options
context:
space:
mode:
authorGio <sethg@ipi.org>2024-03-26 20:36:24 -0500
committer(quasar) nebula <qznebula@protonmail.com>2024-05-31 12:11:45 -0300
commit8e8011d79511d68309d99ea93688d2a64d6149a6 (patch)
tree9ae19a2b4d813097cd8d6e504f0fe21f236ba966 /src/static/js
parentc364e42237493bf8985da23fdc394df735fe6c3f (diff)
search: minor client refactor
Diffstat (limited to 'src/static/js')
-rw-r--r--src/static/js/client.js11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/static/js/client.js b/src/static/js/client.js
index 650a3925..a3d63719 100644
--- a/src/static/js/client.js
+++ b/src/static/js/client.js
@@ -3426,23 +3426,26 @@ async function initSearch() {
   // Copied directly from server search.js
   const indexes = makeSearchIndexes(FlexSearch);
 
-  window.indexes = indexes;
-
   const searchData =
     await fetch('/search-data/index.json')
       .then(resp => resp.json());
 
+  // If this fails, it's because an outdated index was cached.
+  // TODO: If this fails, try again once with a cache busting url.
   for (const [indexName, indexData] of Object.entries(searchData)) {
     for (const [key, value] of Object.entries(indexData)) {
-      window.indexes[indexName].import(key, value);
+      indexes[indexName].import(key, value);
     }
   }
+
+  // Expose variable to window
+  window.searchIndexes = indexes;
 }
 
 function searchAll(query, options = {}) {
   const results = {};
 
-  for (const [indexName, index] of Object.entries(window.indexes)) {
+  for (const [indexName, index] of Object.entries(window.searchIndexes)) {
     results[indexName] = index.search(query, options);
   }