';
return html;
}
function loadPage(panel, page, fallbackHref) {
var restUrl = panel.getAttribute('data-vfxrio-rest-url');
var max = parseInt(panel.getAttribute('data-vfxrio-max'), 10) || 10;
var currentId = parseInt(panel.getAttribute('data-vfxrio-current-id'), 10) || 0;
var excludeIds = (panel.getAttribute('data-vfxrio-exclude-ids') || '').split(',').map(function (id) { return parseInt(id, 10) || 0; }).filter(Boolean);
if (currentId && excludeIds.indexOf(currentId) === -1) {
excludeIds.push(currentId);
}
var mode = panel.getAttribute('data-vfxrio-mode') || 'recent';
var totalPages = parseInt(panel.getAttribute('data-vfxrio-total-pages'), 10) || 1;
var currentDate = panel.getAttribute('data-vfxrio-current-date') || '';
if (!restUrl || page < 1 || page > totalPages) {
return;
}
var url = new URL(restUrl, window.location.origin);
url.searchParams.set('status', 'publish');
url.searchParams.set('per_page', String(max));
url.searchParams.set('page', String(page));
url.searchParams.set('orderby', 'date');
url.searchParams.set('order', 'desc');
url.searchParams.set('_fields', 'id,date,link,title');
if (excludeIds.length) {
url.searchParams.set('exclude', excludeIds.join(','));
}
if (mode === 'older' && currentDate) {
url.searchParams.set('before', currentDate);
}
var resizeStartHeight = beginPanelResize(panel);
panel.classList.add('is-loading');
fetch(url.toString(), { credentials: 'same-origin' })
.then(function (response) {
if (!response.ok) {
throw new Error('REST request failed');
}
totalPages = parseInt(response.headers.get('X-WP-TotalPages'), 10) || totalPages;
return response.json().then(function (posts) {
return { posts: posts, totalPages: totalPages };
});
})
.then(function (payload) {
var dynamic = panel.querySelector('.vfxrio-more-posts__dynamic');
if (!dynamic) {
finishPanelResize(panel, resizeStartHeight);
return;
}
panel.setAttribute('data-vfxrio-page', String(page));
panel.setAttribute('data-vfxrio-total-pages', String(payload.totalPages));
dynamic.outerHTML = renderDynamic(payload.posts, page, payload.totalPages, panel);
var newDynamic = panel.querySelector('.vfxrio-more-posts__dynamic');
finishPanelResize(panel, resizeStartHeight);
if (newDynamic && !prefersReducedMotion()) {
newDynamic.classList.add('is-entering');
window.setTimeout(function () {
newDynamic.classList.remove('is-entering');
}, 320);
}
})
.catch(function () {
finishPanelResize(panel, resizeStartHeight);
if (fallbackHref) {
window.location.href = fallbackHref;
}
})
.finally(function () {
panel.classList.remove('is-loading');
});
}
document.addEventListener('click', function (event) {
var trigger = closest(event.target, '.vfxrio-more-posts__arrow[data-vfxrio-latest-page]');
if (!trigger || !trigger.getAttribute('href')) {
return;
}
var panel = closest(trigger, '[data-vfxrio-related-panel="1"]');
if (!panel) {
return;
}
event.preventDefault();
loadPage(panel, parseInt(trigger.getAttribute('data-vfxrio-latest-page'), 10) || 1, trigger.getAttribute('href'));
});
})();