// Global searchConfig document.addEventListener('DOMContentLoaded', () => { const input = document.querySelector('.search-input'); const container = document.querySelector('.search-result-container'); const localSearch = new LocalSearch({ path : searchConfig.path, top_n_per_article: searchConfig.top_n_per_article, unescape : searchConfig.unescape }); if (searchConfig.preload) { // preload the search data when the page loads console.log("loading page"); localSearch.fetchData(); } function openSearchPopup() { document.querySelector('.search-popup').classList.add('search-activate'); if (!localSearch.isfetched) { localSearch.fetchData(); } } function closeSearchPopup() { document.querySelector('.search-popup').classList.remove('search-activate'); // refresh search box input.value = ''; container.innerHTML = `
`; } // open search box document.querySelector('.search-btn').addEventListener('click', openSearchPopup); // close search box document.querySelector('.search-popup-overlay').addEventListener('click', closeSearchPopup); document.querySelector('.search-close-btn').addEventListener('click', closeSearchPopup); function displaySearchResult() { if (!localSearch.isfetched) return; const searchText = input.value.trim().toLowerCase(); const keywords = searchText.split(/[-\s]+/); if (searchText.length > 0) { resultItems = localSearch.getResultItems(keywords); } if (keywords.length === 1 && keywords[0] === '') { // no input container.innerHTML = `` } else if (resultItems.length === 0) { // no result container.innerHTML = ``; } else { // display result(s) container.innerHTML = `