diff options
| author | Robert Jaros <rjaros@finn.pl> | 2018-02-04 21:49:23 +0100 |
|---|---|---|
| committer | Robert Jaros <rjaros@finn.pl> | 2018-02-04 21:49:23 +0100 |
| commit | 70d2f14d4a34f841a3161482eec5d355cbd755f6 (patch) | |
| tree | 847cb461a2f261f6f2b3a6b0ebbc6918f1da0467 /src | |
| parent | 9665fe692681bc958e55d00cc0d0b238b7aee694 (diff) | |
| download | kvision-70d2f14d4a34f841a3161482eec5d355cbd755f6.tar.gz kvision-70d2f14d4a34f841a3161482eec5d355cbd755f6.tar.bz2 kvision-70d2f14d4a34f841a3161482eec5d355cbd755f6.zip | |
Refactoring packages layout
Diffstat (limited to 'src')
92 files changed, 206 insertions, 196 deletions
diff --git a/src/main/kotlin/pl/treksoft/kvision/ApplicationBase.kt b/src/main/kotlin/pl/treksoft/kvision/ApplicationBase.kt deleted file mode 100644 index 83ad69ca..00000000 --- a/src/main/kotlin/pl/treksoft/kvision/ApplicationBase.kt +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @author Robert Jaros - */ -package pl.treksoft.kvision - -/** - * Base class for applications. - * - * Every application class should inherit from this abstract class. -*/ -abstract class ApplicationBase { -/** - * Starting point for an application. - * @param state Initial state between Hot Module Replacement (HMR). -*/ -abstract fun start(state: Map<String, Any>) - -/** - * Ending point for an application. - * @return final state for Hot Module Replacement (HMR). -*/ -abstract fun dispose(): Map<String, Any> -} diff --git a/src/main/kotlin/pl/treksoft/kvision/core/KVManager.kt b/src/main/kotlin/pl/treksoft/kvision/KVManager.kt index 7ca0ce26..5d5c03fa 100644 --- a/src/main/kotlin/pl/treksoft/kvision/core/KVManager.kt +++ b/src/main/kotlin/pl/treksoft/kvision/KVManager.kt @@ -1,4 +1,7 @@ -package pl.treksoft.kvision.core +/** + * @author Robert Jaros + */ +package pl.treksoft.kvision import com.github.snabbdom.Snabbdom import com.github.snabbdom.VNode @@ -8,15 +11,19 @@ import com.github.snabbdom.datasetModule import com.github.snabbdom.eventListenersModule import com.github.snabbdom.propsModule import com.github.snabbdom.styleModule -import pl.treksoft.kvision.require -import pl.treksoft.kvision.routing.Routing -import pl.treksoft.kvision.routing.routing import kotlin.browser.document import kotlin.dom.clear -external val kvBootstrap: Boolean? +/** + * @suppress + * External function for loading CommonJS modules. + */ +external fun require(name: String): dynamic -object KVManager { +/** + * Internal singleton object which initializes and configures KVision framework. + */ +internal object KVManager { internal const val AJAX_REQUEST_DELAY = 300 internal const val KVNULL = "#kvnull" @@ -29,19 +36,26 @@ object KVManager { private val fontAwesomeWebpack = require("font-awesome-webpack") private val resizable = require("jquery-resizable-dom") private val awesomeBootstrapCheckbox = require("awesome-bootstrap-checkbox") - private val bootstrapSelectCss = require("bootstrap-select/dist/css/bootstrap-select.min.css") + private val bootstrapSelectCss = + require("bootstrap-select/dist/css/bootstrap-select.min.css") private val bootstrapSelect = require("bootstrap-select") private val bootstrapSelectI18n = require("./js/bootstrap-select-i18n.min.js") - private val bootstrapSelectAjaxCss = require("ajax-bootstrap-select/dist/css/ajax-bootstrap-select.min.css") - private val bootstrapSelectAjax = require("ajax-bootstrap-select/dist/js/ajax-bootstrap-select.min.js") + private val bootstrapSelectAjaxCss = + require("ajax-bootstrap-select/dist/css/ajax-bootstrap-select.min.css") + private val bootstrapSelectAjax = + require("ajax-bootstrap-select/dist/js/ajax-bootstrap-select.min.js") // private val bootstrapSelectAjaxI18n = // require("ajax-bootstrap-select/dist/js/locale/ajax-bootstrap-select.pl-PL.min.js") private val trixCss = require("trix/dist/trix.css") private val trix = require("trix") - private val bootstrapDateTimePickerCss = require("bootstrap-datetime-picker/css/bootstrap-datetimepicker.min.css") - private val bootstrapDateTimePicker = require("bootstrap-datetime-picker/js/bootstrap-datetimepicker.min.js") - private val bootstrapTouchspinCss = require("bootstrap-touchspin/dist/jquery.bootstrap-touchspin.min.css") - private val bootstrapTouchspin = require("bootstrap-touchspin/dist/jquery.bootstrap-touchspin.min.js") + private val bootstrapDateTimePickerCss = + require("bootstrap-datetime-picker/css/bootstrap-datetimepicker.min.css") + private val bootstrapDateTimePicker = + require("bootstrap-datetime-picker/js/bootstrap-datetimepicker.min.js") + private val bootstrapTouchspinCss = + require("bootstrap-touchspin/dist/jquery.bootstrap-touchspin.min.css") + private val bootstrapTouchspin = + require("bootstrap-touchspin/dist/jquery.bootstrap-touchspin.min.js") internal val fecha = require("fecha") private val sdPatch = Snabbdom.init( @@ -67,15 +81,4 @@ object KVManager { internal fun virtualize(html: String): VNode { return sdVirtualize(html) } - - fun init() { - } - - fun start() { - routing = Routing() - } - - fun shutdown() { - routing.destroy() - } } diff --git a/src/main/kotlin/pl/treksoft/kvision/core/Component.kt b/src/main/kotlin/pl/treksoft/kvision/core/Component.kt index bdd254ba..c322892c 100644 --- a/src/main/kotlin/pl/treksoft/kvision/core/Component.kt +++ b/src/main/kotlin/pl/treksoft/kvision/core/Component.kt @@ -3,8 +3,8 @@ package pl.treksoft.kvision.core import com.github.snabbdom.VNode import org.w3c.dom.Node import pl.treksoft.jquery.JQuery +import pl.treksoft.kvision.panel.Root -@Suppress("TooManyFunctions") interface Component { var parent: Component? var visible: Boolean diff --git a/src/main/kotlin/pl/treksoft/kvision/core/Css.kt b/src/main/kotlin/pl/treksoft/kvision/core/Css.kt index a5a85531..80860647 100644 --- a/src/main/kotlin/pl/treksoft/kvision/core/Css.kt +++ b/src/main/kotlin/pl/treksoft/kvision/core/Css.kt @@ -3,8 +3,6 @@ package pl.treksoft.kvision.core import pl.treksoft.kvision.utils.asString import pl.treksoft.kvision.utils.toHexString -typealias ResString = String - @Suppress("EnumNaming", "EnumEntryName") enum class UNIT(val unit: String) { px("px"), @@ -24,8 +22,6 @@ enum class UNIT(val unit: String) { auto("auto") } -typealias CssSize = Pair<Int, UNIT> - enum class BORDERSTYLE(val borderStyle: String) { NONE("none"), HIDDEN("hidden"), diff --git a/src/main/kotlin/pl/treksoft/kvision/core/StyledComponent.kt b/src/main/kotlin/pl/treksoft/kvision/core/StyledComponent.kt index b2676929..ed6def5f 100644 --- a/src/main/kotlin/pl/treksoft/kvision/core/StyledComponent.kt +++ b/src/main/kotlin/pl/treksoft/kvision/core/StyledComponent.kt @@ -1,6 +1,5 @@ package pl.treksoft.kvision.core -import pl.treksoft.kvision.snabbdom.StringPair import pl.treksoft.kvision.utils.asString abstract class StyledComponent : Component { diff --git a/src/main/kotlin/pl/treksoft/kvision/core/Types.kt b/src/main/kotlin/pl/treksoft/kvision/core/Types.kt new file mode 100644 index 00000000..05a4bec7 --- /dev/null +++ b/src/main/kotlin/pl/treksoft/kvision/core/Types.kt @@ -0,0 +1,9 @@ +package pl.treksoft.kvision.core + +typealias ResString = String + +typealias StringPair = Pair<String, String> + +typealias StringBoolPair = Pair<String, Boolean> + +typealias CssSize = Pair<Int, UNIT> diff --git a/src/main/kotlin/pl/treksoft/kvision/core/Widget.kt b/src/main/kotlin/pl/treksoft/kvision/core/Widget.kt index 4ff7a640..08e67da0 100644 --- a/src/main/kotlin/pl/treksoft/kvision/core/Widget.kt +++ b/src/main/kotlin/pl/treksoft/kvision/core/Widget.kt @@ -7,15 +7,15 @@ import org.w3c.dom.CustomEventInit import org.w3c.dom.Node import pl.treksoft.jquery.JQuery import pl.treksoft.jquery.jQuery -import pl.treksoft.kvision.snabbdom.SnOn -import pl.treksoft.kvision.snabbdom.StringBoolPair -import pl.treksoft.kvision.snabbdom.StringPair -import pl.treksoft.kvision.snabbdom.hooks -import pl.treksoft.kvision.snabbdom.on -import pl.treksoft.kvision.snabbdom.snAttrs -import pl.treksoft.kvision.snabbdom.snClasses -import pl.treksoft.kvision.snabbdom.snOpt -import pl.treksoft.kvision.snabbdom.snStyle +import pl.treksoft.kvision.KVManager +import pl.treksoft.kvision.panel.Root +import pl.treksoft.kvision.utils.SnOn +import pl.treksoft.kvision.utils.hooks +import pl.treksoft.kvision.utils.on +import pl.treksoft.kvision.utils.snAttrs +import pl.treksoft.kvision.utils. |
