diff options
4 files changed, 39 insertions, 0 deletions
diff --git a/src/main/kotlin/pl/treksoft/kvision/form/check/CheckBox.kt b/src/main/kotlin/pl/treksoft/kvision/form/check/CheckBox.kt index 4faee7e7..6776b8eb 100644 --- a/src/main/kotlin/pl/treksoft/kvision/form/check/CheckBox.kt +++ b/src/main/kotlin/pl/treksoft/kvision/form/check/CheckBox.kt @@ -1,5 +1,6 @@ package pl.treksoft.kvision.form.check +import org.w3c.dom.events.MouseEvent import pl.treksoft.kvision.core.Widget import pl.treksoft.kvision.form.BoolFormControl import pl.treksoft.kvision.form.FieldLabel @@ -126,4 +127,13 @@ open class CheckBox( } return cl } + + open fun onClick(handler: CheckBox.(MouseEvent) -> Unit): CheckBox { + this.setEventListener<CheckBox> { + click = { e -> + self.handler(e) + } + } + return this + } } diff --git a/src/main/kotlin/pl/treksoft/kvision/form/check/CheckInput.kt b/src/main/kotlin/pl/treksoft/kvision/form/check/CheckInput.kt index a3ccd126..7114b2c2 100644 --- a/src/main/kotlin/pl/treksoft/kvision/form/check/CheckInput.kt +++ b/src/main/kotlin/pl/treksoft/kvision/form/check/CheckInput.kt @@ -1,6 +1,7 @@ package pl.treksoft.kvision.form.check import com.github.snabbdom.VNode +import org.w3c.dom.events.MouseEvent import pl.treksoft.kvision.core.Widget import pl.treksoft.kvision.form.INPUTSIZE import pl.treksoft.kvision.snabbdom.StringBoolPair @@ -110,4 +111,13 @@ open class CheckInput( getElementJQuery()?.prop("checked", this.value) } } + + open fun onClick(handler: CheckInput.(MouseEvent) -> Unit): CheckInput { + this.setEventListener<CheckInput> { + click = { e -> + self.handler(e) + } + } + return this + } } 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 4dc0ac90..d7fa502f 100644 --- a/src/main/kotlin/pl/treksoft/kvision/form/check/Radio.kt +++ b/src/main/kotlin/pl/treksoft/kvision/form/check/Radio.kt @@ -1,5 +1,6 @@ package pl.treksoft.kvision.form.check +import org.w3c.dom.events.MouseEvent import pl.treksoft.kvision.core.Widget import pl.treksoft.kvision.form.BoolFormControl import pl.treksoft.kvision.form.FieldLabel @@ -141,4 +142,13 @@ open class Radio( } return cl } + + open fun onClick(handler: Radio.(MouseEvent) -> Unit): Radio { + this.setEventListener<Radio> { + click = { e -> + self.handler(e) + } + } + return this + } } diff --git a/src/main/kotlin/pl/treksoft/kvision/html/Button.kt b/src/main/kotlin/pl/treksoft/kvision/html/Button.kt index ec0fd881..4e8f7b3e 100644 --- a/src/main/kotlin/pl/treksoft/kvision/html/Button.kt +++ b/src/main/kotlin/pl/treksoft/kvision/html/Button.kt @@ -1,6 +1,7 @@ package pl.treksoft.kvision.html import com.github.snabbdom.VNode +import org.w3c.dom.events.MouseEvent import pl.treksoft.kvision.core.ResString import pl.treksoft.kvision.core.Widget import pl.treksoft.kvision.snabbdom.StringBoolPair @@ -87,4 +88,12 @@ open class Button( return super.getSnAttrs() + ("type" to "button") } + open fun onClick(handler: Button.(MouseEvent) -> Unit): Button { + this.setEventListener<Button> { + click = { e -> + self.handler(e) + } + } + return this + } } |