diff options
author | Robert Jaros <rjaros@finn.pl> | 2018-01-16 15:53:33 +0100 |
---|---|---|
committer | Robert Jaros <rjaros@finn.pl> | 2018-01-16 15:53:33 +0100 |
commit | 0ecae6728903740c4407fd4bb9ebab806c631f2f (patch) | |
tree | cb819fab1a7d5046ec54801706c534e0179caad0 | |
parent | 2c4fe2ef6fd0a0bfa53f6496a1d4bede8fe9219d (diff) | |
download | kvision-0ecae6728903740c4407fd4bb9ebab806c631f2f.tar.gz kvision-0ecae6728903740c4407fd4bb9ebab806c631f2f.tar.bz2 kvision-0ecae6728903740c4407fd4bb9ebab806c631f2f.zip |
Radio button group form control
-rw-r--r-- | src/main/kotlin/pl/treksoft/kvision/Showcase.kt | 8 | ||||
-rw-r--r-- | src/main/kotlin/pl/treksoft/kvision/form/check/Radio.kt | 2 | ||||
-rw-r--r-- | src/main/kotlin/pl/treksoft/kvision/form/check/RadioGroup.kt | 4 |
3 files changed, 10 insertions, 4 deletions
diff --git a/src/main/kotlin/pl/treksoft/kvision/Showcase.kt b/src/main/kotlin/pl/treksoft/kvision/Showcase.kt index dfdc5b6b..d7b76862 100644 --- a/src/main/kotlin/pl/treksoft/kvision/Showcase.kt +++ b/src/main/kotlin/pl/treksoft/kvision/Showcase.kt @@ -462,7 +462,13 @@ class Showcase : ApplicationBase() { }, required = true) add("spinner", Spinner(label = "Spinner"), required = true) add("radiogroup", RadioGroup(listOf("o1" to "Pierwsza opcja", "o2" to "Druga opcja"), - inline = true, label = "Radio group"), required = true) + inline = true, label = "Radio group").apply { + setEventListener<RadioGroup> { + change = { e -> + println(self.value) + } + } + }, required = true) validator = { val result = it["text"] == it["textarea"] diff --git a/src/main/kotlin/pl/treksoft/kvision/form/check/Radio.kt b/src/main/kotlin/pl/treksoft/kvision/form/check/Radio.kt index 1a28870a..696e2264 100644 --- a/src/main/kotlin/pl/treksoft/kvision/form/check/Radio.kt +++ b/src/main/kotlin/pl/treksoft/kvision/form/check/Radio.kt @@ -86,7 +86,7 @@ open class Radio(value: Boolean = false, extraValue: String? = null, label: Stri init { @Suppress("LeakingThis") - input.eventTarget = this + input.eventTarget = this.eventTarget ?: this this.addInternal(input) this.addInternal(flabel) this.addInternal(validationInfo) diff --git a/src/main/kotlin/pl/treksoft/kvision/form/check/RadioGroup.kt b/src/main/kotlin/pl/treksoft/kvision/form/check/RadioGroup.kt index 43a0d4e4..50bd49fc 100644 --- a/src/main/kotlin/pl/treksoft/kvision/form/check/RadioGroup.kt +++ b/src/main/kotlin/pl/treksoft/kvision/form/check/RadioGroup.kt @@ -55,7 +55,6 @@ open class RadioGroup(options: List<StringPair>? = null, value: String? = null, final override val validationInfo: HelpBlock = HelpBlock().apply { visible = false } init { - @Suppress("LeakingThis") setChildrenFromOptions() counter++ } @@ -103,8 +102,9 @@ open class RadioGroup(options: List<StringPair>? = null, value: String? = null, Radio(false, extraValue = it.first, label = it.second).apply { inline = tinline name = tidc + eventTarget = this@RadioGroup setEventListener<Radio> { - change = { + change = { e -> this@RadioGroup.value = self.extraValue } } |