(function () { "use strict"; var index = null; var input = document.querySelector(".docs-search-input"); var results = document.querySelector(".docs-search-results"); if (!input || !results) return; var timer = null; fetch("/docs/search.json") .then(function (r) { return r.json(); }) .then(function (data) { index = data; }); input.addEventListener("input", function () { clearTimeout(timer); timer = setTimeout(doSearch, 150); }); function doSearch() { var q = input.value.trim().toLowerCase(); results.innerHTML = ""; if (!q || !index) { results.classList.add("hidden"); return; } var matches = index.filter(function (entry) { return ( entry.title.toLowerCase().indexOf(q) !== -1 || entry.body_text.toLowerCase().indexOf(q) !== -1 ); }); if (matches.length === 0) { results.classList.remove("hidden"); results.innerHTML = '
No results found.
'; return; } results.classList.remove("hidden"); matches.slice(0, 15).forEach(function (entry) { var a = document.createElement("a"); a.href = "/docs/" + entry.slug; a.className = "docs-search-result"; a.innerHTML = '' + esc(entry.title) + "" + '' + esc(entry.section) + ""; results.appendChild(a); }); } function esc(s) { var d = document.createElement("span"); d.textContent = s; return d.innerHTML; } })();