PullToRefreshTileSchema

@Serializable
@SerialName(value = "PullToRefresh")
data class PullToRefreshTileSchema(val id: String, val tiles: SerializableImmutableList<TileSchema>, val events: SerializableImmutableList<EventSchema>?, val style: StyleSchema, val searchableTerms: SerializableImmutableList<String>?, val visibility: TileSchema.Visibility, val isRefreshing: Boolean = false) : TileSchema

Renders a Material 3 PullToRefreshBox wrapping tiles, showing the refresh indicator while isRefreshing is true.

Refresh lifecycle: pulling dispatches a local PullToRefreshTileEvents.OnRefreshStart, and the holder immediately sets isRefreshing to true so the spinner appears without a server round trip. Stopping it is the server's job: chain a StopRefreshingEventSchema pointing at this tile's id onto the end of the refresh flow — on both the success and the failure branch — otherwise the indicator keeps spinning.

Triggers dispatched:

  • OnDisplayEventTrigger — fired once when the tile enters composition (keyed by tile id).

  • OnPullEventTrigger — fired when the user completes a pull gesture; hook the refresh work to this trigger.

Notes: children are laid out with Box semantics and no scope CompositionLocal; put a scrollable tile inside for the gesture to feel natural.

Constructors

Link copied to clipboard
constructor(id: String, tiles: SerializableImmutableList<TileSchema>, events: SerializableImmutableList<EventSchema>?, style: StyleSchema, searchableTerms: SerializableImmutableList<String>?, visibility: TileSchema.Visibility, isRefreshing: Boolean = false)

Properties

Link copied to clipboard
@SerialName(value = "events")
open override val events: SerializableImmutableList<EventSchema>?
Link copied to clipboard
@SerialName(value = "id")
open override val id: String
Link copied to clipboard
@SerialName(value = "isRefreshing")
val isRefreshing: Boolean
Link copied to clipboard
@SerialName(value = "searchableTerms")
open override val searchableTerms: SerializableImmutableList<String>?
Link copied to clipboard
@SerialName(value = "style")
open override val style: StyleSchema
Link copied to clipboard
@SerialName(value = "tiles")
val tiles: SerializableImmutableList<TileSchema>
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