diff --git a/src/js/api.constant.js b/src/js/api.constant.js
index 961735d..6b3faf5 100644
--- a/src/js/api.constant.js
+++ b/src/js/api.constant.js
@@ -1,7 +1,7 @@
/*******************************************************************************
API - Constant
*******************************************************************************/
-const C_API_VERSION = "5.0.0";
+const C_API_VERSION = "5.0.4";
/*******************************************************************************
API - Constant - URI
diff --git a/src/js/api.constant.min.js b/src/js/api.constant.min.js
index 01cd287..4e565fb 100644
--- a/src/js/api.constant.min.js
+++ b/src/js/api.constant.min.js
@@ -1 +1 @@
-const C_API_VERSION="5.0.0";const C_API_URI_NOHEADER="noheader";const C_API_URI_NONAVBAR="nonavbar";const C_API_URI_NOFOOTER="nofooter";const C_API_URI_BODY="body";const C_API_COOKIE_SESSION="session";const C_API_AJAX_SUCCESS="success";
+const C_API_VERSION="5.0.4";const C_API_URI_NOHEADER="noheader";const C_API_URI_NONAVBAR="nonavbar";const C_API_URI_NOFOOTER="nofooter";const C_API_URI_BODY="body";const C_API_COOKIE_SESSION="session";const C_API_AJAX_SUCCESS="success";
diff --git a/src/js/api.library.js b/src/js/api.library.js
index 3c70772..a739be2 100644
--- a/src/js/api.library.js
+++ b/src/js/api.library.js
@@ -393,8 +393,10 @@ api.ajax.jsonrpc = {};
* @param {*} callbackFunctionName_onError
* @param {*} callbackParams_onError
* @param {*} pAJAX_Params
+ * @param {*} pItemSpinner
+ * @param {*} pHideSuccessErrorModal
*/
-api.ajax.jsonrpc.request = function (pAPI_URL, pAPI_Method, pAPI_Params, callbackFunctionName_onSuccess, callbackParams_onSuccess, callbackFunctionName_onError, callbackParams_onError, pAJAX_Params, pItemSpinner = null) {
+api.ajax.jsonrpc.request = function (pAPI_URL, pAPI_Method, pAPI_Params, callbackFunctionName_onSuccess, callbackParams_onSuccess, callbackFunctionName_onError, callbackParams_onError, pAJAX_Params, pItemSpinner = null, pHideSuccessErrorModal = false) {
// Default API parameters
pAPI_Params = pAPI_Params || {};
@@ -442,39 +444,44 @@ api.ajax.jsonrpc.request = function (pAPI_URL, pAPI_Method, pAPI_Params, callbac
}
if (response.error) {
- // Init the erro output
- var errorOutput = null;
-
- // Check response.error.data exist
- if (response.error.data) {
- // Format the structured data, either array or object
- if (($.isArray(response.error.data) && response.error.data.length)
- || ($.isPlainObject(response.error.data) && !$.isEmptyObject(response.error.data))) {
- errorOutput = $("
", {
- class: "list-group"
- });
- $.each(response.error.data, function (_index, value) {
- var error = $("- ", {
- class: "list-group-item",
- html: value.toString()
+ if (!pHideSuccessErrorModal) {
+ // Init the error output
+ var errorOutput = null;
+
+ // Check response.error.data exist
+ if (response.error.data) {
+ // Format the structured data, either array or object
+ if (($.isArray(response.error.data) && response.error.data.length)
+ || ($.isPlainObject(response.error.data) && !$.isEmptyObject(response.error.data))) {
+ errorOutput = $("
", {
+ class: "list-group"
});
- errorOutput.append(error);
- });
- } else
- // Plain error
- errorOutput = response.error.data;
- } else {
- // Get the simple message otherwise
- errorOutput = response.error.message;
+ $.each(response.error.data, function (_index, value) {
+ var error = $("- ", {
+ class: "list-group-item",
+ html: value.toString()
+ });
+ errorOutput.append(error);
+ });
+ } else
+ // Plain error
+ errorOutput = response.error.data;
+ } else {
+ // Get the simple message otherwise
+ errorOutput = response.error.message;
+ }
+
+ // Pop the error in the Bootstrap Modal
+ api.modal.error(errorOutput);
}
- // Pop the error in the Bootstrap Modal
- api.modal.error(errorOutput);
if (callbackFunctionName_onError) {
api.ajax.callback(callbackFunctionName_onError, response.error, callbackParams_onError);
}
- } else if (response.result !== undefined) {
+ }
+
+ else if (response.result !== undefined) {
// Check if the response.result property exist
if (callbackFunctionName_onSuccess)
api.ajax.callback(callbackFunctionName_onSuccess, response.result, callbackParams_onSuccess);
diff --git a/src/js/api.library.min.js b/src/js/api.library.min.js
index 04608f9..3e2894b 100644
--- a/src/js/api.library.min.js
+++ b/src/js/api.library.min.js
@@ -1 +1 @@
-var api=api||{};api.spinner={};api.spinner.count=0;api.spinner.progress={};api.spinner.progress.instance=null;api.spinner.progress.timeout=0;api.spinner.start=function(pItemSpinner=null){if(pItemSpinner!=null){$(pItemSpinner).find(".item-spinner").remove();var item=$("#spinner-holder").find(".item-spinner").clone();$(pItemSpinner).prepend($(item));$(item).removeClass("d-none");$(pItemSpinner).find(".item-spinner").show();let resizeObserver=new ResizeObserver((()=>{$(pItemSpinner).find(item).find(".item-loader").css("margin-top",$(pItemSpinner).height()*.5-15)}));resizeObserver.observe($(pItemSpinner)[0])}else if(!api.spinner.count++){$("#spinner").show()}};api.spinner.stop=function(pItemSpinner=null){if(pItemSpinner!=null){$(pItemSpinner).find(".item-spinner").find(".item-loader").addClass("d-none");$(pItemSpinner).find(".item-spinner").remove()}else{if(api.spinner.count){api.spinner.count--}if(!api.spinner.count){if(api.spinner.progress.instance){api.spinner.progress.stop();setTimeout((function(){$("#spinner").fadeOut("slow")}),1e3)}else{$("#spinner").fadeOut("slow")}}}};api.spinner.progress.start=function(progressTimeout){if(progressTimeout){clearTimeout(api.spinner.progress.instance);api.spinner.progress.timeout=progressTimeout;$("#spinner .progress").find("[name=bar]").css("width","1%").attr("aria-valuenow",1);$("#spinner .progress").find("[name=percentage]").text("1%");$("#spinner .progress").show();api.spinner.progress.setTimeout()}};api.spinner.progress.stop=function(){clearTimeout(api.spinner.progress.instance);$("#spinner .progress").find("[name=bar]").css("width","100%").attr("aria-valuenow",100);$("#spinner .progress").find("[name=percentage]").text("100%");$("#spinner .progress").fadeOut("slow")};api.spinner.progress.getTimeout=function(unitsToProcess,unitsPerSecond){var timeout=unitsToProcess/unitsPerSecond;timeout=timeout/100*1*1e3;return timeout};api.spinner.progress.setTimeout=function(){api.spinner.progress.timeout=Math.ceil(api.spinner.progress.timeout+api.spinner.progress.timeout/100*.5);api.spinner.progress.instance=setTimeout((function(){var percentage=Math.min(parseInt($("#spinner .progress").find("[name=bar]").attr("aria-valuenow"))+1,99);$("#spinner .progress").find("[name=bar]").css("width",percentage+"%").attr("aria-valuenow",percentage);$("#spinner .progress").find("[name=percentage]").text(percentage+"%");api.spinner.progress.setTimeout()}),api.spinner.progress.timeout)};api.content={};api.content.params={};api.content.getParam=function(pKey){return api.content.params[pKey]};api.content.load=function(pSelectorContainer,pRelativeURL,pParams,pAppend){pParams=pParams||{};pAppend=pAppend||false;var uri=new URI(pRelativeURL);if(uri.is("relative")===false)return;$.ajax({url:pRelativeURL,async:false,success:function(response){api.content.params=pParams;if(pAppend)$(pSelectorContainer).append(response).promise().done((function(){api.content.params={}}));else $(pSelectorContainer).empty().html(response).promise().done((function(){api.content.params={}}))}})};api.content.navigate=function(pNavSelector,pRelativeURL,pNav_link_SelectorToHighlight,pNav_menu_SelectorToHighlight){pNav_link_SelectorToHighlight=pNav_link_SelectorToHighlight||null;pNav_menu_SelectorToHighlight=pNav_menu_SelectorToHighlight||null;var uri=new URI(pRelativeURL);if(uri.is("relative")===false)return;$(pNavSelector).click((function(e){e.preventDefault();$.ajax({url:pRelativeURL,async:false,success:function(response){$("#body").hide().empty().html(response).fadeIn()}});$("#navigation").find("*").removeClass("show");$("#navigation").find("*").removeClass("active");if(pNav_link_SelectorToHighlight)$(pNav_link_SelectorToHighlight).addClass("active");if(pNav_menu_SelectorToHighlight){$(pNav_menu_SelectorToHighlight).addClass("active")}}))};api.content.goTo=function(pRelativeURL,pNav_link_SelectorToHighlight,pNav_menu_SelectorToHighlight,pParams){pNav_link_SelectorToHighlight=pNav_link_SelectorToHighlight||null;pNav_menu_SelectorToHighlight=pNav_menu_SelectorToHighlight||null;pParams=pParams||{};var uri=new URI(pRelativeURL);if(uri.is("relative")===false)return;$.ajax({url:pRelativeURL,async:false,success:function(response){api.content.params=pParams;$("#body").hide().empty().html(response).fadeIn().promise().done((function(){api.content.params={}}))}});$("#navigation").find("*").removeClass("show");$("#navigation").find("*").removeClass("active");if(pNav_link_SelectorToHighlight)$(pNav_link_SelectorToHighlight).addClass("active");if(pNav_menu_SelectorToHighlight){$(pNav_menu_SelectorToHighlight).addClass("active")}};api.ajax={};api.ajax.callback=function(pFunction,pResponse,pParams){pResponse=pResponse||null;pParams=pParams||{};var context=window;var callbackFunction="";callbackFunction=context[pFunction];if(typeof callbackFunction==="function"){if(jQuery.isEmptyObject(pParams))return callbackFunction(pResponse);else return callbackFunction(pResponse,pParams)}var namespaces=pFunction.split(".");var functionName=namespaces.pop();for(var i=0;i",{class:"list-group"});$.each(response.error.data,(function(_index,value){var error=$("
- ",{class:"list-group-item",html:value.toString()});errorOutput.append(error)}))}else errorOutput=response.error.data}else{errorOutput=response.error.message}api.modal.error(errorOutput);if(callbackFunctionName_onError){api.ajax.callback(callbackFunctionName_onError,response.error,callbackParams_onError)}}else if(response.result!==undefined){if(callbackFunctionName_onSuccess)api.ajax.callback(callbackFunctionName_onSuccess,response.result,callbackParams_onSuccess)}else api.modal.exception("An unexpected error has occurred. Please try again.")},error:function(jqXHR,textStatus,errorThrown){if(callbackFunctionName_onError){api.ajax.callback(callbackFunctionName_onError,null,callbackParams_onError)}else if(errorThrown=="Unauthorized"){}else{api.modal.exception("A Server or Network Error has occurred. Please try again.")}},complete:function(){if(simulateSync)api.spinner.stop(pItemSpinner);$("#nav-loader").addClass("invisible");$("body").css("cursor","default")}};$.extend(extendedAJAXParams,pAJAX_Params);try{$("#nav-loader").removeClass("invisible");$("body").css("cursor","progress");if(simulateSync)api.spinner.start(pItemSpinner);api.cookie.session.extend();return $.ajax(extendedAJAXParams)}catch(error){console.log(error);api.modal.exception("An unhandled Ajax exception has occurred. Please try again.");return false}};api.modal={};api.modal.confirm=function(pMessage,pCallbackMethod,pCallbackParams,pIconType,pCancellationCallbackMethod,pCancellationCallbackParams){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-confirm").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-confirm").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-confirm").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-confirm").find("[name=message-content]").empty()}let iconType="";$("#modal-confirm").find("[name=confirm-btn]").removeClass();if(pIconType=="error"){iconType="far fa-times-circle text-danger";$("#modal-confirm").find("[name=confirm-btn]").addClass("btn btn-danger text-light")}else if(pIconType=="question"){iconType="fa fa-question-circle text-primary";$("#modal-confirm").find("[name=confirm]").addClass("btn border-primary btn-primary text-light")}else{iconType="fa fa-info-circle text-warning";$("#modal-confirm").find("[name=confirm]").removeClass().addClass("btn btn-warning")}$("#modal-confirm").find("[name=icon-type]").removeClass().addClass(iconType+" fa-5x");$("#modal-confirm").find("[name=confirm]").once("click",(function(){$("#modal-confirm").modal("hide").delay(100).queue((function(){pCallbackMethod(pCallbackParams);$(this).dequeue()}))}));$("#modal-confirm").find("[name=cancel-confirm]").once("click",(function(){$("#modal-confirm").modal("hide").delay(100).queue((function(){if(pCancellationCallbackMethod!=null){pCancellationCallbackMethod(pCancellationCallbackParams)}$(this).dequeue()}))}));$("#modal-confirm").modal("show")};api.modal.success=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-success").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-success").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-success").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-success").find("[name=message-content]").empty()}$("#modal-success").find("[name=success]").once("click",(function(){$("#modal-success").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-success").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-success").modal("show")};api.modal.error=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj={title:pMessage}}}else{msgObj=pMessage}if(Array.isArray(msgObj)){msgObj=msgObj[0]}$("#modal-error").find("[name=message-content]").empty();$("#modal-error").find("[name=more-info-content]").addClass("d-none");if(typeof pMessage=="object"){$("#modal-error").find("[name=message-text]").empty().html(msgObj)}else{$("#modal-error").find("[name=message-text]").empty().html(msgObj.title)}if(msgObj.hasOwnProperty("message")){$("#modal-error").find("[name=message-content]").empty().html(msgObj.message);$("#modal-error").find("[name=message-uuid]").empty().html(msgObj.uuid)}$("#modal-error").find("[name=error]").once("click",(function(){$("#modal-error").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-error").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-error").modal("show")};api.modal.information=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-information").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-information").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-information").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-information").find("[name=message-content]").empty()}$("#modal-information").find("[name=information]").once("click",(function(){$("#modal-information").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-information").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-information").modal("show")};api.modal.warning=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-warning").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-warning").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-warning").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-warning").find("[name=message-content]").empty()}$("#modal-warning").find("[name=warning]").once("click",(function(){$("#modal-warning").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-warning").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-warning").modal("show")};api.modal.exception=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-exception").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-exception").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-exception").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-exception").find("[name=message-content]").empty()}$("#modal-exception").find("[name=exception]").once("click",(function(){$("#modal-exception").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-exception").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-exception").modal("show")};api.uri={};api.uri.parse=function(pURL){var URI=new URI(pURL);return URI.parseQuery(uri.search())};api.uri.isParam=function(pParam,pURL){pURL=pURL||window.location.href;var uri=new URI(pURL);var paramsURL=URI.parseQuery(uri.search());if(pParam in paramsURL)return true;else return false};api.uri.getParam=function(pParam,pURL){pURL=pURL||window.location.href;var uri=new URI(pURL);var paramsURL=URI.parseQuery(uri.search());if(pParam in paramsURL)return paramsURL[pParam];else return false};api.uri.getNoHeader=function(){return api.uri.isParam(C_API_URI_NOHEADER)};api.uri.getNoNavbar=function(){return api.uri.isParam(C_API_URI_NONAVBAR)};api.uri.getNoFooter=function(){return api.uri.isParam(C_API_URI_NOFOOTER)};api.uri.getBody=function(){return api.uri.getParam(C_API_URI_BODY)};api.cookie={};api.cookie.session={};api.cookie.session.data={length:null,expiry:null,logoutEndpoint:null,logoutMethod:null};api.cookie.session.options={path:"/",secure:"true",sameSite:"strict"};api.cookie.session.confirmExtension=function(){};api.cookie.session.start=function(pLength,pLogoutEnpoint,pLogoutMethod){var timestamp=Math.round((new Date).getTime()/1e3);Cookies.setJSON(C_API_COOKIE_SESSION,$.extend(true,{},api.cookie.session.data,{length:pLength,expiry:timestamp+pLength,logoutEndpoint:pLogoutEnpoint,logoutMethod:pLogoutMethod}),api.cookie.session.options);window.setInterval(api.cookie.session.intervalRoutine,1e3)};api.cookie.session.extend=function(){var data=Cookies.getJSON(C_API_COOKIE_SESSION);if(data){var timestamp=Math.round((new Date).getTime()/1e3);Cookies.setJSON(C_API_COOKIE_SESSION,$.extend(true,{},data,{length:data.length,expiry:timestamp+data.length}),api.cookie.session.options)}};api.cookie.session.end=function(logoutEndpoint,logoutMethod){logoutEndpoint=logoutEndpoint||null;logoutMethod=logoutMethod||null;var session=Cookies.getJSON(C_API_COOKIE_SESSION);api.ajax.jsonrpc.request(logoutEndpoint||session.logoutEndpoint,logoutMethod||session.logoutMethod,null,"api.cookie.session.endCallbak");Cookies.remove(C_API_COOKIE_SESSION)};api.cookie.session.endCallbak=function(data){if(data==C_API_AJAX_SUCCESS){window.location.href=window.location.pathname}else{api.modal.exception("An unexpected error has occurred. Please try again.")}};api.cookie.session.intervalRoutine=function(){var data=Cookies.getJSON(C_API_COOKIE_SESSION);if(!data||$.active){return}var timestamp=Math.round((new Date).getTime()/1e3);if(timestamp>data.expiry){api.cookie.session.end()}else if(timestamp>data.expiry-60){api.cookie.session.confirmExtension()}else{}};
+var api=api||{};api.spinner={};api.spinner.count=0;api.spinner.progress={};api.spinner.progress.instance=null;api.spinner.progress.timeout=0;api.spinner.start=function(pItemSpinner=null){if(pItemSpinner!=null){$(pItemSpinner).find(".item-spinner").remove();var item=$("#spinner-holder").find(".item-spinner").clone();$(pItemSpinner).prepend($(item));$(item).removeClass("d-none");$(pItemSpinner).find(".item-spinner").show();let resizeObserver=new ResizeObserver((()=>{$(pItemSpinner).find(item).find(".item-loader").css("margin-top",$(pItemSpinner).height()*.5-15)}));resizeObserver.observe($(pItemSpinner)[0])}else if(!api.spinner.count++){$("#spinner").show()}};api.spinner.stop=function(pItemSpinner=null){if(pItemSpinner!=null){$(pItemSpinner).find(".item-spinner").find(".item-loader").addClass("d-none");$(pItemSpinner).find(".item-spinner").remove()}else{if(api.spinner.count){api.spinner.count--}if(!api.spinner.count){if(api.spinner.progress.instance){api.spinner.progress.stop();setTimeout((function(){$("#spinner").fadeOut("slow")}),1e3)}else{$("#spinner").fadeOut("slow")}}}};api.spinner.progress.start=function(progressTimeout){if(progressTimeout){clearTimeout(api.spinner.progress.instance);api.spinner.progress.timeout=progressTimeout;$("#spinner .progress").find("[name=bar]").css("width","1%").attr("aria-valuenow",1);$("#spinner .progress").find("[name=percentage]").text("1%");$("#spinner .progress").show();api.spinner.progress.setTimeout()}};api.spinner.progress.stop=function(){clearTimeout(api.spinner.progress.instance);$("#spinner .progress").find("[name=bar]").css("width","100%").attr("aria-valuenow",100);$("#spinner .progress").find("[name=percentage]").text("100%");$("#spinner .progress").fadeOut("slow")};api.spinner.progress.getTimeout=function(unitsToProcess,unitsPerSecond){var timeout=unitsToProcess/unitsPerSecond;timeout=timeout/100*1*1e3;return timeout};api.spinner.progress.setTimeout=function(){api.spinner.progress.timeout=Math.ceil(api.spinner.progress.timeout+api.spinner.progress.timeout/100*.5);api.spinner.progress.instance=setTimeout((function(){var percentage=Math.min(parseInt($("#spinner .progress").find("[name=bar]").attr("aria-valuenow"))+1,99);$("#spinner .progress").find("[name=bar]").css("width",percentage+"%").attr("aria-valuenow",percentage);$("#spinner .progress").find("[name=percentage]").text(percentage+"%");api.spinner.progress.setTimeout()}),api.spinner.progress.timeout)};api.content={};api.content.params={};api.content.getParam=function(pKey){return api.content.params[pKey]};api.content.load=function(pSelectorContainer,pRelativeURL,pParams,pAppend){pParams=pParams||{};pAppend=pAppend||false;var uri=new URI(pRelativeURL);if(uri.is("relative")===false)return;$.ajax({url:pRelativeURL,async:false,success:function(response){api.content.params=pParams;if(pAppend)$(pSelectorContainer).append(response).promise().done((function(){api.content.params={}}));else $(pSelectorContainer).empty().html(response).promise().done((function(){api.content.params={}}))}})};api.content.navigate=function(pNavSelector,pRelativeURL,pNav_link_SelectorToHighlight,pNav_menu_SelectorToHighlight){pNav_link_SelectorToHighlight=pNav_link_SelectorToHighlight||null;pNav_menu_SelectorToHighlight=pNav_menu_SelectorToHighlight||null;var uri=new URI(pRelativeURL);if(uri.is("relative")===false)return;$(pNavSelector).click((function(e){e.preventDefault();$.ajax({url:pRelativeURL,async:false,success:function(response){$("#body").hide().empty().html(response).fadeIn()}});$("#navigation").find("*").removeClass("show");$("#navigation").find("*").removeClass("active");if(pNav_link_SelectorToHighlight)$(pNav_link_SelectorToHighlight).addClass("active");if(pNav_menu_SelectorToHighlight){$(pNav_menu_SelectorToHighlight).addClass("active")}}))};api.content.goTo=function(pRelativeURL,pNav_link_SelectorToHighlight,pNav_menu_SelectorToHighlight,pParams){pNav_link_SelectorToHighlight=pNav_link_SelectorToHighlight||null;pNav_menu_SelectorToHighlight=pNav_menu_SelectorToHighlight||null;pParams=pParams||{};var uri=new URI(pRelativeURL);if(uri.is("relative")===false)return;$.ajax({url:pRelativeURL,async:false,success:function(response){api.content.params=pParams;$("#body").hide().empty().html(response).fadeIn().promise().done((function(){api.content.params={}}))}});$("#navigation").find("*").removeClass("show");$("#navigation").find("*").removeClass("active");if(pNav_link_SelectorToHighlight)$(pNav_link_SelectorToHighlight).addClass("active");if(pNav_menu_SelectorToHighlight){$(pNav_menu_SelectorToHighlight).addClass("active")}};api.ajax={};api.ajax.callback=function(pFunction,pResponse,pParams){pResponse=pResponse||null;pParams=pParams||{};var context=window;var callbackFunction="";callbackFunction=context[pFunction];if(typeof callbackFunction==="function"){if(jQuery.isEmptyObject(pParams))return callbackFunction(pResponse);else return callbackFunction(pResponse,pParams)}var namespaces=pFunction.split(".");var functionName=namespaces.pop();for(var i=0;i",{class:"list-group"});$.each(response.error.data,(function(_index,value){var error=$("
- ",{class:"list-group-item",html:value.toString()});errorOutput.append(error)}))}else errorOutput=response.error.data}else{errorOutput=response.error.message}api.modal.error(errorOutput)}if(callbackFunctionName_onError){api.ajax.callback(callbackFunctionName_onError,response.error,callbackParams_onError)}}else if(response.result!==undefined){if(callbackFunctionName_onSuccess)api.ajax.callback(callbackFunctionName_onSuccess,response.result,callbackParams_onSuccess)}else api.modal.exception("An unexpected error has occurred. Please try again.")},error:function(jqXHR,textStatus,errorThrown){if(callbackFunctionName_onError){api.ajax.callback(callbackFunctionName_onError,null,callbackParams_onError)}else if(errorThrown=="Unauthorized"){}else{api.modal.exception("A Server or Network Error has occurred. Please try again.")}},complete:function(){if(simulateSync)api.spinner.stop(pItemSpinner);$("#nav-loader").addClass("invisible");$("body").css("cursor","default")}};$.extend(extendedAJAXParams,pAJAX_Params);try{$("#nav-loader").removeClass("invisible");$("body").css("cursor","progress");if(simulateSync)api.spinner.start(pItemSpinner);api.cookie.session.extend();return $.ajax(extendedAJAXParams)}catch(error){console.log(error);api.modal.exception("An unhandled Ajax exception has occurred. Please try again.");return false}};api.modal={};api.modal.confirm=function(pMessage,pCallbackMethod,pCallbackParams,pIconType,pCancellationCallbackMethod,pCancellationCallbackParams){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-confirm").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-confirm").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-confirm").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-confirm").find("[name=message-content]").empty()}let iconType="";$("#modal-confirm").find("[name=confirm-btn]").removeClass();if(pIconType=="error"){iconType="far fa-times-circle text-danger";$("#modal-confirm").find("[name=confirm-btn]").addClass("btn btn-danger text-light")}else if(pIconType=="question"){iconType="fa fa-question-circle text-primary";$("#modal-confirm").find("[name=confirm]").addClass("btn border-primary btn-primary text-light")}else{iconType="fa fa-info-circle text-warning";$("#modal-confirm").find("[name=confirm]").removeClass().addClass("btn btn-warning")}$("#modal-confirm").find("[name=icon-type]").removeClass().addClass(iconType+" fa-5x");$("#modal-confirm").find("[name=confirm]").once("click",(function(){$("#modal-confirm").modal("hide").delay(100).queue((function(){pCallbackMethod(pCallbackParams);$(this).dequeue()}))}));$("#modal-confirm").find("[name=cancel-confirm]").once("click",(function(){$("#modal-confirm").modal("hide").delay(100).queue((function(){if(pCancellationCallbackMethod!=null){pCancellationCallbackMethod(pCancellationCallbackParams)}$(this).dequeue()}))}));$("#modal-confirm").modal("show")};api.modal.success=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-success").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-success").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-success").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-success").find("[name=message-content]").empty()}$("#modal-success").find("[name=success]").once("click",(function(){$("#modal-success").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-success").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-success").modal("show")};api.modal.error=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj={title:pMessage}}}else{msgObj=pMessage}if(Array.isArray(msgObj)){msgObj=msgObj[0]}$("#modal-error").find("[name=message-content]").empty();$("#modal-error").find("[name=more-info-content]").addClass("d-none");if(typeof pMessage=="object"){$("#modal-error").find("[name=message-text]").empty().html(msgObj)}else{$("#modal-error").find("[name=message-text]").empty().html(msgObj.title)}if(msgObj.hasOwnProperty("message")){$("#modal-error").find("[name=message-content]").empty().html(msgObj.message);$("#modal-error").find("[name=message-uuid]").empty().html(msgObj.uuid)}$("#modal-error").find("[name=error]").once("click",(function(){$("#modal-error").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-error").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-error").modal("show")};api.modal.information=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-information").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-information").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-information").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-information").find("[name=message-content]").empty()}$("#modal-information").find("[name=information]").once("click",(function(){$("#modal-information").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-information").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-information").modal("show")};api.modal.warning=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-warning").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-warning").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-warning").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-warning").find("[name=message-content]").empty()}$("#modal-warning").find("[name=warning]").once("click",(function(){$("#modal-warning").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-warning").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-warning").modal("show")};api.modal.exception=function(pMessage){var msgObj;if(typeof pMessage=="string"){try{msgObj=JSON.parse(pMessage)}catch(ex){msgObj=pMessage}}else{msgObj=pMessage}if(msgObj.hasOwnProperty("title")){$("#modal-exception").find("[name=message-text]").empty().html(msgObj.title)}else{$("#modal-exception").find("[name=message-text]").empty().html(msgObj)}if(msgObj.hasOwnProperty("message")){$("#modal-exception").find("[name=message-content]").empty().html(msgObj.message)}else{$("#modal-exception").find("[name=message-content]").empty()}$("#modal-exception").find("[name=exception]").once("click",(function(){$("#modal-exception").modal("hide");$(".modal-hidden").removeClass("d-none")}));$("#modal-exception").on("hidden.bs.modal",(function(){$(".modal-hidden").removeClass("d-none")}));$("#modal-exception").modal("show")};api.uri={};api.uri.parse=function(pURL){var URI=new URI(pURL);return URI.parseQuery(uri.search())};api.uri.isParam=function(pParam,pURL){pURL=pURL||window.location.href;var uri=new URI(pURL);var paramsURL=URI.parseQuery(uri.search());if(pParam in paramsURL)return true;else return false};api.uri.getParam=function(pParam,pURL){pURL=pURL||window.location.href;var uri=new URI(pURL);var paramsURL=URI.parseQuery(uri.search());if(pParam in paramsURL)return paramsURL[pParam];else return false};api.uri.getNoHeader=function(){return api.uri.isParam(C_API_URI_NOHEADER)};api.uri.getNoNavbar=function(){return api.uri.isParam(C_API_URI_NONAVBAR)};api.uri.getNoFooter=function(){return api.uri.isParam(C_API_URI_NOFOOTER)};api.uri.getBody=function(){return api.uri.getParam(C_API_URI_BODY)};api.cookie={};api.cookie.session={};api.cookie.session.data={length:null,expiry:null,logoutEndpoint:null,logoutMethod:null};api.cookie.session.options={path:"/",secure:"true",sameSite:"strict"};api.cookie.session.confirmExtension=function(){};api.cookie.session.start=function(pLength,pLogoutEnpoint,pLogoutMethod){var timestamp=Math.round((new Date).getTime()/1e3);Cookies.setJSON(C_API_COOKIE_SESSION,$.extend(true,{},api.cookie.session.data,{length:pLength,expiry:timestamp+pLength,logoutEndpoint:pLogoutEnpoint,logoutMethod:pLogoutMethod}),api.cookie.session.options);window.setInterval(api.cookie.session.intervalRoutine,1e3)};api.cookie.session.extend=function(){var data=Cookies.getJSON(C_API_COOKIE_SESSION);if(data){var timestamp=Math.round((new Date).getTime()/1e3);Cookies.setJSON(C_API_COOKIE_SESSION,$.extend(true,{},data,{length:data.length,expiry:timestamp+data.length}),api.cookie.session.options)}};api.cookie.session.end=function(logoutEndpoint,logoutMethod){logoutEndpoint=logoutEndpoint||null;logoutMethod=logoutMethod||null;var session=Cookies.getJSON(C_API_COOKIE_SESSION);api.ajax.jsonrpc.request(logoutEndpoint||session.logoutEndpoint,logoutMethod||session.logoutMethod,null,"api.cookie.session.endCallbak");Cookies.remove(C_API_COOKIE_SESSION)};api.cookie.session.endCallbak=function(data){if(data==C_API_AJAX_SUCCESS){window.location.href=window.location.pathname}else{api.modal.exception("An unexpected error has occurred. Please try again.")}};api.cookie.session.intervalRoutine=function(){var data=Cookies.getJSON(C_API_COOKIE_SESSION);if(!data||$.active){return}var timestamp=Math.round((new Date).getTime()/1e3);if(timestamp>data.expiry){api.cookie.session.end()}else if(timestamp>data.expiry-60){api.cookie.session.confirmExtension()}else{}};