(function () { if (window.__paginationJumpBound) { return; } window.__paginationJumpBound = true; function clampPage(value, total) { var page = parseInt(value, 10); if (!page || page < 1) { return 0; } if (total > 0 && page > total) { return total; } return page; } function buildPageURL(page) { var url = new URL(window.location.href); url.pathname = url.pathname.replace(/\/page\/\d+\/?$/, "").replace(/\/$/, ""); url.searchParams.delete("page"); if (page > 1) url.pathname += "/page/" + page; return url.pathname + url.search + url.hash; } document.addEventListener("submit", function (event) { var form = event.target; if (!form || !form.matches || !form.matches("[data-pagination-jump]")) { return; } event.preventDefault(); var nav = form.closest("[data-pagination]"); var input = form.querySelector(".pagination-jump-input"); var total = nav ? parseInt(nav.getAttribute("data-total"), 10) : 0; var current = nav ? parseInt(nav.getAttribute("data-page"), 10) : 0; var page = clampPage(input && input.value, total); if (!page || page === current) { return; } window.location.href = buildPageURL(page); }); })();