This commit is contained in:
2020-06-19 23:22:20 +00:00
parent 3935d43db5
commit f02888fae7
3 changed files with 128 additions and 142 deletions

View File

@@ -820,42 +820,42 @@ export default {
this.imageMenu = true;
});
},
getAttachments() {
async getAttachments() {
let vm = this;
vm.attachments = [];
window.$gz.api
.get("attachment/list?ayatype=" + vm.ayaType + "&ayaid=" + vm.ayaId)
.then(res => {
if (res.error) {
window.$gz.errorHandler.handleFormError(res.error);
} else {
let ret = [];
for (let i = 0; i < res.data.length; i++) {
let o = res.data[i];
try {
vm.attachments = [];
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 {
let ret = [];
for (let i = 0; i < res.data.length; i++) {
let o = res.data[i];
if (
window.$gz.util.isImageAttachment(
o.displayFileName,
o.contentType
)
) {
//attach url
//![]([ATTACH:4])
ret.push({
id: o.id,
url: "[ATTACH:" + o.id + "]",
name: o.displayFileName
});
}
if (
window.$gz.util.isImageAttachment(
o.displayFileName,
o.contentType
)
) {
//attach url
//![]([ATTACH:4])
ret.push({
id: o.id,
url: "[ATTACH:" + o.id + "]",
name: o.displayFileName
});
}
vm.attachments = ret;
}
})
.catch(function handleGetListError(error) {
window.$gz.errorHandler.handleFormError(error);
});
vm.attachments = ret;
}
} catch (error) {
window.$gz.errorHandler.handleFormError(error);
}
},
upload() {
async upload() {
//similar code in attachment-control upload
let vm = this;
let at = {
@@ -864,53 +864,45 @@ export default {
files: vm.uploadFiles,
notes: ""
};
try {
let res = await window.$gz.api.uploadAttachment(at);
window.$gz.api
.uploadAttachment(at)
.then(res => {
if (res.error) {
window.$gz.errorHandler.handleFormError(res.error);
} else {
let ret = [];
for (let i = 0; i < res.data.length; i++) {
let o = res.data[i];
if (res.error) {
window.$gz.errorHandler.handleFormError(res.error);
} else {
let ret = [];
for (let i = 0; i < res.data.length; i++) {
let o = res.data[i];
// if (
// window.$gz.util.isImageAttachment(
// o.displayFileName,
// o.contentType
// )
// ) {
//let them attach any file type to the wiki since it supports it anyway
ret.push({
id: o.id,
url: window.$gz.api.attachmentDownloadUrl(o.id, o.contentType),
name: o.displayFileName
});
//}
}
//put into attachments list
vm.attachments = ret;
//NOW iterate upload files list and insert into wiki based on attachments
//insert into wiki
for (let i = 0; i < vm.uploadFiles.length; i++) {
let upFile = vm.uploadFiles[i];
for (let j = 0; j < vm.attachments.length; j++) {
let atFile = vm.attachments[j];
if (upFile.name == atFile.name) {
//found it
this.insertUrl(atFile.url, atFile.name);
break;
}
//let them attach any file type to the wiki since it supports it anyway
ret.push({
id: o.id,
url: window.$gz.api.attachmentDownloadUrl(o.id, o.contentType),
name: o.displayFileName
});
//}
}
//put into attachments list
vm.attachments = ret;
//NOW iterate upload files list and insert into wiki based on attachments
//insert into wiki
for (let i = 0; i < vm.uploadFiles.length; i++) {
let upFile = vm.uploadFiles[i];
for (let j = 0; j < vm.attachments.length; j++) {
let atFile = vm.attachments[j];
if (upFile.name == atFile.name) {
//found it
this.insertUrl(atFile.url, atFile.name);
break;
}
}
//finally, clear the upload files
vm.uploadFiles = [];
}
})
.catch(function handleUploadError(error) {
window.$gz.errorHandler.handleFormError(error);
});
//finally, clear the upload files
vm.uploadFiles = [];
}
} catch (error) {
window.$gz.errorHandler.handleFormError(error);
}
},
onDrop(ev) {
//Drop image file

View File

@@ -88,43 +88,38 @@
const FORM_KEY = "adm-global-select-templates";
const API_BASE_URL = "pick-list/template/";
export default {
beforeRouteLeave(to, from, next) {
//let vm = this;
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() {
window.$gz.eventBus.$off("menu-click", clickHandler);
},
created() {
async created() {
let vm = this;
initForm(vm)
.then(() => {
vm.formState.ready = true;
vm.readOnly = !vm.rights.change;
window.$gz.eventBus.$on("menu-click", clickHandler);
//NOTE: this would normally be in getDataFromAPI but this form doesn't really need that function so doing it here
//modify the menu as necessary
generateMenu(vm, false); //default is never read only and passing in this vm
//init disable save button so it can be enabled only on edit to show dirty form
window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":save");
window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":delete");
vm.formState.loading = false;
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
});
try {
await initForm(vm);
vm.formState.ready = true;
vm.readOnly = !vm.rights.change;
window.$gz.eventBus.$on("menu-click", clickHandler);
//NOTE: this would normally be in getDataFromAPI but this form doesn't really need that function so doing it here
//modify the menu as necessary
generateMenu(vm, false); //default is never read only and passing in this vm
//init disable save button so it can be enabled only on edit to show dirty form
window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":save");
window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":delete");
vm.formState.loading = false;
} catch (err) {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
}
},
data() {
return {
@@ -236,7 +231,7 @@ export default {
vm.getDataFromApi();
}
},
getDataFromApi() {
async getDataFromApi() {
let vm = this;
vm.formState.loading = true;
if (!vm.templateId || vm.templateId == 0) {
@@ -244,51 +239,50 @@ export default {
}
vm.lastFetchedTemplateId = vm.templateId;
window.$gz.form.deleteAllErrorBoxErrors(vm);
try {
//get available fields
let res = await window.$gz.api.get(
API_BASE_URL + "listfields/" + vm.templateId
);
//get available fields
window.$gz.api
.get(API_BASE_URL + "listfields/" + vm.templateId)
.then(res => {
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
vm.availableFields = res.data;
vm.fieldKeys = [];
for (let i = 0; i < res.data.length; i++) {
vm.fieldKeys.push(res.data[i].tKey);
}
return window.$gz.translation.cacheTranslations(vm.fieldKeys);
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
vm.availableFields = res.data;
vm.fieldKeys = [];
for (let i = 0; i < res.data.length; i++) {
vm.fieldKeys.push(res.data[i].tKey);
}
})
.then(function() {
//weirdly, this wasn't working properly until I put it in a function, it was just executing immediately before translations were resolved from fetch above
//get current edited template
window.$gz.api.get(API_BASE_URL + vm.templateId).then(res => {
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
vm.obj = res.data;
synthesizeWorkingArray(vm);
//Update the form status
window.$gz.form.setFormState({
vm: vm,
dirty: false,
valid: true,
loading: false
});
}
});
})
.catch(function handleGetDataFromAPIError(error) {
await window.$gz.translation.cacheTranslations(vm.fieldKeys);
}
//weirdly, this wasn't working properly until I put it in a function, it was just executing immediately before translations were resolved from fetch above
//get current edited template
res = await window.$gz.api.get(API_BASE_URL + vm.templateId);
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
vm.obj = res.data;
synthesizeWorkingArray(vm);
//Update the form status
window.$gz.form.setFormState({
vm: vm,
dirty: false,
valid: true,
loading: false
});
window.$gz.errorHandler.handleFormError(error, vm);
}
} catch (error) {
//Update the form status
window.$gz.form.setFormState({
vm: vm,
loading: false
});
window.$gz.errorHandler.handleFormError(error, vm);
}
},
submit() {
let vm = this;

View File

@@ -312,7 +312,7 @@ export default {
next();
return;
}
if ((await window.$gz.dialog.confirmLeaveUnsaved()) == true) {
if ((await window.$gz.dialog.confirmLeaveUnsaved()) === true) {
next();
} else {
next(false);