UNPKG

goobs-frontend

Version:

A comprehensive React-based libary for building modern web applications

30 lines 1.45 kB
import { default as React } from 'react'; import { ColumnData } from '../../types'; /** Item describing which task is being dragged. */ interface DragInfo { taskId: string; columnIndex: number; taskIndex: number; } /** * GitHub-like drag and drop hook for tasks. * Simplifies the drag model - tasks are directly draggable without pre-selection. */ export declare function useTaskDragAndDrop(): { dragItem: DragInfo | null; isDragging: boolean; dragOverInfo: { columnIndex: number; taskIndex: number; } | null; handleTaskDragStart: (e: React.DragEvent, taskId: string, columnIndex: number, taskIndex: number) => void; handleTaskDragOver: (e: React.DragEvent, columnIndex: number, taskIndex: number) => void; handleTaskDragEnter: (e: React.DragEvent, columnIndex: number, taskIndex: number) => void; handleTaskDragLeave: (e: React.DragEvent) => void; handleTaskDrop: (e: React.DragEvent, dropColumnIndex: number, dropTaskIndex: number, allColumns: ColumnData[], setAllColumns: React.Dispatch<React.SetStateAction<ColumnData[]>>) => void; handleColumnDragOver: (e: React.DragEvent, columnIndex: number, allColumns: ColumnData[]) => void; handleColumnDrop: (e: React.DragEvent, columnIndex: number, allColumns: ColumnData[], setAllColumns: React.Dispatch<React.SetStateAction<ColumnData[]>>) => void; resetDragState: () => void; }; export {}; //# sourceMappingURL=tasks.d.ts.map