From c255d148d84ddc305fdd2b7e6a119ff1a89ddffb Mon Sep 17 00:00:00 2001 From: Aditya Telange <21258296+adityatelange@users.noreply.github.com> Date: Sat, 10 Apr 2021 00:58:40 +0530 Subject: [PATCH] Fix results being searched before index building; refactor resultSet generation to fix duplicate items with large db --- assets/js/fastsearch.js | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/assets/js/fastsearch.js b/assets/js/fastsearch.js index 4b9fdb6..4e10778 100644 --- a/assets/js/fastsearch.js +++ b/assets/js/fastsearch.js @@ -38,11 +38,6 @@ window.onload = function () { xhr.send(); } - -function itemGen(name, link) { - return `
  • ${name} »
  • ` -} - function activeToggle() { document.activeElement.parentElement.classList.toggle("focus") } @@ -57,23 +52,25 @@ function reset() { sInput.onkeyup = function (e) { // run a search query (for "term") every time a letter is typed // in the search box - const results = fuse.search(this.value.trim()); // the actual query being run using fuse.js + if (fuse) { + const results = fuse.search(this.value.trim()); // the actual query being run using fuse.js + if (results.length !== 0) { + // build our html if result exists + let resultSet = ''; // our results bucket - if (results.length !== 0) { - // build our html if result exists - let resultSet = ''; // our results bucket + for (let item in results) { + resultSet += `
  • ${results[item].item.title} »
    ` + + `
  • ` + } - for (let item in results) { - resultSet = resultSet + itemGen(results[item].item.title, results[item].item.permalink) + resList.innerHTML = resultSet; + resultsAvailable = true; + first = resList.firstChild; + last = resList.lastChild; + } else { + resultsAvailable = false; + resList.innerHTML = ''; } - - resList.innerHTML = resultSet; - resultsAvailable = true; - first = resList.firstChild; - last = resList.lastChild; - } else { - resultsAvailable = false; - resList.innerHTML = ''; } }