This commit is contained in:
2020-04-22 23:03:18 +00:00
parent 77fcd633de
commit 436960b32d
5 changed files with 76 additions and 61 deletions

View File

@@ -25,14 +25,13 @@ function dealWithError(msg, vm) {
}
window.$gz.store.commit("logItem", msg);
if (window.$gz.dev) {
let errMsg =
"DEV ERROR errorHandler::devShowUnknownError - unexpected error: \r\n" +
msg;
let errMsg = "Unexpected error: \r\n" + msg;
// eslint-disable-next-line no-console
console.error(errMsg);
console.trace();
debugger;
window.$gz.eventBus.$emit("notify-error", "Dev error see log / console");
// window.$gz.eventBus.$emit("notify-error", "Dev error see log / console");
return;
}
//If a form instance was provided (vue instance)
@@ -50,6 +49,9 @@ function dealWithError(msg, vm) {
//it's related to server errors but I'm setting appError above
//why two error properties?
window.$gz.form.setErrorBoxErrors(vm);
} else {
//popup if no place to display it elsewise
window.$gz.eventBus.$emit("notify-error", msg);
}
}
export default {

View File

@@ -18,23 +18,23 @@ function stringifyPrimitive(v) {
}
}
/////////////////////////////////////////////////
// Show unexpected errors during development
//
function devShowUnknownError(error) {
if (window.$gz.dev) {
// eslint-disable-next-line
console.error("gzapi::devShowUnknownError, error is:", error);
// /////////////////////////////////////////////////
// // Show unexpected errors during development
// //
// function devShowUnknownError(error) {
// if (window.$gz.dev) {
// // eslint-disable-next-line
// console.error("gzapi::devShowUnknownError, error is:", error);
console.trace();
debugger;
// console.trace();
// debugger;
window.$gz.eventBus.$emit(
"notify-warning",
"DEV ERROR gzapi::devShowUnknownError - unexpected error during api operation see console "
);
}
}
// window.$gz.eventBus.$emit(
// "notify-warning",
// "DEV ERROR gzapi::devShowUnknownError - unexpected error during api operation see console "
// );
// }
// }
////////////////////////////////////////////
// Try to handle an api error
@@ -102,7 +102,8 @@ function handleError(action, error, route, reject) {
}
//Ideally this should never get called because any issue should be addressed above
devShowUnknownError(error);
window.$gz.errorHandler.handleFormError(error);
// devShowUnknownError(error);
}
export default {
@@ -126,6 +127,7 @@ export default {
if (response.status == 405) {
//Probably a development error
return Promise.reject(
new Error("Method Not Allowed (route issue?) " + response.url)
);
@@ -259,6 +261,18 @@ export default {
return window.$gz.store.state.apiUrl + apiPath;
},
/////////////////////////////
// Attachment download URL
//
downloadUrl(fileId) {
//http://localhost:7575/api/v8/Attachment/download/100?t=sssss
return this.APIUrl(
"Attachment/download/" +
fileId +
"?t=" +
window.$gz.store.state.downloadToken
);
},
/////////////////////////////
// REPLACE END OF URL
// (used to change ID in url)
replaceAfterLastSlash(theUrl, theReplacement) {

View File

@@ -11,17 +11,14 @@
<v-tab-item key="list">
<div class="mt-4" :style="cardTextStyle()">
<v-list color="grey lighten-5" three-line>
<v-list-item
v-for="item in displayList"
:key="item.id"
@click="download(item.id)"
>
<v-list-item v-for="item in displayList" :key="item.id">
<!-- @click="download(item.id)" -->
<v-list-item-avatar>
<v-icon v-text="item.icon"></v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title v-text="item.name"></v-list-item-title>
<v-list-item-title v-html="item.title"></v-list-item-title>
<v-list-item-subtitle
v-text="item.date"
@@ -95,33 +92,28 @@ export default {
return "height: " + this.height + "px;overflow-y:auto;";
},
upload() {
let vm = this;
let at = {
ayaId: this.ayaId,
ayaType: this.ayaType,
files: this.uploadFiles,
notes: this.notes ? this.notes : ""
ayaId: vm.ayaId,
ayaType: vm.ayaType,
files: vm.uploadFiles,
notes: vm.notes ? vm.notes : ""
};
window.$gz.api.uploadAttachment(at).then(res => {
//vm.formState.loading = false;
if (res.error) {
console.log(res.error);
// vm.formState.serverError = res.error;
// window.$gz.form.setErrorBoxErrors(vm);
} else {
this.attachedFiles = res.data;
this.updateDisplayList();
}
}); //todo: popup message box on error seems best way to handle this for now
// .catch(function handleSubmitError(error) {
// vm.formState.loading = false;
// window.$gz.errorHandler.handleFormError(error, vm);
// });
// if (this.uploadFiles.length > 0) {
// this.uploadFiles.forEach(file => {
// window.console.log(file);
// });
// }
window.$gz.api
.uploadAttachment(at)
.then(res => {
if (res.error) {
window.$gz.errorHandler.handleFormError(res.error);
} else {
vm.uploadFiles = [];
vm.attachedFiles = res.data;
vm.updateDisplayList();
}
})
.catch(function handleUploadError(error) {
window.$gz.errorHandler.handleFormError(error);
});
},
getList() {
let vm = this;
@@ -129,26 +121,24 @@ export default {
.get("Attachment/list?ayatype=" + vm.ayaType + "&ayaid=" + vm.ayaId)
.then(res => {
if (res.error) {
console.log(res.error);
window.$gz.errorHandler.handleFormError(res.error);
} else {
vm.attachedFiles = res.data;
vm.updateDisplayList();
}
})
.catch(function handleGetListError(error) {
window.$gz.errorHandler.handleFormError(error);
});
// .catch(function handleGetDataFromAPIError(error) {
// //Update the form status
// window.$gz.form.setFormState({
// vm: vm,
// loading: false
// });
// window.$gz.errorHandler.handleFormError(error, vm);
// });
},
download(item) {
console.log("CLICK", item);
},
updateDisplayList() {
//{"data":[{"id":1,"concurrencyToken":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,"concurrencyToken":7733354,"contentType":"text/plain","displayFileName":"TNT log file ayanova.txt","lastModified":"0001-01-01T00:00:00Z","notes":"Here are notes"},{"id":2,"concurrencyToken":7733342,"contentType":"text/plain","displayFileName":"stack.txt","lastModified":"0001-01-01T00:00:00Z","notes":"Here are notes"},{"id":3,"concurrencyToken":7733348,"contentType":"image/jpeg","displayFileName":"t2cx6sloffk41.jpg","lastModified":"0001-01-01T00:00:00Z","notes":"Here are notes"}]}
if (!this.attachedFiles) {
this.attachedFiles = [];
}
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
let languageName = window.$gz.locale.getBrowserLanguages();
@@ -156,8 +146,15 @@ export default {
let ret = [];
for (let i = 0; i < this.attachedFiles.length; i++) {
let o = this.attachedFiles[i];
//http://localhost:7575/api/v8/Attachment/download/100?t=sssss
ret.push({
id: o.id,
title:
"<a href='" +
window.$gz.api.downloadUrl(o.id) +
"' target='_blank'>" +
o.displayFileName +
"</a>",
name: o.displayFileName,
date: window.$gz.locale.utcDateToShortDateAndTimeLocalized(
o.lastModified,

View File

@@ -55,7 +55,7 @@ import attachmentControl from "./components/attachment-control.vue";
//DEVELOPMENT MODE
//THIS SHOULD BE FALSE IN RELEASE
//************************************************************
const DEV_MODE = true;
const DEV_MODE = false;
//************************************************************
//**************************************************************
//**************************************************************