aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/Form.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/FormPanel.kt8
2 files changed, 9 insertions, 1 deletions
diff --git a/src/main/kotlin/pl/treksoft/kvision/form/Form.kt b/src/main/kotlin/pl/treksoft/kvision/form/Form.kt
index 66f6f450..337152e3 100644
--- a/src/main/kotlin/pl/treksoft/kvision/form/Form.kt
+++ b/src/main/kotlin/pl/treksoft/kvision/form/Form.kt
@@ -56,7 +56,7 @@ open class Form<K>(private val panel: FormPanel<K>? = null, private val modelFac
open fun getData(): K {
val map = fields.entries.associateBy({ it.key }, { it.value.getValue() })
- return modelFactory(map)
+ return modelFactory(map.withDefault { null })
}
open fun validate(): Boolean {
diff --git a/src/main/kotlin/pl/treksoft/kvision/form/FormPanel.kt b/src/main/kotlin/pl/treksoft/kvision/form/FormPanel.kt
index e996cfae..65015f3f 100644
--- a/src/main/kotlin/pl/treksoft/kvision/form/FormPanel.kt
+++ b/src/main/kotlin/pl/treksoft/kvision/form/FormPanel.kt
@@ -92,6 +92,14 @@ open class FormPanel<K>(private val type: FORMTYPE? = null, classes: Set<String>
return this
}
+ open fun getControl(key: String): FormControl? {
+ return form.getControl(key)
+ }
+
+ operator fun get(key: String): Any? {
+ return getControl(key)?.getValue()
+ }
+
open fun setData(data: K) {
form.setData(data)
}