A date picker component for a single datetime.
Instantiates and returns a date picker.
The date picker view. Simply pass it the configured settings and the date picker instance you wish to view.
Events external to the picker to which it is subscribed.
The type facilitating the configuration of the datepicker settings.
internalMsg - a function that returns a msg for the calling module to handle picker updates
zone - the Zone in which the date picker is being used (client zone)
formattedDay - a function that returns a string representation for the provided day of the week
formattedMonth - a function that returns a string representation for the provided month
isDayDisabled - a function that determines if the combined Posix and Zone represent a day that should be disabled in the picker
focusedDate - a Posix that represents a day that should be highlighted on the picker (i.e. the current day)
dateStringFn - a function that returns a string representation of the selected day
timePickerVisibility - see below
More information can be found in the examples.
A record of default settings for the date picker. Extend this if you want to further customize the date picker.
Requires a Zone to inform the picker in which time zone it should
display the picked time as well as a msg that expects a tuple containing a
datepicker instance and a Maybe Posix representing a selected datetime.
( DatePicker, Maybe Posix ) -> msgSet the visibility of the timepicker in the DateTimePicker
NeverVisible - The time picker is never visible. Please note that
while ostensibly picking a day, a selection still returns a Posix
representing the beginning of that day (00:00). It is up to you to
process the selection accordingly if you wish to treat it as a whole day.
Toggleable - The time picker visibility can be toggled but
is by default closed when the datetime picker is opened. Additional
configuration can be achieved via TimePickerSettings.
AlwaysVisible - The time picker is always visible. This is the default setting
as it most explicitly shows that the datetime picker is indeed picking both
a date and time, not simply a date. Additional configuration can be achieved
via TimePickerSettings.
The type facilitating the configuration of the timepicker settings.
timeStringFn - a function that returns a string representation of the selected time of day
Because it could be the case that a picker is being used in a different
timezone than the home timezone of the implementor, the allowedTimesofDay
function ingests a Zone in addition to a Posix. The
Zone represents the time zone in which the picker is being used. An
implementor can leverage this to compare against a base time zone when
enforcing allowable times of day, etc. You SHOULD assume that the Posix
passed into these functions is floored to the start of its respective Day.
More information can be found in the examples.
A record of default settings for the time picker. Extend this if you want to further customize the time picker.
Open the provided date picker and receive the updated picker instance. Also takes a default time the picker should center on (in the event a time has not yet been picked) as well as the picked time. A common example of a default time would be the datetime for the current day.
Close the provided date picker and receive the updated picker instance.
Indicates whether the DatePicker is open
The opaque type representing a particular date picker instance.