[DE] Use onRequestSaveAs event for mail merge

This commit is contained in:
Julia Radzhabova 2019-07-29 13:34:34 +03:00
parent 6a028c838f
commit 9d451b93e9

View file

@ -365,7 +365,7 @@ define([
this.$el.on('click', '#mmerge-readmore-link', _.bind(this.openHelp, this)); this.$el.on('click', '#mmerge-readmore-link', _.bind(this.openHelp, this));
if (this.mode) { if (this.mode) {
if (!this.mode.mergeFolderUrl) if (!this.mode.canRequestSaveAs && !this.mode.mergeFolderUrl)
this.btnPortal.setVisible(false); this.btnPortal.setVisible(false);
if (!this.mode.canSendEmailAddresses) { if (!this.mode.canSendEmailAddresses) {
this._arrMergeSrc.pop(); this._arrMergeSrc.pop();
@ -426,7 +426,7 @@ define([
if (num>this._state.recipientsCount-1) num = this._state.recipientsCount-1; if (num>this._state.recipientsCount-1) num = this._state.recipientsCount-1;
this.lockControls(DE.enumLockMM.noRecipients, this._state.recipientsCount<1, { this.lockControls(DE.enumLockMM.noRecipients, this._state.recipientsCount<1, {
array: (this.mode.mergeFolderUrl) ? [this.btnPortal] : [], array: (this.mode.canRequestSaveAs || this.mode.mergeFolderUrl) ? [this.btnPortal] : [],
merge: true merge: true
}); });
@ -537,28 +537,33 @@ define([
if (this._mailMergeDlg) return; if (this._mailMergeDlg) return;
var me = this; var me = this;
if (this.cmbMergeTo.getValue() != Asc.c_oAscFileType.HTML) { if (this.cmbMergeTo.getValue() != Asc.c_oAscFileType.HTML) {
me._mailMergeDlg = new Common.Views.SaveAsDlg({ var defFileName = me.defFileName + ((this.cmbMergeTo.getValue() == Asc.c_oAscFileType.PDF) ? '.pdf' : '.docx');
saveFolderUrl: me.mode.mergeFolderUrl, if (me.mode.canRequestSaveAs) {
saveFileUrl: url, Common.Gateway.requestSaveAs(url, defFileName);
defFileName: me.defFileName + ((this.cmbMergeTo.getValue() == Asc.c_oAscFileType.PDF) ? '.pdf' : '.docx') } else {
}); me._mailMergeDlg = new Common.Views.SaveAsDlg({
me._mailMergeDlg.on('saveasfolder', function(obj, folder){ // save last folder saveFolderUrl: me.mode.mergeFolderUrl,
}).on('saveaserror', function(obj, err){ // save last folder saveFileUrl: url,
var config = { defFileName: defFileName
closable: false, });
title: me.notcriticalErrorTitle, me._mailMergeDlg.on('saveasfolder', function(obj, folder){ // save last folder
msg: err, }).on('saveaserror', function(obj, err){ // save last folder
iconCls: 'warn', var config = {
buttons: ['ok'], closable: false,
callback: function(btn){ title: me.notcriticalErrorTitle,
me.fireEvent('editcomplete', me); msg: err,
} iconCls: 'warn',
}; buttons: ['ok'],
Common.UI.alert(config); callback: function(btn){
}).on('close', function(obj){ me.fireEvent('editcomplete', me);
me._mailMergeDlg = undefined; }
}); };
me._mailMergeDlg.show(); Common.UI.alert(config);
}).on('close', function(obj){
me._mailMergeDlg = undefined;
});
me._mailMergeDlg.show();
}
} }
}, },
@ -766,7 +771,7 @@ define([
onCmbMergeToSelect: function(combo, record) { onCmbMergeToSelect: function(combo, record) {
var mergeVisible = (record.value == Asc.c_oAscFileType.HTML); var mergeVisible = (record.value == Asc.c_oAscFileType.HTML);
this.btnMerge.setVisible(mergeVisible); this.btnMerge.setVisible(mergeVisible);
this.btnPortal.setVisible(!mergeVisible && this.mode.mergeFolderUrl); this.btnPortal.setVisible(!mergeVisible && (this.mode.canRequestSaveAs || this.mode.mergeFolderUrl));
this.btnDownload.setVisible(!mergeVisible); this.btnDownload.setVisible(!mergeVisible);
}, },
@ -778,7 +783,7 @@ define([
if (this._initSettings) return; if (this._initSettings) return;
this.lockControls(DE.enumLockMM.lostConnect, disable, { this.lockControls(DE.enumLockMM.lostConnect, disable, {
array: _.union([this.btnEditData, this.btnInsField, this.chHighlight], (this.mode.mergeFolderUrl) ? [this.btnPortal] : []), array: _.union([this.btnEditData, this.btnInsField, this.chHighlight], (this.mode.canRequestSaveAs || this.mode.mergeFolderUrl) ? [this.btnPortal] : []),
merge: true merge: true
}); });
}, },