[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,10 +537,14 @@ 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) {
var defFileName = me.defFileName + ((this.cmbMergeTo.getValue() == Asc.c_oAscFileType.PDF) ? '.pdf' : '.docx');
if (me.mode.canRequestSaveAs) {
Common.Gateway.requestSaveAs(url, defFileName);
} else {
me._mailMergeDlg = new Common.Views.SaveAsDlg({ me._mailMergeDlg = new Common.Views.SaveAsDlg({
saveFolderUrl: me.mode.mergeFolderUrl, saveFolderUrl: me.mode.mergeFolderUrl,
saveFileUrl: url, saveFileUrl: url,
defFileName: me.defFileName + ((this.cmbMergeTo.getValue() == Asc.c_oAscFileType.PDF) ? '.pdf' : '.docx') defFileName: defFileName
}); });
me._mailMergeDlg.on('saveasfolder', function(obj, folder){ // save last folder me._mailMergeDlg.on('saveasfolder', function(obj, folder){ // save last folder
}).on('saveaserror', function(obj, err){ // save last folder }).on('saveaserror', function(obj, err){ // save last folder
@ -560,6 +564,7 @@ define([
}); });
me._mailMergeDlg.show(); me._mailMergeDlg.show();
} }
}
}, },
onMergeClick: function(type, btn, e) { onMergeClick: function(type, btn, e) {
@ -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
}); });
}, },