diff options
Diffstat (limited to 'kvision-modules/kvision-tabulator-remote')
6 files changed, 58 insertions, 10 deletions
diff --git a/kvision-modules/kvision-tabulator-remote/build.gradle b/kvision-modules/kvision-tabulator-remote/build.gradle deleted file mode 100644 index d498e275..00000000 --- a/kvision-modules/kvision-tabulator-remote/build.gradle +++ /dev/null @@ -1,6 +0,0 @@ -apply from: "../shared.gradle" - -dependencies { - compile project(":kvision-modules:kvision-tabulator") - compile project(":kvision-modules:kvision-remote") -} diff --git a/kvision-modules/kvision-tabulator-remote/build.gradle.kts b/kvision-modules/kvision-tabulator-remote/build.gradle.kts new file mode 100644 index 00000000..e6beb1c5 --- /dev/null +++ b/kvision-modules/kvision-tabulator-remote/build.gradle.kts @@ -0,0 +1,42 @@ +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-tabulator")) + 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() diff --git a/kvision-modules/kvision-tabulator-remote/package.json.d/project.info b/kvision-modules/kvision-tabulator-remote/package.json.d/project.info deleted file mode 100644 index c6af34cc..00000000 --- a/kvision-modules/kvision-tabulator-remote/package.json.d/project.info +++ /dev/null @@ -1,3 +0,0 @@ -{ - "description": "KVision Tabulator remote addon module" -} diff --git a/kvision-modules/kvision-tabulator-remote/src/main/kotlin/pl/treksoft/kvision/tabulator/TabulatorRemote.kt b/kvision-modules/kvision-tabulator-remote/src/main/kotlin/pl/treksoft/kvision/tabulator/TabulatorRemote.kt index b413066e..c9e8e208 100644 --- a/kvision-modules/kvision-tabulator-remote/src/main/kotlin/pl/treksoft/kvision/tabulator/TabulatorRemote.kt +++ b/kvision-modules/kvision-tabulator-remote/src/main/kotlin/pl/treksoft/kvision/tabulator/TabulatorRemote.kt @@ -49,7 +49,7 @@ import kotlin.browser.window * @param types a set of table types * @param classes a set of CSS class names */ -@UseExperimental(ImplicitReflectionSerializer::class) +@OptIn(ImplicitReflectionSerializer::class) open class TabulatorRemote<T : Any, E : Any>( serviceManager: KVServiceManager<E>, function: suspend E.(Int?, Int?, List<RemoteFilter>?, List<RemoteSorter>?, String?) -> RemoteData<T>, @@ -72,12 +72,14 @@ open class TabulatorRemote<T : Any, E : Any>( options.ajaxRequestFunc = { _, _, params -> val page = params.page val size = params.size + @Suppress("UnsafeCastFromDynamic") val filters = if (params.filters != null) { kotlin.js.JSON.stringify(params.filters) } else { null } + @Suppress("UnsafeCastFromDynamic") val sorters = if (params.sorters != null) { kotlin.js.JSON.stringify(params.sorters) @@ -85,6 +87,7 @@ open class TabulatorRemote<T : Any, E : Any>( null } val state = stateFunction?.invoke() + @Suppress("UnsafeCastFromDynamic") val data = JSON.plain.stringify(JsonRpcRequest(0, url, listOf(page, size, filters, sorters, state))) callAgent.remoteCall(url, data, method = HttpMethod.valueOf(method.name)).then { r: dynamic -> diff --git a/kvision-modules/kvision-tabulator-remote/webpack.config.d/bootstrap.js b/kvision-modules/kvision-tabulator-remote/webpack.config.d/bootstrap.js new file mode 100644 index 00000000..35b28e6a --- /dev/null +++ b/kvision-modules/kvision-tabulator-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-tabulator-remote/webpack.config.d/file.js b/kvision-modules/kvision-tabulator-remote/webpack.config.d/file.js new file mode 100644 index 00000000..653ca21f --- /dev/null +++ b/kvision-modules/kvision-tabulator-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, + }, + } +); |