import "../../style/actions/arrow_action.css" import Draggable from "react-draggable" import {useRef} from "react" export interface ArrowActionProps { onHeadDropped: (headBounds: DOMRect) => void onHeadPicked: (headBounds: DOMRect) => void, onHeadMoved: (headBounds: DOMRect) => void, } export default function ArrowAction({ onHeadDropped, onHeadPicked, onHeadMoved }: ArrowActionProps) { const arrowHeadRef = useRef(null) return (
{ const headBounds = arrowHeadRef.current!.getBoundingClientRect() onHeadPicked(headBounds) }} onStop={() => { const headBounds = arrowHeadRef.current!.getBoundingClientRect() onHeadDropped(headBounds) }} onDrag={() => { const headBounds = arrowHeadRef.current!.getBoundingClientRect() onHeadMoved(headBounds) }} position={{x: 0, y: 0}}>
) }