diff --git a/addon/components/o-s-s/context-menu/panel.hbs b/addon/components/o-s-s/context-menu/panel.hbs index 014c07a2b..a42b93426 100644 --- a/addon/components/o-s-s/context-menu/panel.hbs +++ b/addon/components/o-s-s/context-menu/panel.hbs @@ -35,14 +35,14 @@ @selected={{item.selected}} @disabled={{item.disabled}} @onSelect={{item.action}} - {{on "mouseenter" (fn this.openSubMenu item.items index)}} + {{did-insert registerMouseEnterOnParent (fn this.openSubMenu item.items index)}} {{on "click" (fn this.toggleSubMenu item.items index)}} class="infinit-select-option-panel-container {{if (eq index this.subReferenceIndex) 'active' ''}}" /> {{else if item.rowRenderer}} {{else}} @@ -61,7 +61,7 @@ @selected={{item.selected}} @disabled={{item.disabled}} @onSelect={{fn this.callAction item.action}} - {{on "mouseenter" this.closeSubMenu}} + {{did-insert registerMouseEnterOnParent this.closeSubMenu}} class="infinit-select-option-panel-container" /> {{/if}} diff --git a/addon/components/o-s-s/context-menu/panel.ts b/addon/components/o-s-s/context-menu/panel.ts index 2773d8070..9551d3554 100644 --- a/addon/components/o-s-s/context-menu/panel.ts +++ b/addon/components/o-s-s/context-menu/panel.ts @@ -143,6 +143,15 @@ export default class OSSContextMenuPanelComponent extends Component void>): void { + const callback = templateArgs[0]; + if (callback) { + const targetElement = element.parentElement?.matches('li[role="button"]') ? element.parentElement : element; + targetElement.addEventListener('pointerenter', callback); + } + } + private clearSubMenu(): void { this.displaySubMenu = false; this.subReferenceIndex = -1;