Constructors

Types

Link copied to clipboard
class Builder(var header: DIV.(CollapsableComponent.HeaderCtx) -> Unit? = null, var content: RenderFunc<DIV> = {}, var collapsed: Boolean = true)
Link copied to clipboard
data class HeaderCtx(val collapsed: Boolean, val toggle: () -> Unit)
Link copied to clipboard
data class Props(val header: DIV.(CollapsableComponent.HeaderCtx) -> Unit?, val content: RenderFunc<DIV>, val collapsed: Boolean)

Functions

Link copied to clipboard
Link copied to clipboard
operator fun <T> Stream<T>.invoke(handler: (T) -> Unit): () -> Unit

Subscribes to a Stream.

Link copied to clipboard
open override fun VDom.render()

Every component needs to implement this method

Link copied to clipboard
open override fun shouldRedraw(nextProps: CollapsableComponent.Props): Boolean

Returns 'true' when the component should redraw.

Link copied to clipboard
fun <T> stream(initial: T, config: Stream<T>.() -> Stream<T>? = null, handler: (T) -> Unit = {}): ComponentStreamProperty<T>

Creates a property that is backed by a StreamSource

Link copied to clipboard
fun <T> subscribingTo(stream: Stream<T>, onNext: (T) -> Unit? = null): ReadOnlyProperty<Any?, T>

Creates a property that is subscribed to a stream.

Link copied to clipboard
fun toggle()
Link copied to clipboard

Triggers a redraw

Link copied to clipboard
fun <T> value(initial: T, onChange: (T) -> Unit? = null): ComponentStateProperty<T>

Creates a read write property for the components state.

Properties

Link copied to clipboard
val attributes: MutableTypedAttributes

The attributes of the component

Link copied to clipboard

An automatically generated unique dom key for the component instance.

Link copied to clipboard
Link copied to clipboard

The Dom node to which the component is rendered

Link copied to clipboard

The life-cycle LifeCycle that the component exposes

Link copied to clipboard
val parent: Component<*>?

Accessor for the parent component

Link copied to clipboard

Public getter for the Props

Extensions

Link copied to clipboard
fun <T, C> Component<C>.dataLoader(load: suspend () -> Flow<T>): DataLoader<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <M : Message<*>> Component<*>.onMessage(noinline handler: (M) -> Unit)

Listens for a Message of the given type M.

Link copied to clipboard
fun <C> Component<C>.pagedSearchFilter(router: Router, onChange: (PagedSearchFilter) -> Unit? = null): ReadWriteProperty<Component<C>, PagedSearchFilter>
Link copied to clipboard
fun <M : Message<*>> Component<*>.sendMessage(message: M)

Send the given message.

Link copied to clipboard
fun <C> Component<C>.urlParam(router: Router, name: String, default: Int, onChange: (Int) -> Unit? = null): ReadWriteProperty<Component<C>, Int>
fun <C> Component<C>.urlParam(router: Router, name: String, default: String, onChange: (String) -> Unit? = null): ReadWriteProperty<Component<C>, String>
Link copied to clipboard
fun <C, T> Component<C>.urlParams(router: Router, fromParams: (Map<String, String>) -> T, toParams: (T) -> Map<String, Any?>, onChange: (T) -> Unit? = null): ReadWriteProperty<Component<C>, T>