提交 49bce6d9 编写于 作者: S SteVen Batten

fixes #55439

上级 d91fdfd8
......@@ -241,6 +241,8 @@ class MenuActionItem extends BaseActionItem {
class SubmenuActionItem extends MenuActionItem {
private mysubmenu: Menu;
private submenuContainer: Builder;
private mouseOver: boolean;
private showScheduler: RunOnceScheduler;
private hideScheduler: RunOnceScheduler;
constructor(
......@@ -251,6 +253,13 @@ class SubmenuActionItem extends MenuActionItem {
) {
super(action, action, { label: true, isMenu: true });
this.showScheduler = new RunOnceScheduler(() => {
if (this.mouseOver) {
this.cleanupExistingSubmenu(false);
this.createSubmenu(false);
}
}, 250);
this.hideScheduler = new RunOnceScheduler(() => {
if ((!isAncestor(document.activeElement, this.builder.getHTMLElement()) && this.parentData.submenu === this.mysubmenu)) {
this.parentData.parent.focus(false);
......@@ -283,8 +292,15 @@ class SubmenuActionItem extends MenuActionItem {
});
$(this.builder).on(EventType.MOUSE_OVER, (e) => {
this.cleanupExistingSubmenu(false);
this.createSubmenu(false);
if (!this.mouseOver) {
this.mouseOver = true;
this.showScheduler.schedule();
}
});
$(this.builder).on(EventType.MOUSE_LEAVE, (e) => {
this.mouseOver = false;
});
$(this.builder).on(EventType.FOCUS_OUT, (e) => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册