insertWhen

fun <S, W : SimplePanel> W.insertWhen(stateFlow: StateFlow<S>, condition: (S) -> Boolean, removeChildren: Boolean = true, runImmediately: Boolean = true, factory: SimplePanel.(S) -> Unit): SimplePanel(source)

An extension function which inserts child component and binds it to the given state flow when the given condition is true.

Parameters

S

the state type

W

the container type

stateFlow

the StateFlow instance

condition

the condition predicate

removeChildren

remove all children of the child component

runImmediately

whether to run factory function immediately with the current state

factory

a function which re-creates the view based on the given state


fun <S, T, W : SimplePanel> W.insertWhen(stateFlow: StateFlow<S>, sub: (S) -> T, condition: (T) -> Boolean, removeChildren: Boolean = true, runImmediately: Boolean = true, factory: SimplePanel.(T) -> Unit): SimplePanel(source)

An extension function which inserts child component and binds it to the given state flow using the sub flow extractor when the given condition is true.

Parameters

S

the state type

T

the sub state type

W

the container type

stateFlow

the StateFlow instance

sub

an extractor function for sub flow

condition

the condition predicate

removeChildren

remove all children of the child component

runImmediately

whether to run factory function immediately with the current state

factory

a function which re-creates the view based on the given state