Skip to main content

Module facet

Module facet 

Source
Expand description

A dimension a set is narrowed by, rendered as a list of values.

The fourth phase-B emitter, beside form, list and meter. Same split as those: this owns the structure of the panel and the app owns the routes. A value’s identifier leaves in data-facet-value, which is the hook an app wires its own request onto, exactly as list writes data-column and lets the app decide what pressing a heading calls.

§Why this is markup and not only CSS

Phase A’s rule is that an app keeps its markup and gains the classes, and that rule works because the markup already existed. Here it mostly does not: a facet panel is the shape MNW’s discover page reached by writing a tick box and a chevron per row because filtering and browsing were two mechanisms, and the whole point of makeover_layout::Selecting::Subtree is that they stop being two. There is nothing to keep.

§The one thing drawn that no flat control has

An exclude affordance beside each value, in a subtree facet only. It is a visible control rather than a modifier or a long press, and that was ruled rather than chosen here: a gesture a terminal cannot express is a gesture half the renderers leave out, and an affordance nothing teaches is one users do not find. The glyph is this renderer’s pick, and it takes the standing preference for the heavier, simpler mark.

§What the depth does and does not do

--facet-depth carries the tree level as a number, and the indent rule multiplies it by one geometry step. That keeps the whole tree one flat list in the DOM rather than nested lists, which is what lets a renderer draw the same description as a breadcrumb or a column of panes without the markup disagreeing. It is not a size: the number is the level, and the step is makeover-geometry’s.

Constants§

FACET_CLASSES
The classes this module can put in markup.

Functions§

facet_html
A facet as a labelled list of values.
facet_html_into
A facet, written into a buffer the caller already has.
selecting_name
The name a selection mode goes by in data-selecting.
standing_name
The name a standing goes by in data-standing.