# Drag, Resize, And Progress Editing
URL: https://pro.rv-grid.com/guides/gantt/interaction/drag-resize-progress/
Source: src/content/docs/guides/gantt/interaction/drag-resize-progress.mdx
Description: Timeline gesture interactions for task bars.
Implemented interactions:

- Drag task bars to move.
- Drag start/end handles to resize.
- Drag progress handle to update completion.

Each interaction has preview state and commit state and can trigger warning/diagnostic updates.

## Mobile And Touch Devices

Gantt supports phones, tablets, and hybrid devices through adaptive pointer handling. Desktop users can drag task bars and handles directly. Touch users get a safer select-then-edit flow so scrolling a dense timeline does not accidentally change the schedule.

On coarse-pointer devices:

- Tap a task bar to select it.
- Selection reveals larger resize, dependency, progress, and split handles.
- Drag the selected task bar to move the task.
- Drag a visible start/end handle to resize.
- Drag the visible progress handle to update completion.
- Start swiping from an unselected task bar when you want to pan the task table or timeline; hidden handles are not hit-testable until selection.

The mobile path keeps native panning available for unselected task bars and disables browser touch panning only on selected/active bars or visible edit handles. This preserves scroll-first behavior while still allowing precise edits after the user has selected the task.

The packaged task editor dialog also adapts to phone-width screens with a full-viewport, single-column layout and larger touch targets.

Implementation:

- `features/tasks/controllers/task-drag-controller.ts`
- `features/tasks/controllers/task-resize-controller.ts`
- `features/tasks/controllers/task-progress-controller.ts`
- `features/tasks/controllers/pointer-gesture.ts`
- `features/tasks/timeline-preview-layer.ts`
