{"version":3,"sources":["listing.js"],"names":["ListingItem","_this","this","colourways","document","querySelector","items","querySelectorAll","init","watchToggle","forEach","item","i","addEventListener","select","bind","e","element","currentTarget","title","dataset","src","listingSrc","srcRollover","listingSrcRollover","srcset","listingSrcset","srcsetRollover","listingSrcsetRollover","url","normalPrice","oldPrice","newPrice","fromLabel","listingItem","closest","listingTitle","listingImage","listingImageRollover","listingLink","listingNormalPrice","listingOldPrice","listingNewPrice","listingFromLabel","classList","remove","add","setAttribute","innerHTML","AndrewMartin"],"mappings":"AAAA,SAASA,cAAc,IAAAC,EAAAC,KACnBA,KAAKC,WAAaC,SAASC,cAAc,gCACzCH,KAAKI,MAAQF,SAASG,iBAAiB,sCAEvCL,KAAKM,KAAO,WACRP,EAAKE,WAAaC,SAASC,cAAc,gCACzCJ,EAAKK,MAAQF,SAASG,iBAAiB,sCAElCN,EAAKE,YAIVF,EAAKQ,aACT,EAGAP,KAAKO,YAAc,WACfR,EAAKK,MAAMI,QAAQ,SAACC,EAAMC,GACtBD,EAAKE,iBAAiB,QAASZ,EAAKa,OAAOC,KAAKd,GACpD,EACJ,EAEAC,KAAKY,OAAS,SAACE,GACX,IAAMC,EAAUD,EAAEE,cACZC,EAAQF,EAAQG,QAAQD,MACxBE,EAAMJ,EAAQG,QAAQE,WACtBC,EAAcN,EAAQG,QAAQI,mBAC9BC,EAASR,EAAQG,QAAQM,cACzBC,EAAiBV,EAAQG,QAAQQ,sBACjCC,EAAMZ,EAAQG,QAAQS,IAEtBC,EAAcb,EAAQG,QAAQU,YAC9BC,EAAWd,EAAQG,QAAQW,SAC3BC,EAAWf,EAAQG,QAAQY,SAC3BC,EAAYhB,EAAQG,QAAQa,UAE5BC,EAAcjB,EAAQkB,QAAQ,oBAC9BhC,EAAa+B,EAAY3B,iBAAiB,sCAC1C6B,EAAeF,EAAY7B,cAAc,2BACzCgC,EAAeH,EAAY7B,cAAc,+BACzCiC,EAAuBJ,EAAY7B,cAAc,wCACjDkC,EAAcL,EAAY7B,cAAc,0BACxCmC,EAAqBN,EAAY7B,cAAc,mCAC/CoC,EAAkBP,EAAY7B,cAAc,gCAC5CqC,EAAkBR,EAAY7B,cAAc,gCAC5CsC,EAAmBT,EAAY7B,cAAc,0BAEnDF,EAAWO,QAAQ,SAACC,EAAMC,GACtBD,EAAKiC,UAAUC,OAAO,4CAC1B,GACA5B,EAAQ2B,UAAUE,IAAI,6CAEtBT,EAAaU,aAAa,MAAO1B,GACjCgB,EAAaU,aAAa,SAAUtB,GACpCW,EAAaY,UAAY7B,EAErBqB,IACAA,EAAmBQ,UAAYlB,EAC/BW,EAAgBO,UAAYjB,EAC5BW,EAAgBM,UAAYhB,EAC5BW,EAAiBK,UAAYf,EAExBA,EAGDU,EAAiBC,UAAUC,OAAO,gCAFlCF,EAAiBC,UAAUE,IAAI,iCAMnCjB,GACAU,EAAYQ,aAAa,OAAQlB,GAGjCS,GAAwBX,IACxBW,EAAqBS,aAAa,MAAOxB,GACzCe,EAAqBS,aAAa,SAAUpB,GAEpD,CACJ,CAEAsB,aAAaf,YAAc,IAAIlC,YAC/BiD,aAAaf,YAAY1B","file":"../../javascript/listing.js","sourcesContent":["function ListingItem() {\n    this.colourways = document.querySelector('.product-listing__colourways');\n    this.items = document.querySelectorAll('.product-listing__colourways__item');\n\n    this.init = () => {\n        this.colourways = document.querySelector('.product-listing__colourways');\n        this.items = document.querySelectorAll('.product-listing__colourways__item');\n\n        if (!this.colourways) {\n            return;\n        }\n\n        this.watchToggle();\n    }\n\n    // Watch for click events\n    this.watchToggle = () => {\n        this.items.forEach((item, i) => {\n            item.addEventListener('click', this.select.bind(this));\n        });\n    }\n\n    this.select = (e) => {\n        const element = e.currentTarget;\n        const title = element.dataset.title;\n        const src = element.dataset.listingSrc;\n        const srcRollover = element.dataset.listingSrcRollover;\n        const srcset = element.dataset.listingSrcset;\n        const srcsetRollover = element.dataset.listingSrcsetRollover;\n        const url = element.dataset.url;\n\n        const normalPrice = element.dataset.normalPrice;\n        const oldPrice = element.dataset.oldPrice;\n        const newPrice = element.dataset.newPrice;\n        const fromLabel = element.dataset.fromLabel;\n\n        const listingItem = element.closest('.product-listing');\n        const colourways = listingItem.querySelectorAll('.product-listing__colourways__item');\n        const listingTitle = listingItem.querySelector('.product-listing__title');\n        const listingImage = listingItem.querySelector('.product-listing__image img');\n        const listingImageRollover = listingItem.querySelector('.product-listing__image img.rollover');\n        const listingLink = listingItem.querySelector('.product-listing__link');\n        const listingNormalPrice = listingItem.querySelector('.product-listing__price--normal');\n        const listingOldPrice = listingItem.querySelector('.product-listing__price--old');\n        const listingNewPrice = listingItem.querySelector('.product-listing__price--new');\n        const listingFromLabel = listingItem.querySelector('.product-listing__from');\n\n        colourways.forEach((item, i) => {\n            item.classList.remove('product-listing__colourways__item--active');\n        });\n        element.classList.add('product-listing__colourways__item--active');\n\n        listingImage.setAttribute('src', src);\n        listingImage.setAttribute('srcset', srcset);\n        listingTitle.innerHTML = title;\n\n        if (listingNormalPrice) {\n            listingNormalPrice.innerHTML = normalPrice;\n            listingOldPrice.innerHTML = oldPrice;\n            listingNewPrice.innerHTML = newPrice;\n            listingFromLabel.innerHTML = fromLabel;\n\n            if (!fromLabel) {\n                listingFromLabel.classList.add('product-listing__from--empty');\n            } else {\n                listingFromLabel.classList.remove('product-listing__from--empty');\n            }\n        }\n\n        if (url) {\n            listingLink.setAttribute('href', url);\n        }\n\n        if (listingImageRollover && srcsetRollover) {\n            listingImageRollover.setAttribute('src', srcRollover);\n            listingImageRollover.setAttribute('srcset', srcsetRollover);\n        }\n    }\n}\n\nAndrewMartin.listingItem = new ListingItem();\nAndrewMartin.listingItem.init();\n"],"sourceRoot":"../../../../resources/javascript"}