From 64a93ea3fcc8ac2c148737b1915203caf6d0134b Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 14 Aug 2019 15:34:45 +0300 Subject: [PATCH] [SSE] Formula tab: move in function list using keyboard --- .../main/app/view/FormulaTab.js | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/view/FormulaTab.js b/apps/spreadsheeteditor/main/app/view/FormulaTab.js index f6c770b0b..21e3523f7 100644 --- a/apps/spreadsheeteditor/main/app/view/FormulaTab.js +++ b/apps/spreadsheeteditor/main/app/view/FormulaTab.js @@ -385,20 +385,18 @@ define([ var internalMenu = menu._innerMenu; internalMenu.scroller.update({alwaysVisibleY: true}); _.delay(function() { - menu._innerMenu && menu._innerMenu.cmpEl.focus(); + menu._innerMenu && menu._innerMenu.items[0].cmpEl.find('> a').focus(); }, 10); - }).on('keydown:before', function(menu, e) { - if (e.keyCode == Common.UI.Keys.RETURN) { - e.preventDefault(); - e.stopPropagation(); - } else if (e.keyCode == Common.UI.Keys.LEFT || e.keyCode == Common.UI.Keys.ESC) { - var $parent = menu.cmpEl.parent(); - if ($parent.hasClass('dropdown-submenu') && $parent.hasClass('over')) { // close submenu - $parent.removeClass('over'); - $parent.find('> a').focus(); + }).on('keydown:before', _.bind(me.onBeforeKeyDown, this)) + .on('keydown:before', function(menu, e) { + if (e.keyCode == Common.UI.Keys.LEFT || e.keyCode == Common.UI.Keys.ESC) { + var $parent = menu.cmpEl.parent(); + if ($parent.hasClass('dropdown-submenu') && $parent.hasClass('over')) { // close submenu + $parent.removeClass('over'); + $parent.find('> a').focus(); + } } - } - } ); + }); // internal menu var menu = new Common.UI.Menu({ @@ -408,8 +406,9 @@ define([ }); menu.on('item:click', function (menu, item, e) { me.fireEvent('function:apply', [{name: item.caption, origin: item.value}, false, name]); - }); + }).on('keydown:before', _.bind(me.onBeforeKeyDown, this)); mnu.menu._innerMenu = menu; + menu._outerMenu = mnu.menu; return mnu; } }