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.

eventTarget

var eventTarget: Widget?

id

var id: String?

An ID attribute of generated HTML element.

lastLanguage

var lastLanguage: String?

parent

open var parent: Container?

Parent of the current component.

role

var role: String?

A role attribute of generated HTML element.

surroundingSpan

var surroundingSpan: Boolean

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

open var background: Background?

Background of the current component.

border

open var border: Border?

Border of the current component.

borderBottom

open var borderBottom: Border?

Bottom border of the current component.

borderLeft

open var borderLeft: Border?

Left border of the current component.

borderRight

open var borderRight: Border?

Right border of the current component.

borderTop

open var borderTop: Border?

Top border of the current component.

bottom

open var bottom: CssSize?

Bottom edge of the current component.

clear

open var clear: Clear?

CSS clear float of the current component.

color

open var color: Color?

Text color for the current component.

colorHex

open var colorHex: Int?

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

colorName

open var colorName: Col?

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

display

open var display: Display?

CSS display of the current component.

float

open var float: PosFloat?

CSS position float of the current component.

fontFamily

open var fontFamily: String?

CSS font family of the current component.

fontSize

open var fontSize: CssSize?

CSS font size of the current component.

fontStyle

open var fontStyle: FontStyle?

CSS font style of the current component.

fontVariant

open var fontVariant: FontVariant?

CSS font variant of the current component.

fontWeight

open var fontWeight: FontWeight?

CSS font weight of the current component.

height

open var height: CssSize?

Height of the current component.

left

open var left: CssSize?

Left edge of the current component.

letterSpacing

open var letterSpacing: CssSize?

CSS Text letter spacing of the current component.

lineHeight

open var lineHeight: CssSize?

CSS Text line height of the current component.

margin

open var margin: CssSize?

Margin of the current component.

marginBottom

open var marginBottom: CssSize?

Bottom margin of the current component.

marginLeft

open var marginLeft: CssSize?

Left margin of the current component.

marginRight

open var marginRight: CssSize?

Right margin of the current component.

marginTop

open var marginTop: CssSize?

Top margin of the current component.

maxHeight

open var maxHeight: CssSize?

Maximal height of the current component.

maxWidth

open var maxWidth: CssSize?

Maximal width of the current component.

minHeight

open var minHeight: CssSize?

Minimal height of the current component.

minWidth

open var minWidth: CssSize?

Minimal width of the current component.

opacity

open var opacity: Double?

Opacity of the current component.

overflow

open var overflow: Overflow?

CSS overflow of the current component.

padding

open var padding: CssSize?

Padding of the current component.

paddingBottom

open var paddingBottom: CssSize?

Bottom padding of the current component.

paddingLeft

open var paddingLeft: CssSize?

Left padding of the current component.

paddingRight

open var paddingRight: CssSize?

Right padding of the current component.

paddingTop

open var paddingTop: CssSize?

Top padding of the current component.

position

open var position: Position?

CSS position of the current component.

resize

open var resize: Resize?

CSS resize of the current component.

right

open var right: CssSize?

Right edge of the current component.

textAlign

open var textAlign: TextAlign?

CSS Text align of the current component.

textDecoration

open var textDecoration: TextDecoration?

CSS Text decoration of the current component.

textDirection

open var textDirection: Direction?

CSS Text direction of the current component.

textIndent

open var textIndent: CssSize?

CSS Text indent of the current component.

textOverflow

open var textOverflow: TextOverflow?

CSS Text overflow of the current component.

textShadow

open var textShadow: TextShadow?

CSS Text shadow of the current component.

textTransform

open var textTransform: TextTransform?

CSS Text transform of the current component.

top

open var top: CssSize?

Top edge of the current component.

unicodeBidi

open var unicodeBidi: UnicodeBidi?

CSS Text unicode-bidi of the current component.

verticalAlign

open var verticalAlign: VerticalAlign?

CSS Text vertical align of the current component.

whiteSpace

open var whiteSpace: WhiteSpace?

CSS Text white space of the current component.

width

open var width: CssSize?

Width of the current component.

wordSpacing

open var wordSpacing: CssSize?

CSS Text word spacing of the current component.

zIndex

open 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.

dispatchEvent

open fun dispatchEvent(type: String, eventInitDict: CustomEventInit): Boolean?

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.

setContextMenu

open fun setContextMenu(contextMenu: ContextMenu): Widget

Sets context menu for the current widget.

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.

translate

fun translate(text: String): String

Translates given text with I18n trans function and sets lastLanguage marker.

fun translate(text: String?): String?

Inherited Functions

getSnStyle

open fun getSnStyle(): List<StringPair>

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

refreshOnUpdate

fun <T> refreshOnUpdate(refreshFunction: (T) -> Unit = { this.refresh() }): RefreshDelegateProvider<T>
fun <T> refreshOnUpdate(initialValue: T, refreshFunction: (T) -> Unit = { this.refresh() }): RefreshDelegateProvider<T>

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, FormInput

Base class for basic text components.

Button

open class Button : Widget

Button component.

Canvas

open class Canvas : Widget

Canvas component.

CheckInput

abstract class CheckInput : Widget, FormInput

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, CONT : Container> : Widget, Container, DataUpdatable

A container class with support for observable data model.

DateTimeInput

open class DateTimeInput : Widget, FormInput

Basic date/time chooser component.

Iframe

open class Iframe : Widget

Iframe 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, FormInput

The basic component for spinner control.

UploadInput

open class UploadInput : Widget, FormInput

The file upload component.