(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{471:function(e,r,t){"use strict";t.r(r);var s=t(24),o=t(20);!function(e){var r={widget:null,form:null,emailFormatValidation:null,excludedCharacters:null,selectors:{CONTAINER:".sage-sso-login",DROPDOWN_TOGGLE:".dropdown-toggle",FORM_CONTROL:".form-control",USERNAME_INPUT:'[name="login"]',PASSWORD_INPUT:'[name="password"]',SOCIETY_INPUT:'[name="ssoSociety"]',USEAJAX_INPUT:'[name="submitViaAJAX"]',SERVICE_NAME:'[name="serviceUrl"]',ERROR_EL:".useAJAX_SSO_error",FORM:"form",D_NONE:"d-none"},init:function init(){this.widget=document.querySelector(this.selectors.CONTAINER),this.widget&&(this.form=this.widget.querySelector(r.selectors.FORM),this.form&&(this.requiredFieldsValidation=new o.a(this.form),this.excludedCharacters=new s.default(this.form),this.control()))},control:function control(){var e=this;this.form.setAttribute("novalidate","true"),this.form.setAttribute("autocomplete","off"),this.form.addEventListener("submit",r.onSubmitHandler.bind(this));var t=this.getInputs();t.length>0&&t.forEach((function(t){return t.addEventListener("focus",r.onFocusHandler.bind(e))}),this)},onFocusHandler:function onFocusHandler(e){var t=this.form.querySelector(r.selectors.ERROR_EL);t&&(t.classList.add(this.selectors.D_NONE),t.setAttribute("aria-hidden","true")),r.getInputs().forEach((function(e){return e.removeAttribute("aria-describedby")}))},onChangeHandler:function onChangeHandler(e){this.classList.remove("is-invalid"),this.removeAttribute("aria-invalid")},onSubmitHandler:function onSubmitHandler(e){var t=this.requiredFieldsValidation.checkRequired(),s=this.excludedCharacters.checkExcludedCharacters();if(t&&s){var o,i=e.target,n=i.querySelector(r.selectors.USEAJAX_INPUT).value;if(!0!==n&&"true"!==n)return!0;e.preventDefault();var a=i.querySelector(r.selectors.SERVICE_NAME).value,u=i.querySelector(r.selectors.USERNAME_INPUT).value,l=i.querySelector(r.selectors.PASSWORD_INPUT).value,c=i.querySelector(r.selectors.SOCIETY_INPUT).value,d=null===(o=i.querySelector("input[name='anti-forgery-token']"))||void 0===o?void 0:o.value,h={login:u,password:l,society:c};return d&&(h["anti-forgery-token"]=d),$.ajax({url:a,type:"POST",data:h,success:function handleSuccessRequest(e,t,s){switch(s.status){case 200:case 201:case 204:location.reload();break;default:console.log("Unexpected success status:",s.status),r.showLoginError(i)}},error:function handleBadRequest(e,t,s){switch(e.status){case 401:console.error("Unauthorized: Invalid credentials"),r.showLoginError(i);break;case 403:console.error("Forbidden: Access denied"),r.showLoginError(i);break;case 500:console.error("Server error"),r.showLoginError(i);break;default:console.error("Login request failed:",e.status,s),r.showLoginError(i)}}}),!1}e.preventDefault(),this.focusFirstInvalid(),this.form.scrollIntoView()},focusFirstInvalid:function focusFirstInvalid(){var e=this.form.querySelector(".form-group.is-invalid"),r=e.querySelector(this.selectors.DROPDOWN_TOGGLE)||e.querySelector(this.selectors.FORM_CONTROL);e.querySelector(".message").setAttribute("aria-live","assertive"),null==r||r.focus()},getInputs:function getInputs(){return r.widget.querySelectorAll('input:not([type="hidden"]), .dropdown-toggle')},showLoginError:function showLoginError(e){var t=r.getInputs();t.forEach((function(e,r){0===r&&e.focus(),e.classList.add("is-invalid"),e.setAttribute("aria-invalid","true"),e.setAttribute("aria-describedby","useAJAX_SSO_error")})),t.forEach((function(e){return e.addEventListener("change",r.onChangeHandler)}),this),t[0].focus();var s=e.querySelector(r.selectors.ERROR_EL);s&&(s.classList.remove(r.selectors.D_NONE),s.removeAttribute("aria-hidden"),s.setAttribute("aria-live","assertive"),s.setAttribute("id","useAJAX_SSO_error"))}};e.ssoLogin=r}(UX)}}]); //# sourceMappingURL=ssoLogin-b3f3c06a091057c55063.js.map