{"version":3,"file":"app.min.js","mappings":"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","sources":["webpack://books/./templates/assets/js/tracking/gtmEvent.js","webpack://books/./templates/assets/js/app.js","webpack://books/./templates/assets/js/tracking/gtmScript.js","webpack://books/./templates/assets/js/tracking/getGtmParameters.js","webpack://books/./templates/assets/js/tracking/getGtmParametersGa4.js","webpack://books/./templates/assets/js/tracking/gtmEventG4.js","webpack://books/./templates/assets/js/invitations.js"],"sourcesContent":["export default function gtmEvent(eventCategory, eventAction, urlCalled = '', eventLabel = '') {\n let label = window.location.href.match(/^[^\\#\\?]+/)[0];\n\n if (urlCalled) {\n label += ' | ' + urlCalled;\n }\n\n if (eventLabel) {\n label += ' | ' + eventLabel;\n }\n\n dataLayer.push({\n 'event': 'declenche-evenement',\n 'eventCategory': eventCategory,\n 'eventAction': eventAction,\n 'eventLabel': label,\n 'eventNonInteraction': true\n });\n}\n","// Tracking\nimport gtmDetection from 'tracking/gtmScript';\nimport invitation from './invitations';\n\ndocument.addEventListener('DOMContentLoaded', function () {\n // Tracking\n gtmDetection();\n\n // Gestion du formulaire d'invitation\n invitation();\n});","import gtmEvent from './gtmEvent';\nimport getGtmParameters from './getGtmParameters';\nimport gtmEventG4 from './gtmEventG4';\nimport getGtmParametersGa4 from \"./getGtmParametersGa4\";\n\nexport default function gtmDetection() {\n const gtmElements = document.querySelectorAll('.gtmAction');\n\n if (gtmElements) {\n gtmElements.forEach(el => {\n el.addEventListener('click', e => {\n const currentEl = e.currentTarget;\n\n const gtmParameters = getGtmParameters(currentEl);\n const gtmParametersGa4 = getGtmParametersGa4(currentEl);\n\n const urlCalled = currentEl.href ? currentEl.href.match(/^[^\\#\\?]+/)[0] : '';\n\n gtmEventG4(\n gtmParametersGa4.type,\n gtmParametersGa4.eventName,\n gtmParametersGa4.buttonId,\n gtmParametersGa4.origin,\n gtmParametersGa4.secteur,\n gtmParametersGa4.article,\n gtmParametersGa4.document,\n gtmParametersGa4.request\n );\n\n gtmEvent(gtmParameters.eventCategory, gtmParameters.eventAction, urlCalled, gtmParameters.eventLabel);\n });\n\n });\n }\n\n const suppressionContact = document.querySelector('.btn-delete-contact');\n if (suppressionContact) {\n suppressionContact.addEventListener('click', contact => {\n gtmEvent(\"opera-parrainage-invitation\", \"clic-ajout-contact\", '', \"Suppression Contact\");\n });\n }\n\n const flashSuccessInvitation = document.querySelector('#invitation_success');\n\n if (flashSuccessInvitation) {\n gtmEvent(\"opera-parrainage-invitation\", \"soumission-invitation\", '', \"Soumission Invitation Validée\");\n }\n\n const flashSuccessAccord = document.querySelector('#accord_success');\n if (flashSuccessAccord) {\n gtmEvent(\"opera-parrainage-invitation\", \"soumission-accord\", '', \"Soumission Accord CGU Validée\");\n }\n\n}\n","export default function getGtmParameters(element) {\n const eventCategory = element.dataset.eventCategory || '';\n const eventAction = element.dataset.eventAction || '';\n const eventLabel = element.dataset.eventLabel || '';\n\n return {\n 'eventCategory': eventCategory,\n 'eventAction': eventAction,\n 'eventLabel': eventLabel\n }\n}\n","export default function getGtmParametersGa4(element) {\n const eventName = element.dataset.eventEventname || null;\n const idBouton = element.dataset.eventBoutonid || null;\n const eventOrigin = element.dataset.eventOrigine || null;\n const secteur = element.dataset.eventSecteur || null;\n const type = element.dataset.eventType || null;\n const article = element.dataset.eventArticle || null;\n const document = element.dataset.eventDocument || null;\n const request = element.dataset.eventRequest || null;\n\n return {\n 'type': type,\n 'buttonId': idBouton,\n 'eventName': eventName,\n 'origin': eventOrigin,\n 'secteur': secteur,\n 'article': article,\n 'document': document,\n 'request': request,\n }\n}","export default function gtmEventG4(\n eventType= null,\n eventName = null,\n boutonId = null,\n eventOrigin = null,\n eventSecteur = null,\n eventArticle = null,\n eventDocument = null,\n eventRequest = null\n) {\n let afficheOrigine = 'plateforme-parrainage';\n\n if (eventOrigin) {\n afficheOrigine = eventOrigin;\n }\n\n dataLayer.push({\n 'event': 'referral',\n 'event_name': eventName,\n 'button_id': boutonId,\n 'origin': afficheOrigine,\n 'secteur': eventSecteur,\n 'article': eventArticle,\n 'document': eventDocument,\n 'request': eventRequest\n\n });\n\n}\n\n","import gtmEvent from 'tracking/gtmEvent';\n\nexport default function invitations() {\n const addFormToCollection = (e) => {\n const collectionHolder = document.querySelector('.' + e.currentTarget.dataset.collectionHolderClass);\n const item = document.createElement('div');\n item.classList.add('contact-row');\n item.innerHTML = collectionHolder\n .dataset\n .prototype\n .replace(\n /__name__/g,\n collectionHolder.dataset.index\n );\n collectionHolder.appendChild(item);\n collectionHolder.dataset.index++;\n addTagFormDeleteLink(item);\n\n // Affiche le numéro de l'index de la ligne de contact\n item.querySelector('.nbContact').innerHTML = collectionHolder.dataset.index;\n\n };\n\n\n document\n .querySelectorAll('.add_item_link')\n .forEach(btn => {\n btn.addEventListener(\"click\", addFormToCollection)\n });\n\n document\n .querySelectorAll('.delete_item_link')\n .forEach((tag) => {\n addTagFormDeleteLink(tag)\n })\n\n const addTagFormDeleteLink = (item) => {\n const removeFormButton = document.createElement('dl');\n removeFormButton.classList.add('form-row')\n removeFormButton.classList.add('mb-2')\n removeFormButton.innerHTML = \"\";\n\n\n item.appendChild(removeFormButton);\n\n removeFormButton.addEventListener('click', (e) => {\n e.preventDefault();\n item.remove();\n const collectionHolder = document.querySelector('.contacts');\n collectionHolder.dataset.index--;\n gtmEvent(\"opera-parrainage-invitation\", \"clic-suppression-contact\", '', \"Suppression Contact\");\n });\n }\n}"],"names":["gtmEvent","eventCategory","eventAction","urlCalled","eventLabel","label","window","location","href","match","dataLayer","push","document","addEventListener","gtmElements","querySelectorAll","forEach","el","e","element","currentEl","currentTarget","gtmParameters","dataset","gtmParametersGa4","eventName","eventEventname","idBouton","eventBoutonid","eventOrigin","eventOrigine","secteur","eventSecteur","eventType","eventArticle","eventDocument","eventRequest","getGtmParametersGa4","boutonId","afficheOrigine","gtmEventG4","type","buttonId","origin","article","request","suppressionContact","querySelector","contact","gtmDetection","addFormToCollection","collectionHolder","collectionHolderClass","item","createElement","classList","add","innerHTML","prototype","replace","index","appendChild","addTagFormDeleteLink","btn","tag","removeFormButton","preventDefault","remove","invitation"],"sourceRoot":""}