统一预览节点指针手势条件

复用同一接收条件驱动点击分支与指针处理器
This commit is contained in:
2026-09-03 14:46:19 +08:00
parent 3deebf0e90
commit 2e23c0b405
@@ -117,7 +117,8 @@ function RenderNode({
const isEditorOverlay = renderMode === 'editor-overlay';
const isFrameVisible = isEditorOverlay || showFrame;
const hasDirectPointerGesture = !isRoot && !parentContainer;
const receivesPointerGesture = parentContainer === undefined;
const hasDirectPointerGesture = receivesPointerGesture && !isRoot;
const exclusiveVisibleChildId =
node.children_display_mode === 'Exclusive'
? resolveExclusiveVisibleChildId(node.children, hiddenNodeIds)
@@ -166,11 +167,13 @@ function RenderNode({
onNodeContextMenu(event, node, Boolean(isRoot));
}}
onPointerDown={
parentContainer ? undefined : (event) => onNodePointerDown(event, node)
receivesPointerGesture
? (event) => onNodePointerDown(event, node)
: undefined
}
onPointerMove={parentContainer ? undefined : onNodePointerMove}
onPointerUp={parentContainer ? undefined : onNodePointerUp}
onPointerCancel={parentContainer ? undefined : onNodePointerCancel}
onPointerMove={receivesPointerGesture ? onNodePointerMove : undefined}
onPointerUp={receivesPointerGesture ? onNodePointerUp : undefined}
onPointerCancel={receivesPointerGesture ? onNodePointerCancel : undefined}
title={isFrameVisible ? node.metadata.name || undefined : undefined}
>
{isFrameVisible && node.metadata.name ? (