TimePickerTileSchema

@Serializable
@SerialName(value = "TimePicker")
data class TimePickerTileSchema(val id: String, val events: SerializableImmutableList<EventSchema>?, val style: StyleSchema, val searchableTerms: SerializableImmutableList<String>?, val visibility: TileSchema.Visibility, val expanded: Boolean, val selectedTime: String?, val enabled: Boolean, val kind: TimePickerTileSchema.Kind, val confirmLabel: String, val cancelLabel: String, val supportingText: String?, val state: TimePickerTileSchema.State) : TileSchema

Renders a read-only text field that opens a Material 3 TimePickerDialog when tapped. kind picks the field composable: Kind.FILLEDTextField, Kind.OUTLINEDOutlinedTextField. The field always shows an alarm leading icon, displays selectedTime (empty when null), forwards enabled and supportingText, and switches to Material's error styling when state is State.ERROR. Typing is impossible — the field is readOnly and its onValueChange is a no-op.

Times are ISO strings. selectedTime is an ISO time (HH:mm); the renderer converts it to/from hour + minute for the Compose TimePickerState. The dialog is always 24-hour and uses the vertical layout; when selectedTime is null it opens at 00:00.

Open state: expanded drives the dialog. Pressing the field dispatches a local TimePickerTileEvents.OnTimePickerToggle (holder flips expanded); confirming dispatches OnTimeConfirmed (holder stores the time and closes); cancelling or dismissing dispatches OnTimePickerDismissRequest (holder closes). All of this is handled client-side, without a round trip to the server. The dialog's buttons are labelled with confirmLabel and cancelLabel.

Triggers dispatched:

  • OnTimePickerOpenEventTrigger — when the field is pressed while closed.

  • OnTimeSelectedEventTrigger — when the confirm button is pressed; the ISO time string is passed as the event's incoming data.

  • OnTimePickerCloseEventTrigger — when the field is pressed while open, when the dialog is dismissed, when cancel is pressed, and also right after a confirm.

Value production: the holder exposes selectedTime under a caller-chosen key so GetData / EvaluateData events can read this picker by its id. When no time is selected it produces no entry at all.

Constructors

Link copied to clipboard
constructor(id: String, events: SerializableImmutableList<EventSchema>?, style: StyleSchema, searchableTerms: SerializableImmutableList<String>?, visibility: TileSchema.Visibility, expanded: Boolean, selectedTime: String?, enabled: Boolean, kind: TimePickerTileSchema.Kind, confirmLabel: String, cancelLabel: String, supportingText: String?, state: TimePickerTileSchema.State)

Types

Link copied to clipboard
Link copied to clipboard

Properties

Link copied to clipboard
@SerialName(value = "cancelLabel")
val cancelLabel: String
Link copied to clipboard
@SerialName(value = "confirmLabel")
val confirmLabel: String
Link copied to clipboard
@SerialName(value = "enabled")
val enabled: Boolean
Link copied to clipboard
@SerialName(value = "events")
open override val events: SerializableImmutableList<EventSchema>?
Link copied to clipboard
@SerialName(value = "expanded")
val expanded: Boolean
Link copied to clipboard
@SerialName(value = "id")
open override val id: String
Link copied to clipboard
@SerialName(value = "kind")
val kind: TimePickerTileSchema.Kind
Link copied to clipboard
@SerialName(value = "searchableTerms")
open override val searchableTerms: SerializableImmutableList<String>?
Link copied to clipboard
@SerialName(value = "selectedTime")
val selectedTime: String?
Link copied to clipboard
@SerialName(value = "state")
val state: TimePickerTileSchema.State
Link copied to clipboard
@SerialName(value = "style")
open override val style: StyleSchema
Link copied to clipboard
@SerialName(value = "supportingText")
val supportingText: String?
Link copied to clipboard
@SerialName(value = "visibility")
open override val visibility: TileSchema.Visibility

Functions

Link copied to clipboard
open fun isGone(): Boolean
Link copied to clipboard
open fun isVisible(): Boolean