devexpress-gantt
Version:
DevExpress Gantt Control
43 lines (36 loc) • 1.91 kB
text/typescript
import { TaskAreaStateBase } from "./TaskAreaStateBase";
import { TaskAreaStateEventNames } from "./TaskAreaStateEventNames";
export class TaskAreaScrollState extends TaskAreaStateBase {
private _isStarted: boolean = false;
public finish(): void { this.raiseEvent(TaskAreaStateEventNames.TASK_AREA_END_MOVE, null); }
public onMouseUp(evt: MouseEvent): void { this.onEnd(evt); }
protected onMouseDownInternal(evt: MouseEvent): void { this.onBeforeStart(evt); }
protected onMouseMoveInternal(evt: MouseEvent): void { this.onMove(evt); }
protected onDocumentPointerUpInternal(evt: PointerEvent): void { this.onEnd(evt); }
protected onDocumentPointerMoveInternal(evt: PointerEvent): void { this.onMoveByPointer(evt); }
protected onTouchEndInternal(evt: TouchEvent): void { this.onEnd(evt); }
protected onTouchMoveInternal(evt: TouchEvent): void { this.onMoveByPointer(evt); }
protected onBeforeStart(evt: TouchEvent | MouseEvent): void {
evt.preventDefault();
this.raiseDependencySelection(evt, null);
this.raiseEvent(TaskAreaStateEventNames.TASK_EDIT_END, evt);
this.raiseEvent(TaskAreaStateEventNames.TASK_AREA_START_MOVE, evt);
this._isStarted = true;
}
protected onMoveByPointer(evt: TouchEvent | MouseEvent): void {
if(!this._isStarted)
this.onBeforeStart(evt);
else
this.onMove(evt);
}
protected onMove(evt: TouchEvent | MouseEvent): void {
evt.preventDefault();
this.raiseEvent(TaskAreaStateEventNames.TASK_AREA_PROCESS_MOVE, evt);
}
protected onEnd(evt: TouchEvent | MouseEvent): void {
evt.preventDefault();
this.raiseEvent(TaskAreaStateEventNames.TASK_AREA_END_MOVE, evt);
this.raiseEvent(TaskAreaStateEventNames.STATE_EXIT, evt);
this._isStarted = false;
}
}