Drag and Drop¶
Drag and drop enables reorganizing nodes across all views. Each view has specific behaviors and modifier keys that control how drops are interpreted.
Drop Zones¶
When dragging a node over a target, three drop zones determine the outcome:
| Zone | Position | Result |
|---|---|---|
| Before | Left 35% of target | Reorder before target (same parent) |
| After | Right 35% of target | Reorder after target (same parent) |
| Inside | Middle 30% of target | Move as child of target |
Visual indicators show the active drop zone during drag operations.
Modifier Keys¶
Shift+Drag (Reorder Only)¶
Hold Shift while dragging to disable the "inside" drop zone:
- Left 50% = drop before
- Right 50% = drop after
- Cannot nest (no "inside" option)
Use this when reordering siblings to prevent accidental nesting.
Option+Drag (Link Mode - Graph View Only)¶
In Graph view, hold Option (Mac) or Alt (Windows/Linux) while dragging to create a link instead of moving:
- Drag from source node to target node
- Release to create a non-hierarchical link
- Original hierarchy is preserved
See Linking Nodes for more on links.
View-Specific Behavior¶
Tree View¶
| Action | Result |
|---|---|
| Drag node | Shows ghost preview at cursor |
| Drop on node | Move as child |
| Drop between nodes | Reorder within parent |
| Shift+drag | Reorder only (no nesting) |
Tree view shows expand/collapse indicators. Dragging over a collapsed node expands it after a short delay.
Cards View¶
| Action | Result |
|---|---|
| Drag card | Card follows cursor with opacity |
| Drop on card | Move as child |
| Drop at card edge | Reorder within parent |
| Shift+drag | Reorder only (no nesting) |
Cards show colored drop indicators: - Left edge highlight = drop before - Right edge highlight = drop after - Full card highlight = drop inside
Graph View¶
| Action | Result |
|---|---|
| Drag node | Reposition in graph (layout) |
| Option+drag to node | Create link |
| Cmd/Ctrl+click edge | Insert node between |
Graph view dragging repositions nodes within the visualization rather than changing hierarchy. Use the context menu or other views for hierarchy changes.
Node positions are persisted per-workspace and per-parent context.
Table View¶
| Action | Result |
|---|---|
| Drag row | Shows ghost at cursor |
| Drop on row | Move as child |
| Drop between rows | Reorder within parent |
| Shift+drag | Reorder only |
Table rows show insertion lines between rows during drag.
Timeline View¶
Timeline view uses drag for date manipulation rather than hierarchy:
| Action | Result |
|---|---|
| Drag bar | Move start/end dates together |
| Drag left handle | Adjust start date |
| Drag right handle | Adjust end date |
| Ctrl+scroll | Zoom timeline |
Date changes are applied when the drag ends. A preview shows the new dates during drag.
Date Field Behavior:
- Nodes with
start_date: updates both start and end dates - Nodes with only
due_date: updates the due date - Minimum bar width: 20 pixels
Calendar View¶
| Action | Result |
|---|---|
| Drag node to date | Updates due date to target date |
Dragging a node from the sidebar or another date cell onto a calendar date updates that node's due date.
Cross-View Dragging¶
Dragging between different views is not supported. Each view handles its own drag operations independently.
Undo Support¶
All drag operations that modify hierarchy or dates can be undone:
Cmd/Ctrl + Zto undoCmd/Ctrl + Shift + Zto redo
The undo stack persists for the browser session.
Keyboard Alternatives¶
For users who prefer keyboard navigation:
| Shortcut | Action |
|---|---|
Cmd/Ctrl + X |
Cut selected nodes |
Cmd/Ctrl + V |
Paste as children of selected |
| Right-click > Move to | Move via dialog |
See Also¶
- Views Guide - View-specific features
- Linking Nodes - Option+drag linking
- Keyboard Shortcuts