aboutsummaryrefslogtreecommitdiff
path: root/kvision-modules/kvision-bootstrap-select-remote/src
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2020-02-26 13:30:23 +0100
committerRobert Jaros <rjaros@finn.pl>2020-02-26 13:30:23 +0100
commit99dcb8e434d7e0ccf5dada379c1b03e894e6aa82 (patch)
tree25e6a9d47fdbddfc2af2d97eae35e1dba8d44490 /kvision-modules/kvision-bootstrap-select-remote/src
parent9a8525f2e5cb50071c076032fdcef5a48060108e (diff)
downloadkvision-99dcb8e434d7e0ccf5dada379c1b03e894e6aa82.tar.gz
kvision-99dcb8e434d7e0ccf5dada379c1b03e894e6aa82.tar.bz2
kvision-99dcb8e434d7e0ccf5dada379c1b03e894e6aa82.zip
Major changes in the event handling architecture. Support for multiple event handlers.
Diffstat (limited to 'kvision-modules/kvision-bootstrap-select-remote/src')
-rw-r--r--kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemote.kt13
-rw-r--r--kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemoteInput.kt3
2 files changed, 10 insertions, 6 deletions
diff --git a/kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemote.kt b/kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemote.kt
index 550de427..e2f84fff 100644
--- a/kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemote.kt
+++ b/kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemote.kt
@@ -187,15 +187,18 @@ open class SelectRemote<T : Any>(
}
@Suppress("UNCHECKED_CAST")
- override fun <T : Widget> setEventListener(block: SnOn<T>.() -> Unit): Widget {
- input.setEventListener(block)
- return this
+ override fun <T : Widget> setEventListener(block: SnOn<T>.() -> Unit): Int {
+ return input.setEventListener(block)
}
@Deprecated("Use onEvent extension function instead.", ReplaceWith("onEvent(block)", "pl.treksoft.kvision.core.onEvent"))
- override fun setEventListener(block: SnOn<Widget>.() -> Unit): Widget {
+ override fun setEventListener(block: SnOn<Widget>.() -> Unit): Int {
@Suppress("DEPRECATION")
- input.setEventListener(block)
+ return input.setEventListener(block)
+ }
+
+ override fun removeEventListener(id: Int): Widget {
+ input.removeEventListener(id)
return this
}
diff --git a/kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemoteInput.kt b/kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemoteInput.kt
index 96277728..d6abc0f6 100644
--- a/kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemoteInput.kt
+++ b/kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemoteInput.kt
@@ -29,6 +29,7 @@ import kotlinx.serialization.list
import kotlinx.serialization.stringify
import org.w3c.dom.get
import pl.treksoft.kvision.core.Container
+import pl.treksoft.kvision.core.onEvent
import pl.treksoft.kvision.remote.CallAgent
import pl.treksoft.kvision.remote.HttpMethod
import pl.treksoft.kvision.remote.JsonRpcRequest
@@ -114,7 +115,7 @@ open class SelectRemoteInput<T : Any>(
preserveSelected = ajaxOptions?.preserveSelected ?: true
)
if (this.ajaxOptions?.emptyRequest == true) {
- this.setInternalEventListener<SelectRemote<*>> {
+ this.onEvent {
shownBsSelect = {
val input = self.getElementJQuery()?.parent()?.find("input")
input?.trigger("keyup", null)