[SSE] Formula tab: move in function list using keyboard

This commit is contained in:
Julia Radzhabova 2019-08-14 15:34:45 +03:00
parent efc05d5b6d
commit 64a93ea3fc

View file

@ -385,20 +385,18 @@ define([
var internalMenu = menu._innerMenu; var internalMenu = menu._innerMenu;
internalMenu.scroller.update({alwaysVisibleY: true}); internalMenu.scroller.update({alwaysVisibleY: true});
_.delay(function() { _.delay(function() {
menu._innerMenu && menu._innerMenu.cmpEl.focus(); menu._innerMenu && menu._innerMenu.items[0].cmpEl.find('> a').focus();
}, 10); }, 10);
}).on('keydown:before', function(menu, e) { }).on('keydown:before', _.bind(me.onBeforeKeyDown, this))
if (e.keyCode == Common.UI.Keys.RETURN) { .on('keydown:before', function(menu, e) {
e.preventDefault(); if (e.keyCode == Common.UI.Keys.LEFT || e.keyCode == Common.UI.Keys.ESC) {
e.stopPropagation(); var $parent = menu.cmpEl.parent();
} else if (e.keyCode == Common.UI.Keys.LEFT || e.keyCode == Common.UI.Keys.ESC) { if ($parent.hasClass('dropdown-submenu') && $parent.hasClass('over')) { // close submenu
var $parent = menu.cmpEl.parent(); $parent.removeClass('over');
if ($parent.hasClass('dropdown-submenu') && $parent.hasClass('over')) { // close submenu $parent.find('> a').focus();
$parent.removeClass('over'); }
$parent.find('> a').focus();
} }
} });
} );
// internal menu // internal menu
var menu = new Common.UI.Menu({ var menu = new Common.UI.Menu({
@ -408,8 +406,9 @@ define([
}); });
menu.on('item:click', function (menu, item, e) { menu.on('item:click', function (menu, item, e) {
me.fireEvent('function:apply', [{name: item.caption, origin: item.value}, false, name]); me.fireEvent('function:apply', [{name: item.caption, origin: item.value}, false, name]);
}); }).on('keydown:before', _.bind(me.onBeforeKeyDown, this));
mnu.menu._innerMenu = menu; mnu.menu._innerMenu = menu;
menu._outerMenu = mnu.menu;
return mnu; return mnu;
} }
} }