From 4ea5c2522e63adda3afe0984683423eb1976f79c Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 9 Apr 2020 17:14:42 +0300 Subject: [PATCH] Fix menu show in dialogs --- apps/common/main/lib/component/Window.js | 18 +++++++++++++++++- .../main/lib/view/AdvancedSettingsWindow.js | 16 ---------------- .../common/main/lib/view/ListSettingsDialog.js | 16 ---------------- .../main/app/view/ListSettingsDialog.js | 16 ---------------- .../main/app/controller/Print.js | 5 +++++ .../main/app/view/ChartSettingsDlg.js | 3 +++ .../main/app/view/HeaderFooterDialog.js | 16 ---------------- .../main/app/view/PrintTitlesDialog.js | 18 +++--------------- 8 files changed, 28 insertions(+), 80 deletions(-) diff --git a/apps/common/main/lib/component/Window.js b/apps/common/main/lib/component/Window.js index 74f4ca659..079b40c0e 100644 --- a/apps/common/main/lib/component/Window.js +++ b/apps/common/main/lib/component/Window.js @@ -594,7 +594,7 @@ define([ Common.UI.BaseView.prototype.initialize.call(this, this.initConfig); }, - render : function() { + render: function() { var renderto = this.initConfig.renderTo || document.body; $(renderto).append( _.template(template)(this.initConfig) @@ -651,6 +651,22 @@ define([ this.initConfig.footerCls && this.$window.find('.footer').addClass(this.initConfig.footerCls); + this.menuAddAlign = function(menuRoot, left, top) { + var self = this; + if (!me.$window.hasClass('notransform')) { + me.$window.addClass('notransform'); + menuRoot.addClass('hidden'); + setTimeout(function() { + menuRoot.removeClass('hidden'); + menuRoot.css({left: left, top: top}); + self.options.additionalAlign = null; + }, 300); + } else { + menuRoot.css({left: left, top: top}); + self.options.additionalAlign = null; + } + }; + this.fireEvent('render:after',this); return this; }, diff --git a/apps/common/main/lib/view/AdvancedSettingsWindow.js b/apps/common/main/lib/view/AdvancedSettingsWindow.js index 153bf86b2..eaadb464f 100644 --- a/apps/common/main/lib/view/AdvancedSettingsWindow.js +++ b/apps/common/main/lib/view/AdvancedSettingsWindow.js @@ -107,22 +107,6 @@ define([ this.content_panels = $window.find('.settings-panel'); if (this.btnsCategory.length>0) this.btnsCategory[0].toggle(true, true); - - me.menuAddAlign = function(menuRoot, left, top) { - var self = this; - if (!$window.hasClass('notransform')) { - $window.addClass('notransform'); - menuRoot.addClass('hidden'); - setTimeout(function() { - menuRoot.removeClass('hidden'); - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - }, 300); - } else { - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - } - } }, setHeight: function(height) { diff --git a/apps/common/main/lib/view/ListSettingsDialog.js b/apps/common/main/lib/view/ListSettingsDialog.js index de61663fb..d3c3c6168 100644 --- a/apps/common/main/lib/view/ListSettingsDialog.js +++ b/apps/common/main/lib/view/ListSettingsDialog.js @@ -103,22 +103,6 @@ define([ $window = this.getChild(); $window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this)); - this.menuAddAlign = function(menuRoot, left, top) { - var self = this; - if (!$window.hasClass('notransform')) { - $window.addClass('notransform'); - menuRoot.addClass('hidden'); - setTimeout(function() { - menuRoot.removeClass('hidden'); - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - }, 300); - } else { - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - } - }; - this.spnSize = new Common.UI.MetricSpinner({ el : $window.find('#id-dlg-list-size'), step : 1, diff --git a/apps/documenteditor/main/app/view/ListSettingsDialog.js b/apps/documenteditor/main/app/view/ListSettingsDialog.js index db30fc47b..5ec2260a6 100644 --- a/apps/documenteditor/main/app/view/ListSettingsDialog.js +++ b/apps/documenteditor/main/app/view/ListSettingsDialog.js @@ -154,22 +154,6 @@ define([ $window = this.getChild(); $window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this)); - this.menuAddAlign = function(menuRoot, left, top) { - var self = this; - if (!$window.hasClass('notransform')) { - $window.addClass('notransform'); - menuRoot.addClass('hidden'); - setTimeout(function() { - menuRoot.removeClass('hidden'); - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - }, 300); - } else { - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - } - }; - this.btnColor = new Common.UI.ColorButton({ style: 'width:45px;', menu : new Common.UI.Menu({ diff --git a/apps/spreadsheeteditor/main/app/controller/Print.js b/apps/spreadsheeteditor/main/app/controller/Print.js index f084ea7a5..09cbf6e84 100644 --- a/apps/spreadsheeteditor/main/app/controller/Print.js +++ b/apps/spreadsheeteditor/main/app/controller/Print.js @@ -475,6 +475,7 @@ define([ panel.btnPresetsTop.setMenu(new Common.UI.Menu({ style: 'min-width: 100px;', maxHeight: 200, + additionalAlign: panel.menuAddAlign, items: data })); data = ((selectdata) ? [{caption: this.textSelectRange + '...', value: 'select'}] : []).concat([ @@ -486,6 +487,7 @@ define([ panel.btnPresetsLeft.setMenu(new Common.UI.Menu({ style: 'min-width: 100px;', maxHeight: 200, + additionalAlign: panel.menuAddAlign, items: data })); }, @@ -495,6 +497,9 @@ define([ if (item.value == 'select') { var me = this; if (me.api) { + panel.btnPresetsTop.menu.options.additionalAlign = panel.menuAddAlign; + panel.btnPresetsLeft.menu.options.additionalAlign = panel.menuAddAlign; + var handlerDlg = function(dlg, result) { if (result == 'ok') { var valid = dlg.getSettings(); diff --git a/apps/spreadsheeteditor/main/app/view/ChartSettingsDlg.js b/apps/spreadsheeteditor/main/app/view/ChartSettingsDlg.js index b9e7b9c1b..9fd3e1e7b 100644 --- a/apps/spreadsheeteditor/main/app/view/ChartSettingsDlg.js +++ b/apps/spreadsheeteditor/main/app/view/ChartSettingsDlg.js @@ -1512,6 +1512,9 @@ define([ 'text!spreadsheeteditor/main/app/template/ChartSettingsDlg.template' onSelectData: function() { var me = this; if (me.api) { + me.btnChartType.menu.options.additionalAlign = me.menuAddAlign; + me.btnSparkType.menu.options.additionalAlign = me.menuAddAlign; + var handlerDlg = function(dlg, result) { if (result == 'ok') { me.dataRangeValid = dlg.getSettings(); diff --git a/apps/spreadsheeteditor/main/app/view/HeaderFooterDialog.js b/apps/spreadsheeteditor/main/app/view/HeaderFooterDialog.js index 08b0d110b..76b5fe51a 100644 --- a/apps/spreadsheeteditor/main/app/view/HeaderFooterDialog.js +++ b/apps/spreadsheeteditor/main/app/view/HeaderFooterDialog.js @@ -163,22 +163,6 @@ define([ render: function() { Common.UI.Window.prototype.render.call(this); - this.menuAddAlign = function(menuRoot, left, top) { - var self = this; - if (!$window.hasClass('notransform')) { - $window.addClass('notransform'); - menuRoot.addClass('hidden'); - setTimeout(function() { - menuRoot.removeClass('hidden'); - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - }, 300); - } else { - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - } - }; - var me = this, $window = this.getChild(); diff --git a/apps/spreadsheeteditor/main/app/view/PrintTitlesDialog.js b/apps/spreadsheeteditor/main/app/view/PrintTitlesDialog.js index 426beb752..eec28f2da 100644 --- a/apps/spreadsheeteditor/main/app/view/PrintTitlesDialog.js +++ b/apps/spreadsheeteditor/main/app/view/PrintTitlesDialog.js @@ -104,21 +104,6 @@ define([ Common.UI.Window.prototype.render.call(this); var me = this; - this.menuAddAlign = function(menuRoot, left, top) { - var self = this; - if (!$window.hasClass('notransform')) { - $window.addClass('notransform'); - menuRoot.addClass('hidden'); - setTimeout(function() { - menuRoot.removeClass('hidden'); - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - }, 300); - } else { - menuRoot.css({left: left, top: top}); - self.options.additionalAlign = null; - } - }; this.txtRangeTop = new Common.UI.InputFieldBtn({ el : $('#print-titles-txt-top'), @@ -256,6 +241,9 @@ define([ if (item.value == 'select') { var me = this; if (me.api) { + me.btnPresetsTop.menu.options.additionalAlign = me.menuAddAlign; + me.btnPresetsLeft.menu.options.additionalAlign = me.menuAddAlign; + var handlerDlg = function(dlg, result) { if (result == 'ok') { var valid = dlg.getSettings();