Time parameter

parameter.timeNode

A parameter whose axis is time. Under the skin it is an ordinary parameter — it owns a letter, lives in the same value map, and prose cites it the same way with !value:#id.value() — but it takes its range FROM the data rather than being told, reads as a period rather than a decimal, and can play, because a time axis has a direction and a duration. Name the period column of a long-format table and the pane gains a scrubber over exactly the span that column covers; marks in the same pane carrying a period: slice themselves against it.

#Attributes

periodRequiredImplicit
reference
Also written: over, columnThe period column, e.g. period: #rates.year. Its distinct values give the scrubber its range and its natural stops.Can be written as shorthand: parameter.time:value
The letter expressions reach the current period by.
Defaultt
name
string
Also written: labelWhat it is called in front of a reader. Rich text.
step
number
Distance between stops. Absent, the periods present in the data are the stops.
default
number
Also written: startWhere the scrubber starts. Absent, the earliest period.
duration
duration
How long playing takes to run from the first period to the last, written as a duration like every other in the language: 8s, 1500ms.
Default8s
hidden
boolean
Declared but not shown.
Defaultfalse
Also written: lockedShown but not the reader's to move.
Defaultfalse

#Derived attributes

Computed while the element renders — read one with #id.name in attribute position or !value:#id.name in prose, never set.

valueDerived
The period the reader is standing on — cite it with !value:#id.value(digits: 0).

#Examples

parameter.time#years(period: #rates.year; name: Year)
parameter.time(period: #rates.year; step: 1; duration: 12s)