import * as params from '@params'; var fuse; // holds our search engine var resList = document.getElementById('searchResults'); var sInput = document.getElementById('searchInput'); var first, last, current_elem = null var resultsAvailable = false; // load our search index window.onload = function () { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { if (xhr.status === 200) { var data = JSON.parse(xhr.responseText); if (data) { // fuse.js options; check fuse.js website for details var options = { distance: 100, threshold: 0.4, ignoreLocation: true, keys: [ 'title', 'permalink', 'summary', 'content' ] }; if (params.fuseOpts) options = params.fuseOpts; fuse = new Fuse(data, options); // build the index from the json file } } else { console.log(xhr.responseText); } } }; xhr.open('GET', "../index.json"); xhr.send(); } function activeToggle(ae) { document.querySelectorAll('.focus').forEach(function (element) { // rm focus class element.classList.remove("focus") }); if (ae) { ae.focus() document.activeElement = current_elem = ae; ae.parentElement.classList.add("focus") } else { document.activeElement.parentElement.classList.add("focus") } } function reset() { resultsAvailable = false; resList.innerHTML = sInput.value = ''; // clear inputbox and searchResults sInput.focus(); // shift focus to input box } // execute search as each character is typed sInput.onkeyup = function (e) { // run a search query (for "term") every time a letter is typed // in the search box 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 for (let item in results) { resultSet += `