mirror of
https://github.com/directus/directus.git
synced 2026-01-23 14:47:56 -05:00
Only show context menu for collections (#17725)
* Only show context menu for collections * don't attach event listener on null
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<v-list-group
|
||||
v-if="isGroup && matchesSearch"
|
||||
v-context-menu="'contextMenu'"
|
||||
v-context-menu="hasContextMenu ? 'contextMenu' : null"
|
||||
:to="to"
|
||||
scope="content-navigation"
|
||||
:value="collection.collection"
|
||||
@@ -128,7 +128,7 @@ export default defineComponent({
|
||||
}
|
||||
});
|
||||
|
||||
const hasContextMenu = computed(() => isAdmin);
|
||||
const hasContextMenu = computed(() => isAdmin && props.collection.type === 'table');
|
||||
|
||||
return {
|
||||
childCollections,
|
||||
|
||||
Reference in New Issue
Block a user