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.
1 line
5.7 KiB
1 line
5.7 KiB
window.GeneralFunctions=window.GeneralFunctions||{},function(e){"use strict";document.addEventListener("DOMContentLoaded",function(){$(document).ajaxError(function(e,a,t,n){GeneralFunctions.ajaxFailureHandler(a,t,n)})}),e.displayMessageBox=function(e,a,t){e=e||"- No Title Provided -",a=a||"- No Message Provided -",t=t||[{text:EALang.close,click:function(){$("#message-box").dialog("close")}}],$("#message-box").dialog("destroy").remove(),$("<div/>",{id:"message-box",title:e,html:[$("<p/>",{html:a})]}).appendTo("body"),$("#message-box").dialog({autoOpen:!1,modal:!0,resize:"auto",width:"auto",height:"auto",resizable:!1,buttons:t,closeOnEscape:!0}),$("#message-box").dialog("open"),$(".ui-dialog .ui-dialog-buttonset button").addClass("btn btn-outline-secondary"),$("#message-box .ui-dialog-titlebar-close").hide()},e.centerElementOnPage=function(t){$(window).resize(function(){var e=($(window).width()-t.outerWidth())/2,a=0<(a=($(window).height()-t.outerHeight())/2)?a:20;t.css({position:"absolute",left:e,top:a})}),$(window).resize()},e.getUrlParameter=function(e,a){var t=e.substr(e.indexOf("?")).slice(1).split("&");for(var n in t){var r=t[n].split("=");if(1===r.length&&r[0]===a)return"";if(2===r.length&&r[0]===a)return decodeURIComponent(r[1])}return""},e.ISODateString=function(e){function a(e){return e<10?"0"+e:e}return e.getUTCFullYear()+"-"+a(e.getUTCMonth()+1)+"-"+a(e.getUTCDate())+"T"+a(e.getUTCHours())+":"+a(e.getUTCMinutes())+":"+a(e.getUTCSeconds())+"Z"},e.clone=function(e){if(!e||"object"!=typeof e)return e;var a;if(e instanceof Date)return(a=new Date).setTime(e.getTime()),a;if(e instanceof Array){a=[];for(var t=0,n=e.length;t<n;t++)a[t]=GeneralFunctions.clone(e[t]);return a}if(e instanceof Object){for(var r in a={},e)e.hasOwnProperty(r)&&(a[r]=GeneralFunctions.clone(e[r]));return a}throw new Error("Unable to copy obj! Its type isn't supported.")},e.validateEmail=function(e){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/.test(e)},e.upperCaseFirstLetter=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.enableLanguageSelection=function(e){var a=$("<ul/>",{id:"language-list",html:availableLanguages.map(function(e){return $("<li/>",{class:"language","data-language":e,text:GeneralFunctions.upperCaseFirstLetter(e)})})});e.popover({placement:"top",title:"Select Language",content:a[0],html:!0,container:"body",trigger:"manual"}),e.on("click",function(e){e.stopPropagation(),0===$("#language-list").length?$(this).popover("show"):$(this).popover("hide"),$(this).toggleClass("active")}),$(document).on("click","li.language",function(){var e=GlobalVariables.baseUrl+"/index.php/backend_api/ajax_change_language",a={csrfToken:GlobalVariables.csrfToken,language:$(this).attr("data-language")};$.post(e,a).done(function(){document.location.reload(!0)})}),$(document).on("click",function(){e.popover("hide")})},e.ajaxFailureHandler=function(a,e,t){var n;console.error("Unexpected HTTP Error: ",a,e,t);try{n=JSON.parse(a.responseText)}catch(e){n={message:a.responseText}}n&&(GeneralFunctions.displayMessageBox(EALang.unexpected_issues,EALang.unexpected_issues_message),$("<div/>",{class:"card",html:[$("<div/>",{class:"card-body",html:n.message||"→ No error information provided."})]}).appendTo("#message-box"))},e.escapeHtml=function(e){return $("<div/>").text(e).html()},e.formatDate=function(e,a,t){var n,r="regular"===GlobalVariables.timeFormat?"h:mm tt":"HH:mm",o=t?" "+r:"",s=Date.parse(e);if(!s)return e;switch(a){case"DMY":n=s.toString("dd/MM/yyyy"+o);break;case"MDY":n=s.toString("MM/dd/yyyy"+o);break;case"YMD":n=s.toString("yyyy/MM/dd"+o);break;default:throw new Error("Invalid date format setting provided!",a)}return n},e.getWeekDayId=function(e){var a;switch(e.toLowerCase()){case"sunday":case"sun":a=0;break;case"monday":case"mon":a=1;break;case"tuesday":case"tue":a=2;break;case"wednesday":case"wed":a=3;break;case"thursday":case"thu":a=4;break;case"friday":case"fri":a=5;break;case"saturday":case"sat":a=6;break;default:throw new Error("Invalid weekday name provided!",e)}return a},e.getWeekdayName=function(e){var a;switch(e){case 0:a="sunday";break;case 1:a="monday";break;case 2:a="tuesday";break;case 3:a="wednesday";break;case 4:a="thursday";break;case 5:a="friday";break;case 6:a="saturday";break;default:throw new Error("Invalid weekday Id provided!",e)}return a},e.sortWeekDictionary=function(e,a){for(var t={},n=a;n<a+7;n++){var r=GeneralFunctions.getWeekdayName(n%7);t[r]=e[r]}return t},e.renderMapIcon=function(e){var a=[];return e.address&&a.push(e.address),e.city&&a.push(e.city),e.state&&a.push(e.state),e.zip_code&&a.push(e.zip_code),a.length?$("<div/>",{html:[$("<a/>",{href:"https://www.google.com/maps/place/"+a.join(","),target:"_blank",html:[$("<span/>",{class:"fas fa-map-marker-alt"})]})]}).html():""},e.renderMailIcon=function(e){return $("<div/>",{html:[$("<a/>",{href:"mailto:"+e,target:"_blank",html:[$("<span/>",{class:"fas fa-envelope"})]})]}).html()},e.renderPhoneIcon=function(e){return $("<div/>",{html:[$("<a/>",{href:"tel:"+e,target:"_blank",html:[$("<span/>",{class:"fas fa-phone-alt"})]})]}).html()},e.ISO8601DateString=function(e,a){var t;switch(a){case"DMY":e=(t=e.split("/"))[2]+"-"+t[1]+"-"+t[0];break;case"MDY":e=(t=e.split("/"))[2]+"-"+t[0]+"-"+t[1];break;case"YMD":e=e.replace("/","-");break;default:throw new Error("Invalid date format setting provided:"+a)}return e}}(window.GeneralFunctions); |