{"version":3,"file":"productpageevents.84f05157d6f2951f91dc.js","mappings":"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","sources":["webpack://global-main/./Project/Common/code/Common/googletagmanagerevents/productpageevents.js"],"sourcesContent":["window.google = window.google || {};\n\ngoogle.productpageevents = {\n constants: {\n findADealerButtonClass: '.tag-manager-find-a-dealer-btn',\n colorVariationLinkClas: '.tag-manager-color-variation',\n userManualLinkClass: '.tag-manager-user-manual',\n colorvariationEvent: 'colorClick',\n userManualEvent: 'productPDFDownload',\n readMoreButtonClass: '.car-fit-slider-btn-text',\n sparePartButtonClass: '.tag-manager-spare-part',\n },\n\n setup: function () {\n try {\n google.productpageevents.addOnClickEventToFindADealerButton();\n google.productpageevents.addOnClickEventToColorvariationLink();\n google.productpageevents.addOnClickEventUserManualLink();\n google.productpageevents.addOnClickEventReadMore();\n google.productpageevents.addOnClickEventSparePartBtn();\n } catch (error) {}\n },\n\n addOnClickEventToFindADealerButton: function () {\n try {\n document.querySelectorAll(google.productpageevents.constants.findADealerButtonClass).forEach((item) => {\n item.addEventListener('click', () => {\n google.productpageevents.addFindADealerToDataLayer();\n });\n });\n } catch (error) {}\n },\n\n addOnClickEventToColorvariationLink: function () {\n try {\n document.querySelectorAll(google.productpageevents.constants.colorVariationLinkClas).forEach((item) => {\n item.addEventListener('click', () => {\n google.productpageevents.addColorVariationToDataLayer(item);\n });\n });\n } catch (error) {}\n },\n\n addOnClickEventUserManualLink: function () {\n try {\n document.querySelectorAll(google.productpageevents.constants.userManualLinkClass).forEach((item) => {\n item.addEventListener('click', () => {\n google.productpageevents.addUserManualEventToDataLayer(item);\n });\n });\n } catch (error) {}\n },\n\n addOnClickEventReadMore: function () {\n try {\n waitForElm(google.productpageevents.constants.readMoreButtonClass).then((elm) => {\n elm.addEventListener('click', () => {\n google.productpageevents.addEventReadMoreToDataLayer(elm);\n });\n });\n } catch (error) {}\n },\n\n addOnClickEventSparePartBtn: function () {\n document.querySelectorAll(google.productpageevents.constants.sparePartButtonClass).forEach((item) => {\n item.addEventListener('click', () => {\n try {\n google.productpageevents.addSparePartEventToDataLayer();\n } catch (error) {}\n });\n });\n },\n\n addFindADealerToDataLayer: function () {\n try {\n var values = google.productpageevents.getFindADealerValues();\n google.tagmanager.add(values);\n } catch (error) {}\n },\n\n addColorVariationToDataLayer: function (link) {\n try {\n var values = google.productpageevents.getColorvariationValues(link);\n google.tagmanager.add(values);\n } catch (error) {}\n },\n\n addUserManualEventToDataLayer: function (link) {\n try {\n var values = google.productpageevents.getUserManualValues(link);\n google.tagmanager.add(values);\n } catch (error) {}\n },\n\n addEventReadMoreToDataLayer: function (link) {\n try {\n var values = google.productpageevents.getReadMoreValues(link);\n google.tagmanager.add(values);\n } catch (error) {}\n },\n\n addSparePartEventToDataLayer: function () {\n try {\n var values = google.productpageevents.getSparePartValues();\n google.tagmanager.add(values);\n } catch (error) {}\n },\n\n getColorvariationValues: function (link) {\n try {\n var color = link.getAttribute('title');\n var url = link.getAttribute('style').replace(\"background-image: url('\", '').replace(\"');\", '');\n var values = {\n colorSelected: color,\n urlOfColor: url,\n event: google.productpageevents.constants.colorvariationEvent,\n };\n return values;\n } catch (error) {}\n },\n\n getFindADealerValues: function () {\n var values = {\n buttonName: 'findDealer',\n event: 'findDealerClick',\n };\n return values;\n },\n\n getUserManualValues: function (link) {\n try {\n var type = link.dataset.assettype;\n var values = {\n typeOfDownload: type,\n pdfName: link.getAttribute('href'),\n event: google.productpageevents.constants.userManualEvent,\n };\n return values;\n } catch (error) {}\n },\n\n getReadMoreValues: function () {\n var values = {\n event: 'fit-tip-click',\n buttonName: 'readMore',\n };\n return values;\n },\n\n getSparePartValues: function () {\n var values = {\n event: 'sparePartClick',\n };\n return values;\n },\n\n init: function () {\n try {\n google.productpageevents.setup();\n var productPage = document.querySelector('#product-view');\n if (productPage) google.tagmanager.events.productPageViewed(productPage);\n } catch (error) {}\n },\n};\n\nfunction waitForElm(selector) {\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver((mutations) => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n}\n\nif (document.readyState === 'complete' || document.readyState === 'loaded') {\n google.productpageevents.init();\n} else {\n window.addEventListener('DOMContentLoaded', () => {\n google.productpageevents.init();\n });\n}\n"],"names":["window","google","productpageevents","constants","findADealerButtonClass","colorVariationLinkClas","userManualLinkClass","colorvariationEvent","userManualEvent","readMoreButtonClass","sparePartButtonClass","setup","addOnClickEventToFindADealerButton","addOnClickEventToColorvariationLink","addOnClickEventUserManualLink","addOnClickEventReadMore","addOnClickEventSparePartBtn","error","document","querySelectorAll","forEach","item","addEventListener","addFindADealerToDataLayer","addColorVariationToDataLayer","addUserManualEventToDataLayer","selector","Promise","resolve","querySelector","observer","MutationObserver","mutations","disconnect","observe","body","childList","subtree","then","elm","addEventReadMoreToDataLayer","addSparePartEventToDataLayer","values","getFindADealerValues","tagmanager","add","link","getColorvariationValues","getUserManualValues","getReadMoreValues","getSparePartValues","colorSelected","getAttribute","urlOfColor","replace","event","buttonName","typeOfDownload","dataset","assettype","pdfName","init","productPage","events","productPageViewed","readyState"],"sourceRoot":""}