Interface: EntryInput<TProps>
Defined in: model/stored-entry.ts:86
What a consumer writes; Entry is what the library stores. The two differ only in how loose the input
may be: ids are plain strings (the EntryId brand is applied on the way in) and dates are any
InstantInput. An Entry is itself a valid EntryInput, so a consumer that already holds branded
values passes them through unchanged.
Dataset reads this into a StoredEntry once, at construction, in the Dataset's own zone — a
date-only end always means through that day (time/toEndInstant).
Every optional key admits an explicit undefined, which is what keeps the sentence above true
under exactOptionalPropertyTypes: a live Entry's start is Instant | undefined, and
entry.toInput() hands one straight back to entries.add.
Type Parameters
TProps
TProps = Record<string, unknown>
Properties
end?
optionalend?:InstantInput
Defined in: model/stored-entry.ts:111
Exclusive — see plans/01 §5. A date-only string always means through that day. See start
for when this may be omitted.
id
id:
string
Defined in: model/stored-entry.ts:87
locked?
optionallocked?:boolean
Defined in: model/stored-entry.ts:103
A locked Entry refuses a gesture on every cell but this one (ADR 0038). Omit it, or set it to
undefined, to leave the Entry unlocked.
name?
optionalname?:string
Defined in: model/stored-entry.ts:100
No stored classification (ADR 0013). An Entry derives when it has children — gaining one promotes it, losing the last one demotes it, and nothing here says which.
Optional (#421 C5): a booking with no title is still a row. Omit it and the Grid's name
column, and the default bar label, both read an empty value.
parentId?
optionalparentId?:string
Defined in: model/stored-entry.ts:89
Hierarchy; roots have none.
props?
optionalprops?:Partial<TProps>
Defined in: model/stored-entry.ts:116
Passenger data, and a bag a consumer already holds (ADR 0011). A declared Field key belongs
at the top level instead — entries.add({ id, name, owner: 'Ali' }) — and naming one both here
and at the top throws. An unknown top-level key, or a key here that names a core key, warns and
is ignored rather than thrown: this Entry may come from an API this consumer does not own.
siblingIndex?
optionalsiblingIndex?:number
Defined in: model/stored-entry.ts:94
This Entry's rank among its siblings (ADR 0034). add() places a new entry at this index when
given one; the constructor and load read list position instead and drop an authored value
that disagrees with it, with one aggregated warning (data/error-reporting.ts,
'sibling-index-dropped'). Omit it to append.
start?
optionalstart?:InstantInput
Defined in: model/stored-entry.ts:108
Optional on every kind (ADR 0012, revises this comment's earlier "required for an authored
span"): an Entry spans if and only if start and end are both present, and draws no bar
otherwise. One date with no other is legal and stores as written. An unreadable date is still an
InvalidInstantError.