CellCollectionView

ceramic.Entityceramic.Visualceramic.Quadceramic.Layerceramic.Viewceramic.ScrollViewceramic.CollectionViewelements.CellCollectionView (Class)
Implements: tracker.Observable

A themed collection view for displaying cells with built-in scrolling and filtering.

This collection view extends the base CollectionView with additional features:

  • Theme support with automatic styling based on the current theme
  • Built-in scrollbar with custom styling
  • Render filtering for pixel-perfect rendering at native screen density
  • Border styling that adapts to input-style vs regular display mode
  • Automatic detection of scrolling state

The view uses a Filter to ensure crisp rendering at the device's native pixel density, which is particularly important for text-heavy cell content.

See: CollectionView, Scrollbar, Theme

Instance Members

elements
observedDirty: Bool

Default is false, automatically set to true when any of this instance's observable variables has changed.


elements
theme: Theme

The theme to use for styling this collection view. If null, uses the global context theme.


elements
scrolling: Bool

Whether the collection view is currently being scrolled. This is automatically updated based on the scroller status.


elements
inputStyle: Bool

When true, applies input-style theming with different border configuration. Input style typically has lighter borders and transparent background.


elements
invalidateTheme(): Void

elements
invalidateScrolling(): Void

elements
invalidateInputStyle(): Void

elements
new(): Void

Creates a new CellCollectionView instance.

Initializes the view with:

  • Full parent size (fill)
  • Native density filtering for crisp rendering
  • Custom scrollbar with theme support
  • Automatic border depth management
  • Platform-specific drag behavior (disabled on desktop)

Private Members

elements
unobservedTheme: Theme

elements
unobservedScrolling: Bool

elements
unobservedInputStyle: Bool

elements
filter: ceramic.Filter

Filter used to render content at native screen density.


elements
emitObservedDirty(instance: CellCollectionView, fromSerializedField: Bool): Void

Event when any observable value as changed on this instance.

Name Type
instance CellCollectionView
fromSerializedField Bool

elements
emitThemeChange(current: Theme, previous: Theme): Void

Event when theme field changes.

Name Type
current Theme
previous Theme

elements
emitScrollingChange(current: Bool, previous: Bool): Void

Event when scrolling field changes.

Name Type
current Bool
previous Bool

elements
emitInputStyleChange(current: Bool, previous: Bool): Void

Event when inputStyle field changes.

Name Type
current Bool
previous Bool

elements
handleUpdate(delta: Float): Void

Updates the filter density and scrolling state. Called every frame to ensure the filter matches the current screen density and to track whether scrolling is active.

Name Type Description
delta Float Time elapsed since last frame (not used)

elements
layout(): Void

Positions and sizes the filter to match the collection view dimensions. Also handles nested scroller detection to prevent filter conflicts.


elements
updateBorderDepth(): Void

Updates the border rendering depth to ensure it appears above all cell content. Called whenever the content view layout changes.


elements
updateStyle(): Void

Updates the visual styling based on the current theme and inputStyle setting.

In input style mode:

  • Transparent background
  • Light border colors
  • Borders on top and bottom

In regular mode:

  • Dark background color from theme
  • Medium border color
  • Border only on top of content

Metadata

Name Parameters
:build tracker.macros.ObservableMacro.build()
:autoBuild tracker.macros.ObservableMacro.build()
:build ceramic.macros.EntityMacro.buildForCompletion()
:autoBuild ceramic.macros.EntityMacro.buildForCompletion()
:build tracker.macros.EventsMacro.build()
:autoBuild tracker.macros.EventsMacro.build()