Tables
The list page of a resource is its table. It shows one row per record, with a column for each entry in the resource's columns, and a search box, sortable headings and a pager.
Columns
Each column has a key, a label, and two flags: sortable, which makes its heading a sort link, and searchable, which makes the search box match it. The key must match a key of the record. A cell shows the text of the value: a boolean shows Yes or No, and an empty value shows nothing. An ISO date such as 2026-03-01 shows as 1 Mar 2026, and an ISO date-time shows as 8 Nov 2026, 19:32. The form keeps the ISO value.
Search
The search box sends the text as q. The resource matches the text against each searchable column, with a LIKE pattern that has the text on both sides, and joins the matches with OR. A % or _ the user types is matched literally. If no column is searchable, the search has no effect. Whether the match ignores case depends on the database's collation.
Sort
A sortable heading is a link. The first click sorts ascending, and the next click sorts descending. An arrow shows the direction. The panel accepts a sort only on a sortable column, and ignores any other key in sort. With no sort, rows come in primary key order.
Paging
A list page shows PER_PAGE rows, which is 20 by default. The pager shows Previous and Next links, and a line such as Page 2 of 5 · 93 in total. A page number below 1 shows the first page. A page past the last shows no rows and the message No records found.
Row actions
Each row has an Edit link and a Delete button. See Actions.
Not built yet
- Filters and bulk actions. The list has a search box only.
Ignite