UNPKG

devexpress-gantt

Version:

DevExpress Gantt Control

43 lines (36 loc) 1.91 kB
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; } }