Sorting and Columns
Click a column header to sort the table by that column. The table is sorted by Total Cost (highest first) when you open the page. This page covers how the sort headers behave and what changes the table back to page 1. For what each column actually shows, see The Jobs Table.
The table loads sorted by the biggest jobs first. Click any other header to re-sort by that column.
Default sort
The Total Cost column is the active sort on first load, in descending order. The Total Cost header shows a small ↓ arrow to indicate this. No other header carries an arrow until you click it.
Which columns are sortable
Six of the seven columns are sortable. The Status column is the only one that doesn't sort.
| Column | Sortable? | Sort behavior |
|---|---|---|
| Job # | Yes | Alphabetical |
| Job Name | Yes | Alphabetical, case-insensitive |
| Co | Yes | Alphabetical |
| PM | Yes | Alphabetical on the raw PM value |
| Total Cost | Yes | Numeric |
| Status | No | — |
| % Costed | Yes | Numeric |
The Status column is the only header you can't sort by. Click it and nothing happens — the cursor doesn't even change to a pointer when you hover the header. That's the visual cue.
How clicking a header works
Three rules cover every interaction with the sort headers:
- Click a sortable header that isn't currently active. The table sorts by that column, descending. The arrow moves from the previous active header to this one.
- Click the header that's already active. The direction flips. Descending becomes ascending; ascending becomes descending. The arrow flips with the direction (↓ becomes ↑, or the reverse).
- Click the Status header. Nothing happens.
Reading the arrow
Only the active sort column shows an arrow, appended after the column label:
- ↓ — descending order (largest first for numbers, Z–A for text).
- ↑ — ascending order (smallest first for numbers, A–Z for text).
If no arrow shows on a header, that header isn't the active sort.
Accessibility
The active sort column reports its direction to screen readers via the aria-sort attribute, which reads as either "ascending" or "descending." Inactive columns omit the attribute. The table is fully usable with a keyboard and a screen reader.
What resets pagination to page 1
The footer's page indicator returns to Page 1 of N whenever you do any of the following:
- Change the sort column or direction.
- Add or remove a Company or PM filter chip on the filter bar.
- Toggle My Jobs on or off.
The reset is intentional, not a defect. If you sorted while on page 5 of 10, the rows under your eye would suddenly belong to a completely different slice of the data — most readers find that more disorienting than helpful. Returning to page 1 keeps the sort change visible and predictable.
Sort details worth knowing
A few small notes on what specific columns sort by:
- % Costed sorts on a value computed at sort time (Costed ÷ Total Cost). A job with a Total Cost of $0 sorts as 0%.
- PM sorts the raw PM display value as a string, which means a job whose PM field reads "Jared" sorts separately from a job whose PM field reads as a user ID for the same person. Expect duplicates and odd ordering when several jobs share a PM in the data — the cell shows what's stored, and the sort follows.
- Job # sorts as a string, not a numeric quantity. Most job numbers are pure digits and sort as you'd expect; a numeric-looking value with extra characters can land in an unexpected spot.
- Numbers can be up to four hours stale. If you sort by Total Cost or % Costed and a recently confirmed PO doesn't seem to lift a row, see Data refresh rates.
The colors on the % Costed column reuse the PO lifecycle color tokens but are not a lifecycle status — sorting by % Costed groups jobs by health threshold, not by lifecycle.
The set of columns is fixed
There's no UI today to hide, reorder, or add columns to the All Jobs table. If you want a column the page doesn't show, that's not a feature here. The closest analog — toggling the visibility of widgets in the region below the table — is covered on Showing and hiding widgets, but that page is about widgets, not table columns.
Related pages
- All Jobs overview — page anatomy
- The Jobs Table — column meanings and formats
- Filter Bar — the other thing that resets pagination
- My Jobs vs. All Jobs — the toggle that also resets pagination
- PO lifecycle colors — the actual five-color lifecycle (the % Costed column reuses the tokens but is not a lifecycle status)
- Data refresh rates — the four-hour caveat for Total Cost and % Costed sorts