1import{C as l}from"./js.cookie-1562caf9.js";import{F as d}from"./fixtures-utils-ebf25065.js";import h from"./form-exit-intent-77b1772f.js";import{U as f}from"./index-18082331.js";import{t as F}from"./toastr-f62fc64d.js";import{V as T}from"./vue-with-validator-setup-be1ed508.js";import"./main-60c8d19d.js";class p{constructor(n){this.app=n,this.url=new f(window.location,!0)}init(){this.setPartnerTracking(),this.initView()}setPartnerTracking(){Object.prototype.hasOwnProperty.call(this.url.query,"partenaire")&&(l.get("partenaire")||l.set("partenaire",this.url.query.partenaire,{expires:14}))}initView(){const n=this,m=document.getElementById("js-info-request-hub").getAttribute("data-js-var-ask-termination-form-enabled")==="true";new T({el:"#js-info-request-hub",data:{isFixturesMode:!1,isDebugMode:!1,selectedForm:"contact-form",commonFields:{model:{iAm:"un particulier",gdpr:!1},states:{isFinished:!1,isSubmitted:!1},widgetsValues:{iAm:["un particulier","un client","une résidence seniors","contact presse","autre"]}},contactForm:{model:{title:"Sélectionnez votre civilité (facultatif)",theSolutionIsForMe:!1,theSolutionIsFor:"ma mère",theBeneficiaryIsLivingAlone:!0,theBeneficiaryIsAlreadyEquiped:!1,beneficiaryCurrentTeleassistanceCompanyName:"Arkea"},states:{isSubmitted:!1,isFinished:!1},widgetsValues:{iWantTo:m?["Contacter le service client","Résilier mon contrat"]:["Contacter le service client"],title:["Sélectionnez votre civilité (facultatif)","M.","Mme","Ne souhaite pas préciser"],theSolutionIsFor:["mon père","ma mère","un proche"],competitors:["Arkea","Presence verte","Europ Assistance","Mondial Assistance","Autres"]}},askTerminationForm:{model:{contractRef:"",beneficiaryFullName:"",subscriberLastName:"",subscriberFirstName:"",subscriberEmail:"",subscriberAddress:"",reason:"MOVING_NURSING_HOME",comment:"",files:null},states:{isSubmitted:!1,isPreviewingaskTerminationFormToSubmit:!1,isFinished:!1},widgetsValues:{reasons:{LONG_TERM_HOSPITALIZATION:"Hospitalisation longue durée",FALSE_ALARMS:"Alertes intempestives",OTHER:"Autre",WITHDRAWAL:"Rétractation",SUPPORT_END:"Fin de prise en charge",CANCELLED_BEFORE_INSTALLATION:"Annulation avant installation",RELOCATION:"Déménagement",NOT_ENOUGH_HELPERS:"Pas assez de référents",MOVING_NURSING_HOME:"Départ en maison de retraite",INAPPROPRIATE:"Solution non adaptée",DEPARTURE_TO_THE_COMPETITORS:"Départ chez la concurrence",DECEASE:"Décès du bénéficiaire",FAILURE_TO_UNDERSTAND_SOLUTION:"Non-compréhension de la solution",NO_GSM:"Zone non couverte par GPRS",UNSATISFIED_OR_MATERIAL_PROBLEM:"Mécontentement, défaut matériel"}}}},watch:m?{"commonFields.model.iAm":function(e){e!=="un client"&&(this.selectedForm="contact-form")}}:{},methods:{isContactForm(){return this.selectedForm==="contact-form"},isaskTerminationForm(){return this.selectedForm==="ask-termination-form"},submit(e){switch(!0){case this.isContactForm():this.submitContactForm(e);break;case this.isaskTerminationForm():this.previewaskTerminationFormToSubmit(e);break}},handleRequestError(){F.error("Le formulaire comporte des erreurs.","",{timeOut:15e3})},submitContactForm(e){e.preventDefault(),this.contactForm.states.isSubmitted=!0;const t=this.$validator.validateAll("contactForm"),o=this.$validator.validateAll("commonFields");Promise.all([t,o]).then(([i,r])=>{!i||!r||fetch("/api/contact-form",{headers:{"content-type":"application/json"},body:JSON.stringify({...this.commonFields.model,...this.contactForm.model}),method:"POST"}).then(s=>{s.ok?(this.contactForm.states.isFinished=!0,this.$nextTick(()=>{n.app.windowUtils.scrollToElementPosition(document.getElementById("js-info-request-hub-success"),-21)}),this.trackContactFormSubmitEvent(),h.disableExitIntentModal()):this.handleRequestError()}).catch(s=>{this.handleRequestError()})})},submitaskTerminationForm(){const e=document.getElementById("js-ask-termination-form-review");e.setAttribute("v-cloak","");const t=new FormData,o=s=>{Object.entries(s).forEach(([c,u])=>{t.append(c,u)})};o(this.commonFields.model),o(this.askTerminationForm.model);const i=document.getElementById("askTerminationForm.model.files");
1i&&i.files&&i.files.length?Array.from(i.files).forEach(s=>{t.append("files",s)}):t.delete("files");const r=()=>{e.removeAttribute("v-cloak")};fetch("/api/ask-termination",{method:"POST",body:t}).then(s=>{s.ok?(r(),this.askTerminationForm.states.isPreviewingaskTerminationFormToSubmit=!1,this.askTerminationForm.states.isFinished=!0,this.$nextTick(()=>{n.app.windowUtils.scrollToElementPosition(document.getElementById("js-info-request-hub-success"),-21)})):(this.askTerminationForm.states.isPreviewingaskTerminationFormToSubmit=!1,this.handleRequestError())}).catch(s=>{this.askTerminationForm.states.isPreviewingaskTerminationFormToSubmit=!1,this.handleRequestError()})},previewaskTerminationFormToSubmit(e){e.preventDefault(),this.askTerminationForm.states.isSubmitted=!0;const t=this.$validator.validateAll("askTerminationForm"),o=this.$validator.validateAll("commonFields");Promise.all([t,o]).then(([i,r])=>{i&&r&&(this.askTerminationForm.states.isPreviewingaskTerminationFormToSubmit=!0,this.$nextTick(()=>{n.app.windowUtils.scrollToElementPosition(document.getElementById("js-ask-termination-form-review"),-21)}))})},trackContactFormSubmitEvent(){const e={iAm:this.commonFields.model.iAm,theSolutionIsForMe:null,theBeneficiaryIsLivingAlone:null,theBeneficiaryIsAlreadyEquiped:null};this.commonFields.model.iAm==="un particulier"&&(e.theSolutionIsForMe=this.contactForm.model.theSolutionIsForMe?"Oui":"Non",e.theBeneficiaryIsLivingAlone=this.contactForm.model.theBeneficiaryIsLivingAlone?"Oui":"Non",e.theBeneficiaryIsAlreadyEquiped=this.contactForm.model.theBeneficiaryIsAlreadyEquiped?"Oui":"Non"),n.app.taggingPlanUtils.trackEvent("tp-contact-form-submit",e);const t=document.documentElement.getAttribute("data-environment");console.log(`[${t}] Tracking event : Form submit.`)}},computed:{getAskTerminationFileNames(){return this.askTerminationForm.model.files&&this.askTerminationForm.model.files.length>0?Array.from(this.askTerminationForm.model.files).map(e=>e.name):null}},filters:{pretty(e){return JSON.stringify(e,null,4)}},mounted(){this.$nextTick(()=>{window.jQuery('[data-toggle-vue-js="tooltip"]').tooltip()})},created(){if(this.isFixturesMode){const e="ASK_TERMINATION_FORM";this.selectedForm=["CONTACT_FORM","CONTACT_LEAD_FORM"].includes(e)?"contact-form":"ask-termination-form";const t=d.getFixtureData(e);Object.keys(t.commonFields.model).forEach(i=>{this.$set(this.commonFields.model,i,t.commonFields.model[i])});const o=this.isContactForm()?"contactForm":"askTerminationForm";Object.keys(t[o].model).forEach(i=>{this.$set(this[o].model,i,t[o].model[i])})}}})}}const E=p,R={init(a){new E(a).init()}};export{R as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.