ComponentsLayout and structure
Drop zone
Drag and drop between named zones. A MudDropContainer owns the items and decides which zone shows each one; MudDropZone marks the places they can go. Pair every drag with a keyboard alternative.
Moving between zones
ItemsSelector places each item in a zone by its Identifier. ItemDropped tells you where an item landed; updating the item is your job.
To read
Salt and Cedar
Winter Moths
Reading
Tidal Notebooks
Finished
The Glass Orchard
Reordering within a zone
AllowReorder lets items be dropped between their neighbours. IndexInZone in the drop info gives the new position; the UpdateOrder helper renumbers the list.
Harbour
Old Town
Market Square
University
Ridgeline
Saved order
Harbour → Old Town → Market Square → University → Ridgeline
Drag handles
A MudDragHandle inside the item renderer becomes the only place a drag can start, leaving the rest of the row free for selection and buttons. The arrow buttons give the same result without a pointer.
Overture
3:12Harbour lights
4:05Night ferry
5:40Lantern song
2:58Running order
Overture → Harbour lights → Night ferry → Lantern song
Drop rules
CanDrop on a zone accepts or refuses an item. CanDropClass and NoDropClass style the zones while dragging, so the rule is visible before the drop, not only after it.
Loading bay
Cold store: chilled only
Dry store: ambient only
A compact board
Three columns of tasks. Drag a card, or use its arrow buttons, which do the same without a pointer.
Planned (2)
Order pipette tips
Calibrate pH meter
Running (1)
Culture batch 12
Done (1)
Write up titration