UNPKG

jordium-gantt-vue3

Version:

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

29 lines (28 loc) 1.16 kB
import { Ref } from 'vue'; import { Task } from '../models/classes/Task'; export interface CalendarTaskDragDelta { deltaX: number; deltaY: number; } export interface UseCalendarTaskDragOptions { /** 禁用后不响应任何拖拽/点击事件(对应 disabled prop) */ disabled?: Ref<boolean>; /** 拖拽过程中持续触发,仅用于本地预览渲染 */ onDragMove?: (task: Task, delta: CalendarTaskDragDelta, event: MouseEvent) => void; /** 拖拽松开时触发一次,用于提交最终的任务移动结果 */ onDragEnd?: (task: Task, delta: CalendarTaskDragDelta, event: MouseEvent) => void; /** 未产生有效位移(视为点击)时触发 */ onClick?: (task: Task, event: MouseEvent) => void; } export declare function useCalendarTaskDrag(options: UseCalendarTaskDragOptions): { isDragging: Ref<boolean, boolean>; draggingTaskId: Ref<number | null, number | null>; dragDelta: Ref<{ deltaX: number; deltaY: number; }, CalendarTaskDragDelta | { deltaX: number; deltaY: number; }>; handleMouseDown: (task: Task, event: MouseEvent) => void; };