diff options
76 files changed, 233 insertions, 218 deletions
@@ -18,6 +18,7 @@ This design is quite similar to many non-web UI programming libraries including ## Features - 100% type safe and fully compiled dev environment. +- Type safe DSL builders. - Based on [Bootstrap](https://getbootstrap.com/) styles, typography and components. - Utilizes [Snabbdom](https://github.com/snabbdom/snabbdom) fast virtual DOM implementation. - Integrates with libraries and components from [Font awesome](https://fontawesome.com/), [Bootstrap Select](https://github.com/silviomoreto/bootstrap-select) (with [AJAX](https://github.com/truckingsim/Ajax-Bootstrap-Select) extension), @@ -86,6 +87,20 @@ built with [Gradle](https://gradle.org/) and supporting Webpack's [Hot Module Re } ) +##### Using type safe DSL builders + + Root("root") { + hPanel(spacing = 20, alignItems = FLEXALIGNITEMS.CENTER) { + val label = label("Not yet clicked.") + var count = 0 + button("Click me") { + onClick { + label.text = "You clicked the button ${++count} times." + } + } + } + } + ### Tab panel with JavaScript routing val firstPanel = Tag(TAG.DIV, "First") diff --git a/docs/api/index-outline.html b/docs/api/index-outline.html index 5e920e65..07f3f8f0 100644 --- a/docs/api/index-outline.html +++ b/docs/api/index-outline.html @@ -378,7 +378,7 @@ <BODY> <a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-button/-init-.html"><span class="identifier">Button</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Button$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/text">text</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><span class="identifier" id="pl.treksoft.kvision.html.Button$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/icon">icon</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> <span class="symbol">=</span> null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/style">style</span><span class="symbol">:</span> <a href="pl.treksoft.kvision.html/-b-u-t-t-o-n-s-t-y-l-e/index.html"><span class="identifier">BUTTONSTYLE</span></a> <span class="symbol">=</span> BUTTONSTYLE.DEFAULT<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/disabled">disabled</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> false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button$<init>(kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)))/classes">classes</span><span class="symbol">:</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><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> setOf()<span class="symbol">)</span></a></a><br/> <a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-button/block.html"><span class="keyword">var </span><span class="identifier">block</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/> -<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-button/button.html"><span class="keyword">fun </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">button</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/text">text</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><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/icon">icon</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> <span class="symbol">=</span> null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/style">style</span><span class="symbol">:</span> <a href="pl.treksoft.kvision.html/-b-u-t-t-o-n-s-t-y-l-e/index.html"><span class="identifier">BUTTONSTYLE</span></a> <span class="symbol">=</span> BUTTONSTYLE.DEFAULT<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/disabled">disabled</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> false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><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> setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/init">init</span><span class="symbol">:</span> <a href="pl.treksoft.kvision.html/-button/index.html"><span class="identifier">Button</span></a><span class="symbol">.</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> <span class="symbol">=</span> null<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></a></a><br/> +<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-button/button.html"><span class="keyword">fun </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">button</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/text">text</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><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/icon">icon</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> <span class="symbol">=</span> null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/style">style</span><span class="symbol">:</span> <a href="pl.treksoft.kvision.html/-b-u-t-t-o-n-s-t-y-l-e/index.html"><span class="identifier">BUTTONSTYLE</span></a> <span class="symbol">=</span> BUTTONSTYLE.DEFAULT<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/disabled">disabled</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> false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><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> setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.html.Button.Companion$button(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.String, pl.treksoft.kvision.html.BUTTONSTYLE, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.html.Button, kotlin.Unit)))/init">init</span><span class="symbol">:</span> <a href="pl.treksoft.kvision.html/-button/index.html"><span class="identifier">Button</span></a><span class="symbol">.</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> <span class="symbol">=</span> null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.html/-button/index.html"><span class="identifier">Button</span></a></a></a><br/> <a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-button/disabled.html"><span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/> <a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-button/get-sn-attrs.html"><span class="keyword">protected</span> <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"><</span><a href="pl.treksoft.kvision.core/-string-pair.html"><span class="identifier">StringPair</span></a><span class="symbol">></span></a></a><br/> <a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-button/get-sn-class.html"><span class="keyword">protected</span> <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"><</span><a href="pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">></span></a></a><br/> @@ -587,7 +587,7 @@ </HEAD> <BODY> <a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.check/-check-box/-init-.html"><span class="identifier">CheckBox</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.check.CheckBox$<init>(kotlin.Boolean, kotlin.String, kotlin.Boolean)/value">value</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> false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.check.CheckBox$<init>(kotlin.Boolean, kotlin.String, kotlin.Boolean)/label">label</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> <span class="symbol">=</span> null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.check.CheckBox$<init>(kotlin.Boolean, kotlin.String, kotlin.Boolean)/rich">rich</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> false<span class="symbol">)</span></a></a><br/> -<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.check/-check-box/check-box.html"><span class="keyword">fun </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">checkBox</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.check.CheckBox.Companion$checkBox(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.check.CheckBox, kotlin.Unit)))/value">value</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> false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.check.CheckBox.Companion$checkBox(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.check.CheckBox, kotlin.Unit)))/label">label</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> <span class="symbol">=</span> null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.check.CheckBox.Companion$checkBox(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.check.CheckBox, kotlin.Unit)))/rich">rich</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> false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.check.CheckBox.Companion$checkBox(pl.treksoft.kvision.core.Container, kotlin.Boolean, kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.check.CheckBox, kotlin.Unit)))/init">init</span><span class="symbol">:</span> <a href="pl.treksoft.kvision.form.check/-check-box/index.html"><span class="identifier">CheckBox</span></a><span class="symbol">.</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> <span class="symbol">=</span> null<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></a></a><br/> +<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form.check/-check-box/check-box.html" |
