class DataContainer<M, C : Component, CONT : Container> : Widget, Container, DataUpdatable
A container class with support for mutable/observable data model.
DataContainer(model: MutableList<M>, factory: (M, Int, MutableList<M>) -> C, container: CONT, containerAdd: (CONT.(C, M) -> Unit)? = null, filter: ((M) -> Boolean)? = null, sorter: ((M) -> Comparable<*>?)? = null, sorterType: () -> SorterType = { SorterType.ASC }, init: (DataContainer<M, C, CONT>.() -> 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 popoverOptions: PopoverOptions? |
|
var role: String?
A role attribute of generated HTML element. |
|
var surroundingSpan: Boolean |
|
var title: String?
A title attribute of generated HTML element. |
|
var tooltipOptions: TooltipOptions? |
|
var vnode: VNode? |
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, CONT>
Clears notification handler. |
|
fun getChildren(): List<Component>
Returns a list of children of the current container. |
|
fun onUpdate(handler: () -> Unit): DataContainer<M, C, CONT>
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 addCssClass(css: Style): Widget
Adds given style object 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 addSurroundingCssClass(css: Style): Widget
Adds given style object 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 clearDragDropData(): Unit
Clears D&D data for the current widget. It also makes it not draggable. |
|
open fun disablePopover(): Widget
Disables popover for the current widget. |
|
open fun disableTooltip(): Widget
Disables tooltip for the current widget. |
|
open fun dispatchEvent(type: String, eventInitDict: CustomEventInit): Boolean? |
|
open fun enablePopover(options: PopoverOptions = PopoverOptions()): Widget
Enables popover for the current widget. |
|
open fun enableTooltip(options: TooltipOptions = TooltipOptions()): Widget
Enables tooltip for the current widget. |
|
open fun getAttribute(name: String): String?
Returns the value of an additional attribute. |
|
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 fun hidePopover(): Widget
Hides popover for the current widget. |
|
open fun hideTooltip(): Widget
Hides tooltip for the current widget. |
|
open operator fun invoke(vararg children: Component): Container
Operator function for adding children in a DSL style. |
|
fun <T> refreshOnUpdate(refreshFunction: (T) -> Unit = { this.refresh() }): Widget.RefreshDelegateProvider<T> fun <T> refreshOnUpdate(initialValue: T, refreshFunction: (T) -> Unit = { this.refresh() }): Widget.RefreshDelegateProvider<T> |
|
open fun removeAttribute(name: String): Widget
Removes the value of additional attribute. |
|
open fun removeCssClass(css: String): Widget
Removes given value from the set of CSS classes generated in html code of current component. open fun removeCssClass(css: Style): Widget
Removes given style object 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 removeSurroundingCssClass(css: Style): Widget
Removes given style object 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 setAttribute(name: String, value: String): Widget
Sets the value of additional attribute. |
|
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 showPopover(): Widget
Shows popover for the current widget. |
|
open fun showTooltip(): Widget
Shows tooltip for the current widget. |
|
fun <T> singleRender(block: () -> T): T |
|
open fun toggleVisible(): Widget
Toggles visibility of current widget. |
|
fun translate(text: String?): String? |
fun <M, C : Component, CONT : Container> Container.dataContainer(model: MutableList<M>, factory: (M, Int, MutableList<M>) -> C, container: CONT, containerAdd: (CONT.(C, M) -> Unit)? = null, filter: ((M) -> Boolean)? = null, sorter: ((M) -> Comparable<*>?)? = null, sorterType: () -> SorterType = { SorterType.ASC }, init: (DataContainer<M, C, CONT>.() -> Unit)? = null): DataContainer<M, C, CONT>
DSL builder extension function. fun <M, C : Component> Container.dataContainer(model: MutableList<M>, factory: (M, Int, MutableList<M>) -> C, containerAdd: (VPanel.(C, M) -> Unit)? = null, filter: ((M) -> Boolean)? = null, sorter: ((M) -> Comparable<*>?)? = null, sorterType: () -> SorterType = { SorterType.ASC }, init: (DataContainer<M, C, VPanel>.() -> Unit)? = null): DataContainer<M, C, VPanel>
DSL builder extension function with VPanel default. |
fun <T> Any?.createInstance(vararg args: dynamic): T
Helper function for creating JavaScript objects from dynamic constructors. |