1"use strict";(self.webpackChunkcorsair2020=self.webpackChunkcorsair2020||[]).push([[666],{1666:function(e,t,i){i.d(t,{default:function(){return d}});var r=i(9026),s=i(3812);class d{getEndpoint(e){if(drupalSettings&&drupalSettings.corsair_my_account&&drupalSettings.corsair_my_account.findFidelityEndpoint)return drupalSettings.corsair_my_account.findFidelityEndpoint+"?queryParams="+JSON.stringify(e);throw"drupalSettings.corsair_my_account.findFidelityEndpoint is not defined"}constructor(e){this.form=e,this.$form=jQuery(e),this.formFidRadio=this.$form.find("input[name='fidelity_exists']"),this.formFidCreateCb=this.$form.find(".js-fid-create-toggle input"),this.formStepButton=this.$form.find(".js-register-form-next-step-button"),this.formSubmitButton=this.$form.find(".form-actions .js-form-submit"),this.formStep1Wrapper=this.$form.find(".js-register-form__step-1"),this.formStep2Wrapper=this.$form.find(".js-register-form__step-2"),this.formStep3Wrapper=this.$form.find(".js-register-form__step-3"),this.formStep2WrapperComplements=this.$form.find(".form-item-gdpr-warning, .form-actions"),this.formStep1Required=this.formStep1Wrapper.find(".js-field-required"),this.formStep2Required=this.formStep2Wrapper.find(".js-field-required"),this.formStepCreateFidRequired=this.formStep2Wrapper.find(".js-show-if-create-fid.js-field-required"),this.formStep2ComplementsRequired=this.formStep2WrapperComplements.find("input.required"),this.formAccountRequired=this.formStep2Wrapper.find("input.required"),this.totalStep=3;const t=parseInt(this.$form.find(".js-step").val()||1);this.initSteps(t),this.initToggles(),this.onFidelityRadioChange(),this.onFidCreateCheckboxChange(),this.formStepButton.on("click",this.onNextStepClick.bind(this)),this.formSubmitButton.on("click",this.onFormSubmit.bind(this))}initToggles(){this.formFidRadio.on("change",this.onFidelityRadioChange.bind(this)),this.formFidCreateCb.on("change",this.onFidCreateCheckboxChange.bind(this))}onFidelityRadioChange(){"fid"===this.formFidRadio.filter(":checked").val()?(this.$form.find(".js-show-if-fid").show(),this.$form.find(".js-show-if-nofid").hide()):(this.$form.find(".js-show-if-fid").hide(),this.$form.find(".js-show-if-nofid").show()),[...this.formStep1Required,...this.formStep2Required].forEach(e=>{jQuery(e).is(":visible")?jQuery(e).find("input, select").attr("required",!0):jQuery(e).find("input, select").attr("required",!1)})}onFidCreateCheckboxChange(){const e=this.formFidCreateCb.filter(":checked").val();e?this.$form.find(".js-show-if-create-fid").show():this.$form.find(".js-show-if-create-fid").hide(),[...this.formStepCreateFidRequired].forEach(t=>{e?jQuery(t).find("input, select").attr("required",!0):jQuery(t).find("input, select").attr("required",!1)})}initSteps(e){switch(this.step=e,this.step){case 1:this.initStep1();break;case 2:this.initStep2();break;case 3:this.initStep3()}}updateStepper(e){this.$form.find(".js-form-stepper").length<1&&this.$form.prepend('<div class="js-form-stepper form-stepper"></div>'),this.$form.find(".js-form-stepper").html(`<span class="form-stepper__current">0${e}</span>/<span class="form-stepper__total">0${this.totalStep}</span>`)}initStep1(){this.updateStepper(1),this.$form.find(".js-step").val(1);const e=this.form.querySelectorAll("[data-pattern-message]");e&&e.forEach(e=>{e.addEventListener("invalid",e=>{e.target.setCustomValidity(""),!e.target.validity.valid&&e.target.dataset&&e.target.dataset.patternMessage&&e.target.setCustomValidity(e.target.dataset.patternMessage||"")}),e.addEventListener("input",e=>{e.target.setCustomValidity(""),e.target.validity.valid||e.target.setCustomValidity(e.target.dataset.patternMessage||"")})}),this.showStep1(),this.hideStep2()}initStep2(){this.updateStepper(2),this.$form.find(".js-step").val(2),this.hideStep1(),this.showStep2()}initStep3(){this.updateStepper(3),this.$form.find(".js-step").val(3),this.hideStep1(),this.hideStep2(),this.showStep3()}hideStep1(){this.formStep1Required.find("label").removeClass("form-required").removeClass("js-form-required"),this.formStep1Required.find("input, select").attr("required",!1),this.formStep1Wrapper.removeClass("is-visible"),this.onFidelityRadioChange()}
1hideStep2(){this.formStep2Required.find("label").removeClass("form-required").removeClass("js-form-required"),this.formStep2Required.find("input, select").attr("required",!1),this.formStep2Required.find("label").removeClass("form-required").removeClass("js-form-required"),this.formStep2Required.find("input, select").attr("required",!1),this.formAccountRequired.attr("required",!1),this.formStep2ComplementsRequired.attr("required",!1),this.formStep2Wrapper.removeClass("is-visible"),this.formStep2WrapperComplements.removeClass("is-visible")}showStep1(){this.formStep1Required.find("label").addClass("form-required").addClass("js-form-required"),this.formStep1Required.find("input, select").attr("required",!0),this.formStep1Wrapper.addClass("is-visible")}showStep2(){this.formStep2Required.find("label").addClass("form-required").addClass("js-form-required"),this.formStep2Required.find("input, select").attr("required",!0),this.formStep2Wrapper.addClass("is-visible"),this.formStep2WrapperComplements.addClass("is-visible"),this.formAccountRequired.attr("required",!0),this.formStep2ComplementsRequired.attr("required",!0),this.onFidCreateCheckboxChange()}showStep3(){this.formStep3Wrapper.addClass("is-visible")}onFormSubmit(e){this.validFieldRequired();this.$form[0].reportValidity()&&(0,s.ro)()}validFieldRequired(){this.$form.find("input, select").each((e,t)=>{jQuery(t).is("[required]:visible")&&(0===t.value.length?jQuery(t).addClass("error"):jQuery(t).removeClass("error"))})}async onNextStepClick(e){e.preventDefault();const t="fid"===this.formFidRadio.filter(":checked").val();this.validFieldRequired();let i=this.$form[0].reportValidity(),d=this.$form.find(".js-register-form__step-1 .js-datepicker"),a=d.attr("data-drupal-date-format").replace("d","DD").replace("m","MM").replace("Y","YYYY"),o=(0,r.A)(d.attr("min"),a),f=(0,r.A)(d.attr("max"),a),n=(0,r.A)(d.val(),a);if((n.isBefore(o,"date")||n.isAfter(f,"date"))&&(i=!1,d.addClass("error")),i)if((0,s.ro)(),t)try{const e=await this.get
1SalesForceContactByFid(this.$form.find(".js-fidelity-number input").val(),this.$form.find(".js-birthdate input").val(),this.$form.find(".js-birthdate input").attr("data-drupal-date-format"));if((0,s.yr)(),200===e.status)this.$form.find(".js-salesforce-fid-validation").val(this.$form.find(".js-fidelity-number input").val()),await this.initStep2();else{let t=await e.text();this.$form.find(".js-fidelity-number").addClass("has-error"),this.form.querySelectorAll(".js-fidelity-number input").forEach(e=>{e.setCustomValidity(t),e.reportValidity()})}}catch(e){(0,s.yr)(),this.$form.find(".js-fidelity-number").addClass("has-error")}else(0,s.yr)(),this.initStep2()}async getSalesForceContactByFid(e,t,i){try{const r=t.split("/"),s=i.split("/");if(s.length!==r.length)return await!1;const d={FidelityCardNumber:e,BirthDate:[r[s.indexOf("Y")],r[s.indexOf("m")],r[s.indexOf("d")]].join("-")},a={method:"GET"};return await fetch(this.getEndpoint(d),a)}catch(e){return!1}}showError(){}}}}]);
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.