From 110c60e71d1f66a521764e3768b140744d28bee7 Mon Sep 17 00:00:00 2001 From: Robert Jaros Date: Sun, 19 Jan 2020 22:45:28 +0100 Subject: Fix external URL prefix for SelectRemote and TabulatorRemote components --- .../kotlin/pl/treksoft/kvision/form/select/SelectRemoteInput.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'kvision-modules/kvision-bootstrap-select-remote') 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 ac05a6d3..391b53ef 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 @@ -27,6 +27,7 @@ import kotlinx.coroutines.launch import kotlinx.serialization.ImplicitReflectionSerializer import kotlinx.serialization.list import kotlinx.serialization.stringify +import org.w3c.dom.get import pl.treksoft.kvision.core.Container import pl.treksoft.kvision.remote.CallAgent import pl.treksoft.kvision.remote.HttpMethod @@ -35,6 +36,7 @@ import pl.treksoft.kvision.remote.KVServiceManager import pl.treksoft.kvision.remote.RemoteOption import pl.treksoft.kvision.utils.JSON import pl.treksoft.kvision.utils.obj +import kotlin.browser.window external fun decodeURIComponent(encodedURI: String): String @@ -62,6 +64,10 @@ open class SelectRemoteInput( private val preload: Boolean = false, classes: Set = setOf() ) : SelectInput(null, value, multiple, null, classes) { + + private val kvUrlPrefix = window["kv_remote_url_prefix"] + private val urlPrefix: String = if (kvUrlPrefix != undefined) kvUrlPrefix else "" + private val url: String private val labelsCache = mutableMapOf() private var initRun = false @@ -77,7 +83,7 @@ open class SelectRemoteInput( } val tempAjaxOptions = ajaxOptions ?: AjaxOptions() this.ajaxOptions = tempAjaxOptions.copy( - url = url, + url = urlPrefix + url, preprocessData = { @Suppress("UnsafeCastFromDynamic") JSON.plain.parse(RemoteOption.serializer().list, it.result as String).map { -- cgit