summaryrefslogtreecommitdiff
path: root/api/pl.treksoft.kvision.data
diff options
context:
space:
mode:
Diffstat (limited to 'api/pl.treksoft.kvision.data')
-rw-r--r--api/pl.treksoft.kvision.data/-base-data-component/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.data/-base-data-component/index.html28
-rw-r--r--api/pl.treksoft.kvision.data/-data-component.html28
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/-init-.html34
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/add-all.html21
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/add.html21
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/clear-on-update.html17
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/data-container.html16
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/get-children.html18
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/index.html471
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/on-update.html20
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/remove-all.html18
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/remove.html21
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/update.html16
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/visible.html17
-rw-r--r--api/pl.treksoft.kvision.data/-data-updatable/index.html40
-rw-r--r--api/pl.treksoft.kvision.data/-data-updatable/update.html14
-rw-r--r--api/pl.treksoft.kvision.data/index.html54
18 files changed, 869 insertions, 0 deletions
diff --git a/api/pl.treksoft.kvision.data/-base-data-component/-init-.html b/api/pl.treksoft.kvision.data/-base-data-component/-init-.html
new file mode 100644
index 00000000..11c98d32
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-base-data-component/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>BaseDataComponent.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">BaseDataComponent</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.data.BaseDataComponent$&lt;init&gt;()"></a>
+<code><span class="identifier">BaseDataComponent</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Base abstract class for creating observable data model.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-base-data-component/index.html b/api/pl.treksoft.kvision.data/-base-data-component/index.html
new file mode 100644
index 00000000..f7725300
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-base-data-component/index.html
@@ -0,0 +1,28 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>BaseDataComponent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="./index.html">BaseDataComponent</a><br/>
+<br/>
+<h1>BaseDataComponent</h1>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">BaseDataComponent</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-data-component.html"><span class="identifier">DataComponent</span></a></code>
+<p>Base abstract class for creating observable data model.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">BaseDataComponent</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Base abstract class for creating observable data model.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-component.html b/api/pl.treksoft.kvision.data/-data-component.html
new file mode 100644
index 00000000..1bca7fb4
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-component.html
@@ -0,0 +1,28 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataComponent - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="./-data-component.html">DataComponent</a><br/>
+<br/>
+<h1>DataComponent</h1>
+<code><span class="keyword">interface </span><span class="identifier">DataComponent</span></code>
+<p>Base interface for observable data model.</p>
+<h3>Inheritors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-base-data-component/index.html">BaseDataComponent</a></p>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">BaseDataComponent</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./-data-component.html"><span class="identifier">DataComponent</span></a></code>
+<p>Base abstract class for creating observable data model.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/-init-.html b/api/pl.treksoft.kvision.data/-data-container/-init-.html
new file mode 100644
index 00000000..5fc34642
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/-init-.html
@@ -0,0 +1,34 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$&lt;init&gt;(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))"></a>
+<code><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>Creates DataContainer bound to given data model.</p>
+<h3>Parameters</h3>
+<p><a name="M"></a>
+<code>M</code> - data model type</p>
+<p><a name="C"></a>
+<code>C</code> - visual component type</p>
+<p><a name="model"></a>
+<code>model</code> - data model of type <em>ObservableList</em></p>
+<p><a name="factory"></a>
+<code>factory</code> - a function which creates component C from data model at given index</p>
+<p><a name="filter"></a>
+<code>filter</code> - a filtering function</p>
+<p><a name="mapping"></a>
+<code>mapping</code> - a mapping function</p>
+<p><a name="container"></a>
+<code>container</code> - internal container (defaults to <a href="../../pl.treksoft.kvision.panel/-v-panel/index.html">VPanel</a>)</p>
+<p><a name="init"></a>
+<code>init</code> - an initializer extension function</p>
+<p><strong>Constructor</strong><br/>
+Creates DataContainer bound to given data model.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/add-all.html b/api/pl.treksoft.kvision.data/-data-container/add-all.html
new file mode 100644
index 00000000..258e9af8
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/add-all.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.addAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./add-all.html">addAll</a><br/>
+<br/>
+<h1>addAll</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))/children">children</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-container/add-all.html">Container.addAll</a></p>
+<p>Adds a list of components to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="children"></a>
+<code>children</code> - list of child components</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/add.html b/api/pl.treksoft.kvision.data/-data-container/add.html
new file mode 100644
index 00000000..c759e280
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/add.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.add - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
+<br/>
+<h1>add</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$add(pl.treksoft.kvision.core.Component)"></a>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$add(pl.treksoft.kvision.core.Component)/child">child</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-container/add.html">Container.add</a></p>
+<p>Adds given component to the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/clear-on-update.html b/api/pl.treksoft.kvision.data/-data-container/clear-on-update.html
new file mode 100644
index 00000000..4d57fe8e
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/clear-on-update.html
@@ -0,0 +1,17 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.clearOnUpdate - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./clear-on-update.html">clearOnUpdate</a><br/>
+<br/>
+<h1>clearOnUpdate</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$clearOnUpdate()"></a>
+<code><span class="keyword">fun </span><span class="identifier">clearOnUpdate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
+<p>Clears notification handler.</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/data-container.html b/api/pl.treksoft.kvision.data/-data-container/data-container.html
new file mode 100644
index 00000000..920b49cf
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/data-container.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.dataContainer - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./data-container.html">dataContainer</a><br/>
+<br/>
+<h1>dataContainer</h1>
+<a name="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/get-children.html b/api/pl.treksoft.kvision.data/-data-container/get-children.html
new file mode 100644
index 00000000..60d6f289
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/get-children.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.getChildren - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./get-children.html">getChildren</a><br/>
+<br/>
+<h1>getChildren</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$getChildren()"></a>
+<code><span class="keyword">fun </span><span class="identifier">getChildren</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-container/get-children.html">Container.getChildren</a></p>
+<p>Returns a list of children of the current container.</p>
+<p><strong>Return</strong><br/>
+list of children</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/index.html b/api/pl.treksoft.kvision.data/-data-container/index.html
new file mode 100644
index 00000000..c5db6a9b
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/index.html
@@ -0,0 +1,471 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="./index.html">DataContainer</a><br/>
+<br/>
+<h1>DataContainer</h1>
+<code><span class="keyword">class </span><span class="identifier">DataContainer</span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><a href="../-data-updatable/index.html"><span class="identifier">DataUpdatable</span></a></code>
+<p>A container class with support for observable data model.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>Creates DataContainer bound to given data model.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="visible.html">visible</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">visible</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Visibility state of the current component.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/draggable.html">draggable</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">draggable</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span></code>
+<p>Determines if the current widget is draggable.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/event-target.html">eventTarget</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">eventTarget</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/id.html">id</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">id</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>An ID attribute of generated HTML element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/last-language.html">lastLanguage</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">lastLanguage</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/parent.html">parent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">parent</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">?</span></code>
+<p>Parent of the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/role.html">role</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">role</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>A role attribute of generated HTML element.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/surrounding-span.html">surroundingSpan</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">surroundingSpan</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/title.html">title</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">title</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>A title attribute of generated HTML element.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="add.html">add</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$add(pl.treksoft.kvision.core.Component)/child">child</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Adds given component to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="add-all.html">addAll</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))/children">children</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Adds a list of components to the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="clear-on-update.html">clearOnUpdate</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">clearOnUpdate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
+<p>Clears notification handler.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-children.html">getChildren</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">getChildren</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span></code>
+<p>Returns a list of children of the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="on-update.html">onUpdate</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">onUpdate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$onUpdate(kotlin.Function0((kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
+<p>Sets a notification handler called after every update.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="remove.html">remove</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$remove(pl.treksoft.kvision.core.Component)/child">child</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Removes given component from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="remove-all.html">removeAll</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Removes all children from the current container.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="update.html">update</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">update</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Updates view from the current data model state.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/add-css-class.html">addCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$addCssClass(kotlin.String)/css">css</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Adds given value to the set of CSS classes generated in html code of current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/add-surrounding-css-class.html">addSurroundingCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">addSurroundingCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$addSurroundingCssClass(kotlin.String)/css">css</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Adds given value to the set of CSS classes generated in html code of parent component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-create.html">afterCreate</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterCreate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$afterCreate(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after creating Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-destroy.html">afterDestroy</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterDestroy</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after destroying Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-insert.html">afterInsert</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterInsert</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$afterInsert(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after inserting Snabbdom vnode into the DOM.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/after-postpatch.html">afterPostpatch</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">afterPostpatch</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$afterPostpatch(com.github.snabbdom.VNode)/node">node</span><span class="symbol">:</span>&nbsp;<span class="identifier">VNode</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after updating Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/clear-drag-drop-data.html">clearDragDropData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearDragDropData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Clears D&D data for the current widget. It also makes it not draggable.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/dispatch-event.html">dispatchEvent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">dispatchEvent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$dispatchEvent(kotlin.String, org.w3c.dom.CustomEventInit)/type">type</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$dispatchEvent(kotlin.String, org.w3c.dom.CustomEventInit)/eventInitDict">eventInitDict</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-custom-event-init/index.html"><span class="identifier">CustomEventInit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-element.html">getElement</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getElement</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-node/index.html"><span class="identifier">Node</span></a><span class="symbol">?</span></code>
+<p>Returns DOM element bound to the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-element-j-query.html">getElementJQuery</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getElementJQuery</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">JQuery</span><span class="symbol">?</span></code>
+<p>Returns JQuery element bound to the current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-element-j-query-d.html">getElementJQueryD</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getElementJQueryD</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="keyword">dynamic</span></code>
+<p>Returns JQuery element bound to the current component as a <em>dynamic</em> type.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-sn-attrs.html">getSnAttrs</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnAttrs</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-string-pair.html"><span class="identifier">StringPair</span></a><span class="symbol">&gt;</span></code>
+<p>Returns list of element attributes in the form of a List.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-sn-class.html">getSnClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></code>
+<p>Returns list of CSS class names for current widget in the form of a List.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-sn-hooks.html">getSnHooks</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnHooks</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Hooks</span><span class="symbol">?</span></code>
+<p>Returns list of hooks in the form of a Snabbdom <em>Hooks</em> object.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/get-sn-on.html">getSnOn</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnOn</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">On</span><span class="symbol">?</span></code>
+<p>Returns list of event handlers in the form of a Snabbdom <em>On</em> object.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/hide.html">hide</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">hide</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Makes current widget invisible.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-container/invoke.html">invoke</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">invoke</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.core.Container$invoke(kotlin.Array((pl.treksoft.kvision.core.Component)))/children">children</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Operator function for adding children in a DSL style.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-css-class.html">removeCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$removeCssClass(kotlin.String)/css">css</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes given value from the set of CSS classes generated in html code of current component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-event-listeners.html">removeEventListeners</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeEventListeners</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes all event listeners from current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/remove-surrounding-css-class.html">removeSurroundingCssClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeSurroundingCssClass</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$removeSurroundingCssClass(kotlin.String)/css">css</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Removes given value from the set of CSS classes generated in html code of parent component.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code><br/>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$render(kotlin.String)/elementName">elementName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code><br/>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$render(kotlin.String, kotlin.Array((kotlin.Any)))/elementName">elementName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$render(kotlin.String, kotlin.Array((kotlin.Any)))/children">children</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html"><span class="identifier">Array</span></a><span class="symbol">&lt;</span><span class="keyword">dynamic</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-context-menu.html">setContextMenu</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setContextMenu</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setContextMenu(pl.treksoft.kvision.dropdown.ContextMenu)/contextMenu">contextMenu</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.dropdown/-context-menu/index.html"><span class="identifier">ContextMenu</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets context menu for the current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-drag-drop-data.html">setDragDropData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDragDropData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDragDropData(kotlin.String, kotlin.String)/format">format</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDragDropData(kotlin.String, kotlin.String)/data">data</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets D&D data for the current widget. It also makes it draggable.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-drop-target.html">setDropTarget</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDropTarget</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.String, kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/format">format</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.String, kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-drag-event/index.html"><span class="identifier">DragEvent</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDropTarget</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.collections.Set((kotlin.String)), kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/formats">formats</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTarget(kotlin.collections.Set((kotlin.String)), kotlin.Function1((org.w3c.dom.DragEvent, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom/-drag-event/index.html"><span class="identifier">DragEvent</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the current widget as a D&D drop target.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-drop-target-data.html">setDropTargetData</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setDropTargetData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTargetData(kotlin.String, kotlin.Function1((kotlin.String, kotlin.Unit)))/format">format</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setDropTargetData(kotlin.String, kotlin.Function1((kotlin.String, kotlin.Unit)))/callback">callback</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Sets the current widget as a D&D drop target with helper callback accepting String data.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/set-event-listener.html">setEventListener</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">setEventListener</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.core.Widget.setEventListener.T)), kotlin.Unit)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="identifier">SnOn</span><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-widget/set-event-listener.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets an event listener for current widget, keeping the actual type of component.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setEventListener</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$setEventListener(kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.core.Widget)), kotlin.Unit)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="identifier">SnOn</span><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Sets an event listener for current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/show.html">show</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">show</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Makes current widget visible.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/toggle-visible.html">toggleVisible</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">toggleVisible</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+<p>Toggles visibility of current widget.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.core/-widget/translate.html">translate</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">translate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core.Widget$translate(kotlin.String)/text">text</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="data-container.html">dataContainer</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((kotlin.Pair((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)))), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
+<p>DSL builder extension function.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/on-update.html b/api/pl.treksoft.kvision.data/-data-container/on-update.html
new file mode 100644
index 00000000..97e7df54
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/on-update.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.onUpdate - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./on-update.html">onUpdate</a><br/>
+<br/>
+<h1>onUpdate</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$onUpdate(kotlin.Function0((kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">onUpdate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$onUpdate(kotlin.Function0((kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
+<p>Sets a notification handler called after every update.</p>
+<h3>Parameters</h3>
+<p><a name="handler"></a>
+<code>handler</code> - notification handler</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/remove-all.html b/api/pl.treksoft.kvision.data/-data-container/remove-all.html
new file mode 100644
index 00000000..8413c781
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/remove-all.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.removeAll - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./remove-all.html">removeAll</a><br/>
+<br/>
+<h1>removeAll</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$removeAll()"></a>
+<code><span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-container/remove-all.html">Container.removeAll</a></p>
+<p>Removes all children from the current container.</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/remove.html b/api/pl.treksoft.kvision.data/-data-container/remove.html
new file mode 100644
index 00000000..009dae9e
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/remove.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.remove - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
+<br/>
+<h1>remove</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$remove(pl.treksoft.kvision.core.Component)"></a>
+<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$remove(pl.treksoft.kvision.core.Component)/child">child</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-container/remove.html">Container.remove</a></p>
+<p>Removes given component from the current container.</p>
+<h3>Parameters</h3>
+<p><a name="child"></a>
+<code>child</code> - child component</p>
+<p><strong>Return</strong><br/>
+current container</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/update.html b/api/pl.treksoft.kvision.data/-data-container/update.html
new file mode 100644
index 00000000..d88fb8ee
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/update.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.update - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./update.html">update</a><br/>
+<br/>
+<h1>update</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$update()"></a>
+<code><span class="keyword">fun </span><span class="identifier">update</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Overrides <a href="../-data-updatable/update.html">DataUpdatable.update</a></p>
+<p>Updates view from the current data model state.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/visible.html b/api/pl.treksoft.kvision.data/-data-container/visible.html
new file mode 100644
index 00000000..0ffafba8
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-container/visible.html
@@ -0,0 +1,17 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataContainer.visible - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./visible.html">visible</a><br/>
+<br/>
+<h1>visible</h1>
+<a name="pl.treksoft.kvision.data.DataContainer$visible"></a>
+<code><span class="keyword">var </span><span class="identifier">visible</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-widget/visible.html">Widget.visible</a></p>
+<p>Overrides <a href="../../pl.treksoft.kvision.core/-component/visible.html">Component.visible</a></p>
+<p>Visibility state of the current component.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-updatable/index.html b/api/pl.treksoft.kvision.data/-data-updatable/index.html
new file mode 100644
index 00000000..d1c815ce
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-updatable/index.html
@@ -0,0 +1,40 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataUpdatable - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="./index.html">DataUpdatable</a><br/>
+<br/>
+<h1>DataUpdatable</h1>
+<code><span class="keyword">interface </span><span class="identifier">DataUpdatable</span></code>
+<p>Interface for updatable container.</p>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="update.html">update</a></p>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">update</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Inheritors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-data-container/index.html">DataContainer</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">DataContainer</span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">DataUpdatable</span></a></code>
+<p>A container class with support for observable data model.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-updatable/update.html b/api/pl.treksoft.kvision.data/-data-updatable/update.html
new file mode 100644
index 00000000..bafc1ca3
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/-data-updatable/update.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DataUpdatable.update - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataUpdatable</a>&nbsp;/&nbsp;<a href="./update.html">update</a><br/>
+<br/>
+<h1>update</h1>
+<a name="pl.treksoft.kvision.data.DataUpdatable$update()"></a>
+<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">update</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.data/index.html b/api/pl.treksoft.kvision.data/index.html
new file mode 100644
index 00000000..b3430917
--- /dev/null
+++ b/api/pl.treksoft.kvision.data/index.html
@@ -0,0 +1,54 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pl.treksoft.kvision.data - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="./index.html">pl.treksoft.kvision.data</a><br/>
+<br/>
+<h2>Package pl.treksoft.kvision.data</h2>
+<p>Base component and container class with data binding support for observable data model.</p>
+<h3>Types</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-base-data-component/index.html">BaseDataComponent</a></p>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">BaseDataComponent</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-data-component.html"><span class="identifier">DataComponent</span></a></code>
+<p>Base abstract class for creating observable data model.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-data-component.html">DataComponent</a></p>
+</td>
+<td>
+<code><span class="keyword">interface </span><span class="identifier">DataComponent</span></code>
+<p>Base interface for observable data model.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-data-container/index.html">DataContainer</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">DataContainer</span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><a href="-data-updatable/index.html"><span class="identifier">DataUpdatable</span></a></code>
+<p>A container class with support for observable data model.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-data-updatable/index.html">DataUpdatable</a></p>
+</td>
+<td>
+<code><span class="keyword">interface </span><span class="identifier">DataUpdatable</span></code>
+<p>Interface for updatable container.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>