From 534d47132d1c0a11a3818447b4783de9354c8a12 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Sat, 20 Jun 2020 00:12:19 +0000 Subject: [PATCH] --- ayanova/src/views/ay-history.vue | 174 +++++++++--------- ayanova/src/views/ay-log.vue | 16 +- ayanova/src/views/home-password.vue | 123 ++++++------- ayanova/src/views/home-search.vue | 221 +++++++++++------------ ayanova/src/views/home-user-settings.vue | 210 ++++++++++----------- ayanova/src/views/ops-backup.vue | 46 +++-- 6 files changed, 375 insertions(+), 415 deletions(-) diff --git a/ayanova/src/views/ay-history.vue b/ayanova/src/views/ay-history.vue index e0f2b2bf..f1f18bdf 100644 --- a/ayanova/src/views/ay-history.vue +++ b/ayanova/src/views/ay-history.vue @@ -111,21 +111,20 @@ const FORM_KEY = "ay-history"; const API_BASE_URL = "event-log/"; const DEFAULT_EVENTS_PAGE_SIZE = 200; export default { - created() { + async created() { let vm = this; - initForm(vm) - .then(() => { - vm.readOnly = true; - window.$gz.eventBus.$on("menu-click", clickHandler); - generateMenu(vm, false); - vm.getDataFromApi(); - }) - .catch(err => { - window.$gz.errorHandler.handleFormError(err, vm); - }) - .finally(function() { - vm.formState.ready = true; - }); + try { + await initForm(vm); + + vm.readOnly = true; + window.$gz.eventBus.$on("menu-click", clickHandler); + generateMenu(vm, false); + vm.getDataFromApi(); + } catch (err) { + window.$gz.errorHandler.handleFormError(err, vm); + } finally { + vm.formState.ready = true; + } }, data() { return { @@ -244,7 +243,7 @@ export default { return "primary"; } }, - getDataFromApi() { + async getDataFromApi() { let vm = this; if (vm.formState.loading) { return; @@ -270,68 +269,60 @@ export default { //paging url += "&Offset=" + vm.page * DEFAULT_EVENTS_PAGE_SIZE; url += "&limit=" + DEFAULT_EVENTS_PAGE_SIZE; + try { + let res = await window.$gz.api.get(url); - window.$gz.api - .get(url) - .then(res => { - if (res.error) { - //Not found? - if (res.error.code == "2010") { - //notify not found error then navigate backwards - window.$gz.eventBus.$emit( - "notify-error", - vm.$ay.t("ErrorAPI2010") - ); - // navigate backwards - window.$gz._.delay(function() { - vm.$router.go(-1); - }, 2000); - } - vm.formState.serverError = res.error; - window.$gz.form.setErrorBoxErrors(vm); - } else { - vm.moreAvailable = - res.data.events.length == DEFAULT_EVENTS_PAGE_SIZE; - vm.name = res.data.name; - let temp = res.data.events; - let currentEventCount = vm.obj.length; - let timeZoneName = window.$gz.locale.getBrowserTimeZoneName(); - let languageName = window.$gz.locale.getBrowserLanguages(); - let hour12 = window.$gz.store.state.locale.hour12; - for (let i = 0; i < temp.length; i++) { - temp[ - i - ].date = window.$gz.locale.utcDateToShortDateAndTimeLocalized( - temp[i].date, - timeZoneName, - languageName, - hour12 - ); - - temp[i].index = currentEventCount + i; - } - - vm.obj = [...vm.obj, ...temp]; - - //Update the form status - window.$gz.form.setFormState({ - vm: vm, - dirty: false, - valid: true, - loading: false - }); - //modify the menu as necessary - // generateMenu(vm); + if (res.error) { + //Not found? + if (res.error.code == "2010") { + //notify not found error then navigate backwards + window.$gz.eventBus.$emit("notify-error", vm.$ay.t("ErrorAPI2010")); + // navigate backwards + window.$gz._.delay(function() { + vm.$router.go(-1); + }, 2000); } - }) - .catch(function handleGetDataFromAPIError(error) { + vm.formState.serverError = res.error; + window.$gz.form.setErrorBoxErrors(vm); + } else { + vm.moreAvailable = res.data.events.length == DEFAULT_EVENTS_PAGE_SIZE; + vm.name = res.data.name; + let temp = res.data.events; + let currentEventCount = vm.obj.length; + let timeZoneName = window.$gz.locale.getBrowserTimeZoneName(); + let languageName = window.$gz.locale.getBrowserLanguages(); + let hour12 = window.$gz.store.state.locale.hour12; + for (let i = 0; i < temp.length; i++) { + temp[i].date = window.$gz.locale.utcDateToShortDateAndTimeLocalized( + temp[i].date, + timeZoneName, + languageName, + hour12 + ); + + temp[i].index = currentEventCount + i; + } + + vm.obj = [...vm.obj, ...temp]; + //Update the form status window.$gz.form.setFormState({ vm: vm, + dirty: false, + valid: true, loading: false }); - window.$gz.errorHandler.handleFormError(error, vm); + //modify the menu as necessary + // generateMenu(vm); + } + } catch (error) { + //Update the form status + window.$gz.form.setFormState({ + vm: vm, + loading: false }); + window.$gz.errorHandler.handleFormError(error, vm); + } } } }; @@ -388,30 +379,29 @@ function initForm(vm) { ////////////////////// // // -function populateAyaTypeList(vm) { - return window.$gz.enums.fetchEnumList("ayatype").then(() => { - let ayt = window.$gz.enums.getSelectionList("ayatype"); - let temp = {}; - for (let i = 0; i < ayt.length; i++) { - let item = ayt[i]; - let openableObject = false; - //CoreBizObject add here - switch (item.id) { - case window.$gz.type.User: - case window.$gz.type.Widget: - openableObject = true; - break; - default: - openableObject = false; - } - temp[item.id] = { - name: item.name, - icon: window.$gz.util.iconForType(item.id), - openableObject: openableObject - }; +async function populateAyaTypeList(vm) { + await window.$gz.enums.fetchEnumList("ayatype"); + let ayt = window.$gz.enums.getSelectionList("ayatype"); + let temp = {}; + for (let i = 0; i < ayt.length; i++) { + let item = ayt[i]; + let openableObject = false; + //CoreBizObject add here + switch (item.id) { + case window.$gz.type.User: + case window.$gz.type.Widget: + openableObject = true; + break; + default: + openableObject = false; } - vm.ayaTypes = temp; - }); + temp[item.id] = { + name: item.name, + icon: window.$gz.util.iconForType(item.id), + openableObject: openableObject + }; + } + vm.ayaTypes = temp; } ///////////////////////////////// diff --git a/ayanova/src/views/ay-log.vue b/ayanova/src/views/ay-log.vue index 0475d291..0af499ab 100644 --- a/ayanova/src/views/ay-log.vue +++ b/ayanova/src/views/ay-log.vue @@ -10,7 +10,7 @@ diff --git a/ayanova/src/views/home-user-settings.vue b/ayanova/src/views/home-user-settings.vue index 777dd836..2846c4dc 100644 --- a/ayanova/src/views/home-user-settings.vue +++ b/ayanova/src/views/home-user-settings.vue @@ -121,38 +121,36 @@ const API_BASE_URL = "user-option/"; const FORM_CUSTOM_TEMPLATE_KEY = "Useroptions"; export default { - created() { + async created() { let vm = this; - initForm(vm) - .then(() => { - vm.rights = window.$gz.role.getRights(window.$gz.type.UserOptions); - vm.formState.ready = true; - window.$gz.eventBus.$on("menu-click", clickHandler); - //UserOptions never creates a new one so this code is a little different than other forms - //NOTE: FOR NOW GOING TO ASSUME THIS FORM WILL ONLY EVER BE USED TO EDIT *CURRENT* USER'S USEROPTIONS - //SO NOT FOR EDITING OTHER USERS, WILL ASSUME THE USER EDITOR FORM FOR MANAGEMENT WILL HAVE A COMPACT VERSION - //OF THESE SAME FIELDS FOR THAT PURPOSE - //SO ALWAYS USER CURRENT LOGGED IN USER ID FOR THIS - //id 0 means create a new record don't load one but thats not applicable here + try { + await initForm(vm); - vm.getDataFromApi(); - }) - .catch(err => { - vm.formState.ready = true; - window.$gz.errorHandler.handleFormError(err, vm); - }); + vm.rights = window.$gz.role.getRights(window.$gz.type.UserOptions); + vm.formState.ready = true; + window.$gz.eventBus.$on("menu-click", clickHandler); + //UserOptions never creates a new one so this code is a little different than other forms + //NOTE: FOR NOW GOING TO ASSUME THIS FORM WILL ONLY EVER BE USED TO EDIT *CURRENT* USER'S USEROPTIONS + //SO NOT FOR EDITING OTHER USERS, WILL ASSUME THE USER EDITOR FORM FOR MANAGEMENT WILL HAVE A COMPACT VERSION + //OF THESE SAME FIELDS FOR THAT PURPOSE + //SO ALWAYS USER CURRENT LOGGED IN USER ID FOR THIS + //id 0 means create a new record don't load one but thats not applicable here + + vm.getDataFromApi(); + } catch (err) { + vm.formState.ready = true; + window.$gz.errorHandler.handleFormError(err, vm); + } }, - beforeRouteLeave(to, from, next) { - if (this.formState.dirty) { - window.$gz.dialog.confirmLeaveUnsaved().then(dialogResult => { - if (dialogResult == true) { - next(); - } else { - next(false); - } - }); - } else { + async beforeRouteLeave(to, from, next) { + if (!this.formState.dirty) { next(); + return; + } + if ((await window.$gz.dialog.confirmLeaveUnsaved()) === true) { + next(); + } else { + next(false); } }, beforeDestroy() { @@ -243,56 +241,50 @@ export default { window.$gz.form.fieldValueChanged(this, ref); } }, - getDataFromApi() { + async getDataFromApi() { let vm = this; vm.formState.loading = true; //always fetch on this form for the current logged in user id let url = API_BASE_URL + vm.$store.state.userId; - window.$gz.form.deleteAllErrorBoxErrors(vm); + try { + let res = await window.$gz.api.get(url); - window.$gz.api - .get(url) - .then(res => { - if (res.error) { - //Not found? - if (res.error.code == "2010") { - //notify not found error then navigate backwards - window.$gz.eventBus.$emit( - "notify-error", - vm.$ay.t("ErrorAPI2010") - ); - // navigate backwards - window.$gz._.delay(function() { - vm.$router.go(-1); - }, 2000); - } - vm.formState.serverError = res.error; - window.$gz.form.setErrorBoxErrors(vm); - } else { - vm.obj = res.data; - - //Update the form status - window.$gz.form.setFormState({ - vm: vm, - dirty: false, - valid: true, - loading: false - }); - //modify the menu as necessary - generateMenu(vm); + if (res.error) { + //Not found? + if (res.error.code == "2010") { + //notify not found error then navigate backwards + window.$gz.eventBus.$emit("notify-error", vm.$ay.t("ErrorAPI2010")); + // navigate backwards + window.$gz._.delay(function() { + vm.$router.go(-1); + }, 2000); } - }) - .catch(function handleGetDataFromAPIError(error) { + vm.formState.serverError = res.error; + window.$gz.form.setErrorBoxErrors(vm); + } else { + vm.obj = res.data; + //Update the form status window.$gz.form.setFormState({ vm: vm, + dirty: false, + valid: true, loading: false }); - window.$gz.errorHandler.handleFormError(error, vm); + //modify the menu as necessary + generateMenu(vm); + } + } catch (error) { + //Update the form status + window.$gz.form.setFormState({ + vm: vm, + loading: false }); + window.$gz.errorHandler.handleFormError(error, vm); + } }, - submit() { + async submit() { let vm = this; if (vm.canSave) { vm.formState.loading = true; @@ -302,49 +294,48 @@ export default { //clear any errors vm might be around from previous submit window.$gz.form.deleteAllErrorBoxErrors(vm); - window.$gz.api - .upsert(url, vm.obj) - .then(res => { - vm.formState.loading = false; - if (res.error) { - vm.formState.serverError = res.error; - window.$gz.form.setErrorBoxErrors(vm); - } else { - //UserOptions is never a POST as it always exists and can't be deleted so always a PUT + try { + let res = await window.$gz.api.upsert(url, vm.obj); - //Handle "put" of an existing record (UPDATE) - vm.obj.concurrency = res.data.concurrency; - window.$gz.form.setFormState({ - vm: vm, - dirty: false - }); + vm.formState.loading = false; + if (res.error) { + vm.formState.serverError = res.error; + window.$gz.form.setErrorBoxErrors(vm); + } else { + //UserOptions is never a POST as it always exists and can't be deleted so always a PUT - //Set values in store so they are updated immediately for user - let l = vm.$store.state.locale; + //Handle "put" of an existing record (UPDATE) + vm.obj.concurrency = res.data.concurrency; + window.$gz.form.setFormState({ + vm: vm, + dirty: false + }); - if (vm.obj.languageOverride) { - l.languageOverride = vm.obj.languageOverride; - } + //Set values in store so they are updated immediately for user + let l = vm.$store.state.locale; - if (vm.obj.timeZoneOverride) { - l.timeZoneOverride = vm.obj.timeZoneOverride; - } - - if (vm.obj.currencyName) { - l.currencyName = vm.obj.currencyName; - } - - if (vm.obj.hour12) { - l.hour12 = vm.obj.hour12; - } - - window.$gz.store.commit("setLocale", l); + if (vm.obj.languageOverride) { + l.languageOverride = vm.obj.languageOverride; } - }) - .catch(function handleSubmitError(error) { - vm.formState.loading = false; - window.$gz.errorHandler.handleFormError(error, vm); - }); + + if (vm.obj.timeZoneOverride) { + l.timeZoneOverride = vm.obj.timeZoneOverride; + } + + if (vm.obj.currencyName) { + l.currencyName = vm.obj.currencyName; + } + + if (vm.obj.hour12) { + l.hour12 = vm.obj.hour12; + } + + window.$gz.store.commit("setLocale", l); + } + } catch (error) { + vm.formState.loading = false; + window.$gz.errorHandler.handleFormError(error, vm); + } } } } @@ -446,15 +437,14 @@ async function fetchTranslatedText(vm) { ////////////////////// // // -function populateSelectionLists(vm) { +async function populateSelectionLists(vm) { //http://localhost:7575/api/v8/translation/list - return window.$gz.api.get("translation/list").then(res => { - if (res.error) { - window.$gz.errorHandler.handleFormError(res.error, vm); - } else { - vm.selectLists.translations = res.data; - } - }); + let res = await window.$gz.api.get("translation/list"); + if (res.error) { + window.$gz.errorHandler.handleFormError(res.error, vm); + } else { + vm.selectLists.translations = res.data; + } } diff --git a/ayanova/src/views/ops-backup.vue b/ayanova/src/views/ops-backup.vue index 1003de00..5c391a2d 100644 --- a/ayanova/src/views/ops-backup.vue +++ b/ayanova/src/views/ops-backup.vue @@ -98,33 +98,31 @@ const FORM_KEY = "ops-backup"; export default { - created() { + async created() { let vm = this; - initForm(vm) - .then(() => { - vm.rights = window.$gz.role.getRights(window.$gz.type.GlobalOps); - vm.formState.readOnly = !vm.rights.change; - vm.formState.ready = true; - window.$gz.eventBus.$on("menu-click", clickHandler); - vm.getDataFromApi(); - vm.getBackupStatus(); - }) - .catch(err => { - vm.formState.ready = true; - window.$gz.errorHandler.handleFormError(err, vm); - }); + try { + await initForm(vm); + + vm.rights = window.$gz.role.getRights(window.$gz.type.GlobalOps); + vm.formState.readOnly = !vm.rights.change; + vm.formState.ready = true; + window.$gz.eventBus.$on("menu-click", clickHandler); + vm.getDataFromApi(); + vm.getBackupStatus(); + } catch (err) { + vm.formState.ready = true; + window.$gz.errorHandler.handleFormError(err, vm); + } }, - beforeRouteLeave(to, from, next) { - if (this.formState.dirty) { - window.$gz.dialog.confirmLeaveUnsaved().then(dialogResult => { - if (dialogResult == true) { - next(); - } else { - next(false); - } - }); - } else { + async beforeRouteLeave(to, from, next) { + if (!this.formState.dirty) { next(); + return; + } + if ((await window.$gz.dialog.confirmLeaveUnsaved()) === true) { + next(); + } else { + next(false); } }, beforeDestroy() {