ColumnTileSchema

@Serializable
@SerialName(value = "Column")
data class ColumnTileSchema(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.Vertical, val alignment: AlignmentSchema.Horizontal, val scrollable: Boolean = false) : TileSchema

Renders a Compose Column stacking its tiles vertically, spaced by arrangement and aligned horizontally by alignment. When scrollable is true the column gets a verticalScroll modifier — every child is composed eagerly, so prefer LazyColumnTileSchema for long lists.

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

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. An empty or null term renders everything.

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

Triggers dispatched:

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

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

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

  • OnScrolledEventTrigger — fired when the scroll direction changes, carrying ScrollDirection.Bottom when scrolling forward and ScrollDirection.Top 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.Vertical, alignment: AlignmentSchema.Horizontal, scrollable: Boolean = false)

Properties

Link copied to clipboard
@SerialName(value = "alignment")
val alignment: AlignmentSchema.Horizontal
Link copied to clipboard
@SerialName(value = "arrangement")
val arrangement: ArrangementSchema.Vertical
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