From b09c100a27df31490878b4ab9683df8810fa3101 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 14 Nov 2023 15:01:10 +0300 Subject: [PATCH] Fix focus in format rules dialog --- apps/common/main/lib/component/ComboBorderSize.js | 10 ++++++++++ .../main/app/view/FormatRulesEditDlg.js | 8 ++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/apps/common/main/lib/component/ComboBorderSize.js b/apps/common/main/lib/component/ComboBorderSize.js index 63cb4cf83e..207c52a1f7 100644 --- a/apps/common/main/lib/component/ComboBorderSize.js +++ b/apps/common/main/lib/component/ComboBorderSize.js @@ -460,6 +460,12 @@ define([ '' ].join('')), + render : function(parentEl) { + Common.UI.ComboBox.prototype.render.call(this, parentEl); + this._formControl = this.cmpEl.find('.form-control'); + return this; + }, + itemClicked: function (e) { var el = $(e.currentTarget).parent(); @@ -546,6 +552,10 @@ define([ wheelSpeed: 10, alwaysVisibleY: this.scrollAlwaysVisible }, this.options.scroller)); + }, + + focus: function() { + this._formControl && this._formControl.focus(); } }, Common.UI.ComboBoxIcons || {})); diff --git a/apps/spreadsheeteditor/main/app/view/FormatRulesEditDlg.js b/apps/spreadsheeteditor/main/app/view/FormatRulesEditDlg.js index f262d06c3e..0782fda2d8 100644 --- a/apps/spreadsheeteditor/main/app/view/FormatRulesEditDlg.js +++ b/apps/spreadsheeteditor/main/app/view/FormatRulesEditDlg.js @@ -804,10 +804,14 @@ define([ 'text!spreadsheeteditor/main/app/template/FormatRulesEditDlg.template', menuStyle : 'max-height: 220px;min-width: 100%;', data : arr }).on('selected', function(combo, record) { + combo.skipFocus = true; me.fillIconsControls(record.value, record.data.values); _.delay(function(){ - me.iconsControls[me.iconsControls.length-1].cmbOperator.focus(); + me.iconsControls[me.iconsProps.iconsLength-1].cmbOperator.focus(); },50); + }).on('hide:after', function(combo) { + !combo.skipFocus && setTimeout(function(){combo.focus();}, 1); + combo.skipFocus = false; }); Common.UI.FocusManager.add(this, this.cmbIconsPresets); this.cmbIconsPresets.setValue(3); @@ -1575,7 +1579,7 @@ define([ 'text!spreadsheeteditor/main/app/template/FormatRulesEditDlg.template', } else if (category==9) { focused = this.barControls[0].combo; } else if (category==10) { - focused = this.iconsControls[this.iconsControls.length-1].cmbOperator; + focused = this.iconsControls[this.iconsProps.iconsLength-1].cmbOperator; } focused && _.delay(function(){