aboutsummaryrefslogtreecommitdiff
path: root/kvision-modules/kvision-bootstrap-select-remote
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2019-10-25 15:08:38 +0200
committerRobert Jaros <rjaros@finn.pl>2019-10-25 15:08:38 +0200
commita990385dd3f2dbac4807b7a9498271efb3519c0d (patch)
treee5b2e4a550cefea0541c798a243a9dcec7343168 /kvision-modules/kvision-bootstrap-select-remote
parent888a25415f4f309f66d72a698b40b0f7043e9ee7 (diff)
downloadkvision-a990385dd3f2dbac4807b7a9498271efb3519c0d.tar.gz
kvision-a990385dd3f2dbac4807b7a9498271efb3519c0d.tar.bz2
kvision-a990385dd3f2dbac4807b7a9498271efb3519c0d.zip
Now dropdown align option for Select and RemoteSelect components.
Diffstat (limited to 'kvision-modules/kvision-bootstrap-select-remote')
-rw-r--r--kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemote.kt8
-rw-r--r--kvision-modules/kvision-bootstrap-select-remote/src/main/kotlin/pl/treksoft/kvision/form/select/SelectRemoteInput.kt52
2 files changed, 38 insertions, 22 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 74cb3694..a81d7f2d 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
@@ -116,6 +116,14 @@ open class SelectRemote<T : Any>(
input.selectWidthType = value
}
/**
+ * The dropdown align of the select control.
+ */
+ var dropdownAlign
+ get() = input.dropdownAlign
+ set(value) {
+ input.dropdownAlign = value
+ }
+ /**
* Determines if an empty option is automatically generated.
*/
var emptyOption
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 af3f1a52..f1643e3d 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
@@ -68,29 +68,37 @@ open class SelectRemoteInput<T : Any>(
q = "{{{q}}}"
}
val tempAjaxOptions = ajaxOptions ?: AjaxOptions()
- this.ajaxOptions = tempAjaxOptions.copy(url = url, preprocessData = {
- @Suppress("UnsafeCastFromDynamic")
- JSON.plain.parse(RemoteOption.serializer().list, it.result as String).map {
- obj {
- this.value = it.value
- if (it.text != null) this.text = it.text
- if (it.className != null) this.`class` = it.className
- if (it.disabled) this.disabled = true
- if (it.divider) this.divider = true
- this.data = obj {
- if (it.subtext != null) this.subtext = it.subtext
- if (it.icon != null) this.icon = it.icon
- if (it.content != null) this.content = it.content
+ this.ajaxOptions = tempAjaxOptions.copy(
+ url = url,
+ preprocessData = {
+ @Suppress("UnsafeCastFromDynamic")
+ JSON.plain.parse(RemoteOption.serializer().list, it.result as String).map {
+ obj {
+ this.value = it.value
+ if (it.text != null) this.text = it.text
+ if (it.className != null) this.`class` = it.className
+ if (it.disabled) this.disabled = true
+ if (it.divider) this.divider = true
+ this.data = obj {
+ if (it.subtext != null) this.subtext = it.subtext
+ if (it.icon != null) this.icon = it.icon
+ if (it.content != null) this.content = it.content
+ }
}
- }
- }.toTypedArray()
- }, data = data, beforeSend = { _, b ->
- @Suppress("UnsafeCastFromDynamic")
- val q = decodeURIComponent(b.data.substring(2))
- val state = stateFunction?.invoke()
- b.data = JSON.plain.stringify(JsonRpcRequest(0, url, listOf(q, this.value, state)))
- true
- }, httpType = HttpType.valueOf(method.name), cache = false, preserveSelected = true)
+ }.toTypedArray()
+ },
+ data = data,
+ beforeSend = { _, b ->
+ @Suppress("UnsafeCastFromDynamic")
+ val q = decodeURIComponent(b.data.substring(2))
+ val state = stateFunction?.invoke()
+ b.data = JSON.plain.stringify(JsonRpcRequest(0, url, listOf(q, this.value, state)))
+ true
+ },
+ httpType = HttpType.valueOf(method.name),
+ cache = false,
+ preserveSelected = ajaxOptions?.preserveSelected ?: true
+ )
if (value != null) {
GlobalScope.launch {
val callAgent = CallAgent()