diff options
author | Robert Jaros <rjaros@finn.pl> | 2017-09-01 16:15:38 +0200 |
---|---|---|
committer | Robert Jaros <rjaros@finn.pl> | 2017-09-01 16:15:38 +0200 |
commit | 79a1a1573051649b7b2d7b3fcd57d8506eb26bcb (patch) | |
tree | 5943cb30d71ccfaa0591edd2ce6204a181fd15e3 /src/main/kotlin/pl/treksoft/kvision/Main.kt | |
parent | fce6a5dcd7804b4ef618484182f8e8ebc053c761 (diff) | |
download | kvision-79a1a1573051649b7b2d7b3fcd57d8506eb26bcb.tar.gz kvision-79a1a1573051649b7b2d7b3fcd57d8506eb26bcb.tar.bz2 kvision-79a1a1573051649b7b2d7b3fcd57d8506eb26bcb.zip |
Testing framework
Diffstat (limited to 'src/main/kotlin/pl/treksoft/kvision/Main.kt')
-rw-r--r-- | src/main/kotlin/pl/treksoft/kvision/Main.kt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/kotlin/pl/treksoft/kvision/Main.kt b/src/main/kotlin/pl/treksoft/kvision/Main.kt new file mode 100644 index 00000000..918cd51f --- /dev/null +++ b/src/main/kotlin/pl/treksoft/kvision/Main.kt @@ -0,0 +1,35 @@ +package pl.treksoft.kvision + +import kotlin.browser.* +import kotlin.dom.* + +fun main(args: Array<String>) { + var application: ApplicationBase? = null + + val state: dynamic = module.hot?.let { hot -> + hot.accept() + + hot.dispose { data -> + data.appState = application?.dispose() + application = null + } + + hot.data + } + + if (document.body != null) { + application = start(state) + } else { + application = null + document.addEventListener("DOMContentLoaded", { application = start(state) }) + } +} + +fun start(state: dynamic): ApplicationBase? { + if (document.getElementById("showcase") == null) return null + val application = Showcase() + @Suppress("UnsafeCastFromDynamic") + application.start(state?.appState ?: emptyMap()) + return application +} + |