This commit is contained in:
@@ -44,14 +44,13 @@ CURRENT TODOs
|
|||||||
|
|
||||||
@@@@@@@@@@@ ROADMAP STAGE 1 and 2:
|
@@@@@@@@@@@ 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: Make functional user settings form with all overrides so can test shit out
|
||||||
|
|
||||||
|
|
||||||
todo: SEARCH UI
|
todo: SEARCH UI
|
||||||
|
|
||||||
todo: Make sure scroll position is respected and saved when editing a widget and coming back to the list
|
|
||||||
|
|
||||||
|
|
||||||
PICKLISTS:
|
PICKLISTS:
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<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>
|
||||||
<v-card-title>
|
<v-card-title>
|
||||||
<v-select
|
<v-select
|
||||||
@@ -326,7 +336,17 @@ export default {
|
|||||||
totalRecords: 0,
|
totalRecords: 0,
|
||||||
records: [],
|
records: [],
|
||||||
rowsPerPageItems: [5, 10, 25, 50, 100],
|
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: {
|
props: {
|
||||||
@@ -502,27 +522,35 @@ export default {
|
|||||||
listView: vm.listView
|
listView: vm.listView
|
||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
//NOTE: This is how to call an async function and await it from sync code
|
if (res.error != undefined) {
|
||||||
(async function() {
|
throw res.error;
|
||||||
//Save a copy of the server columns data for handling button clicks etc later
|
} else {
|
||||||
vm.serverColumns = res.columns;
|
//NOTE: This is how to call an async function and await it from sync code
|
||||||
//Make sure the locale keys are fetched
|
(async function() {
|
||||||
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
|
//Save a copy of the server columns data for handling button clicks etc later
|
||||||
await fetchEnums(res.columns);
|
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
|
//build vm.headers here
|
||||||
vm.headers = buildHeaders(res.columns);
|
vm.headers = buildHeaders(res.columns);
|
||||||
//Post process data here and then set vm.records
|
//Post process data here and then set vm.records
|
||||||
vm.records = buildRecords(res.data, res.columns);
|
vm.records = buildRecords(res.data, res.columns);
|
||||||
vm.loading = false;
|
vm.loading = false;
|
||||||
vm.totalRecords = res.totalRecordCount;
|
vm.totalRecords = res.totalRecordCount;
|
||||||
//Put back selected items
|
//Put back selected items
|
||||||
vm.selected = [...preSelected];
|
vm.selected = [...preSelected];
|
||||||
|
|
||||||
//persist the paging options and listview stuff so user sees same page and list on refresh or leave and return scenario
|
//persist the paging options and listview stuff so user sees same page and list on refresh or leave and return scenario
|
||||||
saveFormSettings(vm);
|
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);
|
headerKeys.push(cm.cm);
|
||||||
}
|
}
|
||||||
//Now fetch all the keys and await the response before returning
|
//Now fetch all the keys and await the response before returning
|
||||||
await window.$gz.locale
|
await window.$gz.locale.fetch(headerKeys).then(() => {
|
||||||
.fetch(headerKeys)
|
return;
|
||||||
.then(() => {
|
});
|
||||||
return;
|
|
||||||
})
|
|
||||||
.catch(err => {
|
|
||||||
vm.formState.ready = true; //show the form anyway so we know what's what
|
|
||||||
window.$gz.errorHandler.handleFormError(err);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
vm.formState.ready = true;
|
vm.formState.ready = true;
|
||||||
window.$gz.errorHandler.handleFormError(err);
|
window.$gz.errorHandler.handleFormError(err, vm);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
vm.formState.ready = true;
|
vm.formState.ready = true;
|
||||||
window.$gz.errorHandler.handleFormError(err);
|
window.$gz.errorHandler.handleFormError(err, vm);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|||||||
@@ -474,7 +474,7 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
vm.formState.ready = true;
|
vm.formState.ready = true;
|
||||||
window.$gz.errorHandler.handleFormError(err);
|
window.$gz.errorHandler.handleFormError(err, vm);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
/* Xeslint-disable */
|
/* Xeslint-disable */
|
||||||
export default {
|
export default {
|
||||||
created() {
|
created() {
|
||||||
|
var vm = this;
|
||||||
window.$gz.eventBus.$emit("menu-change", {
|
window.$gz.eventBus.$emit("menu-change", {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
icon: "fa-info-circle",
|
icon: "fa-info-circle",
|
||||||
@@ -40,7 +41,7 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
var outText = "";
|
var outText = "";
|
||||||
window.$gz._.forEach(this.$store.state.logArray, function appendLogItem(
|
window.$gz._.forEach(vm.$store.state.logArray, function appendLogItem(
|
||||||
value
|
value
|
||||||
) {
|
) {
|
||||||
outText += value + "\n";
|
outText += value + "\n";
|
||||||
@@ -48,10 +49,10 @@ export default {
|
|||||||
this.logText = outText;
|
this.logText = outText;
|
||||||
window.$gz.locale
|
window.$gz.locale
|
||||||
.fetch(["Log"])
|
.fetch(["Log"])
|
||||||
.then(() => (this.formState.ready = true))
|
.then(() => (vm.formState.ready = true))
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
this.formState.ready = true;
|
vm.formState.ready = true;
|
||||||
window.$gz.errorHandler.handleFormError(err);
|
window.$gz.errorHandler.handleFormError(err, vm);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
vm.formState.ready = true;
|
vm.formState.ready = true;
|
||||||
window.$gz.errorHandler.handleFormError(err);
|
window.$gz.errorHandler.handleFormError(err, vm);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
beforeRouteUpdate(to, from, next) {
|
beforeRouteUpdate(to, from, next) {
|
||||||
|
|||||||
Reference in New Issue
Block a user