Files
im-uniapp/components/Gantt/core/Interaction.js

27 lines
835 B
JavaScript
Raw Normal View History

2025-07-16 14:23:42 +08:00
// Interaction交互控制器处理用户交互逻辑输出标准化事件
export default class Interaction {
constructor(dataManager, timeCalculator) {
this.dataManager = dataManager;
this.timeCalculator = timeCalculator;
}
// 处理拖拽开始
handleDragStart(taskId) {
// 可扩展:记录初始状态
}
// 处理拖拽过程
handleDragUpdate(taskId, newDate) {
// 校验新日期是否合法,可扩展
this.dataManager.updateTask(taskId, { start: newDate });
}
// 处理拖拽结束
handleDragEnd(taskId, newDate) {
// 最终更新数据
this.dataManager.updateTask(taskId, { start: newDate });
}
// 处理维度切换
handleSwitchDimension(dim) {
// 重新分组并通知视图层
this.dataManager.dimensions = [dim];
this.dataManager.notify();
}
}