From c29bf4d958837cb0aaa1d472d12a4e77697c8277 Mon Sep 17 00:00:00 2001 From: Nitwel Date: Tue, 7 Mar 2023 15:53:55 +0100 Subject: [PATCH] Only show context menu for collections (#17725) * Only show context menu for collections * don't attach event listener on null --- app/src/directives/context-menu.ts | 4 ++++ app/src/modules/content/components/navigation-item.vue | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/directives/context-menu.ts b/app/src/directives/context-menu.ts index 893817b936..93f739e9ed 100644 --- a/app/src/directives/context-menu.ts +++ b/app/src/directives/context-menu.ts @@ -3,6 +3,8 @@ import { Directive, DirectiveBinding } from 'vue'; function mounted(element: HTMLElement, binding: DirectiveBinding): void { const contextMenu = binding.instance?.$refs[binding.value]; + if (!contextMenu) return; + element.addEventListener('contextmenu', activateContextMenu(contextMenu)); document.documentElement.addEventListener('pointerdown', deactivateContextMenu(contextMenu)); } @@ -10,6 +12,8 @@ function mounted(element: HTMLElement, binding: DirectiveBinding): void { function unmounted(element: HTMLElement, binding: DirectiveBinding): void { const contextMenu = binding.instance?.$refs[binding.value]; + if (!contextMenu) return; + element.removeEventListener('contextmenu', activateContextMenu(contextMenu)); document.documentElement.removeEventListener('pointerdown', deactivateContextMenu(contextMenu)); } diff --git a/app/src/modules/content/components/navigation-item.vue b/app/src/modules/content/components/navigation-item.vue index 5caf20d4ee..87344a1022 100644 --- a/app/src/modules/content/components/navigation-item.vue +++ b/app/src/modules/content/components/navigation-item.vue @@ -1,7 +1,7 @@