Expand description
Column layout and row structure for lists and tables.
The other half of phase B. form renders a field; this
renders the frame a list of rows sits in: which columns exist, how wide they
are, which ones survive a narrow viewport, and the cell containers a row is
made of.
§What this does not do
It does not render a cell’s contents. That is the crate’s own limit, stated
in makeover_layout’s “Where the description stops”: generate the boring
80% so the bespoke 20% gets the attention. A goingson task row carries
delegated action hooks with argument substitution, four nested sub-renderers,
conditional state classes and aria labels built from data. A description
expressive enough to emit that is a templating language wearing a
description’s name.
So the split is the one Markup already draws for forms: this owns the
structure and the app owns what goes in it. What that removes from an app is
not small — cell order, cell classes, the grid tracks, and above all the
narrowing rules, which is where addressing columns by position goes wrong.
§Why positions are the bug
goingson hides its mobile columns with nth-child(n+5) against a
seven-column table, plus a separate nth-child(3), plus two class-based
rules — the same fact said three ways, two of them positional. Insert a
column anywhere left of the cut and the wrong one disappears, silently,
because nothing in the stylesheet knows what column five is.
Priority is the fix: a renderer narrows by raising a cutoff, and never
by counting.
Structs§
Functions§
- cells_
html - A row’s cells, in column order.
- column_
class - The class a cell of this column carries.
- grid_
template_ columns - The
grid-template-columnsvalue for the columns kept atcutoff. - narrowing_
css - The rules that narrow
selectorto the columns kept atcutoff.