aboutsummaryrefslogtreecommitdiff
path: root/kvision-modules/kvision-bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'kvision-modules/kvision-bootstrap')
-rw-r--r--kvision-modules/kvision-bootstrap/build.gradle12
-rw-r--r--kvision-modules/kvision-bootstrap/build.gradle.kts49
-rw-r--r--kvision-modules/kvision-bootstrap/package.json.d/project.info3
-rw-r--r--kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt1
-rw-r--r--kvision-modules/kvision-bootstrap/webpack.config.d/bootstrap.js1
-rw-r--r--kvision-modules/kvision-bootstrap/webpack.config.d/file.js9
-rw-r--r--kvision-modules/kvision-bootstrap/webpack.config.d/jquery.js14
7 files changed, 68 insertions, 21 deletions
diff --git a/kvision-modules/kvision-bootstrap/build.gradle b/kvision-modules/kvision-bootstrap/build.gradle
deleted file mode 100644
index 3d964668..00000000
--- a/kvision-modules/kvision-bootstrap/build.gradle
+++ /dev/null
@@ -1,12 +0,0 @@
-apply from: "../shared.gradle"
-
-kotlinFrontend {
-
- npm {
- dependency("popper.js", "1.16.1")
- dependency("bootstrap", "4.4.1")
- dependency("awesome-bootstrap-checkbox", "1.0.1")
- dependency("element-resize-event", "3.0.3")
- }
-
-}
diff --git a/kvision-modules/kvision-bootstrap/build.gradle.kts b/kvision-modules/kvision-bootstrap/build.gradle.kts
new file mode 100644
index 00000000..bed8be05
--- /dev/null
+++ b/kvision-modules/kvision-bootstrap/build.gradle.kts
@@ -0,0 +1,49 @@
+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)
+ implementation(npm("popper.js", "1.16.1"))
+ implementation(npm("bootstrap", "4.4.1"))
+ implementation(npm("awesome-bootstrap-checkbox", "1.0.1"))
+ implementation(npm("element-resize-event", "3.0.3"))
+ 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()
+
+tasks {
+ getByName("JsJar", Jar::class) {
+ from("${rootProject.buildDir}/js/packages/kvision-${project.name}/package.json")
+ }
+}
diff --git a/kvision-modules/kvision-bootstrap/package.json.d/project.info b/kvision-modules/kvision-bootstrap/package.json.d/project.info
deleted file mode 100644
index e77a0f47..00000000
--- a/kvision-modules/kvision-bootstrap/package.json.d/project.info
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "description": "KVision Bootstrap module"
-}
diff --git a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt
index 44c0a243..36967e2b 100644
--- a/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt
+++ b/kvision-modules/kvision-bootstrap/src/main/kotlin/pl/treksoft/kvision/panel/TabPanel.kt
@@ -216,6 +216,7 @@ open class TabPanel(
}
content.remove(content.getChildren()[index])
activeIndex = content.activeIndex
+ @Suppress("UnsafeCastFromDynamic")
this@TabPanel.dispatchEvent("tabChange", obj { detail = obj { data = activeIndex } })
return this
}
diff --git a/kvision-modules/kvision-bootstrap/webpack.config.d/bootstrap.js b/kvision-modules/kvision-bootstrap/webpack.config.d/bootstrap.js
index 32a7c4d0..35b28e6a 100644
--- a/kvision-modules/kvision-bootstrap/webpack.config.d/bootstrap.js
+++ b/kvision-modules/kvision-bootstrap/webpack.config.d/bootstrap.js
@@ -1,4 +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'});
-config.module.rules.push({test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader?limit=10000&mimetype=image/svg+xml'});
diff --git a/kvision-modules/kvision-bootstrap/webpack.config.d/file.js b/kvision-modules/kvision-bootstrap/webpack.config.d/file.js
new file mode 100644
index 00000000..653ca21f
--- /dev/null
+++ b/kvision-modules/kvision-bootstrap/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,
+ },
+ }
+);
diff --git a/kvision-modules/kvision-bootstrap/webpack.config.d/jquery.js b/kvision-modules/kvision-bootstrap/webpack.config.d/jquery.js
index bf5a1a20..e6c6b219 100644
--- a/kvision-modules/kvision-bootstrap/webpack.config.d/jquery.js
+++ b/kvision-modules/kvision-bootstrap/webpack.config.d/jquery.js
@@ -1,5 +1,9 @@
-config.plugins.push(new webpack.ProvidePlugin({
- $: "jquery",
- jQuery: "jquery",
- "window.jQuery": "jquery"
-}));
+;(function() {
+ const webpack = require('webpack')
+
+ config.plugins.push(new webpack.ProvidePlugin({
+ $: "jquery",
+ jQuery: "jquery",
+ "window.jQuery": "jquery"
+ }));
+})();