RowTileSchema

@Serializable
@SerialName(value = "Row")
data class RowTileSchema(val id: String, val tiles: SerializableImmutableList<TileSchema>, val events: SerializableImmutableList<EventSchema>?, val style: StyleSchema, val searchableTerms: SerializableImmutableList<String>?, val filterChildrenByTerm: String?, val visibility: TileSchema.Visibility, val arrangement: ArrangementSchema.Horizontal, val alignment: AlignmentSchema.Vertical, val scrollable: Boolean = false) : TileSchema

Renders a Compose Row laying its tiles out horizontally, spaced by arrangement and aligned vertically by alignment. When scrollable is true the row gets a horizontalScroll modifier — every child is composed eagerly, so prefer LazyRowTileSchema for long lists.

Child scope: the row publishes its RowScope as a CompositionLocal (and clears the lazy item and flow-row scopes), so children can use row scope modifiers such as weight.

Scroll control: the tile listens to the screen broadcast channel and reacts to scroll-to-start, scroll-to-end and scroll-to-offset commands addressed to its id, each optionally animated. The scroll-to variant takes a pixel offset.

Filtering: when filterChildrenByTerm is non-null and non-empty, only children whose searchableTerms contain that term (case-insensitive, substring match) are rendered. Children without searchableTerms are filtered out.

Triggers dispatched:

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

  • OnClickEventTrigger — fired when the row is tapped, but only if an OnClick event is declared on this tile.

  • OnLongPressEventTrigger — fired when the row is long-pressed, but only if an OnLongPress event is declared on this tile.

  • OnScrolledEventTrigger — fired when the scroll direction changes, carrying ScrollDirection.End when scrolling forward and ScrollDirection.Start when scrolling backward. Only meaningful when scrollable is true.

Constructors

Link copied to clipboard
constructor(id: String, tiles: SerializableImmutableList<TileSchema>, events: SerializableImmutableList<EventSchema>?, style: StyleSchema, searchableTerms: SerializableImmutableList<String>?, filterChildrenByTerm: String?, visibility: TileSchema.Visibility, arrangement: ArrangementSchema.Horizontal, alignment: AlignmentSchema.Vertical, scrollable: Boolean = false)

Properties

Link copied to clipboard
@SerialName(value = "alignment")
val alignment: AlignmentSchema.Vertical
Link copied to clipboard
@SerialName(value = "arrangement")
val arrangement: ArrangementSchema.Horizontal
Link copied to clipboard
@SerialName(value = "events")
open override val events: SerializableImmutableList<EventSchema>?
Link copied to clipboard
@SerialName(value = "filterChildrenByTerm")
val filterChildrenByTerm: String?
Link copied to clipboard
@SerialName(value = "id")
open override val id: String
Link copied to clipboard
@SerialName(value = "scrollable")
val scrollable: 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