aboutsummaryrefslogtreecommitdiff
path: root/kvision-modules/kvision-datetime
diff options
context:
space:
mode:
Diffstat (limited to 'kvision-modules/kvision-datetime')
-rw-r--r--kvision-modules/kvision-datetime/build.gradle9
-rw-r--r--kvision-modules/kvision-datetime/package.json.d/project.info3
-rw-r--r--kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/KVManagerDatetime.kt81
-rw-r--r--kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/form/time/DateTime.kt246
-rw-r--r--kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/form/time/DateTimeInput.kt320
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ar.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.az.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bg.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bn.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ca.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.cs.js20
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.da.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.de.js19
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ee.js19
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.el.js16
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.es.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fi.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fr.js19
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.he.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hr.js16
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hu.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hy.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.id.js20
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.is.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.it.js19
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ja.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ka.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ko.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lt.js19
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lv.js19
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ms.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.nb.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.nl.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.no.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pl.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pt-BR.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pt.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ro.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.rs-latin.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.rs.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ru.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sk.js20
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sl.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sv.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sw.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.th.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.tr.js18
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ua.js16
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.uk.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.zh-TW.js17
-rw-r--r--kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.zh.js17
-rw-r--r--kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/TestUtil.kt100
-rw-r--r--kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeInputSpec.kt53
-rw-r--r--kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeSpec.kt62
-rw-r--r--kvision-modules/kvision-datetime/webpack.config.d/css.js2
55 files changed, 0 insertions, 1686 deletions
diff --git a/kvision-modules/kvision-datetime/build.gradle b/kvision-modules/kvision-datetime/build.gradle
deleted file mode 100644
index b853d2f4..00000000
--- a/kvision-modules/kvision-datetime/build.gradle
+++ /dev/null
@@ -1,9 +0,0 @@
-apply from: "../shared.gradle"
-
-kotlinFrontend {
-
- npm {
- dependency("bootstrap-datetime-picker", "2.4.4")
- }
-
-}
diff --git a/kvision-modules/kvision-datetime/package.json.d/project.info b/kvision-modules/kvision-datetime/package.json.d/project.info
deleted file mode 100644
index 3d332806..00000000
--- a/kvision-modules/kvision-datetime/package.json.d/project.info
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "description": "KVision Datetime module"
-}
diff --git a/kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/KVManagerDatetime.kt b/kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/KVManagerDatetime.kt
deleted file mode 100644
index 4cc71c8b..00000000
--- a/kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/KVManagerDatetime.kt
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2017-present Robert Jaros
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package pl.treksoft.kvision
-
-internal val kVManagerDatetimeInit = KVManagerDatetime.init()
-
-/**
- * Internal singleton object which initializes and configures KVision datetime module.
- */
-@Suppress("EmptyCatchBlock", "TooGenericExceptionCaught")
-internal object KVManagerDatetime {
- fun init() {}
-
- private val bootstrapDateTimePickerCss = try {
- require("bootstrap-datetime-picker/css/bootstrap-datetimepicker.min.css")
- } catch (e: Throwable) {
- }
- private val bootstrapDateTimePicker = try {
- require("bootstrap-datetime-picker/js/bootstrap-datetimepicker.min.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ar.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.az.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bg.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bn.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ca.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.cs.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.da.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.de.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ee.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.el.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.es.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fi.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fr.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.he.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hr.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hu.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hy.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.id.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.is.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.it.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ja.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ko.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lt.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lv.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.nl.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.no.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pl.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pt.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ro.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.rs.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ru.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sk.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sl.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sv.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.th.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.tr.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ua.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.uk.js")
- require("./js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.zh.js")
- } catch (e: Throwable) {
- }
-
-}
diff --git a/kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/form/time/DateTime.kt b/kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/form/time/DateTime.kt
deleted file mode 100644
index 3d32fd8c..00000000
--- a/kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/form/time/DateTime.kt
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (c) 2017-present Robert Jaros
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package pl.treksoft.kvision.form.time
-
-import pl.treksoft.kvision.core.Container
-import pl.treksoft.kvision.core.StringBoolPair
-import pl.treksoft.kvision.core.Widget
-import pl.treksoft.kvision.form.DateFormControl
-import pl.treksoft.kvision.form.FieldLabel
-import pl.treksoft.kvision.form.HelpBlock
-import pl.treksoft.kvision.panel.SimplePanel
-import pl.treksoft.kvision.utils.SnOn
-import kotlin.js.Date
-
-/**
- * Form field date/time chooser component.
- *
- * @constructor
- * @param value date/time input value
- * @param name the name attribute of the generated HTML input element
- * @param format date/time format (default YYYY-MM-DD HH:mm)
- * @param label label text bound to the input element
- * @param rich determines if [label] can contain HTML code
- */
-open class DateTime(
- value: Date? = null, name: String? = null, format: String = "YYYY-MM-DD HH:mm", label: String? = null,
- rich: Boolean = false
-) : SimplePanel(setOf("form-group")), DateFormControl {
-
- /**
- * Date/time input value.
- */
- override var value
- get() = input.value
- set(value) {
- input.value = value
- }
- /**
- * Date/time format.
- */
- var format
- get() = input.format
- set(value) {
- input.format = value
- }
- /**
- * The placeholder for the date/time input.
- */
- var placeholder
- get() = input.placeholder
- set(value) {
- input.placeholder = value
- }
- /**
- * Determines if the date/time input is automatically focused.
- */
- var autofocus
- get() = input.autofocus
- set(value) {
- input.autofocus = value
- }
- /**
- * Determines if the date/time input is read-only.
- */
- var readonly
- get() = input.readonly
- set(value) {
- input.readonly = value
- }
- /**
- * Day of the week start. 0 (Sunday) to 6 (Saturday).
- */
- var weekStart
- get() = input.weekStart
- set(value) {
- input.weekStart = value
- }
- /**
- * Days of the week that should be disabled. Multiple values should be comma separated.
- */
- var daysOfWeekDisabled
- get() = input.daysOfWeekDisabled
- set(value) {
- input.daysOfWeekDisabled = value
- }
- /**
- * Determines if *Clear* button should be visible.
- */
- var clearBtn
- get() = input.clearBtn
- set(value) {
- input.clearBtn = value
- }
- /**
- * Determines if *Today* button should be visible.
- */
- var todayBtn
- get() = input.todayBtn
- set(value) {
- input.todayBtn = value
- }
- /**
- * Determines if the current day should be highlighted.
- */
- var todayHighlight
- get() = input.todayHighlight
- set(value) {
- input.todayHighlight = value
- }
- /**
- * The increment used to build the hour view.
- */
- var minuteStep
- get() = input.minuteStep
- set(value) {
- input.minuteStep = value
- }
- /**
- * Determines if meridian views are visible in day and hour views.
- */
- var showMeridian
- get() = input.showMeridian
- set(value) {
- input.showMeridian = value
- }
- /**
- * The label text bound to the input element.
- */
- var label
- get() = flabel.content
- set(value) {
- flabel.content = value
- }
- /**
- * Determines if [label] can contain HTML code.
- */
- var rich
- get() = flabel.rich
- set(value) {
- flabel.rich = value
- }
-
- private val idc = "kv_form_time_$counter"
- final override val input: DateTimeInput = DateTimeInput(value, format).apply {
- this.id = idc
- this.name = name
- }
- final override val flabel: FieldLabel = FieldLabel(idc, label, rich)
- final override val validationInfo: HelpBlock = HelpBlock().apply { visible = false }
-
- init {
- @Suppress("LeakingThis")
- input.eventTarget = this
- this.addInternal(flabel)
- this.addInternal(input)
- this.addInternal(validationInfo)
- counter++
- }
-
- override fun getSnClass(): List<StringBoolPair> {
- val cl = super.getSnClass().toMutableList()
- if (validatorError != null) {
- cl.add("has-error" to true)
- }
- return cl
- }
-
- @Suppress("UNCHECKED_CAST")
- override fun <T : Widget> setEventListener(block: SnOn<T>.() -> Unit): Widget {
- input.setEventListener(block)
- return this
- }
-
- override fun setEventListener(block: SnOn<Widget>.() -> Unit): Widget {
- input.setEventListener(block)
- return this
- }
-
- override fun removeEventListeners(): Widget {
- input.removeEventListeners()
- return this
- }
-
- /**
- * Open date/time chooser popup.
- */
- open fun showPopup() {
- input.showPopup()
- }
-
- /**
- * Hides date/time chooser popup.
- */
- open fun hidePopup() {
- input.hidePopup()
- }
-
- override fun getValueAsString(): String? {
- return input.getValueAsString()
- }
-
- override fun focus() {
- input.focus()
- }
-
- override fun blur() {
- input.blur()
- }
-
- companion object {
- internal var counter = 0
-
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.dateTime(
- value: Date? = null, name: String? = null, format: String = "YYYY-MM-DD HH:mm", label: String? = null,
- rich: Boolean = false, init: (DateTime.() -> Unit)? = null
- ): DateTime {
- val dateTime = DateTime(value, name, format, label, rich).apply { init?.invoke(this) }
- this.add(dateTime)
- return dateTime
- }
- }
-}
diff --git a/kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/form/time/DateTimeInput.kt b/kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/form/time/DateTimeInput.kt
deleted file mode 100644
index a375ef35..00000000
--- a/kvision-modules/kvision-datetime/src/main/kotlin/pl/treksoft/kvision/form/time/DateTimeInput.kt
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Copyright (c) 2017-present Robert Jaros
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package pl.treksoft.kvision.form.time
-
-import com.github.snabbdom.VNode
-import pl.treksoft.kvision.core.Container
-import pl.treksoft.kvision.core.StringBoolPair
-import pl.treksoft.kvision.core.StringPair
-import pl.treksoft.kvision.core.Widget
-import pl.treksoft.kvision.form.FormInput
-import pl.treksoft.kvision.form.InputSize
-import pl.treksoft.kvision.i18n.I18n
-import pl.treksoft.kvision.types.toDateF
-import pl.treksoft.kvision.types.toStringF
-import pl.treksoft.kvision.utils.obj
-import kotlin.js.Date
-
-internal const val DEFAULT_MINUTE_STEP = 5
-internal const val MAX_VIEW = 4
-
-/**
- * Basic date/time chooser component.
- *
- * @constructor
- * @param value date/time input value
- * @param format date/time format (default YYYY-MM-DD HH:mm)
- * @param classes a set of CSS class names
- */
-@Suppress("TooManyFunctions")
-open class DateTimeInput(
- value: Date? = null, format: String = "YYYY-MM-DD HH:mm",
- classes: Set<String> = setOf()
-) : Widget(classes + "form-control"), FormInput {
-
- private var initialized = false
-
- init {
- this.setInternalEventListener<DateTimeInput> {
- change = {
- self.changeValue()
- }
- }
- }
-
- /**
- * Date/time input value.
- */
- var value by refreshOnUpdate(value) { refreshState() }
- /**
- * Date/time format.
- */
- var format by refreshOnUpdate(format) { refreshDatePicker() }
- /**
- * The placeholder for the date/time input.
- */
- var placeholder: String? by refreshOnUpdate()
- /**
- * The name attribute of the generated HTML input element.
- */
- override var name: String? by refreshOnUpdate()
- /**
- * Determines if the field is disabled.
- */
- override var disabled by refreshOnUpdate(false) { refresh(); checkDisabled() }
- /**
- * Determines if the text input is automatically focused.
- */
- var autofocus: Boolean? by refreshOnUpdate()
- /**
- * Determines if the date/time input is read-only.
- */
- var readonly: Boolean? by refreshOnUpdate()
- /**
- * The size of the input.
- */
- override var size: InputSize? by refreshOnUpdate()
- /**
- * Day of the week start. 0 (Sunday) to 6 (Saturday).
- */
- var weekStart by refreshOnUpdate(0) { refreshDatePicker() }
- /**
- * Days of the week that should be disabled. Multiple values should be comma separated.
- */
- var daysOfWeekDisabled by refreshOnUpdate(arrayOf<Int>()) { refreshDatePicker() }
- /**
- * Determines if *Clear* button should be visible.
- */
- var clearBtn by refreshOnUpdate(true) { refreshDatePicker() }
- /**
- * Determines if *Today* button should be visible.
- */
- var todayBtn by refreshOnUpdate(false) { refreshDatePicker() }
- /**
- * Determines if the current day should be highlighted.
- */
- var todayHighlight by refreshOnUpdate(false) { refreshDatePicker() }
- /**
- * The increment used to build the hour view.
- */
- var minuteStep by refreshOnUpdate(DEFAULT_MINUTE_STEP) { refreshDatePicker() }
- /**
- * Determines if meridian views are visible in day and hour views.
- */
- var showMeridian by refreshOnUpdate(false) { refreshDatePicker() }
-
- override fun render(): VNode {
- return render("input")
- }
-
- override fun getSnClass(): List<StringBoolPair> {
- val cl = super.getSnClass().toMutableList()
- size?.let {
- cl.add(it.className to true)
- }
- return cl
- }
-
- override fun getSnAttrs(): List<StringPair> {
- val sn = super.getSnAttrs().toMutableList()
- sn.add("type" to "text")
- placeholder?.let {
- sn.add("placeholder" to translate(it))
- }
- name?.let {
- sn.add("name" to it)
- }
- autofocus?.let {
- if (it) {
- sn.add("autofocus" to "autofocus")
- }
- }
- readonly?.let {
- if (it) {
- sn.add("readonly" to "readonly")
- }
- }
- if (disabled) {
- sn.add("disabled" to "disabled")
- value?.let {
- sn.add("value" to it.toStringF(format))
- }
- }
- return sn
- }
-
- private fun checkDisabled() {
- if (disabled) {
- if (initialized) {
- getElementJQueryD()?.datetimepicker("remove")
- initialized = false
- }
- } else {
- if (!initialized) {
- this.initDateTimePicker()
- this.initEventHandlers()
- this.refreshState()
- initialized = true
- }
- }
- }
-
- @Suppress("UnsafeCastFromDynamic")
- protected open fun refreshState() {
- value?.let {
- getElementJQueryD()?.datetimepicker("update", it)
- } ?: run {
- getElementJQueryD()?.`val`(null)
- getElementJQueryD()?.datetimepicker("update", null)
- }
- }
-
- protected open fun refreshDatePicker() {
- getElementJQueryD()?.`val`(null)
- getElementJQueryD()?.datetimepicker("remove")
- initDateTimePicker()
- refreshState()
- }
-
- protected open fun changeValue() {
- val v = getElementJQuery()?.`val`() as String?
- if (v != null && v.isNotEmpty()) {
- this.value = v.toDateF(format)
- } else {
- this.value = null
- }
- }
-
- /**
- * Open date/time chooser popup.
- */
- open fun showPopup() {
- if (initialized) getElementJQueryD()?.datetimepicker("show")
- }
-
- /**
- * Hides date/time chooser popup.
- */
- open fun hidePopup() {
- if (initialized) getElementJQueryD()?.datetimepicker("hide")
- }
-
- @Suppress("UnsafeCastFromDynamic")
- override fun afterInsert(node: VNode) {
- if (!this.disabled) {
- this.initDateTimePicker()
- this.initEventHandlers()
- this.refreshState()
- initialized = true
- }
- }
-
- override fun afterDestroy() {
- if (initialized) {
- getElementJQueryD()?.datetimepicker("remove")
- initialized = false
- }
- }
-
- private fun initDateTimePicker() {
- val datePickerFormat = format.toDatePickerFormat()
- val minView = if (format.contains("HH") || format.contains("mm")) 0 else 2
- val maxView = if (format.contains("YY") || format.contains("M") || format.contains("D")) MAX_VIEW else 1
- val startView = if (maxView < 2) maxView else 2
- val language = I18n.language
- getElementJQueryD()?.datetimepicker(obj {
- this.format = datePickerFormat
- this.startView = startView
- this.minView = minView
- this.maxView = maxView
- this.minuteStep = minuteStep
- this.todayHighlight = todayHighlight
- this.clearBtn = clearBtn
- this.todayBtn = todayBtn
- this.weekStart = weekStart
- this.showMeridian = showMeridian
- this.daysOfWeekDisabled = daysOfWeekDisabled
- this.autoclose = true
- this.language = language
- })
- }
-
- private fun initEventHandlers() {
- this.getElementJQuery()?.on("changeDate") { e, _ ->
- @Suppress("UnsafeCastFromDynamic")
- this.dispatchEvent("change", obj { detail = e })
- }
- this.getElementJQuery()?.on("show") { e, _ ->
- @Suppress("UnsafeCastFromDynamic")
- this.dispatchEvent("showBsDateTime", obj { detail = e })
- }
- this.getElementJQuery()?.on("hide") { e, _ ->
- @Suppress("UnsafeCastFromDynamic")
- this.dispatchEvent("hideBsDateTime", obj { detail = e })
- }
- }
-
- /**
- * Get value of date/time input control as String
- * @return value as a String
- */
- fun getValueAsString(): String? {
- return value?.toStringF(format)
- }
-
- /**
- * Makes the input element focused.
- */
- override fun focus() {
- getElementJQuery()?.focus()
- }
-
- /**
- * Makes the input element blur.
- */
- override fun blur() {
- getElementJQuery()?.blur()
- }
-
- companion object {
-
- private fun String.toDatePickerFormat(): String {
- return this.replace("YY", "yy").replace("m", "i").replace("MMMM", "{----}").replace("MMM", "{---}")
- .replace("M", "m").replace("{----}", "MM").replace("{---}", "M").replace("H", "{-}")
- .replace("h", "H").replace("{-}", "h").replace("D", "d").replace("a", "p").replace("A", "P")
- }
-
- /**
- * DSL builder extension function.
- *
- * It takes the same parameters as the constructor of the built component.
- */
- fun Container.dateTimeInput(
- value: Date? = null, format: String = "YYYY-MM-DD HH:mm", classes: Set<String> = setOf(),
- init: (DateTimeInput.() -> Unit)? = null
- ): DateTimeInput {
- val dateTimeInput = DateTimeInput(value, format, classes).apply { init?.invoke(this) }
- this.add(dateTimeInput)
- return dateTimeInput
- }
- }
-}
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ar.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ar.js
deleted file mode 100644
index a43b4739..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ar.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
-* Arabic translation for bootstrap-datetimepicker
-* Ala' Mohammad <amohammad@birzeit.ecu>
-*/
-;(function($){
- $.fn.datetimepicker.dates['ar'] = {
- days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"],
- daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"],
- daysMin: ["أح", "إث", "ث", "أر", "خ", "ج", "س", "أح"],
- months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
- monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"],
- today: "هذا اليوم",
- clear: "x",
- suffix: [],
- meridiem: [],
- rtl: true
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.az.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.az.js
deleted file mode 100644
index c840d6f0..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.az.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Azerbaijani translation for bootstrap-datetimepicker
- * Konstantin Kaluzhnikov <k.kaluzhnikov@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['az'] = {
- days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"],
- daysShort: ["B", "Be", "Ça", "Ç", "Ca", "C", "Ş", "B"],
- daysMin: ["B", "Be", "Ça", "Ç", "Ca", "C", "Ş", "B"],
- months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"],
- monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"],
- today: "Bugün",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bg.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bg.js
deleted file mode 100644
index 3bc7e273..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bg.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Bulgarian translation for bootstrap-datetimepicker
- * Apostol Apostolov <apostol.s.apostolov@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['bg'] = {
- days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"],
- daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"],
- daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"],
- months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"],
- monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"],
- today: "днес",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bn.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bn.js
deleted file mode 100644
index b46bd54f..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.bn.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Bangla(Bangladesh) translation for bootstrap-datetimepicker
- * Mahbub Rabbani <mahbub [dot] rucse [at] gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['bn'] = {
- days: ["রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহষ্পতিবার", "শুক্রবার", "শনিবার", "রবিবার"],
- daysShort: ["রবি", "সোম", "মঙ্গল", "বুধ", " বৃহঃ", "শুক্র", "শনি", "রবি"],
- daysMin: ["রবি", "সোম", "মঙ্গ", "বুধ", "বৃহ", "শুক্র", "শনি", "রবি"],
- months: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'অগাস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর' ],
- monthsShort: ['জানু', 'ফেব্রু', 'মার্চ', 'এপ্রি', 'মে', 'জুন', 'জুলা', 'অগা', 'সেপ্টে', 'অক্টো', 'নভে', 'ডিসে' ],
- today: "আজ",
- clear: "x",
- suffix: [],
- meridiem: ['পূর্বাহ্ণ', 'অপরাহ্ন']
- };
-}(jQuery)); \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ca.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ca.js
deleted file mode 100644
index d3137a2d..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ca.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Catalan translation for bootstrap-datetimepicker
- * J. Garcia <jogaco.en@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['ca'] = {
- days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"],
- daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"],
- daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"],
- months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"],
- monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"],
- today: "Avui",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.cs.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.cs.js
deleted file mode 100644
index 318cd5cf..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.cs.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Czech translation for bootstrap-datetimepicker
- * Matěj Koubík <matej@koubik.name>
- * Fixes by Michal Remiš <michal.remis@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['cs'] = {
- days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"],
- daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"],
- daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"],
- months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"],
- monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"],
- today: "Dnes",
- suffix: [],
- clear: "x",
- meridiem: [],
- weekStart: 1,
- format: "dd.mm.yyyy"
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.da.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.da.js
deleted file mode 100644
index 30d9a34a..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.da.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Danish translation for bootstrap-datetimepicker
- * Christian Pedersen <http://github.com/chripede>
- */
-;(function($){
- $.fn.datetimepicker.dates['da'] = {
- days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"],
- daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
- daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"],
- months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
- today: "I Dag",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery)); \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.de.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.de.js
deleted file mode 100644
index 52a19060..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.de.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * German translation for bootstrap-datetimepicker
- * Sam Zurcher <sam@orelias.ch>
- */
-;(function($){
- $.fn.datetimepicker.dates['de'] = {
- days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"],
- daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"],
- daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"],
- months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
- monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"],
- today: "Heute",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1,
- format: "dd.mm.yyyy"
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ee.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ee.js
deleted file mode 100644
index 882378f3..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ee.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Estonian translation for bootstrap-datetimepicker
- * Rene Korss <http://rene.korss.ee>
- */
-;(function($){
- $.fn.datetimepicker.dates['ee'] = {
- days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"],
- daysShort: ["P", "E", "T", "K", "N", "R", "L", "P"],
- daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"],
- months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"],
- monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"],
- today: "Täna",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1,
- format: "dd.mm.yyyy hh:ii"
- };
-}(jQuery)); \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.el.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.el.js
deleted file mode 100644
index cbbdc9a7..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.el.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
-* Greek translation for bootstrap-datetimepicker
-*/
-;(function($){
- $.fn.datetimepicker.dates['el'] = {
- days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"],
- daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"],
- daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"],
- months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"],
- monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"],
- today: "Σήμερα",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery)); \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.es.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.es.js
deleted file mode 100644
index bbf3c207..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.es.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Spanish translation for bootstrap-datetimepicker
- * Bruno Bonamin <bruno.bonamin@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['es'] = {
- days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"],
- daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"],
- daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"],
- months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
- monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
- today: "Hoy",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fi.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fi.js
deleted file mode 100644
index 95eb4a8d..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fi.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Finnish translation for bootstrap-datetimepicker
- * Jaakko Salonen <https://github.com/jsalonen>
- */
-;(function($){
- $.fn.datetimepicker.dates['fi'] = {
- days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"],
- daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"],
- daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"],
- months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"],
- monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"],
- today: "tänään",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fr.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fr.js
deleted file mode 100644
index f9194cbd..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.fr.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * French translation for bootstrap-datetimepicker
- * Nico Mollet <nico.mollet@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['fr'] = {
- days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"],
- daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"],
- daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"],
- months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
- monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"],
- today: "Aujourd'hui",
- suffix: [],
- clear: "x",
- meridiem: ["am", "pm"],
- weekStart: 1,
- format: "dd/mm/yyyy hh:ii"
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.he.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.he.js
deleted file mode 100644
index 1060a4a7..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.he.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Hebrew translation for bootstrap-datetimepicker
- * Sagie Maoz <sagie@maoz.info>
- */
-;(function($){
- $.fn.datetimepicker.dates['he'] = {
- days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"],
- daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
- daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
- months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"],
- monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"],
- today: "היום",
- clear: "x",
- suffix: [],
- meridiem: [],
- rtl: true
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hr.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hr.js
deleted file mode 100644
index f85540fa..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hr.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * Croatian localisation
- */
-;(function($){
- $.fn.datetimepicker.dates['hr'] = {
- days: ["Nedjelja", "Ponedjelja", "Utorak", "Srijeda", "Četrtak", "Petak", "Subota", "Nedjelja"],
- daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"],
- daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"],
- months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"],
- monthsShort: ["Sije", "Velj", "Ožu", "Tra", "Svi", "Lip", "Jul", "Kol", "Ruj", "Lis", "Stu", "Pro"],
- today: "Danas",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hu.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hu.js
deleted file mode 100644
index 5de9fe9e..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hu.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Hungarian translation for bootstrap-datetimepicker
- * darevish <http://github.com/darevish>
- */
-;(function($){
- $.fn.datetimepicker.dates['hu'] = {
- days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"],
- daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"],
- daysMin: ["V", "H", "K", "Sze", "Cs", "P", "Szo", "V"],
- months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"],
- monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"],
- today: "Ma",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hy.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hy.js
deleted file mode 100644
index cedee4db..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.hy.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Armenian translation for bootstrap-datepicker
- * Hayk Chamyan <hamshen@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['hy'] = {
- days: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ", "Կիրակի"],
- daysShort: ["Կիր", "Երկ", "Երք", "Չոր", "Հնգ", "Ուր", "Շաբ", "Կիր"],
- daysMin: ["Կի", "Եկ", "Եք", "Չո", "Հի", "Ու", "Շա", "Կի"],
- months: ["Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"],
- monthsShort: ["Հնվ", "Փետ", "Մար", "Ապր", "Մայ", "Հուն", "Հուլ", "Օգս", "Սեպ", "Հոկ", "Նոյ", "Դեկ"],
- today: "Այսօր",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.id.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.id.js
deleted file mode 100644
index feef4a3b..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.id.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Bahasa translation for bootstrap-datetimepicker
- * Azwar Akbar <azwar.akbar@gmail.com>
- * Addtional by Yulian Sutopo <yuliansutopo@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['id'] = {
- days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"],
- daysShort: ["Mng", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mng"],
- daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"],
- months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"],
- today: "Hari Ini",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1,
- format: "dd/mm/yyyy hh:ii:ss"
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.is.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.is.js
deleted file mode 100644
index 9944c6d7..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.is.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Icelandic translation for bootstrap-datetimepicker
- * Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['is'] = {
- days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"],
- daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"],
- daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"],
- months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"],
- today: "Í Dag",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.it.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.it.js
deleted file mode 100644
index c00a0499..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.it.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Italian translation for bootstrap-datetimepicker
- * Enrico Rubboli <rubboli@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['it'] = {
- days: ["Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato", "Domenica"],
- daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"],
- daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"],
- months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
- monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"],
- today: "Oggi",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1,
- format: "dd/mm/yyyy hh:ii:ss"
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ja.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ja.js
deleted file mode 100644
index 3a2d3b9b..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ja.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Japanese translation for bootstrap-datetimepicker
- * Norio Suzuki <https://github.com/suzuki/>
- */
-;(function($){
- $.fn.datetimepicker.dates['ja'] = {
- days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"],
- daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"],
- daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"],
- months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
- monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
- today: "今日",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ka.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ka.js
deleted file mode 100644
index d4595eff..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ka.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Georgian translation for bootstrap-datetimepicker
- * Zura Jijavadze <mailzura@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['ka'] = {
- days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი", "კვირა"],
- daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ", "კვი"],
- daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა", "კვ"],
- months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომბერი", "ნოემბერი", "დეკემბერი"],
- monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"],
- today: "დღეს",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery)); \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ko.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ko.js
deleted file mode 100644
index adeb6cb6..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ko.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Korean translation for bootstrap-datetimepicker
- * Gu Youn <http://github.com/guyoun>
- * Baekjoon Choi <http://github.com/Baekjoon>
- */
-;(function($){
- $.fn.datetimepicker.dates['ko'] = {
- days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"],
- daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"],
- daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"],
- months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
- monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
- suffix: [],
- meridiem: ["오전", "오후"],
- today: "오늘",
- clear: "x"
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lt.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lt.js
deleted file mode 100644
index 917243c4..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lt.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Lithuanian translation for bootstrap-datetimepicker
- * Šarūnas Gliebus <ssharunas@yahoo.co.uk>
- */
-
-;(function($){
- $.fn.datetimepicker.dates['lt'] = {
- days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"],
- daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"],
- daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"],
- months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"],
- monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"],
- today: "Šiandien",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lv.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lv.js
deleted file mode 100644
index f9b3c774..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.lv.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Latvian translation for bootstrap-datetimepicker
- * Artis Avotins <artis@apit.lv>
- */
-
-;(function($){
- $.fn.datetimepicker.dates['lv'] = {
- days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"],
- daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"],
- daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"],
- months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec."],
- today: "Šodien",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1
- };
-}(jQuery)); \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ms.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ms.js
deleted file mode 100644
index 26a2cc0e..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ms.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Malay translation for bootstrap-datetimepicker
- * Ateman Faiz <noorulfaiz@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['ms'] = {
- days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"],
- daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"],
- daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"],
- months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"],
- today: "Hari Ini",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.nb.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.nb.js
deleted file mode 100644
index a2fd01a6..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.nb.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Norwegian (bokmål) translation for bootstrap-datetimepicker
- * Fredrik Sundmyhr <http://github.com/fsundmyhr>
- */
-;(function($){
- $.fn.datetimepicker.dates['nb'] = {
- days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"],
- daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
- daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"],
- months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"],
- today: "I Dag",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery)); \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.nl.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.nl.js
deleted file mode 100644
index a28fa031..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.nl.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Dutch translation for bootstrap-datetimepicker
- * Reinier Goltstein <mrgoltstein@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['nl'] = {
- days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"],
- daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"],
- daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"],
- months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"],
- monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
- today: "Vandaag",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.no.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.no.js
deleted file mode 100644
index 36e33a0b..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.no.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Norwegian translation for bootstrap-datetimepicker
- * Rune Warhuus <rune@dinkdonkd.no>
- */
-;(function($){
- $.fn.datetimepicker.dates['no'] = {
- days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"],
- daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
- daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"],
- months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"],
- today: "I Dag",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pl.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pl.js
deleted file mode 100644
index 12fc7422..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pl.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Polish translation for bootstrap-datetimepicker
- * Robert <rtpm@gazeta.pl>
- */
-;(function($){
-$.fn.datetimepicker.dates['pl'] = {
- days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"],
- daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"],
- daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"],
- months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
- monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"],
- today: "Dzisiaj",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1
-};
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pt-BR.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pt-BR.js
deleted file mode 100644
index 1d307416..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pt-BR.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Brazilian translation for bootstrap-datetimepicker
- * Cauan Cabral <cauan@radig.com.br>
- */
-;(function($){
- $.fn.datetimepicker.dates['pt-BR'] = {
- format: 'dd/mm/yyyy',
- days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"],
- daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"],
- daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"],
- months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
- monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
- today: "Hoje",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pt.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pt.js
deleted file mode 100644
index 166034ef..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.pt.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Portuguese translation for bootstrap-datetimepicker
- * Original code: Cauan Cabral <cauan@radig.com.br>
- * Tiago Melo <tiago.blackcode@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['pt'] = {
- days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"],
- daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"],
- daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"],
- months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
- monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
- suffix: [],
- meridiem: [],
- today: "Hoje",
- clear: "x"
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ro.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ro.js
deleted file mode 100644
index a7569c6f..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ro.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Romanian translation for bootstrap-datetimepicker
- * Cristian Vasile <cristi.mie@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['ro'] = {
- days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"],
- daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"],
- daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"],
- months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"],
- monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"],
- today: "Astăzi",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.rs-latin.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.rs-latin.js
deleted file mode 100644
index 57c819f9..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.rs-latin.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Serbian latin translation for bootstrap-datetimepicker
- * Bojan Milosavlević <milboj@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['rs'] = {
- days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"],
- daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"],
- daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"],
- months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
- today: "Danas",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.rs.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.rs.js
deleted file mode 100644
index 3e9db3e6..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.rs.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Serbian cyrillic translation for bootstrap-datetimepicker
- * Bojan Milosavlević <milboj@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['rs'] = {
- days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"],
- daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"],
- daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"],
- months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"],
- monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"],
- today: "Данас",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ru.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ru.js
deleted file mode 100644
index 20caf251..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ru.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Russian translation for bootstrap-datetimepicker
- * Victor Taranenko <darwin@snowdale.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['ru'] = {
- days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"],
- daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"],
- daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"],
- months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
- monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"],
- today: "Сегодня",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery)); \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sk.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sk.js
deleted file mode 100644
index acf1495a..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sk.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Slovak translation for bootstrap-datetimepicker
- * Marek Lichtner <marek@licht.sk>
- * Fixes by Michal Remiš <michal.remis@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates["sk"] = {
- days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"],
- daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"],
- daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So", "Ne"],
- months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"],
- today: "Dnes",
- clear: "x",
- suffix: [],
- meridiem: [],
- weekStart: 1,
- format: "dd.mm.yyyy"
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sl.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sl.js
deleted file mode 100644
index a7e58bdf..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sl.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Slovene translation for bootstrap-datetimepicker
- * Gregor Rudolf <gregor.rudolf@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['sl'] = {
- days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"],
- daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"],
- daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"],
- months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
- today: "Danes",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sv.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sv.js
deleted file mode 100644
index 050125ad..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sv.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Swedish translation for bootstrap-datetimepicker
- * Patrik Ragnarsson <patrik@starkast.net>
- */
-;(function($){
- $.fn.datetimepicker.dates['sv'] = {
- days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"],
- daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"],
- daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"],
- months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
- today: "I Dag",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sw.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sw.js
deleted file mode 100644
index 8cdb4df2..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.sw.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Swahili translation for bootstrap-datetimepicker
- * Edwin Mugendi <https://github.com/edwinmugendi>
- * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku
- */
-;(function($){
- $.fn.datetimepicker.dates['sw'] = {
- days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"],
- daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"],
- daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"],
- months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"],
- monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"],
- today: "Leo",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.th.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.th.js
deleted file mode 100644
index 8adc129a..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.th.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Thai translation for bootstrap-datetimepicker
- * Suchau Jiraprapot <seroz24@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['th'] = {
- days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"],
- daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
- daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
- months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"],
- monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."],
- today: "วันนี้",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.tr.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.tr.js
deleted file mode 100644
index 0130c94c..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.tr.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Turkish translation for bootstrap-datetimepicker
- * Serkan Algur <kaisercrazy_2@hotmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['tr'] = {
- days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"],
- daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"],
- daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"],
- months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
- monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"],
- today: "Bugün",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery));
-
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ua.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ua.js
deleted file mode 100644
index 1687a1dc..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.ua.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * Ukrainian translation for bootstrap-datepicker
- * Igor Polynets
- */
-;(function($){
- $.fn.datetimepicker.dates['ua'] = {
- days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четверг", "П'ятниця", "Субота", "Неділя"],
- daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"],
- daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"],
- months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"],
- monthsShort: ["Січ", "Лют", "Бер", "Квт", "Трв", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Грд"],
- today: "Сьогодні",
- clear: "x",
- weekStart: 1
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.uk.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.uk.js
deleted file mode 100644
index 4b3a9e0a..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.uk.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Ukrainian translation for bootstrap-datetimepicker
- * Andrey Vityuk <andrey [dot] vityuk [at] gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['uk'] = {
- days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"],
- daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"],
- daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"],
- months: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"],
- monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"],
- today: "Сьогодні",
- clear: "x",
- suffix: [],
- meridiem: []
- };
-}(jQuery)); \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.zh-TW.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.zh-TW.js
deleted file mode 100644
index f84ba548..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.zh-TW.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Traditional Chinese translation for bootstrap-datetimepicker
- * Rung-Sheng Jang <daniel@i-trend.co.cc>
- */
-;(function($){
- $.fn.datetimepicker.dates['zh-TW'] = {
- days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
- daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
- daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"],
- months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
- monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
- today: "今天",
- clear: "x",
- suffix: [],
- meridiem: ["上午", "下午"]
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.zh.js b/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.zh.js
deleted file mode 100644
index 66ac5a01..00000000
--- a/kvision-modules/kvision-datetime/src/main/resources/js/locales/bootstrap-datetime-picker/bootstrap-datetimepicker.zh.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Simplified Chinese translation for bootstrap-datetimepicker
- * Yuan Cheung <advanimal@gmail.com>
- */
-;(function($){
- $.fn.datetimepicker.dates['zh'] = {
- days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
- daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
- daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"],
- months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
- monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
- today: "今天",
- clear: "x",
- suffix: [],
- meridiem: ["上午", "下午"]
- };
-}(jQuery));
diff --git a/kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/TestUtil.kt b/kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/TestUtil.kt
deleted file mode 100644
index 13c8531b..00000000
--- a/kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/TestUtil.kt
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2017-present Robert Jaros
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package test.pl.treksoft.kvision
-
-import org.w3c.dom.Element
-import pl.treksoft.jquery.jQuery
-import pl.treksoft.kvision.core.Widget
-import pl.treksoft.kvision.panel.Root
-import kotlin.browser.document
-import kotlin.test.assertEquals
-import kotlin.test.assertTrue
-
-interface TestSpec {
- fun beforeTest()
-
- fun afterTest()
-
- fun run(code: () -> Unit) {
- beforeTest()
- code()
- afterTest()
- }
-}
-
-interface SimpleSpec : TestSpec {
-
- override fun beforeTest() {
- }
-
- override fun afterTest() {
- }
-
-}
-
-interface DomSpec : TestSpec {
-
- override fun beforeTest() {
- val fixture = "<div style=\"display: none\" id=\"pretest\">" +
- "<div id=\"test\"></div></div>"
- document.body?.insertAdjacentHTML("afterbegin", fixture)
- }
-
- override fun afterTest() {
- val div = document.getElementById("pretest")
- div?.let { jQuery(it).remove() }
- jQuery(".modal-backdrop").remove()
- Root.shutdown()
- }
-
- fun assertEqualsHtml(expected: String?, actual: String?, message: String?) {
- if (expected != null && actual != null) {
- val exp = jQuery(expected)
- val act = jQuery(actual)
- val result = exp[0]?.isEqualNode(act[0])
- if (result == true) {
- assertTrue(result == true, message)
- } else {
- assertEquals(expected, actual, message)
- }
- } else {
- assertEquals(expected, actual, message)
- }
- }
-}
-
-interface WSpec : DomSpec {
-
- fun runW(code: (widget: Widget, element: Element?) -> Unit) {
- run {
- val root = Root("test", fixed = true)
- val widget = Widget()
- widget.id = "test_id"
- root.add(widget)
- val element = document.getElementById("test_id")
- code(widget, element)
- }
- }
-
-}
-
-external fun require(name: String): dynamic
diff --git a/kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeInputSpec.kt b/kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeInputSpec.kt
deleted file mode 100644
index 877cf650..00000000
--- a/kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeInputSpec.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2017-present Robert Jaros
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package test.pl.treksoft.kvision.form.time
-
-import pl.treksoft.kvision.form.time.DateTimeInput
-import pl.treksoft.kvision.panel.Root
-import pl.treksoft.kvision.types.toStringF
-import test.pl.treksoft.kvision.DomSpec
-import kotlin.js.Date
-import kotlin.test.Test
-import kotlin.test.assertEquals
-
-class DateTimeInputSpec : DomSpec {
-
- @Test
- fun render() {
- run {
- val root = Root("test", fixed = true)
- val data = Date()
- val dti = DateTimeInput(value = data).apply {
- placeholder = "place"
- id = "idti"
- }
- root.add(dti)
- val value = dti.getElementJQuery()?.`val`()
- assertEquals(
- data.toStringF(dti.format),
- value,
- "Should render date time input with correctly formatted value"
- )
- }
- }
-
-} \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeSpec.kt b/kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeSpec.kt
deleted file mode 100644
index b5e393bb..00000000
--- a/kvision-modules/kvision-datetime/src/test/kotlin/test/pl/treksoft/kvision/form/time/DateTimeSpec.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2017-present Robert Jaros
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package test.pl.treksoft.kvision.form.time
-
-import pl.treksoft.kvision.form.time.DateTime
-import pl.treksoft.kvision.panel.Root
-import pl.treksoft.kvision.types.toStringF
-import test.pl.treksoft.kvision.DomSpec
-import kotlin.browser.document
-import kotlin.js.Date
-import kotlin.test.Test
-
-class DateTimeSpec : DomSpec {
-
- @Test
- fun render() {
- run {
- val root = Root("test", fixed = true)
- val data = Date()
- val ti = DateTime(value = data, label = "Label").apply {
- placeholder = "place"
- name = "name"
- disabled = true
- }
- root.add(ti)
- val element = document.getElementById("test")
- val id = ti.input.id
- val datastr = data.toStringF(ti.format)
- assertEqualsHtml(
- "<div class=\"form-group\"><label class=\"control-label\" for=\"$id\">Label</label><input class=\"form-control\" id=\"$id\" type=\"text\" placeholder=\"place\" name=\"name\" disabled=\"disabled\" value=\"$datastr\"></div>",
- element?.innerHTML,
- "Should render correct date time input form control"
- )
- ti.validatorError = "Validation Error"
- assertEqualsHtml(
- "<div class=\"form-group has-error\"><label class=\"control-label\" for=\"$id\">Label</label><input class=\"form-control\" id=\"$id\" type=\"text\" placeholder=\"place\" name=\"name\" disabled=\"disabled\" value=\"$datastr\"><span class=\"help-block small\">Validation Error</span></div>",
- element?.innerHTML,
- "Should render correct date time input form control with validation error"
- )
- }
- }
-
-} \ No newline at end of file
diff --git a/kvision-modules/kvision-datetime/webpack.config.d/css.js b/kvision-modules/kvision-datetime/webpack.config.d/css.js
deleted file mode 100644
index 5d710d35..00000000
--- a/kvision-modules/kvision-datetime/webpack.config.d/css.js
+++ /dev/null
@@ -1,2 +0,0 @@
-config.module.rules.push({ test: /\.css$/, loader: "style-loader!css-loader" });
-