How a form change on a surface becomes a write.
An input of node ref is named a2ui[ref][field]
(A2UIPhoenix.Context.input_name/2), where field is normally the
property the input writes. decode/4 turns the submitted string into
the value the property holds — a boolean for a CheckBox, a list for a
ChoicePicker, a number for a Slider, a combined date-time for a
DateTimeInput — or into local UI state (a ChoicePicker filter). Any
other component's field is written as the submitted string.
Summary
Functions
Whether a DateTimeInput picks a date: enableDate, which defaults to
true only when enableTime is not set (a time-only input picks no
date), as the basic catalog's guide and the reference renderers have
it.
The YYYY-MM-DD part of a date or date-time value ("" when there is
none).
Decodes the submitted raw value of field of node. today fills
in the date when only the time of a date-and-time input is set.
The HH:MM part of a time or date-time value ("" when there is none).
The new value of a ChoicePicker when the chip for option is
clicked: toggled in a multiple selection, the only one otherwise.
Types
Functions
Whether a DateTimeInput picks a date: enableDate, which defaults to
true only when enableTime is not set (a time-only input picks no
date), as the basic catalog's guide and the reference renderers have
it.
iex> A2UIPhoenix.Inputs.date_enabled?(%{"enableTime" => true})
false
iex> A2UIPhoenix.Inputs.date_enabled?(%{})
true
The YYYY-MM-DD part of a date or date-time value ("" when there is
none).
iex> A2UIPhoenix.Inputs.date_part("2026-10-14T09:30:00")
"2026-10-14"
iex> A2UIPhoenix.Inputs.date_part("09:30")
""
@spec decode(A2UICore.Resolution.Node.t(), String.t(), term(), Date.t()) :: decoded()
Decodes the submitted raw value of field of node. today fills
in the date when only the time of a date-and-time input is set.
The HH:MM part of a time or date-time value ("" when there is none).
iex> A2UIPhoenix.Inputs.time_part("2026-10-14T09:30:00")
"09:30"
@spec toggle(A2UICore.Resolution.Node.t(), String.t()) :: {:write, String.t(), [String.t()]}
The new value of a ChoicePicker when the chip for option is
clicked: toggled in a multiple selection, the only one otherwise.