"use strict";App.Components.LdapImportModal=function(){function validate(){$modal.find(".is-invalid").removeClass("is-invalid");var missingRequiredField=!1;return $modal.find(".required").each(function(index,requiredField){(""===$(requiredField).val()||null===$(requiredField).val())&&($(requiredField).addClass("is-invalid"),missingRequiredField=!0)}),!missingRequiredField}function getHttpClient(roleSlug){switch(roleSlug){case App.Layouts.Backend.DB_SLUG_CUSTOMER:return App.Http.Customers;case App.Layouts.Backend.DB_SLUG_PROVIDER:return App.Http.Providers;case App.Layouts.Backend.DB_SLUG_SECRETARY:return App.Http.Secretaries;case App.Layouts.Backend.DB_SLUG_ADMIN:return App.Http.Admins;default:throw new Error("Unsupported role slug provided: ".concat(roleSlug))}}function getUser(roleSlug){var user={first_name:$firstName.val(),last_name:$lastName.val(),email:$email.val(),phone_number:$phoneNumber.val(),ldap_dn:$ldapDn.val()};return roleSlug!==App.Layouts.Backend.DB_SLUG_CUSTOMER&&(user.settings={username:$username.val(),password:$password.val(),notification:1}),user}function loadEntry(entry,ldapFieldMapping){var _entry$ldapFieldMappi,_entry$ldapFieldMappi2,_entry$ldapFieldMappi3,_entry$ldapFieldMappi4,_entry$ldapFieldMappi5;$ldapDn.val(entry.dn),$firstName.val(null!==(_entry$ldapFieldMappi=null===entry||void 0===entry?void 0:entry[null===ldapFieldMapping||void 0===ldapFieldMapping?void 0:ldapFieldMapping.first_name])&&void 0!==_entry$ldapFieldMappi?_entry$ldapFieldMappi:""),$lastName.val(null!==(_entry$ldapFieldMappi2=null===entry||void 0===entry?void 0:entry[null===ldapFieldMapping||void 0===ldapFieldMapping?void 0:ldapFieldMapping.last_name])&&void 0!==_entry$ldapFieldMappi2?_entry$ldapFieldMappi2:""),$email.val(null!==(_entry$ldapFieldMappi3=null===entry||void 0===entry?void 0:entry[null===ldapFieldMapping||void 0===ldapFieldMapping?void 0:ldapFieldMapping.email])&&void 0!==_entry$ldapFieldMappi3?_entry$ldapFieldMappi3:""),$phoneNumber.val(null!==(_entry$ldapFieldMappi4=null===entry||void 0===entry?void 0:entry[null===ldapFieldMapping||void 0===ldapFieldMapping?void 0:ldapFieldMapping.phone_number])&&void 0!==_entry$ldapFieldMappi4?_entry$ldapFieldMappi4:""),$username.val(null!==(_entry$ldapFieldMappi5=null===entry||void 0===entry?void 0:entry[null===ldapFieldMapping||void 0===ldapFieldMapping?void 0:ldapFieldMapping.username])&&void 0!==_entry$ldapFieldMappi5?_entry$ldapFieldMappi5:""),$password.val("")}function onSaveClick(){if(validate()){var roleSlug=$roleSlug.val(),user=getUser(roleSlug),httpClient=getHttpClient(roleSlug);httpClient.store(user).done(function(){deferred.resolve(),deferred=void 0,$modal.modal("hide")})}}function onModalHidden(){resetModal(),deferred&&deferred.reject()}function resetModal(){$modal.find("input, select, textarea").val(""),$modal.find(":checkbox").prop("checked",!1),$roleSlug.val(App.Layouts.Backend.DB_SLUG_PROVIDER)}function open(entry,ldapFieldMapping){return resetModal(),deferred=$.Deferred(),loadEntry(entry,ldapFieldMapping),$modal.modal("show"),deferred.promise()}var deferred,$modal=$("#ldap-import-modal"),$save=$("#ldap-import-save"),$firstName=$("#ldap-import-first-name"),$lastName=$("#ldap-import-last-name"),$email=$("#ldap-import-email"),$phoneNumber=$("#ldap-import-phone-number"),$username=$("#ldap-import-username"),$ldapDn=$("#ldap-import-ldap-dn"),$roleSlug=$("#ldap-import-role-slug"),$password=$("#ldap-import-password");return document.addEventListener("DOMContentLoaded",function initialize(){$save.on("click",onSaveClick),$modal.on("hidden.bs.modal",onModalHidden)}),{open:open}}();