fix: stabilize canvas local edit controls
This commit is contained in:
parent
06edd31b87
commit
31a697f491
@ -2723,9 +2723,6 @@ export function ImageNode({
|
||||
|
||||
useEffect(() => {
|
||||
if (!isSelected) {
|
||||
if (localEditMode && isLocalEditControlTarget(document.activeElement)) {
|
||||
return;
|
||||
}
|
||||
setCropPanelOpen(false);
|
||||
setCropRect(null);
|
||||
setCropInteraction(null);
|
||||
@ -2736,7 +2733,10 @@ export function ImageNode({
|
||||
setIsEditingTitle(false);
|
||||
setPromptDialogOpen(false);
|
||||
resetBoxCutoutState();
|
||||
resetLocalEditState();
|
||||
// 局部编辑有独立的“退出”按钮,避免用户点到浮层或画布边缘时丢失框选与底部操作条。
|
||||
if (!localEditMode) {
|
||||
resetLocalEditState();
|
||||
}
|
||||
}
|
||||
}, [isSelected, localEditMode, resetBoxCutoutState, resetLocalEditState]);
|
||||
|
||||
@ -8520,11 +8520,8 @@ export function ImageNode({
|
||||
data-local-edit-control="true"
|
||||
key={region.id}
|
||||
onClick={(event) => event.stopPropagation()}
|
||||
onClickCapture={(event) => event.stopPropagation()}
|
||||
onMouseDown={(event) => event.stopPropagation()}
|
||||
onMouseDownCapture={(event) => event.stopPropagation()}
|
||||
onPointerDown={(event) => event.stopPropagation()}
|
||||
onPointerDownCapture={(event) => event.stopPropagation()}
|
||||
style={style}
|
||||
>
|
||||
<div className="flex items-center gap-1.5">
|
||||
@ -8756,6 +8753,12 @@ export function ImageNode({
|
||||
event.stopPropagation();
|
||||
removeLocalEditReferenceImage(region.id, reference.id);
|
||||
}}
|
||||
onPointerDown={(event) => {
|
||||
event.preventDefault();
|
||||
event.nativeEvent.stopImmediatePropagation?.();
|
||||
event.stopPropagation();
|
||||
removeLocalEditReferenceImage(region.id, reference.id);
|
||||
}}
|
||||
title="移除参考图"
|
||||
type="button"
|
||||
>
|
||||
@ -8770,10 +8773,9 @@ export function ImageNode({
|
||||
)
|
||||
)}
|
||||
|
||||
{isSelected &&
|
||||
{localEditMode &&
|
||||
!isMultiSelected &&
|
||||
data.src &&
|
||||
localEditMode &&
|
||||
!isThisNodePicking &&
|
||||
!isCompareMode &&
|
||||
typeof document !== "undefined" &&
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user