`;
return;
}
const search = await pagefind.debouncedSearch(query);
if (search === null) {
return;
} else {
const resultsLength = search.results.length
const resultsData = await Promise.all(search.results.slice(0, 5).map(r => r.data()));
const results = resultsData.map((item, index) => ({...item, index: index + 1}));
if (query) {
searchBarResults.classList.remove("hidden");
} else {
searchBarResults.classList.add("hidden");
}
let resultsHTML = `
${resultsLength} results
`;
resultsHTML += results
.map((item) => {
return `
`;
})
.join("");
if (resultsLength > 5) {
resultsHTML += `
`;
}
searchBarResults.innerHTML = resultsHTML;
}
}
searchBarInput.addEventListener("input", search);
if (window.heap !== undefined) {
searchBarResults.addEventListener('click', function (event) {
if (event.target.tagName === 'A' && event.target.closest('.link')) {
const searchQuery = event.target.getAttribute('data-query');
const resultIndex = event.target.getAttribute('data-index');
const url = new URL(event.target.href);
const properties = {
docs_search_target_path: url.pathname,
docs_search_target_title: event.target.textContent,
docs_search_query_text: searchQuery,
docs_search_target_index: resultIndex,
docs_search_source_path: window.location.pathname,
docs_search_source_title: document.title,
};
heap.track("Docs - Search - Click - Result Link", properties);
}
});
}
});