aboutsummaryrefslogtreecommitdiff
path: root/docs/api/pl.treksoft.kvision.data
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2018-02-09 13:40:35 +0100
committerRobert Jaros <rjaros@finn.pl>2018-02-09 13:40:35 +0100
commitd8cd67062b8de6e8398dc6dfd00d201200c82414 (patch)
tree601082ec1eec73bc7a7d6ce8b51352e5345ffe81 /docs/api/pl.treksoft.kvision.data
parent955304789ea83aceacbdf4c8a9eb742f6c2518f6 (diff)
downloadkvision-d8cd67062b8de6e8398dc6dfd00d201200c82414.tar.gz
kvision-d8cd67062b8de6e8398dc6dfd00d201200c82414.tar.bz2
kvision-d8cd67062b8de6e8398dc6dfd00d201200c82414.zip
API doc and readme
Diffstat (limited to 'docs/api/pl.treksoft.kvision.data')
-rw-r--r--docs/api/pl.treksoft.kvision.data/-base-data-component/-init-.html15
-rw-r--r--docs/api/pl.treksoft.kvision.data/-base-data-component/index.html28
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-component.html28
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/-init-.html28
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/add-all.html21
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/add.html21
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/clear-on-update.html17
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/get-children.html18
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/index.html358
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/on-update.html20
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/remove-all.html18
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/remove.html21
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/update.html16
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-container/visible.html23
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-updatable/index.html40
-rw-r--r--docs/api/pl.treksoft.kvision.data/-data-updatable/update.html14
-rw-r--r--docs/api/pl.treksoft.kvision.data/index.html54
17 files changed, 740 insertions, 0 deletions
diff --git a/docs/api/pl.treksoft.kvision.data/-base-data-component/-init-.html b/docs/api/pl.treksoft.kvision.data/-base-data-component/-init-.html
new file mode 100644
index 00000000..11c98d32
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-base-data-component/index.html b/docs/api/pl.treksoft.kvision.data/-base-data-component/index.html
new file mode 100644
index 00000000..f7725300
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-component.html b/docs/api/pl.treksoft.kvision.data/-data-component.html
new file mode 100644
index 00000000..1bca7fb4
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-container/-init-.html b/docs/api/pl.treksoft.kvision.data/-data-container/-init-.html
new file mode 100644
index 00000000..2a282883
--- /dev/null
+++ b/docs/api/pl.treksoft.kvision.data/-data-container/-init-.html
@@ -0,0 +1,28 @@
+<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.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), pl.treksoft.kvision.core.Container)"></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.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), pl.treksoft.kvision.core.Container)/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.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), pl.treksoft.kvision.core.Container)/binding">binding</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;<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.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), pl.treksoft.kvision.core.Container)/child">child</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></code>
+<p>Creates DataContainer bound to given data model.</p>
+<h3>Parameters</h3>
+<p><a name="M"></a>
+<code>M</code> - base data model type</p>
+<p><a name="C"></a>
+<code>C</code> - base component type</p>
+<p><a name="model"></a>
+<code>model</code> - data model of type <em>ObservableList</em></p>
+<p><a name="binding"></a>
+<code>binding</code> - a function which creates component C from data model at given index</p>
+<p><a name="child"></a>
+<code>child</code> - internal container (defaults to <a href="../../pl.treksoft.kvision.panel/-v-panel/index.html">VPanel</a>)</p>
+<p><strong>Constructor</strong><br/>
+Creates DataContainer bound to given data model.</p>
+</BODY>
+</HTML>
diff --git a/docs/api/pl.treksoft.kvision.data/-data-container/add-all.html b/docs/api/pl.treksoft.kvision.data/-data-container/add-all.html
new file mode 100644
index 00000000..258e9af8
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-container/add.html b/docs/api/pl.treksoft.kvision.data/-data-container/add.html
new file mode 100644
index 00000000..c759e280
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-container/clear-on-update.html b/docs/api/pl.treksoft.kvision.data/-data-container/clear-on-update.html
new file mode 100644
index 00000000..4d57fe8e
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-container/get-children.html b/docs/api/pl.treksoft.kvision.data/-data-container/get-children.html
new file mode 100644
index 00000000..60d6f289
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-container/index.html b/docs/api/pl.treksoft.kvision.data/-data-container/index.html
new file mode 100644
index 00000000..99155d7d
--- /dev/null
+++ b/docs/api/pl.treksoft.kvision.data/-data-container/index.html
@@ -0,0 +1,358 @@
+<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>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-data-component.html"><span class="identifier">DataComponent</span></a><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.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), pl.treksoft.kvision.core.Container)/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.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), pl.treksoft.kvision.core.Container)/binding">binding</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;<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.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), pl.treksoft.kvision.core.Container)/child">child</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></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/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/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/-component/index.html"><span class="identifier">Component</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/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/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/-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-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>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/docs/api/pl.treksoft.kvision.data/-data-container/on-update.html b/docs/api/pl.treksoft.kvision.data/-data-container/on-update.html
new file mode 100644
index 00000000..97e7df54
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-container/remove-all.html b/docs/api/pl.treksoft.kvision.data/-data-container/remove-all.html
new file mode 100644
index 00000000..8413c781
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-container/remove.html b/docs/api/pl.treksoft.kvision.data/-data-container/remove.html
new file mode 100644
index 00000000..009dae9e
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-container/update.html b/docs/api/pl.treksoft.kvision.data/-data-container/update.html
new file mode 100644
index 00000000..d88fb8ee
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/-data-container/visible.html b/docs/api/pl.treksoft.kvision.data/-data-container/visible.html
new file mode 100644
index 00000000..420b7add
--- /dev/null
+++ b/docs/api/pl.treksoft.kvision.data/-data-container/visible.html
@@ -0,0 +1,23 @@
+<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>
+<p><strong>Getter</strong><br/>
+<p>Visibility state of the current component.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Visibility state of the current component.</p>
+</p>
+</BODY>
+</HTML>
diff --git a/docs/api/pl.treksoft.kvision.data/-data-updatable/index.html b/docs/api/pl.treksoft.kvision.data/-data-updatable/index.html
new file mode 100644
index 00000000..98f45f1b
--- /dev/null
+++ b/docs/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>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-data-component.html"><span class="identifier">DataComponent</span></a><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/docs/api/pl.treksoft.kvision.data/-data-updatable/update.html b/docs/api/pl.treksoft.kvision.data/-data-updatable/update.html
new file mode 100644
index 00000000..bafc1ca3
--- /dev/null
+++ b/docs/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/docs/api/pl.treksoft.kvision.data/index.html b/docs/api/pl.treksoft.kvision.data/index.html
new file mode 100644
index 00000000..6fc51941
--- /dev/null
+++ b/docs/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>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-data-component.html"><span class="identifier">DataComponent</span></a><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>