1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[84984],{3343(e,t,s){s.d(t,{A:()=>n});var r=s(5683);let i="element-loader-backdrop";class n extends r.A{static create(e){e.classList.add("has-element-loader"),n.exists(e)||(n.appendLoader(e),setTimeout(()=>{let t=e.querySelector(`.${i}`);t&&t.classList.add("element-loader-backdrop-open")},1))}static remove(e){e.classList.remove("has-element-loader");let t=e.querySelector(`.${i}`);t&&t.remove()}static exists(e){return e.querySelectorAll(`.${i}`).length>0}static getTemplate(){return` 2 <div class="${i}"> 3 <div class="loader" role="status"> 4 <span class="visually-hidden">Loading...</span> 5 </div> 6 </div> 7 `}static appendLoader(e){e.insertAdjacentHTML("beforeend",n.getTemplate())}}},4984(e,t,s){s.r(t),s.d(t,{default:()=>a});var r=s(4335),i=s(9068),n=s(3343);class a extends r.A{init(){n.A.create(this.el),this.httpClient=new i.A,this._getWishlistStorage(),this._loadProductListForGuest()}_getWishlistStorage(){let e=document.querySelector("#wishlist-basket");e&&(this._wishlistStorage=window.PluginManager.getPluginInstanceFromElement(e,"WishlistStorage"),this._wishlistStorage.load())}_loadProductListForGuest(){let e=Object.entries(this._wishlistStorage.getProducts()).map(e=>{let[t,s]=e;return{productId:t,dateTime:new Date(s).getTime()}}).sort((e,t)=>t.dateTime-e.dateTime).map(e=>e.productId);fetch(this.options.pageletRouter.path,{method:"POST",body:JSON.stringify({productIds:e}),headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/json"}}).then(e=>e.text()).then(t=>{this.el.innerHTML=t;let s=this.el.querySelectorAll("form.product-wishlist-form");s&&s.length===e.length||this._cleanInvalidGuestProductIds(e,s),s&&s.length>0&&s.forEach(e=>{this._removeGuestProductFormHandler(e)}),n.A.remove(this.el),window.PluginManager.initializePlugins()})}_removeGuestProductFormHandler(e){e.addEventListener("submit",t=>{t.preventDefault();let s=e.getAttribute("action").split("/"),r=s[s.length-1];if(r){let t=e.closest(".cms-listing-col");this._wishlistStorage.remove(r),t.remove(),0===this._wishlistStorage.getCurrentCounter()&&this._loadProductListForGuest()}})}_cleanInvalidGuestProductIds(e,t){let s=[];t.forEach(e=>{let t=e.getAttribute("action").split("/"),r=t[t.length-1];s.push(r)}),e.forEach(e=>{-1===s.indexOf(e)&&this._wishlistStorage.remove(e)})}}},5683(e,t,s){s.d(t,{A:()=>n,c:()=>i});let r="loader",i={BEFORE:"before",AFTER:"after",INNER:"inner"};class n{constructor(e,t=i.BEFORE){this.parent=e instanceof Element?e:document.body.querySelector(e),this.position=t}create(){if(!this.exists()){if(this.position===i.INNER){this._previousHTML=this.parent.innerHTML,this.parent.innerHTML=n.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),n.getTemplate())}}remove(){if(this.position===i.INNER){this.parent.innerHTML=this._previousHTML;return}this.parent.querySelectorAll(`.${r}`).forEach(e=>e.remove())}exists(){return this.parent.querySelectorAll(`.${r}`).length>0}_getPosition(){return this.position===i.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return`<div class="${r}" role="status"> 8 <span class="visually-hidden">Loading...</span> 9 </div>`}static SELECTOR_CLASS(){return r}}},9068(e,t,s){s.d(t,{A:()=>r});class r{constructor(){this._request=null,this._errorHandlingInternal=!1}get(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",r=this._createPreparedRequest("GET",e,s);return this._sendRequest(r,null,t)}post(e,t,s){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";r=this._getContentType(t,r);let i=this._createPreparedRequest("POST",e,r);return this._sendRequest(i,t,s)}delete(e,t,s){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";r=this._getContentType(t,r);let i=this._createPreparedRequest("DELETE",e,r);return this._sendRequest(i,t,s)}patch(e,t,s){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";r=this._getContentType(t,r);let i=this._createPreparedRequest("PATCH",e,r);return this._sendRequest(i,t,s)}
9abort(){if(this._request)return this._request.abort()}setErrorHandlingInternal(e){this._errorHandlingInternal=e}_registerOnLoaded(e,t){t&&(!0===this._errorHandlingInternal?(e.addEventListener("load",()=>{t(e.responseText,e)}),e.addEventListener("abort",()=>{console.warn(`the request to ${e.responseURL} was aborted`)}),e.addEventListener("error",()=>{console.warn(`the request to ${e.responseURL} failed with status ${e.status}`)}),e.addEventListener("timeout",()=>{console.warn(`the request to ${e.responseURL} timed out`)})):e.addEventListener("loadend",()=>{t(e.responseText,e)}))}_sendRequest(e,t,s){return this._registerOnLoaded(e,s),e.send(t),e}_getContentType(e,t){return e instanceof FormData&&(t=!1),t}_createPreparedRequest(e,t,s){return this._request=new XMLHttpRequest,this._request.open(e,t),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),s&&this._request.setRequestHeader("Content-type",s),this._request}}}}]);
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.