diff --git a/packages/main/src/Menu.ts b/packages/main/src/Menu.ts index 373d4fd4f197..94de98c5ea77 100644 --- a/packages/main/src/Menu.ts +++ b/packages/main/src/Menu.ts @@ -384,10 +384,9 @@ class Menu extends UI5Element { if (!this.opener) { return; } - if (this.open) { - const rootNode = this.getRootNode() as Document; - const opener = this.opener instanceof HTMLElement ? this.opener : rootNode && rootNode.getElementById(this.opener); + if (this.open) { + const opener = this.getOpener(); if (opener) { this.showAt(opener); } @@ -444,6 +443,11 @@ class Menu extends UI5Element { return this._popover; } + getOpener() { + const rootNode = this.getRootNode() as Document; + return this.opener instanceof HTMLElement ? this.opener : rootNode?.getElementById?.(this.opener); + } + _navigateBack() { const parentMenuItem = this._parentItemsStack.pop(); diff --git a/packages/main/test/pages/Menu.html b/packages/main/test/pages/Menu.html index 7f87585f3ab9..007e7cb66ac8 100644 --- a/packages/main/test/pages/Menu.html +++ b/packages/main/test/pages/Menu.html @@ -12,7 +12,7 @@ - + Open Menu
@@ -39,51 +39,26 @@ -
-

Clicked menu item text

-
- -
- -
- -
-

Text Direction

-
-
- -
- -
-

Prevent "before-open" event

-
-
- -
- -
-

Prevent "before-close" event

-
-
- -
- -
-

open/opener

-
-
- Add opener - Remove opener - Toggle open
- -
- -
-

Event logger

-
-
- -
+ Clicked menu item text + + + Text Direction + + + Prevent "before-open" event + + + Prevent "before-close" event + + + open/opener + Add opener + Remove opener + Toggle open
+ + + Event logger +