diff --git a/ayanova/src/api/initialize.js b/ayanova/src/api/initialize.js index 2ec85e6b..8193ae37 100644 --- a/ayanova/src/api/initialize.js +++ b/ayanova/src/api/initialize.js @@ -754,11 +754,11 @@ function initNavPanel() { } async function getUserOptions() { - let res = await window.$gz.api.get( - "user-option/" + window.$gz.store.state.userId - ); - // eslint-disable-next-line try { + let res = await window.$gz.api.get( + "user-option/" + window.$gz.store.state.userId + ); + if (res.error) { //In a form this would trigger a bunch of validation or error display code but for here and now: //convert error to human readable string for display and popup a notification to user diff --git a/ayanova/src/components/attachment-control.vue b/ayanova/src/components/attachment-control.vue index b97fe524..2dfe45a9 100644 --- a/ayanova/src/components/attachment-control.vue +++ b/ayanova/src/components/attachment-control.vue @@ -202,7 +202,7 @@ export default { } return true; }, - upload() { + async upload() { //similar code in wiki-control let vm = this; let fileData = []; @@ -217,58 +217,53 @@ export default { fileData: JSON.stringify(fileData), //note this is required for an array or it will come to the server as a string [object,object] notes: vm.notes ? vm.notes : "" }; - - window.$gz.api - .uploadAttachment(at) - .then(res => { - if (res.error) { - window.$gz.errorHandler.handleFormError(res.error); - } else { - vm.uploadFiles = []; - vm.updateDisplayList(res.data); - } - }) - .catch(function handleUploadError(error) { - window.$gz.errorHandler.handleFormError(error); - }); - }, - remove() { - let vm = this; - window.$gz.dialog.confirmDelete().then(dialogResult => { - if (dialogResult == true) { - window.$gz.api - .remove("attachment/" + vm.editId) - .then(res => { - if (res.error) { - window.$gz.errorHandler.handleFormError(res.error); - } else { - vm.editMenu = false; - vm.editName = null; - vm.editNotes = null; - vm.editId = null; - vm.getList(); - } - }) - .catch(function handleUploadError(error) { - window.$gz.errorHandler.handleFormError(error); - }); + try { + let res = await window.$gz.api.uploadAttachment(at); + if (res.error) { + window.$gz.errorHandler.handleFormError(res.error); + } else { + vm.uploadFiles = []; + vm.updateDisplayList(res.data); } - }); + } catch (error) { + window.$gz.errorHandler.handleFormError(error); + } }, - getList() { + async remove() { let vm = this; - window.$gz.api - .get("attachment/list?ayatype=" + vm.ayaType + "&ayaid=" + vm.ayaId) - .then(res => { - if (res.error) { - window.$gz.errorHandler.handleFormError(res.error); - } else { - vm.updateDisplayList(res.data); - } - }) - .catch(function handleGetListError(error) { - window.$gz.errorHandler.handleFormError(error); - }); + try { + if ((await window.$gz.dialog.confirmDelete()) !== true) { + return; + } + + let res = await window.$gz.api.remove("attachment/" + vm.editId); + if (res.error) { + window.$gz.errorHandler.handleFormError(res.error); + } else { + vm.editMenu = false; + vm.editName = null; + vm.editNotes = null; + vm.editId = null; + vm.getList(); + } + } catch (error) { + window.$gz.errorHandler.handleFormError(error); + } + }, + async getList() { + let vm = this; + try { + let res = await window.$gz.api.get( + "attachment/list?ayatype=" + vm.ayaType + "&ayaid=" + vm.ayaId + ); + if (res.error) { + window.$gz.errorHandler.handleFormError(res.error); + } else { + vm.updateDisplayList(res.data); + } + } catch (error) { + window.$gz.errorHandler.handleFormError(error); + } }, updateDisplayList(data) { //{"data":[{"id":1,"concurrency":7733332,"contentType":"image/png","displayFileName":"Screen Shot 2020-01-09 at 10.50.24.png","lastModified":"0001-01-01T00:00:00Z","notes":"Here are notes"},{"id":4,"concurrency":7733354,"contentType":"text/plain","displayFileName":"TNT log file ayanova.txt","lastModified":"0001-01-01T00:00:00Z","notes":"Here are notes"},{"id":2,"concurrency":7733342,"contentType":"text/plain","displayFileName":"stack.txt","lastModified":"0001-01-01T00:00:00Z","notes":"Here are notes"},{"id":3,"concurrency":7733348,"contentType":"image/jpeg","displayFileName":"t2cx6sloffk41.jpg","lastModified":"0001-01-01T00:00:00Z","notes":"Here are notes"}]} @@ -313,7 +308,7 @@ export default { this.editMenu = true; }); }, - saveEdit() { + async saveEdit() { let vm = this; if (!vm.editName) { //todo: some error here, name is required.. @@ -346,24 +341,22 @@ export default { displayFileName: vm.editName, notes: vm.editNotes }; + try { + let res = await window.$gz.api.upsert("attachment/" + vm.editId, p); - window.$gz.api - .upsert("attachment/" + vm.editId, p) - .then(res => { - if (res.error) { - window.$gz.errorHandler.handleFormError(res.error); - } else { - vm.editMenu = false; - vm.editName = null; - vm.editNotes = null; - vm.editId = null; - //due to fucking reactivity issues which never seem to resolve no matter what I'm returning a fresh list on update - vm.updateDisplayList(res.data); - } - }) - .catch(function handleUploadError(error) { - window.$gz.errorHandler.handleFormError(error); - }); + if (res.error) { + window.$gz.errorHandler.handleFormError(res.error); + } else { + vm.editMenu = false; + vm.editName = null; + vm.editNotes = null; + vm.editId = null; + //due to fucking reactivity issues which never seem to resolve no matter what I'm returning a fresh list on update + vm.updateDisplayList(res.data); + } + } catch (error) { + window.$gz.errorHandler.handleFormError(error); + } }, onDrop(ev) { dropDiv.style.border = "none";