@wamra/gantt-task-react
Version:
Interactive Gantt Chart for React with TypeScript
81 lines (80 loc) • 3.86 kB
TypeScript
import type { ComponentType, MouseEvent, RefObject, SyntheticEvent } from "react";
import React from "react";
import { ChildByLevelMap, ColorStyles, Column, DateSetup, DependencyMap, Distances, Icons, MapTaskToNestedIndex, OnResizeColumn, Task, TaskListHeaderProps, TaskListTableProps, TaskOrEmpty } from "../../types/public-types";
import { TaskListHeaderActionsProps } from "./TaskListHeaderActions";
export type TaskListProps = {
canMoveTasks: boolean;
canResizeColumns: boolean;
childTasksMap: ChildByLevelMap;
colors: ColorStyles;
columnsProp: readonly Column[];
cutIdsMirror: Readonly<Record<string, true>>;
dateSetup: DateSetup;
dependencyMap: DependencyMap;
distances: Distances;
fontFamily: string;
fontSize: string;
fullRowHeight: number;
ganttFullHeight: number;
getTaskCurrentState: (task: Task) => Task;
handleAddTask: (task: Task) => void;
handleDeleteTasks: (task: TaskOrEmpty[]) => void;
handleEditTask: (task: TaskOrEmpty) => void;
handleMoveTaskBefore: (target: TaskOrEmpty, taskForMove: TaskOrEmpty) => void;
handleMoveTaskAfter: (target: TaskOrEmpty, taskForMove: TaskOrEmpty) => void;
handleMoveTasksInside: (parent: Task, childs: readonly TaskOrEmpty[]) => void;
handleOpenContextMenu: (task: TaskOrEmpty, clientX: number, clientY: number) => void;
icons?: Partial<Icons>;
isShowTaskNumbers: boolean;
mapTaskToNestedIndex: MapTaskToNestedIndex;
onClick?: (task: TaskOrEmpty) => void;
onExpanderClick: (task: Task) => void;
scrollToTask: (task: Task) => void;
selectTaskOnMouseDown: (taskId: string, event: MouseEvent) => void;
selectedIdsMirror: Readonly<Record<string, true>>;
taskListContentRef: RefObject<HTMLDivElement>;
taskListRef: RefObject<HTMLDivElement>;
tasks: readonly TaskOrEmpty[];
TaskListHeader: ComponentType<TaskListHeaderProps>;
TaskListTable: ComponentType<TaskListTableProps>;
onResizeColumn?: OnResizeColumn;
onScrollTableListContentVertically: (event: SyntheticEvent<HTMLDivElement>) => void;
} & TaskListHeaderActionsProps;
export declare const TaskList: React.NamedExoticComponent<{
canMoveTasks: boolean;
canResizeColumns: boolean;
childTasksMap: ChildByLevelMap;
colors: ColorStyles;
columnsProp: readonly Column[];
cutIdsMirror: Readonly<Record<string, true>>;
dateSetup: DateSetup;
dependencyMap: DependencyMap;
distances: Distances;
fontFamily: string;
fontSize: string;
fullRowHeight: number;
ganttFullHeight: number;
getTaskCurrentState: (task: Task) => Task;
handleAddTask: (task: Task) => void;
handleDeleteTasks: (task: TaskOrEmpty[]) => void;
handleEditTask: (task: TaskOrEmpty) => void;
handleMoveTaskBefore: (target: TaskOrEmpty, taskForMove: TaskOrEmpty) => void;
handleMoveTaskAfter: (target: TaskOrEmpty, taskForMove: TaskOrEmpty) => void;
handleMoveTasksInside: (parent: Task, childs: readonly TaskOrEmpty[]) => void;
handleOpenContextMenu: (task: TaskOrEmpty, clientX: number, clientY: number) => void;
icons?: Partial<Icons>;
isShowTaskNumbers: boolean;
mapTaskToNestedIndex: MapTaskToNestedIndex;
onClick?: (task: TaskOrEmpty) => void;
onExpanderClick: (task: Task) => void;
scrollToTask: (task: Task) => void;
selectTaskOnMouseDown: (taskId: string, event: MouseEvent) => void;
selectedIdsMirror: Readonly<Record<string, true>>;
taskListContentRef: RefObject<HTMLDivElement>;
taskListRef: RefObject<HTMLDivElement>;
tasks: readonly TaskOrEmpty[];
TaskListHeader: ComponentType<TaskListHeaderProps>;
TaskListTable: ComponentType<TaskListTableProps>;
onResizeColumn?: OnResizeColumn;
onScrollTableListContentVertically: (event: SyntheticEvent<HTMLDivElement>) => void;
} & TaskListHeaderActionsProps>;