Files
raven-client/ayanova/src/api/errorhandler.js
2019-04-08 17:43:01 +00:00

68 lines
1.6 KiB
JavaScript

/* Xeslint-disable */
import store from "../store";
import locale from "./locale";
var devModeShowErrors = false;
//TODO: tie this into form error display somehow so that form can control whether to show particular error or not
//i.e. dealwitherror(msg,formerrordisplayfunction,bool shouldshowError)
function dealWithError(msg) {
msg = locale.translateString(msg);
store.commit("logItem", msg);
if (devModeShowErrors) {
alert("~" + msg);
}
}
export default {
developmentModeShowErrorsImmediately(showErrorsImmediately) {
devModeShowErrors = showErrorsImmediately;
},
devMode() {
return devModeShowErrors;
},
handleGeneralError(message, source, lineno, colno, error) {
var msg = "General error: \n" + message;
if (source) {
msg += "\nsource: " + source;
}
if (lineno) {
msg += "\nlineno: " + lineno;
}
if (colno) {
msg += "\ncolno: " + colno;
}
if (error) {
msg += "\nerror: " + error;
}
dealWithError(msg);
},
handleVueError(err, vm, info) {
var msg = "Vue error: \n" + err;
// if (vm) {
// msg += "\nvm present ";
// }
if (info) {
msg += "\ninfo: " + info;
}
dealWithError(msg);
},
handleVueWarning(wmsg, vm, trace) {
var msg = "Vue warning: \n" + wmsg;
// if (vm) {
// msg += "\nvm present ";
// }
if (trace) {
msg += "\ntrace: " + trace;
}
dealWithError(msg);
},
handleFormError(err) {
//called inside forms when things go wrong but are handled
if (err instanceof Error && err.message) {
dealWithError(err.message);
} else {
dealWithError(err.toString());
}
}
};