This commit is contained in:
@@ -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
|
||||
//
|
||||
ret.push({
|
||||
id: o.id,
|
||||
url: "[ATTACH:" + o.id + "]",
|
||||
name: o.displayFileName
|
||||
});
|
||||
}
|
||||
if (
|
||||
window.$gz.util.isImageAttachment(
|
||||
o.displayFileName,
|
||||
o.contentType
|
||||
)
|
||||
) {
|
||||
//attach url
|
||||
//
|
||||
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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user