diff options
Diffstat (limited to 'kvision-modules/kvision-bootstrap-select-remote')
6 files changed, 88 insertions, 11 deletions
diff --git a/kvision-modules/kvision-bootstrap-select-remote/build.gradle b/kvision-modules/kvision-bootstrap-select-remote/build.gradle deleted file mode 100644 index 7a4dc8fa..00000000 --- a/kvision-modules/kvision-bootstrap-select-remote/build.gradle +++ /dev/null @@ -1,6 +0,0 @@ -apply from: "../shared.gradle" - -dependencies { - compile project(":kvision-modules:kvision-bootstrap-select") - compile project(":kvision-modules:kvision-remote") -} diff --git a/kvision-modules/kvision-bootstrap-select-remote/build.gradle.kts b/kvision-modules/kvision-bootstrap-select-remote/build.gradle.kts new file mode 100644 index 00000000..e7b28ac8 --- /dev/null +++ b/kvision-modules/kvision-bootstrap-select-remote/build.gradle.kts @@ -0,0 +1,74 @@ +buildscript { + extra.set("production", (findProperty("prod") ?: findProperty("production") ?: "false") == "true") +} + +plugins { + kotlin("js") + id("maven-publish") +} + +repositories() + +kotlin { + kotlinJsTargets() +} + +dependencies { + implementation(kotlin("stdlib-js")) + api(rootProject) + api(project(":kvision-modules:kvision-bootstrap-select")) + api(project(":kvision-modules:kvision-common-remote")) + compileOnly(project(":kvision-modules:kvision-server-javalin")) + testImplementation(kotlin("test-js")) +} + +val sourcesJar by tasks.registering(Jar::class) { + archiveClassifier.set("sources") + from(kotlin.sourceSets.main.get().kotlin) +} + +publishing { + publications { + create<MavenPublication>("kotlin") { + from(components["kotlin"]) + artifact(tasks["sourcesJar"]) + pom { + defaultPom() + } + } + } +} + +setupPublication() + +fun copyResources() { + copy { + from("$buildDir/processedResources/Js/main") + into("${rootProject.buildDir}/js/packages/kvision-${project.name}/kotlin") + } + copy { + from("$buildDir/processedResources/Js/main") + into("${rootProject.buildDir}/js/packages/kvision-${project.name}/kotlin-dce") + } + copy { + from("${rootProject.projectDir}/kvision-modules/kvision-bootstrap-select/src/main/resources") + into("${rootProject.buildDir}/js/packages/kvision-${project.name}/kotlin") + } + copy { + from("${rootProject.projectDir}/kvision-modules/kvision-bootstrap-select/src/main/resources") + into("${rootProject.buildDir}/js/packages/kvision-${project.name}/kotlin-dce") + } +} + +tasks { + getByName("compileTestKotlinJs") { + doLast { + copyResources() + } + } + getByName("processDceKotlinJs") { + doLast { + copyResources() + } + } +} diff --git a/kvision-modules/kvision-bootstrap-select-remote/package.json.d/project.info b/kvision-modules/kvision-bootstrap-select-remote/package.json.d/project.info deleted file mode 100644 index 5685d581..00000000 --- a/kvision-modules/kvision-bootstrap-select-remote/package.json.d/project.info +++ /dev/null @@ -1,3 +0,0 @@ -{ - "description": "KVision Select remote addon module" -} 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 6092fd93..e7fd384c 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 @@ -25,7 +25,7 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.await import kotlinx.coroutines.launch import kotlinx.serialization.ImplicitReflectionSerializer -import kotlinx.serialization.list +import kotlinx.serialization.builtins.list import kotlinx.serialization.stringify import org.w3c.dom.get import pl.treksoft.kvision.core.Container @@ -53,7 +53,7 @@ external fun decodeURIComponent(encodedURI: String): String * @param preload preload all options from remote data source * @param classes a set of CSS class names */ -@UseExperimental(ImplicitReflectionSerializer::class) +@OptIn(ImplicitReflectionSerializer::class) open class SelectRemoteInput<T : Any>( serviceManager: KVServiceManager<T>, function: suspend T.(String?, String?, String?) -> List<RemoteOption>, diff --git a/kvision-modules/kvision-bootstrap-select-remote/webpack.config.d/bootstrap.js b/kvision-modules/kvision-bootstrap-select-remote/webpack.config.d/bootstrap.js new file mode 100644 index 00000000..35b28e6a --- /dev/null +++ b/kvision-modules/kvision-bootstrap-select-remote/webpack.config.d/bootstrap.js @@ -0,0 +1,3 @@ +config.module.rules.push({test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/font-woff'}); +config.module.rules.push({test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=application/octet-stream'}); +config.module.rules.push({test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file-loader'}); diff --git a/kvision-modules/kvision-bootstrap-select-remote/webpack.config.d/file.js b/kvision-modules/kvision-bootstrap-select-remote/webpack.config.d/file.js new file mode 100644 index 00000000..653ca21f --- /dev/null +++ b/kvision-modules/kvision-bootstrap-select-remote/webpack.config.d/file.js @@ -0,0 +1,9 @@ +config.module.rules.push( + { + test: /\.(jpe?g|png|gif|svg)$/i, + loader: 'file-loader', + options: { + esModule: false, + }, + } +); |