This commit is contained in:
2019-03-06 19:28:57 +00:00
parent 98f3513d1b
commit 0aa3c29a87
3 changed files with 43 additions and 8 deletions

View File

@@ -1,12 +1,20 @@
/* xeslint-disable */
/* eslint-disable */
import store from "../store";
var devModeShowErrors = false;
function dealWithError(msg) {
store.commit("logItem", msg);
if (devModeShowErrors) {
alert("Error: " + msg);
}
}
export default {
developmentModeShowErrorsImmediately(showErrorsImmediately) {
devModeShowErrors = showErrorsImmediately;
},
handleGeneralError(message, source, lineno, colno, error) {
var msg = "GeneralError: \n" + message;
var msg = "General error: \n" + message;
if (source) {
msg += "\nsource: " + source;
}
@@ -22,12 +30,22 @@ export default {
dealWithError(msg);
},
handleVueError(err, vm, info) {
var msg = "VueError: \n" + err;
if (vm) {
msg += "\nvm present ";
}
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);
}

View File

@@ -43,7 +43,11 @@
/* eslint-disable */
export default {
beforeCreate() {
console.log("Nothing gets called before me!");
//created() {
//check pre-requisites exist just in case
if (!this.$xdayjs) {
throw "GzDateAndTimePicker: the DayJS library is required and missing";
}
},
data: () => ({ date: null, modal: false, modal2: false }),
props: {

View File

@@ -14,7 +14,7 @@ import dayjs from "dayjs";
import gzdateandtimepicker from "./components/gzdateandtimepicker.vue";
/////////////////////////////////////////////////////////////////
// LIBS
// LIBS AND GLOBAL STUFF
// (https://medium.com/js-dojo/use-any-javascript-library-with-vue-js-3f7e2a4974a8)
//
Object.defineProperty(Vue.prototype, "$dayjs", { value: dayjs });
@@ -29,8 +29,21 @@ Vue.config.productionTip = false;
/////////////////////////////////////////////////////////////////
// ERROR HANDLING
//
//**************************************************************
//**************************************************************
//**************************************************************
//DEVELOPMENT MODE HANDLER
//THIS SHOULD BE FALSE IN RELEASE
errorHandler.developmentModeShowErrorsImmediately(true);
//**************************************************************
//**************************************************************
//**************************************************************
Vue.config.errorHandler = errorHandler.handleVueError;
window.onerror = errorHandler.handleGeneralError;
//warnings, only occur by default in debug mode not production
Vue.config.warnHandler = errorHandler.handleVueWarning;
/////////////////////////////////////////////////////////////////
// AJAX LOADER INDICATOR