Config slot types
Every field on a config schema page lists a Type. The
sections below say what each one accepts, so a Type: fileLocation or
Type: frozen on a slot tells you what to actually write. The maybe* types
are the ordinary ones plus an "unset" state, described
in one section below.
string
Plain text, e.g. a track name or an assemblyName.
featureField
A field the display reads off each feature: a name (gene_biotype), a dotted
path into a structured field (INFO.SVTYPE, a read's tags.HP), or a
jexl: expression over feature that derives one
("jexl:feature.end - feature.start"). The display evaluates the expression
once per feature, the way it reads a named field.
stringArray
A list of strings, e.g. a track's assemblyNames or category.
number
A numeric value (integer or decimal), e.g. a pixel height or a score threshold.
integer
A whole number.
boolean
true or false.
fileLocation
Where a data file lives. The shorthand is a plain URL string:
{ "uri": "https://example.com/data.bam" }
Most adapters accept a bare uri at the top level (see an adapter page's
Example usage) and expand it to the full form, which names the location kind:
{ "uri": "https://example.com/data.bam", "locationType": "UriLocation" }
Other kinds are LocalPathLocation ({ localPath, locationType }, desktop
only) and BlobLocation (a file opened from the browser's file picker).
stringEnum
One value from a fixed set, listed next to the slot, e.g.
stringEnum (linear, log).
stringEnumArray
A list whose every entry is one value from a fixed set, listed next to the slot,
e.g. stringEnumArray (disc, triangle, diamond). An entry outside the set fails
the load and names the slot.
color
A CSS color: a hex string (#f00), an rgb()/rgba() value, or a named color.
Many color slots also accept a jexl: callback for
per-feature coloring.
colorArray
A list of CSS colors, e.g. a colour scale's range. An entry that is not a
color, the empty string included, fails the load and names the slot.
frozen
An arbitrary JSON value (object or array) stored as-is, for structured settings
such as a sortedBy of { "type": "basePair", "pos": 100 }. The shape a given
frozen slot expects is described in that slot's own text.
text
A multi-line string, e.g. an HTML template for a feature-details panel.
The maybe* types
maybeNumber, maybeBoolean, maybeString, maybeStringEnum, and
maybeFrozen each accept everything the type without the prefix accepts, plus
one more state: unset.
A slot left unset carries no value of its own, which lets the display decide
what to do from the data in front of it — a state distinct from any value the
slot could hold, including one that looks like the display's usual choice. A
maybeString left unset is therefore not the empty string: a value scale's
title is derived from the plotted field while unset, and "" is an axis with
no title.