{"version":3,"sources":["webpack:///./modules/event_tracking/carousel.js"],"names":["items","linkedItems","getLinks","i","length","querySelector","push","addEventListener","itemClick","bind","this","addItemClickListeners","item","e","window","google_tag_manager","preventDefault","dataAttribute","getAttribute","parsedData","JSON","parse","data","callback","setLocation","target","href","dataLayer","event","banner_name","banner_pos","eventCallback","eventTimeout","location","init","element","querySelectorAll"],"mappings":"2FAAA,IACIA,EADJ,OAEA,IAAMC,EAAc,GAEpB,SAASC,IAGP,IAFA,IAESC,EAAI,EAAGA,EAAIH,EAAMI,OAAQD,IAGnB,OAFNH,EAAMG,GAAGE,cAAc,MAG5BJ,EAAYK,KAAKN,EAAMG,KAO7B,WACE,IAAK,IAAIA,EAAI,EAAGA,EAAIF,EAAYG,OAAQD,IACtCF,EAAYE,GAAGI,iBAAiB,QAASC,EAAUC,KAAKC,KAAMT,EAAYE,KAAK,GALjFQ,GAeF,SAASH,EAAUI,EAAMC,GACvB,GAAIC,OAAOC,mBAAoB,CAC7BF,EAAEG,iBAEF,IAAMC,EAAgBL,EAAKM,aAAa,mBAElCC,EAAaC,KAAKC,MAAMJ,GAMXK,EAJLH,EAIWI,EAJCC,EAAYf,KAAKC,KAAMG,EAAEY,OAAOC,MAK5DZ,OAAOa,UAAUrB,KAAK,CACpBsB,MAAO,eACPC,YAAaP,EAAKO,YAClBC,WAAYR,EAAKQ,WACjBC,cAJoB,WAKlBR,KAEFS,aAAc,MARlB,IAAuBV,EAAMC,EAe7B,SAASC,EAAYE,EAAMb,GACzBC,OAAOmB,SAAWP,EAGL,qBASb,MARe,CACbQ,KAAM,SAAAC,GAtCRnC,EAuCemC,EAvCEC,iBAAiB,kBAElClC","file":"event_tracking_carousel-326bdf82.chunk.js","sourcesContent":["let carousel;\nlet items;\nconst linkedItems = [];\n\nfunction getLinks() {\n let link;\n\n for (let i = 0; i < items.length; i++) {\n link = items[i].querySelector('a');\n\n if (link !== null) {\n linkedItems.push(items[i]);\n }\n }\n\n addItemClickListeners();\n}\n\nfunction addItemClickListeners() {\n for (let i = 0; i < linkedItems.length; i++) {\n linkedItems[i].addEventListener('click', itemClick.bind(this, linkedItems[i]), false);\n }\n}\n\nfunction getItems() {\n items = carousel.querySelectorAll('.carousel-item');\n\n getLinks();\n}\n\nfunction itemClick(item, e) {\n if (window.google_tag_manager) {\n e.preventDefault();\n\n const dataAttribute = item.getAttribute('data-data-layer');\n\n const parsedData = JSON.parse(dataAttribute);\n\n pushDataLayer(parsedData, setLocation.bind(this, e.target.href));\n }\n}\n\nfunction pushDataLayer(data, callback) {\n window.dataLayer.push({\n event: 'banner_click',\n banner_name: data.banner_name,\n banner_pos: data.banner_pos,\n eventCallback() {\n callback();\n },\n eventTimeout: 2000,\n });\n\n // console.log for testing purposes only\n // console.log(window.dataLayer);\n}\n\nfunction setLocation(href, e) {\n window.location = href;\n}\n\nexport default function() {\n const object = {\n init: element => {\n carousel = element;\n\n getItems();\n },\n };\n\n return object;\n}\n"],"sourceRoot":""}