class DataContainer<M, C : Component> : Widget, Container, DataUpdatable
A container class with support for observable data model.
DataContainer(model: ObservableList<M>, factory: (Int, M) -> C, filter: (Int, M) -> Boolean = null, mapping: (List<Pair<Int, M>>) -> List<Pair<Int, M>> = null, container: 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 draggable: Boolean?
Determines if the current widget is draggable. |
|
var eventTarget: Widget? |
|
var id: String?
An ID attribute of generated HTML element. |
|
var lastLanguage: String? |
|
open var parent: Container?
Parent of the current component. |
|
var role: String?
A role attribute of generated HTML element. |
|
var surroundingSpan: Boolean |
|
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 clearDragDropData(): Unit
Clears D&D data for the current widget. It also makes it not draggable. |
|
open fun dispatchEvent(type: String, eventInitDict: CustomEventInit): Boolean? |
|
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 setContextMenu(contextMenu: ContextMenu): Widget
Sets context menu for the current widget. |
|
open fun setDragDropData(format: String, data: String): Unit
Sets D&D data for the current widget. It also makes it draggable. |
|
open fun setDropTarget(format: String, callback: (DragEvent) -> Unit): Unit open fun setDropTarget(formats: Set<String>? = null, callback: (DragEvent) -> Unit): Unit
Sets the current widget as a D&D drop target. |
|
open fun setDropTargetData(format: String, callback: (String?) -> Unit): Unit
Sets the current widget as a D&D drop target with helper callback accepting String data. |
|
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 translate(text: String?): String? |
fun <M, C : Component> Container.dataContainer(model: ObservableList<M>, factory: (Int, M) -> C, filter: (Int, M) -> Boolean = null, mapping: (List<Pair<Int, M>>) -> List<Pair<Int, M>> = null, container: Container = VPanel(), init: DataContainer<M, C>.() -> Unit = null): DataContainer<M, C>
DSL builder extension function. |