From 86af8145b4e0f72def3e22adb70d4dee9df1f15a Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 7 Aug 2025 08:59:20 +0200 Subject: [PATCH] feat: make it so opening context menu on an element isn't overridden by another context menu listener on an ancestor of that element --- utils/showContextMenu.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/utils/showContextMenu.ts b/utils/showContextMenu.ts index fdf5243..92a8b82 100644 --- a/utils/showContextMenu.ts +++ b/utils/showContextMenu.ts @@ -3,10 +3,15 @@ import ContextMenu from "~/components/UserInterface/ContextMenu.vue"; import type { ContextMenuInterface, ContextMenuItem } from "~/types/interfaces"; export default (e: MouseEvent | PointerEvent, contextMenu: ContextMenuInterface, menuItems: ContextMenuItem[]) => { - console.log("Showing context menu"); - contextMenu.show = true; - contextMenu.pointerX = e.clientX; - contextMenu.pointerY = e.clientY; - contextMenu.items = menuItems; - console.log("Showed"); + e.preventDefault(); + e.stopPropagation(); + console.log("Menu items:", menuItems); + if (menuItems.length) { + console.log("Showing context menu"); + contextMenu.show = true; + contextMenu.pointerX = e.clientX; + contextMenu.pointerY = e.clientY; + contextMenu.items = menuItems; + console.log("Showed"); + } }