{"version":3,"sources":["webpack:///./assets/javascripts/modules/components/AddToWishlistComponent.js"],"names":["AddToWishlistComponent","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","notAdded","$","SELECTORS","added","addToWish","iconWishList","Component","show","on","off","_this2","ctx","e","stopPropagation","$this","$emit","$customEvents","PRODUCT_EVENTS","addtowish","data","removefromwish","$on","sizechanged","_ref","event","payload","code","button","log","addedtowish","$cta","removeClass","CLASSES","addClass","removedfromwish","hasClass","MODAL_EVENTS","afterOpen","_ref2","modalBtn","rootEl","querySelector","vexx","setAttribute","conf","size","addEventListener","preventDefault","close","document","querySelectorAll","forEach","icon","_this3","bindEvents","window","isAddedToWishlist"],"mappings":"oXAEqBA,cAoBnB,SAAAA,iGAAcC,CAAAC,KAAAF,GAAA,IAAAG,mKAAAC,CAAAF,MAAAF,EAAAK,WAAAC,OAAAC,eAAAP,IAAAQ,KAAAN,OAAA,OAGZC,EAAKM,SAAWC,EAAEP,EAAKQ,UAAUF,UACjCN,EAAKS,MAAQF,EAAEP,EAAKQ,UAAUC,OAC9BT,EAAKU,UAAYH,EAAEP,EAAKQ,UAAUE,WAClCV,EAAKW,aAAeJ,EAAEP,EAAKQ,UAAUG,cANzBX,qUApBoCY,6CAEhD,OACEF,UAAW,mBACXJ,SAAU,gBACVG,MAAO,iBACPE,aAAc,iDAKhB,OACEE,KAAM,OACNC,GAAI,gBACJC,IAAK,eACLN,MAAO,mBACPH,SAAU,6DAaD,IAAAU,EAAAjB,KACPkB,EAAMlB,KAGVQ,EAAE,QAAQO,GAAG,kBAAmBG,EAAIT,UAAUF,SAAU,SAAUY,GAChEA,EAAEC,kBACF,IAAIC,EAAQb,EAAER,MACdkB,EAAII,MAAMJ,EAAIK,cAAcC,eAAeC,UAAWJ,GACtDA,EAAMK,KAAK,kBAAmB,MAGhClB,EAAE,QAAQO,GAAG,uBAAwBG,EAAIT,UAAUC,MAAO,SAAUS,GAClEA,EAAEC,kBACF,IAAIC,EAAQb,EAAER,MACdkB,EAAII,MAAMJ,EAAIK,cAAcC,eAAeG,eAAgBN,GAC3DA,EAAMK,KAAK,kBAAmB,iBAGhC1B,KAAK4B,IAAI5B,KAAKuB,cAAcC,eAAeK,YAAY,SAAAC,GAAsBA,EAApBC,MAAoB,IAAbC,EAAaF,EAAbE,QACxDC,EAAOzB,EAAEwB,EAAQE,QAAQR,KAAK,QAClCT,EAAKkB,IAAIF,GACThB,EAAKN,UAAUe,KAAK,OAAQO,KAIhCjC,KAAK4B,IAAI5B,KAAKuB,cAAcC,eAAeY,YAAa,SAACjB,GACvD,IAAIc,EAAOzB,EAAEW,EAAEa,SAASN,KAAK,QACzBW,EAAO7B,EAAEW,EAAEa,SAEfK,EAAKC,YAAYrB,EAAKsB,QAAQvB,KAAKwB,SAASvB,EAAKsB,QAAQxB,IACzDsB,EAAKX,KAAK,OAAV,2CAA6DO,KAG/DjC,KAAK4B,IAAI5B,KAAKuB,cAAcC,eAAeiB,gBAAiB,SAACtB,GAC3D,IAAIc,EAAOzB,EAAEW,EAAEa,SAASN,KAAK,QACzBW,EAAO,IAETA,EADE7B,EAAEW,EAAEa,SAASU,SAAS,mBACjBlC,EAAEW,EAAEa,SAEJxB,gCAAgCyB,EAAhC,MAGJK,YAAYrB,EAAKsB,QAAQxB,IAAIyB,SAASvB,EAAKsB,QAAQvB,KACxDqB,EAAKX,KAAK,OAAV,+BAIF1B,KAAK4B,IAAI5B,KAAKuB,cAAcoB,aAAaC,UAAW,SAAAC,GAAqBA,EAAnBd,MAAmB,IAAbC,EAAaa,EAAbb,QAEtDc,EAAWd,EAAQe,OAAOC,cAAc9B,EAAIT,UAAUE,WAE1D,GAAgB,MAAZmC,EAAJ,CAEA,IAAIG,EAAOjB,EAEXc,EAASI,aAAa,YAAYlB,EAAQmB,KAAKC,MAE/CN,EAASO,iBAAiB,QAAQ,SAASlC,GACzCA,EAAEmC,iBACFnC,EAAEC,kBAEF,IAAIC,EAAQb,EAAER,MACdkB,EAAII,MAAMJ,EAAIK,cAAcC,eAAeC,UAAWJ,GAEtD4B,EAAKM,yDAOKC,SAASC,iBAAiB,kBAClCC,QAAQ,SAACC,GACbnD,EAAEmD,GAAMjC,KAAK,kBAAmB,uCAI3B,IAAAkC,EAAA5D,KACPA,KAAKmC,IAAI,gBACTnC,KAAK6D,aACLC,OAAOT,iBAAiB,OAAQ,SAACtB,GAC/B6B,EAAKG,+BA9GUjE","file":"component-AddToWishlistComponent.chunks.js","sourcesContent":["import Component from '../abstracts/Component';\n\nexport default class AddToWishlistComponent extends Component {\n get SELECTORS() {\n return {\n addToWish: '.js-wishlist-cta',\n notAdded: '.js-addtowish',\n added: '.js-added-wish',\n iconWishList: '#iconWishlist',\n };\n }\n\n get CLASSES() {\n return {\n show: 'show',\n on: 'js-added-wish',\n off: 'js-addtowish',\n added: 'icon-wishlist-on',\n notAdded: 'icon-wishlist'\n };\n }\n\n constructor() {\n super();\n\n this.notAdded = $(this.SELECTORS.notAdded);\n this.added = $(this.SELECTORS.added);\n this.addToWish = $(this.SELECTORS.addToWish);\n this.iconWishList = $(this.SELECTORS.iconWishList);\n }\n\n bindEvents() {\n let ctx = this;\n\n //click on wishlist\n $('body').on('click.addtowish', ctx.SELECTORS.notAdded, function (e) {\n e.stopPropagation();\n let $this = $(this);\n ctx.$emit(ctx.$customEvents.PRODUCT_EVENTS.addtowish, $this);\n $this.data('tracking-action', '');\n });\n\n $('body').on('click.removefromwish', ctx.SELECTORS.added, function (e) {\n e.stopPropagation();\n let $this = $(this);\n ctx.$emit(ctx.$customEvents.PRODUCT_EVENTS.removefromwish, $this);\n $this.data('tracking-action', 'wishlistAdd');\n });\n\n this.$on(this.$customEvents.PRODUCT_EVENTS.sizechanged,({event, payload}) => {\n let code = $(payload.button).data('code');\n this.log(code);\n this.addToWish.data('code', code);\n }\n );\n\n this.$on(this.$customEvents.PRODUCT_EVENTS.addedtowish, (e) => {\n let code = $(e.payload).data('code');\n let $cta = $(e.payload);\n // $(this.SELECTORS.iconWishList+\"-\"+code).removeClass(this.CLASSES.notAdded).addClass(this.CLASSES.added);\n $cta.removeClass(this.CLASSES.off).addClass(this.CLASSES.on);\n $cta.data('href', `/action/miniwishlist/remove?productCode=${code}`);\n });\n\n this.$on(this.$customEvents.PRODUCT_EVENTS.removedfromwish, (e) => {\n let code = $(e.payload).data('code');\n let $cta = '';\n if ($(e.payload).hasClass('js-wishlist-cta')) {\n $cta = $(e.payload);\n } else {\n $cta = $(`.js-wishlist-cta[data-code=${code}]`);\n }\n // $(this.SELECTORS.iconWishList+\"-\"+code).removeClass(this.CLASSES.added).addClass(this.CLASSES.notAdded);\n $cta.removeClass(this.CLASSES.on).addClass(this.CLASSES.off);\n $cta.data('href', `/action/ajax/wishlist-add`);\n });\n\n // modal error exceed quantity afterOpen\n this.$on(this.$customEvents.MODAL_EVENTS.afterOpen, ({event,payload}) => {\n // find the wishlist button in the modal\n let modalBtn = payload.rootEl.querySelector(ctx.SELECTORS.addToWish);\n // check\n if (modalBtn == null) return;\n // vex instance\n let vexx = payload;\n // update size\n modalBtn.setAttribute('data-code',payload.conf.size);\n // bind click to add to wishlist\n modalBtn.addEventListener('click',function(e) {\n e.preventDefault();\n e.stopPropagation();\n // go add to wish\n let $this = $(this);\n ctx.$emit(ctx.$customEvents.PRODUCT_EVENTS.addtowish, $this);\n // close modal\n vexx.close();\n });\n });\n }\n\n isAddedToWishlist() {\n //check on load to unset tracking action, avoids tracking call on remove-from-wishlist\n const icons = document.querySelectorAll(\".js-added-wish\");\n icons.forEach((icon) => {\n $(icon).data('tracking-action', '');\n });\n }\n\n render() {\n this.log('Rendering...');\n this.bindEvents();\n window.addEventListener('load', (event) => {\n this.isAddedToWishlist();\n });\n }\n}\n"],"sourceRoot":""}