InputField
One source column, read from the input file and shown read-only.
Every variant shares the keys below. Which further keys are legal depends on type.
| Key | Type | Required | Notes |
|---|---|---|---|
type |
one of 9 values — see below | yes | Selects which shape the rest of this object takes. Every other key is validated against the variant named here. |
name |
string | yes | The column name in the data file. Letters, digits, _ and -, with optional inner spaces; . [ ] * and edge whitespace are excluded. min length 1, matches ^[A-Za-z0-9_-][A-Za-z0-9_ -]*[A-Za-z0-9_-]$|^[A-Za-z0-9_-]$ |
display |
string | FieldDisplay | no |
"type": "text"
Section titled “"type": "text"”A string.
| Key | Type | Required | Notes |
|---|---|---|---|
minLength |
integer | no | Shortest accepted value, in characters. ≥ 0 |
maxLength |
integer | no | Longest accepted value, in characters. ≥ 0 |
pattern |
string | no | JavaScript regular expression the value must match. Compiled when the config loads, so a malformed pattern fails at load rather than at render. |
"type": "integer"
Section titled “"type": "integer"”A whole number.
| Key | Type | Required | Notes |
|---|---|---|---|
min |
number | no | Smallest accepted value, inclusive. |
max |
number | no | Largest accepted value, inclusive. |
step |
number | no | Increment for the number and slider widgets. A hint only, never a validity constraint — three slider clicks legitimately produce 0.30000000000000004. > 0 |
"type": "number"
Section titled “"type": "number"”A number, whole or fractional.
| Key | Type | Required | Notes |
|---|---|---|---|
min |
number | no | Smallest accepted value, inclusive. |
max |
number | no | Largest accepted value, inclusive. |
step |
number | no | Increment for the number and slider widgets. A hint only, never a validity constraint. > 0 |
"type": "boolean"
Section titled “"type": "boolean"”true / false.
No keys beyond the shared ones.
"type": "date"
Section titled “"type": "date"”A date; ISO-8601 on the wire.
No keys beyond the shared ones.
"type": "enum"
Section titled “"type": "enum"”One of a fixed set of choices.
| Key | Type | Required | Notes |
|---|---|---|---|
choices |
array of Choice | yes | The permitted values, in the order they are offered. at least 1 item |
"type": "object"
Section titled “"type": "object"”A record with named fields.
| Key | Type | Required | Notes |
|---|---|---|---|
fields |
array of NestedField | yes | The object’s own named members. Unlike a column name, these are JSON keys from the source payload, so colons, slashes and unicode are all allowed. at least 1 item |
table |
TableView | no | How an object’s fields group into displayed columns. Lives on the object type beside the fields its columns name, so it nests to any depth and covers map<_, object> as well as arrays. |
"type": "array"
Section titled “"type": "array"”A list of items.
| Key | Type | Required | Notes |
|---|---|---|---|
items |
ValueType | yes | The type of every element. An array of enum is how a multi-select is declared. |
"type": "map"
Section titled “"type": "map"”A dictionary of keys → values.
| Key | Type | Required | Notes |
|---|---|---|---|
keys |
ValueType | no | The type of each key. Defaults to text when omitted. |
values |
ValueType | yes | The type of each value. |