@wamra/gantt-task-react
Version:
Interactive Gantt Chart for React with TypeScript
42 lines (41 loc) • 1.72 kB
TypeScript
import React from "react";
import type { MouseEvent } from "react";
import { GanttRelationEvent } from "../../types/gantt-task-actions";
import { ChildOutOfParentWarnings, FixPosition, Task, ColorStyles, TaskOrEmpty, Distances, RelationKind, BarMoveAction, DateExtremity } from "../../types/public-types";
export type TaskItemProps = {
children?: React.ReactNode;
getTaskGlobalIndexByRef: (task: Task) => number;
hasChildren: boolean;
hasDependencyWarning: boolean;
progressWidth: number;
progressX: number;
selectTaskOnMouseDown: (taskId: string, event: MouseEvent) => void;
task: Task;
taskYOffset: number;
width: number;
x1: number;
x2: number;
childOutOfParentWarnings: ChildOutOfParentWarnings | null;
distances: Distances;
taskHeight: number;
taskHalfHeight: number;
isProgressChangeable: boolean;
isDateChangeable: boolean;
authorizedRelations: RelationKind[];
isRelationChangeable: boolean;
ganttRelationEvent: GanttRelationEvent;
isDelete: boolean;
isSelected: boolean;
isCritical: boolean;
rtl: boolean;
onDoubleClick?: (task: Task) => void;
onClick?: (task: Task, event: React.MouseEvent<SVGElement>) => void;
setTooltipTask: (task: Task | null, element: Element | null) => void;
onEventStart: (action: BarMoveAction, selectedTask: Task, clientX: number, taskRootNode: Element) => any;
onRelationStart: (target: DateExtremity, selectedTask: Task) => void;
fixStartPosition?: FixPosition;
fixEndPosition?: FixPosition;
handleDeleteTasks: (task: TaskOrEmpty[]) => void;
colorStyles: ColorStyles;
};
export declare const TaskItem: React.NamedExoticComponent<TaskItemProps>;