This commit is contained in:
@@ -56,6 +56,60 @@ function dealWithError(msg, vm) {
|
||||
//why two error properties?
|
||||
window.$gz.form.setErrorBoxErrors(vm);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// DECODE ERROR TO TEXT
|
||||
// accept an unknown type of error variable
|
||||
// and return human readable text
|
||||
//
|
||||
function decodeError(e, vm) {
|
||||
//empty?
|
||||
if (e == null || e == "") {
|
||||
return "errorHandler::decodeError - Error is unknown / empty";
|
||||
}
|
||||
|
||||
//an Error object?
|
||||
if (e instanceof Error) {
|
||||
return `Error - Name:${e.name}, Message:${e.message}`;
|
||||
}
|
||||
|
||||
//API error object?
|
||||
if (e.error) {
|
||||
let err = e.error;
|
||||
// {
|
||||
// "code": "2002",
|
||||
// "message": "See server log for details",
|
||||
// "target": "Server internal error"
|
||||
// }
|
||||
let msg = "";
|
||||
if (err.code) {
|
||||
msg += err.code;
|
||||
msg += " - ";
|
||||
if (vm) {
|
||||
msg += vm.$ay.t("ErrorAPI" + err.code);
|
||||
}
|
||||
msg += "\n";
|
||||
}
|
||||
if (err.target) {
|
||||
msg += err.target;
|
||||
msg += "\n";
|
||||
}
|
||||
|
||||
if (err.message) {
|
||||
msg += err.message;
|
||||
msg += "\n";
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
//Javascript Fetch API Response object?
|
||||
if (e instanceof Response) {
|
||||
return `http error: ${err.statusText} - ${err.status} Url: ${err.url}`;
|
||||
}
|
||||
|
||||
//last resort
|
||||
return JSON.stringify(e);
|
||||
}
|
||||
export default {
|
||||
handleGeneralError(message, source, lineno, colno, error) {
|
||||
let msg = "General error: \n" + message;
|
||||
@@ -77,7 +131,7 @@ export default {
|
||||
dealWithError(msg);
|
||||
},
|
||||
handleVueError(err, vm, info) {
|
||||
let msg = "Vue error: \n" + err;
|
||||
let msg = "Vue error: \n" + decodeError(err, vm);
|
||||
if (err.fileName) {
|
||||
msg += "\nfilename: " + err.fileName;
|
||||
}
|
||||
@@ -90,65 +144,21 @@ export default {
|
||||
if (err.stack) {
|
||||
msg += "\nSTACK:\n " + err.stack;
|
||||
}
|
||||
dealWithError(msg);
|
||||
dealWithError(msg, vm);
|
||||
},
|
||||
handleVueWarning(wmsg, vm, trace) {
|
||||
let msg = "Vue warning: \n" + wmsg;
|
||||
// if (vm) {
|
||||
// msg += "\nvm present ";
|
||||
// }
|
||||
let msg = "Vue warning: \n" + decodeError(wmsg, vm);
|
||||
if (trace) {
|
||||
msg += "\ntrace: " + trace;
|
||||
}
|
||||
dealWithError(msg);
|
||||
dealWithError(msg, vm);
|
||||
},
|
||||
/////////////////////////////////////////////////
|
||||
// translate, log and return error
|
||||
//
|
||||
handleFormError(err, vm) {
|
||||
//called inside forms when things go unexpectedly wrong
|
||||
//returns the translated message in case the form wants to display it as well
|
||||
if (err instanceof Error && err.message) {
|
||||
dealWithError(err.message, vm);
|
||||
} else if (err.error) {
|
||||
//it's an api error return object, translate and display correctly
|
||||
err = err.error;
|
||||
// {
|
||||
// "code": "2002",
|
||||
// "message": "See server log for details",
|
||||
// "target": "Server internal error"
|
||||
// }
|
||||
let msg = "";
|
||||
if (err.code) {
|
||||
msg += err.code;
|
||||
msg += " - ";
|
||||
msg += vm.$ay.t("ErrorAPI" + err.code);
|
||||
msg += "\n";
|
||||
}
|
||||
if (err.target) {
|
||||
msg += err.target;
|
||||
msg += "\n";
|
||||
}
|
||||
|
||||
if (err.message) {
|
||||
msg += err.message;
|
||||
msg += "\n";
|
||||
}
|
||||
dealWithError(msg, vm);
|
||||
} else if (err instanceof Response) {
|
||||
let msg =
|
||||
"http error: " +
|
||||
err.statusText +
|
||||
" - " +
|
||||
err.status +
|
||||
" Url: " +
|
||||
err.url;
|
||||
dealWithError(msg, vm);
|
||||
} else {
|
||||
//last resort
|
||||
let msg = JSON.stringify(err);
|
||||
dealWithError(msg, vm);
|
||||
}
|
||||
dealWithError(decodeError(err, vm), vm);
|
||||
}
|
||||
};
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user