Component

abstract class Component<PROPS>(val ctx: Ctx<PROPS>)

Base class of all Components

Constructors

Link copied to clipboard
fun <PROPS> Component(ctx: Ctx<PROPS>)

Functions

Link copied to clipboard
fun <C : Component<*>> createRef(): ComponentRef.Tracker<C>
Link copied to clipboard
operator fun <T> Stream<T>.invoke(handler: (T) -> Unit): () -> Unit

Subscribes to a Stream.

Link copied to clipboard
open fun onMount()

Called when the component is mounted

Link copied to clipboard
open fun onNextProps(newProps: PROPS, previousProps: PROPS)

Called when the component is about to receive new props.

Link copied to clipboard
open fun onUnmount()

Called when the component was removed from the dom

Link copied to clipboard
open fun onUpdate()

Called when the dom was updated. This is called after the render cycle.

Link copied to clipboard
abstract fun VDom.render()

Every component needs to implement this method

Link copied to clipboard
open fun shouldRedraw(nextProps: 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 = {}): ObservableStreamProperty<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 triggerRedraw()

Triggers a redraw

Link copied to clipboard
fun <T> value(initial: T, onChange: (T) -> Unit? = null): ObservableComponentProperty<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
val ctx: Ctx<PROPS>
Link copied to clipboard
val dom: HTMLElement?

The Dom node to which the component is rendered

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

Accessor for the parent component

Link copied to clipboard
val props: PROPS

Public getter for the Props

Inheritors

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Extensions

Link copied to clipboard
fun Component<*>.formController(): FormController
Link copied to clipboard
val Component<*>.messages: MessagesHandler

Get the MessagesHandler for the Component

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>