This commit is contained in:
2020-03-03 23:40:08 +00:00
parent ba95762de5
commit b7115335e7
7 changed files with 61 additions and 39 deletions

View File

@@ -44,14 +44,13 @@ CURRENT TODOs
@@@@@@@@@@@ ROADMAP STAGE 1 and 2:
todo: grid relative date tokens need to be substituted before query sent to server
todo: Make functional user settings form with all overrides so can test shit out
todo: SEARCH UI
todo: Make sure scroll position is respected and saved when editing a widget and coming back to the list
PICKLISTS:

View File

@@ -1,5 +1,15 @@
<template>
<div>
<v-alert
ref="errorbox"
v-show="formState.errorBoxMessage"
color="error"
icon="fa-exclamation-circle "
transition="scale-transition"
class="multi-line"
outlined
>{{ formState.errorBoxMessage }}</v-alert
>
<v-card>
<v-card-title>
<v-select
@@ -326,7 +336,17 @@ export default {
totalRecords: 0,
records: [],
rowsPerPageItems: [5, 10, 25, 50, 100],
selected: []
selected: [],
formState: {
ready: false,
dirty: false,
valid: true,
readOnly: false,
loading: true,
errorBoxMessage: undefined,
appError: undefined,
serverError: {}
}
};
},
props: {
@@ -502,27 +522,35 @@ export default {
listView: vm.listView
})
.then(res => {
//NOTE: This is how to call an async function and await it from sync code
(async function() {
//Save a copy of the server columns data for handling button clicks etc later
vm.serverColumns = res.columns;
//Make sure the locale keys are fetched
await fetchLocalizedHeaderNames(res.columns); //Note can use await here because it's wrapped inside an async function call, it will wait then resume next stuff below
await fetchEnums(res.columns);
if (res.error != undefined) {
throw res.error;
} else {
//NOTE: This is how to call an async function and await it from sync code
(async function() {
//Save a copy of the server columns data for handling button clicks etc later
vm.serverColumns = res.columns;
//Make sure the locale keys are fetched
await fetchLocalizedHeaderNames(res.columns); //Note can use await here because it's wrapped inside an async function call, it will wait then resume next stuff below
await fetchEnums(res.columns);
//build vm.headers here
vm.headers = buildHeaders(res.columns);
//Post process data here and then set vm.records
vm.records = buildRecords(res.data, res.columns);
vm.loading = false;
vm.totalRecords = res.totalRecordCount;
//Put back selected items
vm.selected = [...preSelected];
//build vm.headers here
vm.headers = buildHeaders(res.columns);
//Post process data here and then set vm.records
vm.records = buildRecords(res.data, res.columns);
vm.loading = false;
vm.totalRecords = res.totalRecordCount;
//Put back selected items
vm.selected = [...preSelected];
//persist the paging options and listview stuff so user sees same page and list on refresh or leave and return scenario
saveFormSettings(vm);
//////////
})();
//persist the paging options and listview stuff so user sees same page and list on refresh or leave and return scenario
saveFormSettings(vm);
//////////
})();
}
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
});
}
},
@@ -696,15 +724,9 @@ async function fetchLocalizedHeaderNames(columnData) {
headerKeys.push(cm.cm);
}
//Now fetch all the keys and await the response before returning
await window.$gz.locale
.fetch(headerKeys)
.then(() => {
return;
})
.catch(err => {
vm.formState.ready = true; //show the form anyway so we know what's what
window.$gz.errorHandler.handleFormError(err);
});
await window.$gz.locale.fetch(headerKeys).then(() => {
return;
});
}
//////////////////////////////////////////////////////////

View File

@@ -141,7 +141,7 @@ export default {
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err);
window.$gz.errorHandler.handleFormError(err, vm);
});
},
beforeDestroy() {

View File

@@ -130,7 +130,7 @@ export default {
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err);
window.$gz.errorHandler.handleFormError(err, vm);
});
},
data() {

View File

@@ -474,7 +474,7 @@ export default {
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err);
window.$gz.errorHandler.handleFormError(err, vm);
});
},
data() {

View File

@@ -22,6 +22,7 @@
/* Xeslint-disable */
export default {
created() {
var vm = this;
window.$gz.eventBus.$emit("menu-change", {
isMain: false,
icon: "fa-info-circle",
@@ -40,7 +41,7 @@ export default {
});
var outText = "";
window.$gz._.forEach(this.$store.state.logArray, function appendLogItem(
window.$gz._.forEach(vm.$store.state.logArray, function appendLogItem(
value
) {
outText += value + "\n";
@@ -48,10 +49,10 @@ export default {
this.logText = outText;
window.$gz.locale
.fetch(["Log"])
.then(() => (this.formState.ready = true))
.then(() => (vm.formState.ready = true))
.catch(err => {
this.formState.ready = true;
window.$gz.errorHandler.handleFormError(err);
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
});
},
data() {

View File

@@ -236,7 +236,7 @@ export default {
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err);
window.$gz.errorHandler.handleFormError(err, vm);
});
},
beforeRouteUpdate(to, from, next) {