Sorting

Added

Sorting allows actors to re-organize collection of items when the default order may be insufficient to scan.

Behavior

  • The dropdown allows users to choose their sorting criteria.
  • Sort selections are meant to be persisted. When actor returns to the page, their previous sort selections will be preserved.
  • As soon as an item in the dropdown is selected, the list content re-sorts automatically.
  • The default sort order is determined on a page-by-page basis.

To-do

  • Table column sorting
  • Sorting using multiple attributes

Resources & references

Consequences

  • the actor holds the order, and their choice persists, so coming back to the page doesn't undo the arrangement they left it in
  • order is itself a claim about what matters: whatever the collection is sorted by becomes the thing read first, whether or not that was the intent

Related patterns

Precedes

Complements

  • Attribute visibility — surface then operate: an attribute made visible becomes a key to sort by
  • Filtering — orders what filtering lets through
  • Grouping — orders the members within each group

Tangentially related

  • Selection — Sorting changes what a range selection refers to mid-flight — range selections have to either survive the sort or re-resolve to the new order

Enabled by

  • Drag and drop — manual ordering is a drag: when the order lives in the actor's head rather than in an attribute, dragging an item into place is the write