Sha256: ac3f478ce7c4554629520e6454ecf4783cfe02478c146435b713298d61acb10f
Contents?: true
Size: 580 Bytes
Versions: 1
Compression:
Stored size: 580 Bytes
Contents
import { DragEvent, useEffect, useRef } from "react"; import * as Drag from "../../types/Drag"; export default function useDraggable<T>( draggable: Drag.Draggable<T>, startDrag: (evt: React.MouseEvent, draggable: Drag.Draggable<T>) => void ) { const ref = useRef<HTMLDivElement>(null); const handleDrag = (evt: DragEvent) => { evt.preventDefault(); evt.stopPropagation(); startDrag(evt, draggable); }; useEffect(() => { draggable.ref.current = ref.current; }, [draggable.ref]); return { ref: ref, onDragStart: handleDrag, draggable: true }; }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.15.5 | app/javascript/components/drag/useDraggable.ts |