PageSourceSearch

https://www.babybauch-abdruecke.de/cdn/shop/t/19/assets/pagination.js?v=96340499417543974911771008035

js babybauch-abdruecke.de collected 2026-10-10 02:22:09 UTC 4,652 bytes, 2 lines download raw bytes

1class paginationLoader extends HTMLElement{constructor(){super(),this.skeletonTopLoader=document.querySelector("[data-skeleton-pagination-top]"),this.skeletonBottomLoader=document.querySelector("[data-skeleton-pagination-bottom]"),this.loadMoreButton=this.querySelector(".js-load-more"),this.loadMoreButton.addEventListener("click",this.onLoadMoreClick.bind(this)),this.totalPages=parseInt(this.querySelector("[data-total-pages]").value),this.inputNextUrl=this.querySelector("[data-next-url]"),window.location.search&&this.dataset.disableLoadPages!="true"&&this.loadPages()}loadContent(nextUrl){this.loadMoreButton.setAttribute("disabled",!0),this.loadMoreButton.classList.add("btn--loading"),this.handleLoadingState(!0,!0),fetch(nextUrl).then(response=>response.text()).then(responseText=>{const id="data-pagination",htmlElm=new DOMParser().parseFromString(responseText,"text/html"),sectionInnerHTML=htmlElm.getElementById(id),productsElm=document.getElementById(id),totalPages=htmlElm.querySelector("[data-total-pages]").value,currentPage=htmlElm.querySelector("[data-current-page]").value,nextPageUrl=htmlElm.querySelector("[data-next-url]").value;this.loadMoreButton.removeAttribute("disabled"),this.loadMoreButton.classList.remove("btn--loading"),this.handleLoadingState(!1,!0),this.querySelector("[data-total-pages]").value=totalPages,this.querySelector("[data-current-page]").value=currentPage,this.querySelector("[data-next-url]").value=nextPageUrl,nextPageUrl||this.loadMoreButton.classList.add("hide"),document.querySelectorAll('input[name="page"]').forEach(elm=>{elm.value=currentPage});let focusElem;sectionInnerHTML.querySelectorAll(".data-pagination__item").forEach((elm,index)=>{index===0&&(focusElem=elm.querySelector(".grid-view-item__link")),productsElm.appendChild(elm),elm.querySelectorAll("img").forEach(img=>{const srcImg=img.src;img.src=srcImg+"t="+new Date().getTime()})}),currentPage>=this.totalPages&&this.loadMoreButton.classList.add("hide"),focusElem&&focusElem.focus()}).catch(error=>{this.loadMoreButton.removeAttribute("disabled"),this.loadMoreButton.classList.remove("btn--loading")})}static setListeners(){const onHistoryChange=event=>{const urlParams=event.state?event.state.urlParams:paginationLoader.urlParamsInitial;urlParams!==paginationLoader.urlParamsPrev&&paginationLoader.renderPage(urlParams,null,!1)};window.addEventListener("popstate",onHistoryChange)}renderPage(urlParams,event,updateURLHash=!0){typeof FacetFiltersForm<"u"&&(FacetFiltersForm.searchParamsPrev=urlParams);const url=`${window.location.pathname}?${urlParams}`;this.loadContent(url),updateURLHash&&paginationLoader.updateURLHash(urlParams)}static updateURLHash(urlParams){history.pushState({urlParams},"",`${urlParams&&"?".concat(urlParams)}`)}loadPages(){const params=getAllUrlParams(window.location.href),page=params.page?parseInt(params.page):null;if(page&&page>1){const currentUrl=`${window.location.pathname}${window.location.search}`,pagesArray=Array.apply(null,Array(page-1)).map(function(x,i){return i}),id="data-pagination",productsElm=document.getElementById(id),newDiv=document.createElement("div");this.handleLoadingState(!0);const promises=pagesArray.map(pageLoop=>{pageLoop=pageLoop+1;const fetchUrl=currentUrl.replace(/page=[0-9]+/,"page="+pageLoop);return fetch(fetchUrl).then(response=>response.text())});Promise.all(promises).then(texts=>{texts.forEach(responseText=>{new DOMParser().parseFromString(responseText,"text/html").getElementById(id).querySelectorAll(".data-pagination__item").forEach(elm=>{newDiv.appendChild(elm)})}),productsElm.insertAdjacentHTML("afterbegin",newDiv.innerHTML),this.handleLoadingState(!1),this.totalPages&&page>=this.totalPages&&this.loadMoreButton.classList.add("hide")})}}handleLoadingState(isLoading,loadingNextpage){isLoading?loadingNextpage?this.skeletonBottomLoader&&this.skeletonBottomLoader.classList.remove("hide"):this.skeletonTopLoader&&this.skeletonTopLoader.classList.remove("hide"):(this.skeletonTopLoader&&this.skeletonTopLoader.classList.add("hide"),this.skeletonBottomLoader&&this.skeletonBottomLoader.classList.add("hide"))}onLoadMoreClick(event){event.preventDefault();const nextUrlParams=this.inputNextUrl.value.split("?")[1];this.loadMoreButton.setAttribute("disabled",!0),this.loadMoreButton.classList.add("btn--loading"),this.renderPage(nextUrlParams)}}
1paginationLoader.paginationData=[],paginationLoader.urlParamsInitial=window.location.search.slice(1),paginationLoader.urlParamsPrev=window.location.search.slice(1),customElements.define("pagination-loader",paginationLoader);
2//# sourceMappingURL=/cdn/shop/t/19/assets/pagination.js.map?v=96340499417543974911771008035

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.