diff --git a/src/liquid/components/ld-context-menu/test/ld-context-menu.spec.tsx b/src/liquid/components/ld-context-menu/test/ld-context-menu.spec.tsx index d81d955f98..4d1d7d15e7 100644 --- a/src/liquid/components/ld-context-menu/test/ld-context-menu.spec.tsx +++ b/src/liquid/components/ld-context-menu/test/ld-context-menu.spec.tsx @@ -463,6 +463,33 @@ describe('ld-context-menu', () => { expect(firstMenuItemInTooltip.focusInner).toHaveBeenCalled() }) + it('does not open on right-click if right-click is not enabled', async () => { + const page = await newSpecPage({ + components: [LdContextMenu, LdMenuitem, LdTooltip, LdMenu, LdButton], + template: () => ( + + Open + Menu item + + ), + }) + const tooltip = page.root.shadowRoot.querySelector('ld-tooltip') + const menu = page.root.shadowRoot.querySelector('ld-menu') + const triggerButton = page.root.querySelector('ld-button') + + const menuInTooltip = await prepareAndGetMenuInTooltip( + page, + [triggerButton], + [menu] + ) + const firstMenuItemInTooltip = menuInTooltip.querySelector('ld-menuitem') + + tooltip.handleContextMenu(new Event('contextMenu')) + await page.waitForChanges() + + expect(firstMenuItemInTooltip.focusInner).not.toHaveBeenCalled() + }) + it('closes on right-click of other context menu', async () => { const page = await newSpecPage({ components: [LdContextMenu, LdMenuitem, LdTooltip, LdMenu, LdButton], diff --git a/src/liquid/components/ld-tooltip/ld-tooltip.tsx b/src/liquid/components/ld-tooltip/ld-tooltip.tsx index 0ca867f694..1397d5df8f 100644 --- a/src/liquid/components/ld-tooltip/ld-tooltip.tsx +++ b/src/liquid/components/ld-tooltip/ld-tooltip.tsx @@ -260,7 +260,7 @@ export class LdTooltip { /** @internal */ @Method() async handleContextMenu(ev) { - if (this.disabled) return + if (!this.rightClick || this.disabled) return ev.preventDefault() this.toggleTooltip()