Sha256: 1239c71ddd1dd8996ee1d565013f02106312a374c0bd297ef22385fca581908c
Contents?: true
Size: 597 Bytes
Versions: 4
Compression:
Stored size: 597 Bytes
Contents
import React, { DragEvent, useEffect, useRef } from "react"; import * as Drag from "../../types/Drag"; export default function useDraggable<T = Drag.DraggableRecord>( 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; }, []); return { ref: ref, onDragStart: handleDrag, draggable: true }; }
Version data entries
4 entries across 4 versions & 1 rubygems