{"version":3,"file":"ecppp-DVWVjugH.js","sources":["../../../app/frontend/ecppp/account.js","../../../app/frontend/ecppp/parrainage.js","../../../app/frontend/ecppp/site_selector.js","../../../app/frontend/ecppp/mon_suivi_conso.js","../../../app/frontend/ecppp/resiliation.js","../../../app/frontend/ecppp/tracking_events.js","../../../app/frontend/entrypoints/ecppp.js"],"sourcesContent":["import onLoadAsync from '@/shared/on_load_async.js';\n\nonLoadAsync(() => {\n document.querySelectorAll('.js-account').forEach((form) => {\n const checkbox = form.querySelector('[type=checkbox]');\n const submit = form.querySelector('[type=submit]');\n checkbox.addEventListener('change', () => {\n submit.disabled = !checkbox.checked;\n });\n });\n});\n","import onLoadAsync from '@/shared/on_load_async.js';\n\nonLoadAsync(() => {\n document.querySelectorAll('.parrainage-links .js-share-link').forEach((link) => {\n link.addEventListener('click', (event) => {\n event.preventDefault(); // Avoid going to the top of the page when opening the menu\n navigator.clipboard.writeText(link.href);\n });\n });\n});\n","import onLoadAsync from '@/shared/on_load_async.js';\n\nonLoadAsync(() => {\n document.querySelectorAll('#modal-site_selector .radio_button').forEach((site) => {\n site.addEventListener('click', () => {\n site.querySelector('input').checked = true;\n });\n });\n});\n","import onLoadAsync from '@/shared/on_load_async.js';\n\nonLoadAsync(() => {\n const yearFilter = document.querySelector('#year-filter-form select');\n yearFilter?.addEventListener('change', function _() {\n this.form.submit();\n });\n});\n","import onLoadAsync from '@/shared/on_load_async.js';\n\nonLoadAsync(() => {\n /* eslint-disable no-use-before-define */\n function propagateChosenDate() {\n if (resiliationForm?.checkValidity()) {\n const chosenDate = resiliationDate.value;\n confirmationDate.innerHTML = new Date(chosenDate).toLocaleDateString('fr-FR');\n }\n }\n\n function handleResiliationModal() {\n if (resiliationForm?.checkValidity()) {\n const modalName = modalTrigger?.dataset.resiliationModal;\n // eslint-disable-next-line no-undef, no-unused-expressions\n modalName && MicroModal.show(modalName);\n } else {\n resiliationForm?.reportValidity();\n }\n }\n const resiliationForm = document.querySelector('form#resiliation_form');\n const resiliationDate = resiliationForm?.querySelector('#resiliation_date');\n const modalTrigger = resiliationForm?.querySelector('[data-resiliation-modal]');\n const confirmationDate = document.querySelector('#modal-resiliation_confirmation .confirmation-date');\n modalTrigger?.addEventListener('click', handleResiliationModal);\n resiliationDate?.addEventListener('change', propagateChosenDate);\n propagateChosenDate();\n});\n","/* eslint-disable no-underscore-dangle */\nimport onLoadAsync from '@/shared/on_load_async.js';\n\nfunction trackers() {\n function hydrateTrackersWith(data) {\n if (window.Klaro?.getManager().consents.matomo) {\n window._mtm.push(data);\n }\n }\n\n // Clic sur le bouton Télécharger mes données de la modal de la page conso\n document.querySelectorAll('[data-gtm-event=btn-ecppp-conso-download]').forEach((cta) => {\n const radioButtons = document.querySelectorAll('#modal-download_modes input[type=\"radio\"]');\n const { pathname } = new URL(window.location.href);\n const [typeConso, defaultDate] = pathname.split(/(conso_glo|puissance_max)\\//).slice(-2);\n const [defaultYear, defaultMonth, defaultDay] = defaultDate.split('/');\n const consoRegex = /^\\/consommation\\/conso_glo\\/\\d{4}-\\d{4}$/; // case of conso annuelle\n\n const date = consoRegex.test(pathname) ? defaultYear : new Date(`${defaultYear}-${defaultMonth || '01'}-${defaultDay || '01'}T00:00:00Z`).toJSON().split('T').shift();\n\n let dateRange = `[${date}]`;\n let downloadMode = 'current';\n\n radioButtons.forEach((radioButton) => {\n radioButton.addEventListener('click', () => {\n let dateMin = null;\n let dateMax = null;\n dateRange = `[${date}]`;\n if (radioButton.checked && (radioButton.value === 'chosen')) {\n const inputSmallStartsOn = radioButton.nextElementSibling.querySelector('label[for=\"starts_on\"]');\n const inputSmallEndsOn = radioButton.nextElementSibling.querySelector('label[for=\"ends_on\"]');\n dateMin = inputSmallStartsOn.nextElementSibling.value;\n dateMax = inputSmallEndsOn.nextElementSibling.value;\n dateRange = `[${dateMin} - ${dateMax}]`;\n }\n downloadMode = radioButton.value;\n });\n });\n\n cta.addEventListener('click', () => {\n hydrateTrackersWith({\n event: 'genericEvent',\n eventType: 'ctaDownload',\n getCategory: `Téléchargement ${typeConso} ${downloadMode}`,\n getAction: `Bouton Télécharger mes données ${typeConso} ${downloadMode} ${dateRange}`,\n getLabel: `Date : ${dateRange} - Type de conso : ${typeConso} - Période : ${downloadMode}`,\n });\n });\n });\n\n // Clic sur téléchargement de justificatif de domicile (\"Accueil\" / \"encart_info page contract\")\n document.querySelectorAll('[data-gtm-event=btn-ecppp-proof-of-address]').forEach((cta) => {\n cta.addEventListener('click', () => {\n hydrateTrackersWith({\n event: 'genericEvent',\n eventType: 'ctaProofOfAddress',\n getCategory: 'Téléchargement',\n getAction: 'Bouton justificatif de domicile',\n getLabel: 'Espace Client part. et petit pro',\n });\n });\n });\n\n // Clic sur téléchargement dernière facture (\"/accueil\")\n document.querySelectorAll('[data-gtm-event=btn-ecppp-invoice-welcome]').forEach((cta) => {\n cta.addEventListener('click', () => {\n hydrateTrackersWith({\n event: 'genericEvent',\n eventType: 'ctaclickInvoice',\n getCategory: 'Téléchargement',\n getAction: 'Bouton télécharger Dernière Facture sur Accueil',\n getLabel: 'Espace Client part. et petit pro',\n });\n });\n });\n\n // Clic sur téléchargement de facture annuel (\"/factures\")\n document.querySelectorAll('[data-gtm-event=btn-ecppp-invoice-yearly]').forEach((cta) => {\n cta.addEventListener('click', () => {\n hydrateTrackersWith({\n event: 'genericEvent',\n eventType: 'ctaclickInvoice',\n getCategory: 'Téléchargement',\n getAction: 'Bouton télécharger Facture Annuelle',\n getLabel: 'Espace Client part. et petit pro',\n });\n });\n });\n\n // Clic sur téléchargement de facture mensuel (\"/factures\")\n document.querySelectorAll('[data-gtm-event=btn-ecppp-invoice-monthly]').forEach((cta) => {\n cta.addEventListener('click', () => {\n hydrateTrackersWith({\n event: 'genericEvent',\n eventType: 'ctaclickInvoice',\n getCategory: 'Téléchargement',\n getAction: 'Bouton télécharger Facture Mensuelle',\n getLabel: 'Espace Client part. et petit pro',\n });\n });\n });\n\n // Visualisation de la consommation en euro\n document.querySelectorAll('#flex-switch-euros').forEach((cta) => {\n const { pathname } = new URL(window.location.href);\n const [dateConso] = pathname.split(/conso_glo\\//).slice(-1);\n\n // conso quotidienne = yyyy/mm/dd\n // conso mensuelle = yyyy/mm\n // conso annuelle = yyyy-yyyy\n // NOTE: Date regexp mimic those in config/routes/date_constraints.rb\n let dateType;\n if (dateConso.match(/^2\\d{3}\\/(0[1-9]|1[0-2])$/)) {\n dateType = 'quotidienne sur un mois';\n } else if (dateConso.match(/^2\\d{3}-2\\d{3}$/)) {\n dateType = 'annuelle';\n } else if (dateConso.match(/^2\\d{3}$/)) {\n dateType = 'mensuelle sur un an';\n }\n\n cta.addEventListener('change', (event) => {\n if (event.target.checked) {\n hydrateTrackersWith({\n event: 'genericEvent',\n eventType: 'changeToggle',\n getCategory: 'Consommation',\n getAction: `Conso en euro, ${dateType}`,\n getLabel: 'Espace Client part. et petit pro',\n });\n }\n });\n });\n\n // Clic sur le bouton RogerVoice du Footer\n document.querySelectorAll('[data-gtm-event=btn-ecppp-footer-rogervoice]').forEach((cta) => {\n cta.addEventListener('click', () => {\n hydrateTrackersWith({\n event: 'genericEvent',\n eventType: 'ctaclickRogervoice',\n getCategory: 'RogerVoice Footer',\n getAction: 'Bouton d\\'accès à RogerVoice depuis le footer',\n getLabel: 'Espace Client',\n });\n });\n });\n\n // Clic sur le bouton RogerVoice du formulaire Contact (/contact)\n document.querySelectorAll('[data-gtm-event=btn-ecppp-contact-rogervoice]').forEach((cta) => {\n cta.addEventListener('click', () => {\n hydrateTrackersWith({\n event: 'genericEvent',\n eventType: 'ctaclickRogervoice',\n getCategory: 'RogerVoice Contact',\n getAction: 'Bouton d\\'accès à RogerVoice depuis la page /contact',\n getLabel: 'Espace Client',\n });\n });\n });\n}\n\nonLoadAsync(() => {\n if (window.initTrackers) window.initTrackers(trackers);\n});\n","/* eslint no-console:0 */\nimport Rails from '@rails/ujs';\n\nimport '@/shared/components/accordion.js';\nimport '@/shared/components/checkbox_for_button.js';\nimport '@/shared/components/dropdown.js';\nimport '@/shared/components/burger_menu.js';\nimport '@/shared/components/modal.js';\nimport '@/shared/slider.js';\nimport '@/shared/klaro-config.js';\nimport '@/shared/stimulus.js';\nimport '../ecs/date_input_select.js';\nimport '../ecs/loader.js';\nimport '../ecs/login.js';\nimport '../ecs/password_field.js';\nimport '../ecs/file-downloader.js';\nimport '../ecppp/account.js';\nimport '../ecppp/parrainage.js';\nimport '../ecppp/site_selector.js';\nimport '../ecppp/mon_suivi_conso.js';\nimport '../ecppp/resiliation.js';\nimport '../ecppp/tracking_events.js';\n\nRails.start();\n"],"names":["onLoadAsync","form","checkbox","submit","link","event","site","propagateChosenDate","resiliationForm","chosenDate","resiliationDate","confirmationDate","handleResiliationModal","modalName","modalTrigger","trackers","hydrateTrackersWith","data","cta","radioButtons","pathname","typeConso","defaultDate","defaultYear","defaultMonth","defaultDay","date","dateRange","downloadMode","radioButton","dateMin","dateMax","inputSmallStartsOn","inputSmallEndsOn","dateConso","dateType","Rails"],"mappings":"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"}