$( document ).ready(function() {
handleMessages();
});
function handleMessages(messagesBoxId, alertMessages){
if(typeof _disableMessagesHandle !== 'undefined' && _disableMessagesHandle) return;
else if(typeof _userMessages !== 'undefined') {
var c = _userMessages;
var errorDiv = getErrorDiv(messagesBoxId);
var infoDiv = getInfoDiv(messagesBoxId);
var warningDiv = getWarningDiv(messagesBoxId);
var errors = "";
var infos = "";
var warnings = "";
var boxMessages = "";
var boxMessagesInfo = "";
var boxMessagesWarning = "";
var boxMessagesError = "";
var serverData = "
";
for(var k in c) {
var elem = c[k];
if(checkEmpty(elem.fieldPath)) {
if(elem.severity=='ERROR') {
boxMessagesError += ""+elem.messageText+"";
errors += serverData + elem.messageText + "";
} else if(elem.severity=='WARNING') {
boxMessagesWarning += ""+elem.messageText+"";
warnings += serverData + elem.messageText + "";
} else {
boxMessagesInfo += ""+elem.messageText+"";
infos += serverData + elem.messageText + "";
}
} else {
if(elem.severity=='ERROR') {
if(elem.fieldPath!=null && elem.fieldPath!='') {
errors += serverData + addHref(elem.fieldPath, elem.messageText, 'alert-elem') + "";
getNameOrId(elem.fieldPath, "error");
} else {
errors += serverData + elem.messageText + "";
}
} else if(elem.severity=='WARNING') {
if(elem.fieldPath!=null && elem.fieldPath!='') {
getNameOrId(elem.fieldPath, "warning");
warnings += serverData + addHref(elem.fieldPath, elem.messageText, 'warn-elem') + "";
} else {
warnings += serverData + elem.messageText + "";
}
} else {
infos += serverData + elem.messageText + "";
}
}
}
showMessage(errors, errorDiv);
showMessage(infos, infoDiv);
showMessage(warnings, warningDiv);
if(boxMessagesInfo!='' || boxMessagesWarning!='' || boxMessagesError!='') {
// Order List
boxMessages = boxMessagesError + boxMessagesInfo + boxMessagesWarning;
var className = "";
if (!(alertMessages === "false")) {
if (boxMessagesError != '') {
className = "sad";
} else if (boxMessagesWarning == '') {
className = "happy";
}
}
if(typeof _customizeServerMessagesBox === 'function') {
_customizeServerMessagesBox("", className);
} else {
if (!(alertMessages === "false")) {
callAllertDialog("", null, null, className);
}
}
}
}
}
function addHref(field, value, cssClass) {
if(field.indexOf(".") != -1) {
field = field.substring(field.lastIndexOf(".")+1);
}
return ""+value+"";
}
/**
* Controlla se la variabile field รจ un name o un id
*
* @param field
* @param severity
*/
function getNameOrId(field, severity) {
var splittedField = field.split(".");
var fieldId = field;
if(splittedField.length > 1) {
// NAME
if($("input[name='"+field+"']").length > 0) {
$("input[name='"+field+"']").addClass(severity);
return;
}
fieldId = splittedField[splittedField.length-1];
}
// ID
if($('#' + fieldId).length > 0)
$('#' + fieldId).addClass(severity);
else
console.log('### No selector found for field -> ' + field + " ###");
}
function showMessage(elem, elemDiv) {
if(elem!="" && elemDiv!=null) {
$(elemDiv).append(elem).closest("div").show();
}
}
function getWarningDiv(messagesBoxId) {
var id = messagesBoxId != null ? (messagesBoxId + 'Ul_warn'): 'warnmessages';
if(document.getElementById(id)!=null) {
return document.getElementById(id);
} else {
// TODO
return null;
}
}
function getInfoDiv(messagesBoxId) {
var id = messagesBoxId != null ? (messagesBoxId + 'Ul_info'): 'infomessages';
if(document.getElementById(id)!=null) {
return document.getElementById(id);
} else {
// TODO
return null;
}
}
function getErrorDiv(messagesBoxId) {
var id = messagesBoxId != null ? (messagesBoxId + 'Ul') : 'alertboxUl';
if(document.getElementById(id)!=null) {
return document.getElementById(id);
} else {
// TODO
return null;
}
}
function checkEmpty(elem) {
if(elem!=null && elem!='')
return false;
return true;
}