This commit is contained in:
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user