Skip to main content

CELL_SIZER

Constant CELL_SIZER 

Source
pub const CELL_SIZER: &str = "cell-sizer";
Expand description

What a kept column is as wide as, when its floor cannot say.

A floor is a count of ch, and a column of controls is not drawn in ch. Measured on MNW’s tables at 1440 and 420: a label’s letters run 6 to 8px against the 9px rung while a button’s padding and edge take 26px against the 18 that quasi_router::screen::ACT_ROOM allows, so “Add to cart” held 150px to draw 118 and “Remove” held 96 to draw 99. The first starved the name beside it to 32px at 420; the second clipped at every width. No constant fixes both, because the error is the face’s and not the count’s.

So the host that knows what a column holds writes a copy of it here, once per distinct run of controls, drawn in the row’s own type and taking no height and no ink. A kept column holding one is as wide as its widest copy, which the browser measures in the face it draws, and every cell and the heading hold the same copies, so the column is one width down the table. Hidden rather than absent: a hidden box still has a width.

Write it with push_sizer and never by hand, so the wrapper the sheet rules and the one a host emits cannot be spelled apart.