devexpress-gantt
Version:
DevExpress Gantt Control
45 lines (43 loc) • 2.04 kB
text/typescript
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;
}
}
}