`).find("#recent-chips");
}
getRecentSearches() {
return JSON.parse(localStorage.getItem("recent_searches") || "[]");
}
attachEventListenersToChips() {
let me = this;
const chips = $(".recent-chip");
window.chips = chips;
for (let chip of chips) {
chip.addEventListener("click", () => {
me.searchBox[0].value = chip.innerText;
// Start search with `recent query`
me.searchBox.trigger("input");
me.searchBox.focus();
});
}
}
setRecentSearches(query) {
let recents = this.getRecentSearches();
if (recents.length >= this.MAX_RECENT_SEARCHES) {
// Remove the `first` query
recents.splice(0, 1);
}
if (recents.indexOf(query) >= 0) {
return;
}
recents.push(query);
localStorage.setItem("recent_searches", JSON.stringify(recents));
this.populateRecentSearches();
}
populateRecentSearches() {
let recents = this.getRecentSearches();
if (!recents.length) {
return;
}
let html = "";
recents.forEach((key) => {
html += `
`;
});
this.recents_container.html(html);
this.attachEventListenersToChips();
}
populateResults(data) {
if (data.length === 0 || data.message.results.length === 0) {
let empty_html = `
${ __('No results') }
`;
this.products_container.html(empty_html);
return;
}
let html = "";
let search_results = data.message.results;
search_results.forEach((res) => {
html += `