aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2018-02-04 21:49:23 +0100
committerRobert Jaros <rjaros@finn.pl>2018-02-04 21:49:23 +0100
commit70d2f14d4a34f841a3161482eec5d355cbd755f6 (patch)
tree847cb461a2f261f6f2b3a6b0ebbc6918f1da0467 /src
parent9665fe692681bc958e55d00cc0d0b238b7aee694 (diff)
downloadkvision-70d2f14d4a34f841a3161482eec5d355cbd755f6.tar.gz
kvision-70d2f14d4a34f841a3161482eec5d355cbd755f6.tar.bz2
kvision-70d2f14d4a34f841a3161482eec5d355cbd755f6.zip
Refactoring packages layout
Diffstat (limited to 'src')
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/ApplicationBase.kt23
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/KVManager.kt (renamed from src/main/kotlin/pl/treksoft/kvision/core/KVManager.kt)51
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/core/Component.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/core/Css.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/core/StyledComponent.kt1
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/core/Types.kt9
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/core/Widget.kt18
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/dropdown/DropDown.kt6
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/FieldLabel.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/FormPanel.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/check/CheckBox.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/check/CheckInput.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/check/Radio.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/check/RadioGroup.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/select/AjaxOptions.kt6
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/select/Select.kt6
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/select/SelectInput.kt8
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/select/SelectOptGroup.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/select/SelectOption.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/spinner/Spinner.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/spinner/SpinnerInput.kt6
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/text/AbstractText.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/text/AbstractTextInput.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/text/RichTextInput.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/text/TextAreaInput.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/text/TextInput.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/time/DateTime.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/form/time/DateTimeInput.kt6
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/hmr/ApplicationBase.kt23
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/hmr/HMR.kt (renamed from src/main/kotlin/pl/treksoft/kvision/HMR.kt)7
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/html/Button.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/html/Image.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/html/Link.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/html/List.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/html/Tag.kt4
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/modal/CloseIcon.kt (renamed from src/main/kotlin/pl/treksoft/kvision/helpers/CloseIcon.kt)8
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/modal/Modal.kt9
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/panel/FlexPanel.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/panel/GridPanel.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/panel/Root.kt (renamed from src/main/kotlin/pl/treksoft/kvision/core/Root.kt)6
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/panel/SplitPanel.kt2
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/routing/Routing.kt13
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/utils/Snabbdom.kt (renamed from src/main/kotlin/pl/treksoft/kvision/snabbdom/Types.kt)7
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/utils/Utils.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/KVManagerSpec.kt (renamed from src/test/kotlin/test/pl/treksoft/kvision/core/KVManagerSpec.kt)11
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/TestUtil.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/core/ContainerSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/core/WidgetSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/core/WidgetWrapperSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/data/DataContainerSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/dropdown/DropDownSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/FieldLabelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/HelpBlockSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/check/CheckBoxSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/check/CheckInputSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/check/RadioGroupSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/check/RadioSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/select/SelectInputSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/select/SelectOptGroupSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/select/SelectOptionSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/select/SelectSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerInputSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/spinner/SpinnerSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/text/PasswordSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/text/RichTextInputSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/text/RichTextSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/text/TextAreaInputSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/text/TextAreaSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/text/TextInputSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/text/TextSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeInputSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/html/ButtonSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/html/ImageSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/html/LabelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/html/LinkSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/html/ListSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/html/TagSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/modal/AlertSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/modal/CloseIconSpec.kt (renamed from src/test/kotlin/test/pl/treksoft/kvision/helpers/CloseIconSpec.kt)6
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/modal/ConfirmSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/modal/ModalSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/DockPanelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/FlexPanelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/GridPanelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/HPanelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/ResponsiveGridPanelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/RootSpec.kt (renamed from src/test/kotlin/test/pl/treksoft/kvision/core/RootSpec.kt)4
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/SplitPanelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/StackPanelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/TabPanelSpec.kt2
-rw-r--r--src/test/kotlin/test/pl/treksoft/kvision/panel/VPanelSpec.kt2
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.