diff --git a/static/scripts/search.js b/static/scripts/search.js index 6ca2b0f..1d7f8b0 100644 --- a/static/scripts/search.js +++ b/static/scripts/search.js @@ -1,16 +1,12 @@ var searchAttr = 'data-search-mode'; function contains(a,m){ - if (m.length < 3) { - return false; - } - - return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0; + return (a.textContent || a.innerText || "").toUpperCase().includes(m) }; //on search document.getElementById("nav-search").addEventListener("keyup", function(event) { - var search = this.value; + var search = this.value.toUpperCase(); if (!search) { //no search, show all results @@ -49,23 +45,23 @@ document.getElementById("nav-search").addEventListener("keyup", function(event) elem.parentNode.style.display = "block"; }); //hide parents without children - document.querySelectorAll("nav > ul > li").forEach(function(parent){ + document.querySelectorAll("nav > ul > li").forEach(function(parent) { var countSearchA = 0; - parent.querySelectorAll("a").forEach((elem) >= { + parent.querySelectorAll("a").forEach(function(elem) { if (contains(elem, search)) { countSearchA++; } - } + }); var countUl = 0; - parent.querySelectorAll("ul").forEach((elem) >= { - if (contains(elem, search)) { + var countUlVisible = 0; + parent.querySelectorAll("ul").forEach(function(ulP) { + // count all elements that match the search + if (contains(ulP, search)) { countUl++; } - } - - var countUlVisible = 0; - parent.querySelectorAll("ul").forEach((ulP) >= { + + // count all visible elements var children = ulP.children for (i=0; i