From 04bf403d3ba7d335debaa0f72319bbfe11f03ffa Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 10 Jan 2019 14:00:30 +0300 Subject: [PATCH] For Bug 23603, Bug 32790 (add to rev. 470a0483bbb7d6e99edc3e893e80d7c1a428c9c5) --- apps/presentationeditor/main/app/controller/Main.js | 5 ++++- apps/spreadsheeteditor/main/app/controller/LeftMenu.js | 5 +++++ apps/spreadsheeteditor/main/app/controller/Main.js | 10 +++++++++- apps/spreadsheeteditor/main/app/controller/Print.js | 10 ++++++++-- 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index 729f69176..1416be7aa 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -383,6 +383,7 @@ define([ }, onDownloadAs: function(format) { + this._state.isFromGatewayDownloadAs = true; var _format = (format && (typeof format == 'string')) ? Asc.c_oAscFileType[ format.toUpperCase() ] : null, _supported = [ Asc.c_oAscFileType.PPTX, @@ -1391,7 +1392,9 @@ define([ }, onDownloadUrl: function(url) { - Common.Gateway.downloadAs(url); + if (this._state.isFromGatewayDownloadAs) + Common.Gateway.downloadAs(url); + this._state.isFromGatewayDownloadAs = false; }, onUpdateVersion: function(callback) { diff --git a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js index 58e8ebb4b..8af6b2651 100644 --- a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js @@ -144,6 +144,7 @@ define([ this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiServerDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiServerDisconnect, this)); this.api.asc_registerCallback('asc_onDownloadUrl', _.bind(this.onDownloadUrl, this)); + Common.NotificationCenter.on('download:cancel', _.bind(this.onDownloadCancel, this)); /** coauthoring begin **/ if (this.mode.canCoAuthoring) { if (this.mode.canChat) @@ -338,6 +339,10 @@ define([ this.isFromFileDownloadAs = false; }, + onDownloadCancel: function() { + this.isFromFileDownloadAs = false; + }, + applySettings: function(menu) { var value = Common.localStorage.getItem("sse-settings-fontrender"); Common.Utils.InternalSettings.set("sse-settings-fontrender", value); diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index 8c1099d54..9ae0b9ca9 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -168,6 +168,7 @@ define([ Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this)); Common.NotificationCenter.on('goback', _.bind(this.goBack, this)); Common.NotificationCenter.on('namedrange:locked', _.bind(this.onNamedRangeLocked, this)); + Common.NotificationCenter.on('download:cancel', _.bind(this.onDownloadCancel, this)); this.stackLongActions = new Common.IrregularStack({ strongCompare : this._compareActionStrong, @@ -408,6 +409,7 @@ define([ }, onDownloadAs: function(format) { + this._state.isFromGatewayDownloadAs = true; var _format = (format && (typeof format == 'string')) ? Asc.c_oAscFileType[ format.toUpperCase() ] : null, _supported = [ Asc.c_oAscFileType.XLSX, @@ -1526,7 +1528,13 @@ define([ }, onDownloadUrl: function(url) { - Common.Gateway.downloadAs(url); + if (this._state.isFromGatewayDownloadAs) + Common.Gateway.downloadAs(url); + this._state.isFromGatewayDownloadAs = false; + }, + + onDownloadCancel: function() { + this._state.isFromGatewayDownloadAs = false; }, onUpdateVersion: function(callback) { diff --git a/apps/spreadsheeteditor/main/app/controller/Print.js b/apps/spreadsheeteditor/main/app/controller/Print.js index 2656c21ae..efffe7a91 100644 --- a/apps/spreadsheeteditor/main/app/controller/Print.js +++ b/apps/spreadsheeteditor/main/app/controller/Print.js @@ -227,7 +227,11 @@ define([ }, openPrintSettings: function(type, cmp, format, asUrl) { - if (this.printSettingsDlg && this.printSettingsDlg.isVisible()) return; + if (this.printSettingsDlg && this.printSettingsDlg.isVisible()) { + asUrl && Common.NotificationCenter.trigger('download:cancel'); + return; + } + if (this.api) { this.asUrl = asUrl; this.downloadFormat = format; @@ -266,8 +270,10 @@ define([ Common.NotificationCenter.trigger('edit:complete', view); } else return true; - } else + } else { + this.asUrl && Common.NotificationCenter.trigger('download:cancel'); Common.NotificationCenter.trigger('edit:complete', view); + } this.printSettingsDlg = null; },