@wamra/gantt-task-react
Version:
Interactive Gantt Chart for React with TypeScript
26 lines (25 loc) • 1.49 kB
TypeScript
import { RefObject } from "react";
import { ChangeInProgress, ChildByLevelMap, DependentMap, MapTaskToCoordinates, TaskToGlobalIndexMap, Task, TaskMapByLevel, DateExtremity, BarMoveAction, GanttDateRounding } from "../../types/public-types";
type UseTaskDragParams = {
childTasksMap: ChildByLevelMap;
dependentMap: DependentMap;
ganttSVGRef: RefObject<SVGSVGElement>;
mapTaskToCoordinates: MapTaskToCoordinates;
mapTaskToGlobalIndex: TaskToGlobalIndexMap;
onDateChange: (action: BarMoveAction, changedTask: Task, originalTask: Task) => void;
onProgressChange: (task: Task) => void;
roundDate: (date: Date, action: BarMoveAction, dateExtremity: DateExtremity) => Date;
dateMoveStep: GanttDateRounding;
rtl: boolean;
scrollToLeftStep: () => void;
scrollToRightStep: () => void;
scrollX: number;
setScrollXProgrammatically: (nextScrollX: number) => void;
svgClientWidth: number | null;
svgWidth: number;
tasksMap: TaskMapByLevel;
timeStep: number;
xStep: number;
};
export declare const useTaskDrag: ({ childTasksMap, dependentMap, ganttSVGRef, mapTaskToCoordinates, mapTaskToGlobalIndex, onDateChange, onProgressChange, roundDate, dateMoveStep, rtl, scrollToLeftStep, scrollToRightStep, scrollX, setScrollXProgrammatically, svgClientWidth, svgWidth, tasksMap, timeStep, xStep, }: UseTaskDragParams) => [ChangeInProgress, (action: BarMoveAction, task: Task, clientX: number, taskRootNode: Element) => void];
export {};