MCPcopy Create free account
hub / github.com/editablejs/editable / handleMouseDown

Function handleMouseDown

packages/ui/src/resizer.tsx:40–70  ·  view source on GitHub ↗
(event: React.MouseEvent<HTMLDivElement>, holder: ResizerHolder)

Source from the content-addressed store, hash-verified

38 const ref = useRef<HTMLDivElement>(null)
39
40 const handleMouseDown = (event: React.MouseEvent<HTMLDivElement>, holder: ResizerHolder) => {
41 event.preventDefault()
42
43 pointRef.current = {
44 x: event.clientX,
45 y: event.clientY,
46 }
47 holdreRef.current = holder
48 const el = ref.current!
49 const { width, height } = el.getBoundingClientRect()
50 setSize({
51 width,
52 height,
53 })
54 sizeRef.current = {
55 width,
56 height,
57 }
58 setResizing(true)
59 rateRef.current = height / width
60
61 el.style.top = ~['top-left', 'top-right'].indexOf(holder) ? 'auto' : '0'
62 el.style.left = ~['top-left', 'bottom-left'].indexOf(holder) ? 'auto' : '0'
63 el.style.right = ~['top-right', 'bottom-right'].indexOf(holder) ? 'auto' : '0'
64 el.style.bottom = ~['bottom-left', 'bottom-right'].indexOf(holder) ? 'auto' : '0'
65
66 if ('ontouchstart' in document.documentElement)
67 window.addEventListener('touchmove', handleMouseMove)
68 else window.addEventListener('mousemove', handleMouseMove)
69 window.addEventListener('mouseup', handleMouseUp)
70 }
71
72 const handleMouseMove = (event: MouseEvent | TouchEvent) => {
73 let x = 0,

Callers 1

ResizerFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…