
Charcoal Barbecues
Charcoal barbecues are a great way to add extra flavour and are perfect for everything from low and slow cooking to high heat searing. The addition of hardwood chips or chunks also compliments the natural taste of the food while introducing an additional layer of flavour taking your meals to the next level.
{
const activeParams = [...activeFilters];
if (activeSort.value) {
activeParams.push({
key: 'sort_by',
value: activeSort.value,
});
}
if (activePage > 1) {
activeParams.push({
key: 'page',
value: activePage,
});
}
// For open
activeParams.push({
key: 'open_filter_groups',
value: openFilterGroups.join(','),
});
const filteredSortedUrl = `${window.location.pathname}${activeParams.length > 0 ? `?${activeParams.map(v => `${v.key}=${v.value}`).join('&')}` : ''}`;
const productGridDiv = '.product-grid-items';
const productGrid = $el.querySelector(productGridDiv);
const productFiltersDiv = '.product-grid-filters';
const productFilters = $el.querySelector(productFiltersDiv);
$store.ajaxWorking = true;
fetch(filteredSortedUrl)
.then((response) => response.text())
.then((responseText) => {
const html = new DOMParser().parseFromString(responseText, 'text/html');
// Update items
const productGridUpdated = html.querySelector(productGridDiv);
productGrid.innerHTML = productGridUpdated.innerHTML;
// Grab filters
const productFiltersUpdated = html.querySelector(productFiltersDiv);
productFilters.replaceWith(productFiltersUpdated);
$store.ajaxWorking = false;
history.pushState({}, '', filteredSortedUrl);
// Scroll to top.
const scrollTop =
document.querySelector('.product-grid-items').getBoundingClientRect().top +
window.scrollY -
document.querySelector('.site-header').getBoundingClientRect().height - 40;
window.scrollTo({ top: scrollTop, behavior: 'smooth' });
})
.catch((e) => {
console.error(e);
$store.ajaxWorking = false;
});
}"
@paginate="
activePage = $event.detail;
$dispatch('update');
"
@sort="
activeSort = $event.detail;
$dispatch('update');
"
@filter="
$dispatch('update');
">