PageSourceSearch

https://www.antwerpavenue.com/cdn/shop/t/21/assets/compare-product.js?v=140858032008835558281757161943

js antwerpavenue.com collected 2026-09-26 15:13:59 UTC 4,166 bytes, 2 lines download raw bytes

1class CompareProduct{constructor(){this.storageKey="m-compare-products",this.products=[],this.productNodes={},this.pageTemplate="page.product-compare",this.addedClass="added-to-compare",this.selectors={container:".m-compare-page-content__wrapper",noProducts:".m-compare-no-products",wrapper:".m-compare-card",item:".m-product-card",compareButton:".m-compare-button",compareText:".m-compare-button-text",removeButton:".m-compare-remove-button",count:".m-compare-count"},this.products=Array.from(new Set(Array.from(JSON.parse(localStorage.getItem(this.storageKey))||[]))),this.isComparePage=MinimogSettings.template===this.pageTemplate,this.init()}init=()=>{this.isComparePage&&(this.renderComparePage(),this.addEventToRemoveButtons()),this.setCompareButtonsState(),this.addEventToCompareButtons(),this.updateCompareCount()};saveToStorage=()=>{this.products=Array.from(new Set(this.products)),localStorage.setItem(this.storageKey,JSON.stringify(this.products))};addToCompare(handle){handle&&this.products.indexOf(handle)===-1&&(this.products.push(handle),this.saveToStorage())}removeFromCompare(handle){this.products=this.products.filter(hdl=>hdl!==handle),this.saveToStorage()}setCompareButtonsState=()=>{document.querySelectorAll(this.selectors.compareButton).forEach(btn=>{const prodHandle=btn&&btn.dataset.productHandle;this.products.indexOf(prodHandle)>=0&&btn&&!btn.classList.contains(this.addedClass)&&this.toggleButtonState(btn,!0)})};updateCompareCount=()=>{const size=this.products.length;[...document.querySelectorAll(this.selectors.count)].forEach(elem=>{elem.textContent=size,size<1?elem.classList.add("m:hidden"):elem.classList.remove("m:hidden")})};addEventToCompareButtons=()=>{addEventDelegate({selector:this.selectors.compareButton,handler:(e,btn)=>{e.preventDefault();const productHandle=btn&&btn.dataset.productHandle;if(productHandle){const active=!btn.classList.contains(this.addedClass);this.toggleButtonState(btn,active),this.updateCompareCount(),document.querySelectorAll(this.selectors.compareButton).forEach(btnItem=>{if(btnItem&&btnItem.dataset.productHandle===productHandle&&btnItem!==btn){const isAdded=!btnItem.classList.contains(this.addedClass);this.toggleButtonState(btnItem,isAdded)}})}}})};toggleButtonState=(btn,active)=>{const productHandle=btn&&btn.dataset.productHandle,compareText=btn&&btn.querySelector(this.selectors.compareText);if(active?(this.addToCompare(productHandle),btn.classList.add(this.addedClass)):(this.removeFromCompare(productHandle),btn.classList.remove(this.addedClass)),compareText){const temp=compareText.dataset.revertText;compareText.dataset.revertText=compareText.textContent,compareText.textContent=temp}};addEventToRemoveButtons=()=>{addEventDelegate({selector:this.selectors.removeButton,handler:(e,btn)=>{e.preventDefault();const prod=btn&&btn.closest(this.selectors.wrapper);prod&&prod.remove();const productHandle=btn&&btn.dataset.productHandle;productHandle&&(this.removeFromCompare(productHandle),this.updateCompareCount(),this.products.length||this.showNoProductsMessage())}})};renderComparePage=async()=>{const container=document.querySelector(this.selectors.container);if(container){let noItemAvailable=!0;if(this.products.length){const promises=this.products.map(async hdl=>{const prodHTML=await fetchCache(`/products/${hdl}?view=compare`),item=document.createElement("DIV");item.classList.add("m:hidden","m:column","m-compare-card"),item.innerHTML=prodHTML,item.querySelector(this.selectors.item)&&(noItemAvailable=!1,this.productNodes[hdl]=item)});await Promise.all(promises),this.products.forEach(hdl=>{const prodNode=this.productNodes[hdl];prodNode&&(container.appendChild(prodNode),prodNode.classList.remove("m:hidden"))})}noItemAvailable&&this.showNoProductsMessage(),container.classList.add("is-visible")}};showNoProductsMessage=()=>{const container=document.querySelector(this.selectors.container),noProducts=document.querySelector(this.selectors.noProducts);container.classList.add("m:hidden"),noProducts.classList.remove("m:hidden")}}MinimogTheme.CompareProduct=new CompareProduct;
2//# sourceMappingURL=/cdn/shop/t/21/assets/compare-product.js.map?v=14
20858032008835558281757161943

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.