From acfbc92f808a99be3aa52f390ac7ba027aaa8cec Mon Sep 17 00:00:00 2001 From: andrewwallacespeckle Date: Tue, 19 Aug 2025 10:19:48 +0100 Subject: [PATCH] No deep watch. Use selectedObjectIds --- .../lib/viewer/composables/contextMenu.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/frontend-2/lib/viewer/composables/contextMenu.ts b/packages/frontend-2/lib/viewer/composables/contextMenu.ts index 71d204027..8a1132bc2 100644 --- a/packages/frontend-2/lib/viewer/composables/contextMenu.ts +++ b/packages/frontend-2/lib/viewer/composables/contextMenu.ts @@ -175,20 +175,18 @@ export function useViewerContextMenu(params: { // Close context menu when selection changes watch( - () => filters.selectedObjects.value, - (newSelection, oldSelection) => { - if (contextMenuState.value.isVisible && newSelection !== oldSelection) { + () => filters.selectedObjectIds.value, + (newSelectionIds) => { + if (contextMenuState.value.isVisible) { const currentMenuObjectId = contextMenuState.value.selectedObjectId - const isCurrentObjectStillSelected = newSelection.some( - (obj) => obj.id === currentMenuObjectId + const isCurrentObjectStillSelected = newSelectionIds.has( + currentMenuObjectId || '' ) - if (!isCurrentObjectStillSelected) { closeContextMenu() } } - }, - { deep: true } + } ) return {