* [bug #59286] save form data from doc basic info modal.
This commit is contained in:
+35
-10
@@ -6,6 +6,7 @@ let currentUser = null;
|
||||
let currentSpaceType = '';
|
||||
let userPrivs = {};
|
||||
let docLangData = null;
|
||||
let docBasicModal = {};
|
||||
const savingDocData = {};
|
||||
|
||||
window.setZentaoSlashMenu = function(menus, title, vision)
|
||||
@@ -325,6 +326,11 @@ function handleSwitchView(mode, location, info)
|
||||
if(url === lastAppUrl) return;
|
||||
if(lastAppUrl && !$.apps.getAppUrl().endsWith(url)) $.apps.updateAppUrl(url, info.title ? (info.title + documentTitleSuffix) : originalDocumentTitle);
|
||||
lastAppUrl = url;
|
||||
if(docBasicModal.current)
|
||||
{
|
||||
docBasicModal.current.destroy();
|
||||
docBasicModal = {};
|
||||
}
|
||||
}
|
||||
|
||||
function showDocBasicModal(docID, isDraft)
|
||||
@@ -335,23 +341,42 @@ function showDocBasicModal(docID, isDraft)
|
||||
const libID = docApp.libID;
|
||||
const moduleID = docApp.moduleID;
|
||||
const url = $.createLink('doc', 'setDocBasic', `objectType=${spaceType}&objectID=${spaceID}&libID=${libID}&moduleID=${moduleID}&docID=${docID || 0}&isDraft=${isDraft ? 'yes' : 'no'}`);
|
||||
const modal = {current: null};
|
||||
zui.Modal.open(
|
||||
|
||||
console.log('showDocBasicModal', {docBasicModal: {...docBasicModal}, docID});
|
||||
if(docBasicModal.doc === docID && docBasicModal.current)
|
||||
{
|
||||
ref: modal,
|
||||
url: url,
|
||||
request: {
|
||||
error: error => {
|
||||
if(modal.current) modal.current.hide();
|
||||
showSaveFailedAlert(error);
|
||||
docBasicModal.current.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
if(docBasicModal.current) docBasicModal.current.destroy();
|
||||
docBasicModal.doc = docID;
|
||||
zui.Modal.open(
|
||||
{
|
||||
ref : docBasicModal,
|
||||
url : url,
|
||||
destroyOnHide: false,
|
||||
cache : true,
|
||||
request: {
|
||||
error: error => {
|
||||
if(docBasicModal.current) docBasicModal.current.hide();
|
||||
showSaveFailedAlert(error);
|
||||
}
|
||||
},
|
||||
onHidden: () => {
|
||||
if(!docBasicModal.keepOnHide) docBasicModal.current.destroy();
|
||||
},
|
||||
$onDestroy: () => {
|
||||
if(docBasicModal.current) docBasicModal = {};
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
return new Promise((resolve) => {window.docBasicModalResolver = resolve;});
|
||||
}
|
||||
|
||||
window.beforeSetDocBasicInfo = function(_, form)
|
||||
{
|
||||
docBasicModal.keepOnHide = true;
|
||||
if (window.docBasicModalResolver) window.docBasicModalResolver(new FormData(form));
|
||||
zui.Modal.query('#setDocBasicForm').hide();
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user