
Pacific Outdoor KItchens
Pacific Outdoor Kitchens Island Modules
Pacific Outdoor Kitchens feature powder coated aluminum exteriors, coupled with high-quality stainless-steel interiors. Our outdoor kitchen use best in class accessories, such as Blum soft close door hinges. The ingenious design to level your kitchen takes into account most backyard patio undulations. The modular design allows for configurations to suit your style and budget. Importantly, Pacific Outdoor Kitchens partners with only the top-quality countertop, grill, and refrigeration manufacturers to make your outdoor dining and entertaining experience, exclusive to you.
{
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');
">