Skip to main content

Module list

Module list 

Source
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§

Cell
One cell of a row.
Sizing
The lengths the description deferred.

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-columns value for the columns kept at cutoff.
narrowing_css
The rules that narrow selector to the columns kept at cutoff.