clickDrag 扩展
关于 clickDrag 扩展的更多信息,请参阅文章 创建/选择任务与拖拽(DnD)。
配置对象
要启用高级拖放功能,需要设置 click_drag 配置选项,并在其对象中包含下列所需属性:
gantt.config.click_drag = {
callback: onDragEnd,
singleRow: true
};
- className? - (string) - 为选中的元素应用自定义 CSS 类
- viewPort? - (HTMLElement) - 事件附加和选择发生的元素
- useRequestAnimationFrame? - (boolean) - 控制渲染过程中是否使用 requestAnimationFrame
- callback? (startPoint, endPoint, startDate, endDate, tasksBetweenDates, tasksInRows): any - 鼠标按钮释放时触发的函数。它接收 6 个参数:
- startPoint? - (object) - 包含以下属性:
- absolute - (object) - 相对于文档左上角的坐标
- left - (number) - 水平位置
- top - (number) - 垂直位置
- relative - (object) - 相对于 viewPort 元素左上角的坐标
- left - (number) - 水平位置
- top - (number) - 垂直位置
- endPoint? - (object) - 与 startPoint 结构相同,表示拖动结束位置
- absolute - (object) - 相对于文档左上角的坐标
- left - (number) - 水平位置
- top - (number) - 垂直位置
- relative - (object) - 相对于 viewPort 元素左上角的坐标
- left - (number) - 水平位置
- top - (number) - 垂直位置
- startDate? - (Date) - 与 startPoint 对应的日期
- endDate? - (Date) - 与 endPoint 对应的日期
- tasksBetweenDates? - (Array<Task>) - 起止日期之间的任务
- tasksInRows? - (Array<Task>) - 在起止坐标之间垂直选中的任务
- singleRow? - (boolean) - 若为 true,则选择仅限于高度与任务匹配的单行
- ignore? - (string) - 不应激活拖放的元素的 CSS 选择器
- useKey? - (string | boolean) - 仅在按住指定的修饰键时才激活拖放。支持的键有:"ctrlKey"、"shiftKey"、"metaKey"、"altKey"
- render? (startPoint, endPoint): any - 返回拖动过程中显示的元素的函数。它接收两个参数:
- startPoint? - (object) - 包含:
- absolute - (object) - 相对于文档左上角的坐标
- left - (number) - 水平位置
- top - (number) - 垂直位置
- relative - (object) - 相对于 viewPort 元素左上角的坐标
- left - (number) - 水平位置
- top - (number) - 垂直位置
- endPoint? - (object) - 与 startPoint 结构相同,表示当前拖动位置
- absolute - (object) - 相对于文档的坐标
- left - (number) - 水平位置
- top - (number) - 垂直位置
- relative - (object) - 相对于 viewPort 元素的坐标
- left - (number) - 水平位置
- top - (number) - 垂直位置
事件
以下事件可以绑定到用作 viewPort 的元素上(默认是 gantt.$task_data,即包含任务条的时间线区域):
- onBeforeDrag - 鼠标按钮按下后、拖动开始前触发
- onDrag - 拖动过程中、鼠标按钮释放前持续触发
- onBeforeDragEnd - 鼠标按钮释放后、拖动渲染元素移除和选中任务识别前触发
- onDragEnd - 拖动元素移除并找到选中任务后、但在回调函数调用前(如果有)触发
Back to top