kit

Date field

Built revision v17.10.0

Phoenix
Topics

Human support

Bring a missing role, layout, or state, or a rendering against the standard, to the session working on kit. Name the package and the entry.

On List, Record, Settings, Calendar

Date field

Bookings start from today.
No date given As shown on the bank statement.
sometime soon Type a date, such as 12 March or next Friday.
Month grain on Date field
First and last billing month on Date field
Cannot be changed
Only the owner can change this.
Source
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-date-booking">
  <:label>Booking date</:label>
  <:control :let={binding}>
    <Kit.Phoenix.Roles.DateField.date_field binding={binding} reader={reader()} name="booking_date" value={Kit.Phoenix.Roles.DateField.Committed.day(Kit.Phoenix.Time.day(reader(), ~D[2025-04-18]))} today={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} direction={:forward} first={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} />
  </:control>
  <:help>Bookings start from today.</:help>
  <:printed_value><time datetime="2025-04-18">Friday, 18 April 2025</time></:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-date-paid">
  <:label>Paid on</:label>
  <:control :let={binding}>
    <Kit.Phoenix.Roles.DateField.date_field binding={binding} reader={reader()} name="paid_on" today={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} direction={:backward} last={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} />
  </:control>
  <:help>As shown on the bank statement.</:help>
  <:printed_value>No date given</:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-date-delivery">
  <:label>Delivery date</:label>
  <:control :let={binding}>
    <Kit.Phoenix.Roles.DateField.date_field binding={binding} reader={reader()} name="delivery_date" value={Kit.Phoenix.Roles.DateField.Committed.unresolved("sometime soon")} today={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} direction={:forward} first={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} />
  </:control>
  <:error>Type a date, such as 12 March or next Friday.</:error>
  <:printed_value>sometime soon</:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-month-empty">
  <:label>Billing month</:label>
  <:control :let={binding}><Kit.Phoenix.Roles.DateField.date_field binding={binding} reader={reader()} name="billing_month" grain={:month} today={Kit.Phoenix.Time.day(reader(), ~D[2026-09-15])} direction={:either} /></:control>
</Kit.Phoenix.Roles.FormGroup.form_group>
<Kit.Phoenix.Roles.FormGroup.form_group :for={{end_name, label, month} <- [{"first", "First billing month", 7}, {"last", "Last billing month", 9}]} id={"phoenix-billing-" <> end_name}>
  <:label>{label}</:label>
  <:control :let={binding}><Kit.Phoenix.Roles.DateField.date_field binding={binding} reader={reader()} name={end_name <> "_billing_month"} grain={:month} value={Kit.Phoenix.Roles.DateField.Committed.month(Kit.Phoenix.Time.month(reader(), 2026, month))} today={Kit.Phoenix.Time.day(reader(), ~D[2026-09-15])} direction={:either} /></:control>
  <:printed_value><Kit.Phoenix.Roles.Time.time value={Kit.Phoenix.Time.month(reader(), 2026, month)} /></:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>

<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-date-booking-disabled">
<:label>Booking date</:label>
<:control :let={binding}>
  <Kit.Phoenix.Roles.DateField.date_field disabled={true} binding={binding} reader={reader()} name="booking_date" value={Kit.Phoenix.Roles.DateField.Committed.day(Kit.Phoenix.Time.day(reader(), ~D[2025-04-18]))} today={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} direction={:forward} first={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} />
</:control>
<:help>Only the owner can change this.</:help>
<:printed_value><time datetime="2025-04-18">Friday, 18 April 2025</time></:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>

Date field, open

Show it open

Source
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-date-monday">
  <:label>Booking date</:label>
  <:control :let={binding}>
    <Kit.Phoenix.Roles.DateField.date_field binding={binding} reader={reader()} name="booking_date" value={Kit.Phoenix.Roles.DateField.Committed.day(Kit.Phoenix.Time.day(reader(), ~D[2025-04-10]))} today={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} direction={:forward} first={Kit.Phoenix.Time.day(reader(), ~D[2025-04-09])} />
  </:control>
  <:printed_value><time datetime="2025-04-10">Thursday, 10 April 2025</time></:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>