1class LoadMore extends HTMLElement{constructor(){super(),this.addEventListener("click",this.loadMoreResults),this.loadMoreBtn=document.querySelector("[data-load-more]"),this.resourceGridNode=document.querySelector("[data-resource-grid]")}removePhcursorFromUrl(urlString){const url=new URL(urlString,window.location.origin);return url.searchParams.delete("phcursor"),url.pathname+(url.search?"?"+url.searchParams.toString():"")}loadMoreResults(){const{currentPage,pageSize,nextUrl,totalItems}=this.dataset,nextPage=parseInt(currentPage)+1;this.loadMoreBtn.setAttribute("disabled",!0),this.loadMoreBtn.classList.add("button__loading");let doc;const cleanUrl=this.removePhcursorFromUrl(nextUrl);fetch(cleanUrl.replace(/page=[0-9]+/,"page="+nextPage)).then(response=>response.text()).then(responseHTML=>{doc=new DOMParser().parseFromString(responseHTML,"text/html"),doc.querySelectorAll("[data-resource]").forEach(node=>this.resourceGridNode.append(node))}).catch(error=>{console.error("Failed to fetch next page resources - ",error)}).finally(()=>{this.remainingCountNode=this.querySelector("[data-remaining-count]"),this.dataset.currentPage=parseInt(currentPage)+1,this.loadMoreBtn.classList.remove("button__loading"),parseInt(totalItems)-nextPage*parseInt(pageSize)<0?this.remainingCountNode.innerHTML=0:(this.loadMoreBtn.removeAttribute("disabled"),this.remainingCountNode.innerHTML=parseInt(totalItems)-nextPage*parseInt(pageSize)),doc.getElementById("ProductGridContainer").querySelector("load-more")||this.remove()})}}customElements.define("load-more",LoadMore); 2//# sourceMappingURL=/cdn/shop/t/66/assets/load-more.js.map?v=111862826864033117491790069823
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.