Fix menu focus in ComboDataView
This commit is contained in:
parent
5fa14b63fe
commit
754bc9c8bc
|
@ -114,20 +114,17 @@ define([
|
|||
offset: [0, 3],
|
||||
items: [
|
||||
{template: _.template('<div class="menu-picker-container"></div>')}
|
||||
]
|
||||
].concat(this.options.additionalMenuItems != null ? this.options.additionalMenuItems : [])
|
||||
}),
|
||||
dataHint: this.options.dataHint,
|
||||
dataHintDirection: this.options.dataHintDirection,
|
||||
dataHintOffset: this.options.dataHintOffset
|
||||
});
|
||||
|
||||
if (this.options.additionalMenuItems != null) {
|
||||
this.openButton.menu.items = this.openButton.menu.items.concat(this.options.additionalMenuItems)
|
||||
}
|
||||
|
||||
this.menuPicker = new Common.UI.DataView({
|
||||
cls: 'menu-picker',
|
||||
parentMenu: this.openButton.menu,
|
||||
outerMenu: this.options.additionalMenuItems ? {menu: this.openButton.menu, index: 0} : undefined,
|
||||
restoreHeight: this.menuMaxHeight,
|
||||
style: 'max-height: '+this.menuMaxHeight+'px;',
|
||||
enableKeyEvents: this.options.enableKeyEvents,
|
||||
|
@ -143,6 +140,10 @@ define([
|
|||
delayRenderTips: this.delayRenderTips
|
||||
});
|
||||
|
||||
if (this.options.additionalMenuItems != null) {
|
||||
this.openButton.menu.setInnerMenu([{menu: this.menuPicker, index: 0}]);
|
||||
}
|
||||
|
||||
// Handle resize
|
||||
setInterval(_.bind(this.checkSize, this), 500);
|
||||
|
||||
|
|
|
@ -830,7 +830,7 @@ define([
|
|||
},
|
||||
|
||||
focus: function(index) {
|
||||
this.cmpEl && this.cmpEl.find('.dataview').focus();
|
||||
$(this.el).find('.inner').addBack().filter('.inner').focus();
|
||||
if (typeof index == 'string') {
|
||||
if (index == 'first') {
|
||||
this.selectByIndex(0, true);
|
||||
|
|
|
@ -536,7 +536,7 @@ define([
|
|||
if (this.options.innerMenus || !menus) return;
|
||||
|
||||
this.options.innerMenus = menus;
|
||||
this.options.innerMenus && this.on('keydown:before', _.bind(this.onBeforeKeyDown, this));
|
||||
this.rendered && this.on('keydown:before', _.bind(this.onBeforeKeyDown, this));
|
||||
},
|
||||
|
||||
findInnerMenu: function(direction, index, findOuter) {
|
||||
|
|
Loading…
Reference in a new issue