class DataContainer<M : DataComponent, C : Component> : Widget, Container, DataUpdatable
A container class with support for observable data model.
DataContainer(model: ObservableList<M>, binding: (Int) -> C, child: Container = VPanel(), init: DataContainer<M, C>.() -> Unit = null)
Creates DataContainer bound to given data model. |
var visible: Boolean
Visibility state of the current component. |
var id: String?
An ID attribute of generated HTML element. |
|
open var parent: Component?
Parent of the current component. |
|
var role: String?
A role attribute of generated HTML element. |
|
var title: String?
A title attribute of generated HTML element. |
fun add(child: Component): Container
Adds given component to the current container. |
|
fun addAll(children: List<Component>): Container
Adds a list of components to the current container. |
|
fun clearOnUpdate(): DataContainer<M, C>
Clears notification handler. |
|
fun getChildren(): List<Component>
Returns a list of children of the current container. |
|
fun onUpdate(handler: () -> Unit): DataContainer<M, C>
Sets a notification handler called after every update. |
|
fun remove(child: Component): Container
Removes given component from the current container. |
|
fun removeAll(): Container
Removes all children from the current container. |
|
fun update(): Unit
Updates view from the current data model state. |
open fun addCssClass(css: String): Widget
Adds given value to the set of CSS classes generated in html code of current component. |
|
open fun addSurroundingCssClass(css: String): Widget
Adds given value to the set of CSS classes generated in html code of parent component. |
|
open fun afterCreate(node: VNode): Unit
Method called after creating Snabbdom vnode. |
|
open fun afterDestroy(): Unit
Method called after destroying Snabbdom vnode. |
|
open fun afterInsert(node: VNode): Unit
Method called after inserting Snabbdom vnode into the DOM. |
|
open fun afterPostpatch(node: VNode): Unit
Method called after updating Snabbdom vnode. |
|
open fun getElement(): Node?
Returns DOM element bound to the current component. |
|
open fun getElementJQuery(): JQuery?
Returns JQuery element bound to the current component. |
|
open fun getElementJQueryD(): dynamic
Returns JQuery element bound to the current component as a dynamic type. |
|
open fun getSnAttrs(): List<StringPair>
Returns list of element attributes in the form of a List. |
|
open fun getSnClass(): List<StringBoolPair>
Returns list of CSS class names for current widget in the form of a List. |
|
open fun getSnHooks(): Hooks?
Returns list of hooks in the form of a Snabbdom Hooks object. |
|
open fun getSnOn(): On?
Returns list of event handlers in the form of a Snabbdom On object. |
|
open fun hide(): Widget
Makes current widget invisible. |
|
open operator fun invoke(vararg children: Component): Container
Operator function for adding children in a DSL style. |
|
open fun removeCssClass(css: String): Widget
Removes given value from the set of CSS classes generated in html code of current component. |
|
open fun removeEventListeners(): Widget
Removes all event listeners from current widget. |
|
open fun removeSurroundingCssClass(css: String): Widget
Removes given value from the set of CSS classes generated in html code of parent component. |
|
open fun render(): VNode open fun render(elementName: String): VNode open fun render(elementName: String, children: Array<dynamic>): VNode
Renders current component as a Snabbdom vnode. |
|
open fun <T : Widget> setEventListener(block: SnOn<T>.() -> Unit): Widget
Sets an event listener for current widget, keeping the actual type of component. open fun setEventListener(block: SnOn<Widget>.() -> Unit): Widget
Sets an event listener for current widget. |
|
open fun show(): Widget
Makes current widget visible. |
|
open fun toggleVisible(): Widget
Toggles visibility of current widget. |
fun <M : DataComponent, C : Component> Container.dataContainer(model: ObservableList<M>, binding: (Int) -> C, child: Container = VPanel(), init: DataContainer<M, C>.() -> Unit = null): DataContainer<M, C>
DSL builder extension function. |