You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
easyappointments-archive/assets/js/backend_users_secretaries.m...

1 line
8.8 KiB

!function(){"use strict";function e(){this.filterResults={},this.filterLimit=20}e.prototype.bindEventHandlers=function(){$("#secretaries").on("submit","#filter-secretaries form",function(e){e.preventDefault();var r=$("#filter-secretaries .key").val();$("#filter-secretaries .selected").removeClass("selected"),this.resetForm(),this.filter(r)}.bind(this)),$("#secretaries").on("click","#filter-secretaries .clear",function(){this.filter(""),$("#filter-secretaries .key").val(""),this.resetForm()}.bind(this)),$("#secretaries").on("click",".secretary-row",function(e){var r,s;$("#filter-secretaries .filter").prop("disabled")?$("#filter-secretaries .results").css("color","#AAA"):(r=$(e.currentTarget).attr("data-id"),s=this.filterResults.find(function(e){return Number(e.id)===Number(r)}),this.display(s),$("#filter-secretaries .selected").removeClass("selected"),$(e.currentTarget).addClass("selected"),$("#edit-secretary, #delete-secretary").prop("disabled",!1))}.bind(this)),$("#secretaries").on("click","#add-secretary",function(){this.resetForm(),$("#filter-secretaries button").prop("disabled",!0),$("#filter-secretaries .results").css("color","#AAA"),$("#secretaries .add-edit-delete-group").hide(),$("#secretaries .save-cancel-group").show(),$("#secretaries .record-details").find("input, textarea").prop("disabled",!1),$("#secretaries .record-details").find("select").prop("disabled",!1),$("#secretary-password, #secretary-password-confirm").addClass("required"),$("#secretary-providers input:checkbox").prop("disabled",!1)}.bind(this)),$("#secretaries").on("click","#edit-secretary",function(){$("#filter-secretaries button").prop("disabled",!0),$("#filter-secretaries .results").css("color","#AAA"),$("#secretaries .add-edit-delete-group").hide(),$("#secretaries .save-cancel-group").show(),$("#secretaries .record-details").find("input, textarea").prop("disabled",!1),$("#secretaries .record-details").find("select").prop("disabled",!1),$("#secretary-password, #secretary-password-confirm").removeClass("required"),$("#secretary-providers input:checkbox").prop("disabled",!1)}),$("#secretaries").on("click","#delete-secretary",function(){var e=$("#secretary-id").val(),r=[{text:EALang.cancel,click:function(){$("#message-box").dialog("close")}},{text:EALang.delete,click:function(){this.delete(e),$("#message-box").dialog("close")}.bind(this)}];GeneralFunctions.displayMessageBox(EALang.delete_secretary,EALang.delete_record_prompt,r)}.bind(this)),$("#secretaries").on("click","#save-secretary",function(){var s={first_name:$("#secretary-first-name").val(),last_name:$("#secretary-last-name").val(),email:$("#secretary-email").val(),mobile_number:$("#secretary-mobile-number").val(),phone_number:$("#secretary-phone-number").val(),address:$("#secretary-address").val(),city:$("#secretary-city").val(),state:$("#secretary-state").val(),zip_code:$("#secretary-zip-code").val(),notes:$("#secretary-notes").val(),timezone:$("#secretary-timezone").val(),settings:{username:$("#secretary-username").val(),notifications:$("#secretary-notifications").prop("checked"),calendar_view:$("#secretary-calendar-view").val()},providers:[]};$("#secretary-providers input:checkbox").each(function(e,r){$(r).prop("checked")&&s.providers.push($(r).attr("data-id"))}),""!==$("#secretary-password").val()&&(s.settings.password=$("#secretary-password").val()),""!==$("#secretary-id").val()&&(s.id=$("#secretary-id").val()),this.validate()&&this.save(s)}.bind(this)),$("#secretaries").on("click","#cancel-secretary",function(){var e=$("#secretary-id").val();this.resetForm(),e&&this.select(e,!0)}.bind(this))},e.prototype.unbindEventHandlers=function(){$("#secretaries").off("submit","#filter-secretaries form").off("click","#filter-secretaries .clear").off("click",".secretary-row").off("click","#add-secretary").off("click","#edit-secretary").off("click","#delete-secretary").off("click","#save-secretary").off("click","#cancel-secretary")},e.prototype.save=function(e){var r=GlobalVariables.baseUrl+"/index.php/backend_api/ajax_save_secretary",s={csrfToken:GlobalVariables.csrfToken,secretary:JSON.stringify(e)};$.post(r,s).done(function(e){Backend.displayNotification(EALang.secretary_saved),this.resetForm(),$("#filter-secretaries .key").val(""),this.filter("",e.id,!0)}.bind(this))},e.prototype.delete=function(e){var r=GlobalVariables.baseUrl+"/index.php/backend_api/ajax_delete_secretary",s={csrfToken:GlobalVariables.csrfToken,secretary_id:e};$.post(r,s).done(function(){Backend.displayNotification(EALang.secretary_deleted),this.resetForm(),this.filter($("#filter-secretaries .key").val())}.bind(this))},e.prototype.validate=function(){$("#secretaries .has-error").removeClass("has-error"),$("#secretaries .form-message").removeClass("alert-danger");try{var s=!1;if($("#secretaries .required").each(function(e,r){$(r).val()||($(r).closest(".form-group").addClass("has-error"),s=!0)}),s)throw new Error("Fields with * are required.");if($("#secretary-password").val()!==$("#secretary-password-confirm").val())throw $("#secretary-password, #secretary-password-confirm").closest(".form-group").addClass("has-error"),new Error("Passwords mismatch!");if($("#secretary-password").val().length<BackendUsers.MIN_PASSWORD_LENGTH&&""!==$("#secretary-password").val())throw $("#secretary-password, #secretary-password-confirm").closest(".form-group").addClass("has-error"),new Error("Password must be at least "+BackendUsers.MIN_PASSWORD_LENGTH+" characters long.");if(!GeneralFunctions.validateEmail($("#secretary-email").val()))throw $("#secretary-email").closest(".form-group").addClass("has-error"),new Error("Invalid email address!");if("true"===$("#secretary-username").attr("already-exists"))throw $("#secretary-username").closest(".form-group").addClass("has-error"),new Error("Username already exists.");return!0}catch(e){return $("#secretaries .form-message").addClass("alert-danger").text(e.message).show(),!1}},e.prototype.resetForm=function(){$("#filter-secretaries .selected").removeClass("selected"),$("#filter-secretaries button").prop("disabled",!1),$("#filter-secretaries .results").css("color",""),$("#secretaries .record-details").find("input, select, textarea").val("").prop("disabled",!0),$("#secretaries .record-details #secretary-calendar-view").val("default"),$("#secretaries .record-details #secretary-timezone").val("UTC"),$("#secretaries .add-edit-delete-group").show(),$("#secretaries .save-cancel-group").hide(),$("#edit-secretary, #delete-secretary").prop("disabled",!0),$("#secretaries .form-message").hide(),$("#secretary-providers input:checkbox").prop("checked",!1),$("#secretaries .has-error").removeClass("has-error")},e.prototype.display=function(e){$("#secretary-id").val(e.id),$("#secretary-first-name").val(e.first_name),$("#secretary-last-name").val(e.last_name),$("#secretary-email").val(e.email),$("#secretary-mobile-number").val(e.mobile_number),$("#secretary-phone-number").val(e.phone_number),$("#secretary-address").val(e.address),$("#secretary-city").val(e.city),$("#secretary-state").val(e.state),$("#secretary-zip-code").val(e.zip_code),$("#secretary-notes").val(e.notes),$("#secretary-timezone").val(e.timezone),$("#secretary-username").val(e.settings.username),$("#secretary-calendar-view").val(e.settings.calendar_view),$("#secretary-notifications").prop("checked",Boolean(Number(e.settings.notifications))),$("#secretary-providers input:checkbox").prop("checked",!1),e.providers.forEach(function(e){var r=$('#secretary-providers input[data-id="'+e+'"]');r.length&&r.prop("checked",!0)})},e.prototype.filter=function(r,s,t){t=t||!1;var e=GlobalVariables.baseUrl+"/index.php/backend_api/ajax_filter_secretaries",a={csrfToken:GlobalVariables.csrfToken,key:r,limit:this.filterLimit};$.post(e,a).done(function(e){this.filterResults=e,$("#filter-secretaries .results").empty(),e.forEach(function(e){$("#filter-secretaries .results").append(this.getFilterHtml(e)).append($("<hr/>"))}.bind(this)),e.length?e.length===this.filterLimit&&$("<button/>",{type:"button",class:"btn btn-block btn-outline-secondary load-more text-center",text:EALang.load_more,click:function(){this.filterLimit+=20,this.filter(r,s,t)}.bind(this)}).appendTo("#filter-secretaries .results"):$("#filter-secretaries .results").append($("<em/>",{text:EALang.no_records_found})),s&&this.select(s,t)}.bind(this))},e.prototype.getFilterHtml=function(e){var r=e.first_name+" "+e.last_name,s=e.email,s=e.mobile_number?s+", "+e.mobile_number:s;return s=e.phone_number?s+", "+e.phone_number:s,$("<div/>",{class:"secretary-row entry","data-id":e.id,html:[$("<strong/>",{text:r}),$("<br/>"),$("<span/>",{text:s}),$("<br/>")]})},e.prototype.select=function(r,e){var s;e=e||!1,$("#filter-secretaries .selected").removeClass("selected"),$('#filter-secretaries .secretary-row[data-id="'+r+'"]').addClass("selected"),e&&(s=this.filterResults.find(function(e){return Number(e.id)===Number(r)}.bind(this)),this.display(s),$("#edit-secretary, #delete-secretary").prop("disabled",!1))},window.SecretariesHelper=e}();