Skip to main content

Type Alias: FieldEditable

FieldEditable = "never" | "api" | "anywhere"

Defined in: model/field.ts:30

How far a Field's value may change (ADR 0015, amended by ADR 0033). One key, two thresholds: the grid writes it only at 'anywhere', and entries.update() writes it at anything but 'never'.

  • 'anywhere' — the cell editor opens, a drag writes it, and update() writes it. The default.
  • 'api' — update() writes it; no gesture does. A value the app owns and the user does not type. No capability rule reopens it — capabilities.edit and a variant's own edit only narrow an 'anywhere' Field.
  • 'never' — a lock. update() throws FieldNotEditableError.

true and false are input-only aliases for 'anywhere' and 'never', the same way InstantInput takes a string and stores an Instant. After ingest the stored Field holds this enum, so dataset.fields.all reads one word back.