UNPKG

jordium-gantt-vue3

Version:

A Vue 3 Gantt chart component for project management, task scheduling, resource planning, calendar, resource usage and timeline visualization.

31 lines (30 loc) 1.05 kB
import { Ref, ComputedRef } from 'vue'; import { Task } from '../../../../models/classes/Task'; /** * TaskList 布局计算逻辑 * 包含虚拟滚动、任务扁平化、可见区域计算等 */ export declare const ROW_HEIGHT = 51; export declare const VERTICAL_BUFFER = 5; export interface TaskWithLevel { task: Task; level: number; } export interface TaskWithLevelAndIndex extends TaskWithLevel { rowIndex: number; } export interface VisibleTaskRange { startIndex: number; endIndex: number; } export declare function useTaskListLayout(tasks: Ref<Task[]>): { taskListScrollTop: Ref<number, number>; taskListBodyHeight: Ref<number, number>; flattenedTasks: ComputedRef<TaskWithLevel[]>; visibleTaskRange: ComputedRef<VisibleTaskRange>; visibleTasks: ComputedRef<TaskWithLevelAndIndex[]>; totalContentHeight: ComputedRef<number>; startSpacerHeight: ComputedRef<number>; endSpacerHeight: ComputedRef<number>; getFlattenedVisibleTasks: (taskList: Task[], level?: number) => TaskWithLevel[]; };