diff --git a/web/app/components/workflow/note-node/index.tsx b/web/app/components/workflow/note-node/index.tsx index ec2bb84f68..3d1e65e800 100644 --- a/web/app/components/workflow/note-node/index.tsx +++ b/web/app/components/workflow/note-node/index.tsx @@ -1,6 +1,7 @@ import { memo, useCallback, + useEffect, useRef, } from 'react' import { useTranslation } from 'react-i18next' @@ -54,14 +55,33 @@ const NoteNode = ({ handleNodeDelete(id) }, [id, handleNodeDelete]) + const preventZoom = (e: WheelEvent) => { + if (data.selected && e.ctrlKey) { + e.preventDefault() + e.stopPropagation() + } + } + useClickAway(() => { handleNodeDataUpdateWithSyncDraft({ id, data: { selected: false } }) }, ref) + useEffect(() => { + const node = ref.current + if (node) + node.addEventListener('wheel', preventZoom, { passive: false }) + + return () => { + if (node) + node.removeEventListener('wheel', preventZoom) + } + }, [data.selected]) + return (