Compare commits
2 Commits
main
...
fix/note-n
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d688bebb1a | ||
![]() |
f2ad16cec5 |
@ -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 (
|
||||
<div
|
||||
className={cn(
|
||||
'flex flex-col relative rounded-md shadow-xs border hover:shadow-md',
|
||||
data.selected && 'nodrag nopan nowheel',
|
||||
)}
|
||||
style={{
|
||||
background: THEME_MAP[theme].bg,
|
||||
@ -102,7 +122,7 @@ const NoteNode = ({
|
||||
}
|
||||
<div className='grow px-3 py-2.5 overflow-y-auto'>
|
||||
<div className={cn(
|
||||
data.selected && 'nodrag nopan nowheel cursor-text',
|
||||
data.selected && 'cursor-text',
|
||||
)}>
|
||||
<NoteEditor
|
||||
containerElement={ref.current}
|
||||
|
Loading…
Reference in New Issue
Block a user