UNPKG

devexpress-gantt

Version:

DevExpress Gantt Control

45 lines (43 loc) 2.04 kB
import { Point } from "@devexpress/utils/lib/geometry/point"; import { EvtUtils } from "@devexpress/utils/lib/utils/evt"; import { TaskAreaEventSource } from "../../Helpers/Enums"; import { TaskAreaDomHelper } from "./TaskAreaDomHelper"; import { TaskAreaStateEventNames } from "./TaskAreaStateEventNames"; import { TaskDragBaseState } from "./TaskDragBaseState"; export class TaskEditState extends TaskDragBaseState { private _source: TaskAreaEventSource; protected onStartInternal(evt: MouseEvent | TouchEvent): void { this._source ??= TaskAreaDomHelper.getEventSource(EvtUtils.getEventSource(evt)); } protected onEndInternal(_evt: MouseEvent | TouchEvent): void { this.raiseEvent(this.getEventOnEndKey(), _evt); } protected onDragInternal(position: Point): void { const relativePosition = this.getRelativePos(position); this.raiseEvent(this.getEventOnDragKey(), null, null, { position: relativePosition }); } private getEventOnDragKey(): string { switch(this._source) { case TaskAreaEventSource.TaskEdit_Start: return TaskAreaStateEventNames.TASK_PROCESS_START; break; case TaskAreaEventSource.TaskEdit_End: return TaskAreaStateEventNames.TASK_PROCESS_END; break; case TaskAreaEventSource.TaskEdit_Progress: return TaskAreaStateEventNames.TASK_PROCESS_PROGRESS; break; } } private getEventOnEndKey(): string { switch(this._source) { case TaskAreaEventSource.TaskEdit_Start: return TaskAreaStateEventNames.TASK_CONFIRM_START; break; case TaskAreaEventSource.TaskEdit_End: return TaskAreaStateEventNames.TASK_CONFIRM_END; break; case TaskAreaEventSource.TaskEdit_Progress: return TaskAreaStateEventNames.TASK_END_PROGRESS; break; } } }