This commit is contained in:
2020-06-19 23:00:45 +00:00
parent f79fed7154
commit 160d84d954

View File

@@ -483,8 +483,9 @@ export default {
//i is the actual AyaNova index of vm record so we have all we need to open vm object
window.$gz.eventBus.$emit("openobject", { type: typeToOpen, id: i });
},
getDataFromApi() {
async getDataFromApi() {
let vm = this;
if (vm.loading) {
return;
}
@@ -507,50 +508,44 @@ export default {
//this puts a pin in it then resets it after the fetch is completed
let preSelected = [...vm.selected];
//untokenize ListView date token criteria (if there are any)
let untokenizedListView = untokenizeListView(vm.listView);
try {
//untokenize ListView date token criteria (if there are any)
let untokenizedListView = untokenizeListView(vm.listView);
window.$gz.api
.upsert(vm.apiBaseUrl, {
let res = await window.$gz.api.upsert(vm.apiBaseUrl, {
offset: listOptions.Offset,
limit: listOptions.Limit,
dataListKey: vm.dataListKey,
listView: untokenizedListView
})
.then(res => {
if (res.error) {
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 translation keys are fetched
await fetchTranslatedHeaderNames(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.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);
//////////
})();
}
})
.catch(err => {
window.$gz.errorHandler.handleFormError(err, vm);
})
.finally(function() {
vm.loading = false;
vm.formState.ready = true;
});
if (res.error) {
throw res.error;
} else {
//Save a copy of the server columns data for handling button clicks etc later
vm.serverColumns = res.columns;
//Make sure the translation keys are fetched
await fetchTranslatedHeaderNames(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.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);
}
} catch (err) {
window.$gz.errorHandler.handleFormError(err, vm);
} finally {
vm.loading = false;
vm.formState.ready = true;
}
}
},
created() {