From a3ed7dd01b6ebf57e63369b786b4c2e3b3241083 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Thu, 7 Apr 2022 17:12:39 +0300 Subject: [PATCH] [SSE] Bug 56443 --- .../spreadsheeteditor/main/app/controller/Print.js | 14 +++++++------- .../main/app/controller/Toolbar.js | 5 +++-- .../main/app/view/FileMenuPanels.js | 2 +- .../main/app/view/HeaderFooterDialog.js | 7 ++++--- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/controller/Print.js b/apps/spreadsheeteditor/main/app/controller/Print.js index 3a6f827e5..37a953bfa 100644 --- a/apps/spreadsheeteditor/main/app/controller/Print.js +++ b/apps/spreadsheeteditor/main/app/controller/Print.js @@ -65,7 +65,8 @@ define([ 'PrintWithPreview': { 'show': _.bind(this.onShowMainSettingsPrint, this), 'render:after': _.bind(this.onAfterRender, this), - 'changerange': _.bind(this.onChangeRange, this, false) + 'changerange': _.bind(this.onChangeRange, this, false), + 'openheader': _.bind(this.onOpenHeaderSettings, this), }, 'PrintSettings': { 'changerange': _.bind(this.onChangeRange, this, true) @@ -115,7 +116,6 @@ define([ this.api = o; this.api.asc_registerCallback('asc_onSheetsChanged', _.bind(this.updateSheetsInfo, this)); this.api.asc_registerCallback('asc_onPrintPreviewSheetChanged', _.bind(this.onApiChangePreviewSheet, this)); - this.api.asc_registerCallback('asc_onUpdateDocumentProps', _.bind(this.updateDocumentProps, this)); }, updateSheetsInfo: function() { @@ -749,11 +749,11 @@ define([ this.printSettings.btnNextPage.setDisabled(curPage > pageCount - 2); }, - updateDocumentProps: function (index) { - if (this._isPreviewVisible) { - this._changedProps[index] = this.api.asc_getPageOptions(index); - this.updatePreview(); - } + onOpenHeaderSettings: function () { + var props = props = (this._changedProps.length > 0 && this._changedProps[this.printSettings.cmbSheet.getValue()]) ? + this._changedProps[this.printSettings.cmbSheet.getValue()] : + this.api.asc_getPageOptions(this.printSettings.cmbSheet.getValue(), true); + SSE.getController('Toolbar').onEditHeaderClick(props.asc_getPageSetup()); }, warnCheckMargings: 'Margins are incorrect', diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index 29be2e544..d5b388be3 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -401,7 +401,7 @@ define([ toolbar.btnImgForward.on('click', this.onImgArrangeSelect.bind(this, 'forward')); toolbar.btnImgBackward.on('click', this.onImgArrangeSelect.bind(this, 'backward')); toolbar.btnsEditHeader.forEach(function(button) { - button.on('click', _.bind(me.onEditHeaderClick, me)); + button.on('click', _.bind(me.onEditHeaderClick, me, undefined)); }); toolbar.btnPrintTitles.on('click', _.bind(this.onPrintTitlesClick, this)); toolbar.chPrintGridlines.on('change', _.bind(this.onPrintGridlinesChange, this)); @@ -3964,7 +3964,7 @@ define([ this.toolbar.btnPrintArea.menu.items[2].setVisible(this.api.asc_CanAddPrintArea()); }, - onEditHeaderClick: function(btn) { + onEditHeaderClick: function(pageSetup, btn) { var me = this; if (_.isUndefined(me.fontStore)) { me.fontStore = new Common.Collections.Fonts(); @@ -3981,6 +3981,7 @@ define([ var win = new SSE.Views.HeaderFooterDialog({ api: me.api, fontStore: me.fontStore, + pageSetup: pageSetup, handler: function(dlg, result) { if (result === 'ok') { me.getApplication().getController('Print').updatePreview(); diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js index df69c1f5d..67626ca3f 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js @@ -2778,7 +2778,7 @@ define([ }, openHeaderSettings: function() { - SSE.getController('Toolbar').onEditHeaderClick(); + this.fireEvent('openheader', this); }, updateCountOfPages: function (count) { diff --git a/apps/spreadsheeteditor/main/app/view/HeaderFooterDialog.js b/apps/spreadsheeteditor/main/app/view/HeaderFooterDialog.js index 8fd8290e4..711839b95 100644 --- a/apps/spreadsheeteditor/main/app/view/HeaderFooterDialog.js +++ b/apps/spreadsheeteditor/main/app/view/HeaderFooterDialog.js @@ -63,6 +63,7 @@ define([ this.api = this.options.api; this.props = this.options.props; this.fontStore = this.options.fontStore; + this.pageSetup = this.options.pageSetup; this.isFooter = false; this.currentCanvas = null; this.headerControls = []; @@ -619,7 +620,7 @@ define([ Common.UI.Window.prototype.close.apply(this, arguments); if (this.HFObject) - this.HFObject.destroy(); + this.HFObject.destroy(false, this.pageSetup); }, afterRender: function () { @@ -631,7 +632,7 @@ define([ this.cmbFonts[1].fillFonts(this.fontStore); this.updateThemeColors(); - this.HFObject = new Asc.asc_CHeaderFooterEditor(['header-left-img', 'header-center-img', 'header-right-img', 'footer-left-img', 'footer-center-img', 'footer-right-img'], 205); + this.HFObject = new Asc.asc_CHeaderFooterEditor(['header-left-img', 'header-center-img', 'header-right-img', 'footer-left-img', 'footer-center-img', 'footer-right-img'], 205, undefined, this.pageSetup); this._setDefaults(this.props); this.editorCanvas = this.$window.find('#ce-canvas-menu'); var me = this; @@ -697,7 +698,7 @@ define([ _handleInput: function(state) { if (this.HFObject) { - var id = this.HFObject.destroy(state=='ok'); + var id = this.HFObject.destroy(state=='ok', this.pageSetup); if (id) { var me = this; this.showError(function() {