Skip to main content

Module board

Module board 

Expand description

Board: cards in lanes, moved between them by dragging (a kanban board, a pipeline, a hand of tasks by status).

Each lane is a column with a header, where it has one, and its cards, side by side. The cards are any widgets (usually a pressable Card), so a card opens, takes focus and is read out as itself. Dragging one shows a ghost under the pointer and the insertion line where it would land, over the lane it would land in; releasing it reports one BoardDrop: the card, the lane and the card it goes before. The board changes nothing itself: the owner turns the drop into one action on its model, and the board shows the card where the model then puts it.

A press that never travels past DRAG_START_THRESHOLD_PX is the card’s own click. Once a drag starts, the card under it is told the pointer left, so releasing ends the drag without also opening the card.

On a touchscreen a still hold lifts a card and a drag after it moves it; a drag that begins without the hold scrolls what the board is in.

A card is moved without a pointer through what it is an object of (a status in its page, the action the drop stands for), never only by dragging.

Structs§

Board
BoardCardProps
One card of a lane: a summary of the resource it stands for, which a press opens. The card is its body: a row given as its body is shown as a card — the row paints the surface, wraps its title and stands its facts under it — so what the card says is written once, and the row is what assistive technology reads as the lane’s item. The card itself is the container around it, with no role of its own.
BoardDrop
Where a dragged card was dropped.
BoardLaneProps
One lane of a board: a heading and its cards, in order.
BoardProps
Cards in lanes, side by side: a kanban board, a pipeline, tasks by status. Dragging a card to another place in its lane or into another lane is reported by the card or lane it lands at; each card also opens, and offers its commands on its context menu, so nothing needs a drag.