homegrade_theme_production/resources/js/archive-template-news.js

46 lines
1.4 KiB
JavaScript

function loadMoreNewsInit() {
const loadMoreButton = document.querySelector('#load-more-news');
if (!loadMoreButton) return;
function loadMoreNews() {
console.log('loadMoreNews');
}
loadMoreButton.addEventListener('click', loadMoreNews);
}
function filterNewsInit() {
const filterNewsToolbar = document.querySelector('.filters-toolbar--archive-news');
if (!filterNewsToolbar) return;
const filterButtons = filterNewsToolbar.querySelectorAll('.filter__action-button');
if (!filterButtons) return;
filterButtons.forEach((button) => {
const termId = button.getAttribute('data-term-id');
button.addEventListener('click', hydrateNewsFeedByTypeId);
});
}
async function hydrateNewsFeedByTypeId(e) {
const filterID = e.target.getAttribute('data-term-id');
let newCardsContent;
if (filterID === 'all') {
const response = await fetch(`/wp-json/homegrade-datas/v1/build/news`);
newCardsContent = await response.json();
} else {
const response = await fetch(`/wp-json/homegrade-datas/v1/build/news/type/${filterID}`);
newCardsContent = await response.json();
}
let container = document.querySelector('.card-grid-container');
container.innerHTML = newCardsContent;
}
export default function archiveNewsInit() {
loadMoreNewsInit();
filterNewsInit();
const cardNewsElements = document.querySelectorAll('.card-news');
}