kvision / pl.treksoft.kvision.core / Widget

Widget

open class Widget : StyledComponent

Base widget class. The parent of all component classes.

A simple widget is rendered as HTML DIV element.

Constructors

<init>

Widget(classes: Set<String> = setOf())

Creates basic Widget with given CSS class names.

Properties

draggable

var draggable: Boolean?

Determines if the current widget is draggable.

id

var id: String?

An ID attribute of generated HTML element.

parent

open var parent: Component?

Parent of the current component.

role

var role: String?

A role attribute of generated HTML element.

title

var title: String?

A title attribute of generated HTML element.

visible

open var visible: Boolean

Visibility state of the current component.

Inherited Properties

background

var background: Background?

Background of the current component.

border

var border: Border?

Border of the current component.

borderBottom

var borderBottom: Border?

Bottom border of the current component.

borderLeft

var borderLeft: Border?

Left border of the current component.

borderRight

var borderRight: Border?

Right border of the current component.

borderTop

var borderTop: Border?

Top border of the current component.

bottom

var bottom: CssSize?

Bottom edge of the current component.

color

var color: Color?

Text color for the current component.

colorHex

var colorHex: Int?

Text color for the current component given in hex format (write only).

colorName

var colorName: Col?

Text color for the current component given with named constant (write only).

height

var height: CssSize?

Height of the current component.

left

var left: CssSize?

Left edge of the current component.

margin

var margin: CssSize?

Margin of the current component.

marginBottom

var marginBottom: CssSize?

Bottom margin of the current component.

marginLeft

var marginLeft: CssSize?

Left margin of the current component.

marginRight

var marginRight: CssSize?

Right margin of the current component.

marginTop

var marginTop: CssSize?

Top margin of the current component.

maxHeight

var maxHeight: CssSize?

Maximal height of the current component.

maxWidth

var maxWidth: CssSize?

Maximal width of the current component.

minHeight

var minHeight: CssSize?

Minimal height of the current component.

minWidth

var minWidth: CssSize?

Minimal width of the current component.

opacity

var opacity: Double?

Opacity of the current component.

overflow

var overflow: Overflow?

CSS overflow of the current component.

padding

var padding: CssSize?

Padding of the current component.

paddingBottom

var paddingBottom: CssSize?

Bottom padding of the current component.

paddingLeft

var paddingLeft: CssSize?

Left padding of the current component.

paddingRight

var paddingRight: CssSize?

Right padding of the current component.

paddingTop

var paddingTop: CssSize?

Top padding of the current component.

position

var position: Position?

CSS position of the current component.

resize

var resize: Resize?

CSS resize of the current component.

right

var right: CssSize?

Right edge of the current component.

top

var top: CssSize?

Top edge of the current component.

width

open var width: CssSize?

Width of the current component.

zIndex

var zIndex: Int?

Z-index of the current component.

Functions

addCssClass

open fun addCssClass(css: String): Widget

Adds given value to the set of CSS classes generated in html code of current component.

addSurroundingCssClass

open fun addSurroundingCssClass(css: String): Widget

Adds given value to the set of CSS classes generated in html code of parent component.

afterCreate

open fun afterCreate(node: VNode): Unit

Method called after creating Snabbdom vnode.

afterDestroy

open fun afterDestroy(): Unit

Method called after destroying Snabbdom vnode.

afterInsert

open fun afterInsert(node: VNode): Unit

Method called after inserting Snabbdom vnode into the DOM.

afterPostpatch

open fun afterPostpatch(node: VNode): Unit

Method called after updating Snabbdom vnode.

clearDragDropData

open fun clearDragDropData(): Unit

Clears D&D data for the current widget. It also makes it not draggable.

getElement

open fun getElement(): Node?

Returns DOM element bound to the current component.

getElementJQuery

open fun getElementJQuery(): JQuery?

Returns JQuery element bound to the current component.

getElementJQueryD

open fun getElementJQueryD(): dynamic

Returns JQuery element bound to the current component as a dynamic type.

getSnAttrs

open fun getSnAttrs(): List<StringPair>

Returns list of element attributes in the form of a List.

getSnClass

open fun getSnClass(): List<StringBoolPair>

Returns list of CSS class names for current widget in the form of a List.

getSnHooks

open fun getSnHooks(): Hooks?

Returns list of hooks in the form of a Snabbdom Hooks object.

getSnOn

open fun getSnOn(): On?

Returns list of event handlers in the form of a Snabbdom On object.

hide

open fun hide(): Widget

Makes current widget invisible.

removeCssClass

open fun removeCssClass(css: String): Widget

Removes given value from the set of CSS classes generated in html code of current component.

removeEventListeners

open fun removeEventListeners(): Widget

Removes all event listeners from current widget.

removeSurroundingCssClass

open fun removeSurroundingCssClass(css: String): Widget

Removes given value from the set of CSS classes generated in html code of parent component.

render

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.

setDragDropData

open fun setDragDropData(format: String, data: String): Unit

Sets D&D data for the current widget. It also makes it draggable.

setDropTarget

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.

setDropTargetData

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.

setEventListener

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.

show

open fun show(): Widget

Makes current widget visible.

toggleVisible

open fun toggleVisible(): Widget

Toggles visibility of current widget.

Inherited Functions

getSnStyle

open fun getSnStyle(): List<StringPair>

Returns the list of String pairs defining CSS style attributes and their values.

Companion Object Functions

widget

fun Container.widget(classes: Set<String> = setOf(), init: Widget.() -> Unit = null): Widget

DSL builder extension function.

Inheritors

AbstractTextInput

abstract class AbstractTextInput : Widget

Base class for basic text components.

Button

open class Button : Widget

Button component.

CheckInput

open class CheckInput : Widget

The basic input component rendered as HTML input type="checkbox" or input type="radio".

CloseIcon

open class CloseIcon : Widget

Helper class for close icon component.

DataContainer

class DataContainer<M, C : Component> : Widget, Container, DataUpdatable

A container class with support for observable data model.

DateTimeInput

open class DateTimeInput : Widget

Basic date/time chooser component.

Image

open class Image : Widget

Image component.

SelectOption

open class SelectOption : Widget

The helper component for adding options to Select or SelectOptGroup.

SimplePanel

open class SimplePanel : Widget, Container

Basic container class, rendered as a DIV element with all children directly within.

SpinnerInput

open class SpinnerInput : Widget

The basic component for spinner control.

WidgetWrapper

open class WidgetWrapper : Widget

This class allows to wrap a component into separately styled DIV element.