Bugfixes
This commit is contained in:
parent
36bdad8036
commit
8cdebf7f3b
|
@ -5,12 +5,12 @@ prefix = "/plan"
|
||||||
debug = false
|
debug = false
|
||||||
|
|
||||||
[schedule]
|
[schedule]
|
||||||
reference = "2019-06-12"
|
reference = "2019-06-13"
|
||||||
offset = 7200000
|
offset = 7200000
|
||||||
wall_start = 1
|
wall_start = 0
|
||||||
|
|
||||||
[reso]
|
[reso]
|
||||||
day = 3
|
day = 2
|
||||||
time = 900
|
time = 900
|
||||||
|
|
||||||
[general]
|
[general]
|
||||||
|
|
|
@ -10,6 +10,11 @@ fun formatDateTime(unix: Long) =
|
||||||
.withLocale(KlockLocale.german)
|
.withLocale(KlockLocale.german)
|
||||||
.format(unix)
|
.format(unix)
|
||||||
|
|
||||||
|
fun formatDate(unix: Long) =
|
||||||
|
DateFormat("EEEE, d. MMMM y")
|
||||||
|
.withLocale(KlockLocale.german)
|
||||||
|
.format(unix)
|
||||||
|
|
||||||
fun formatTimeDiff(time: Long, now: Long): String {
|
fun formatTimeDiff(time: Long, now: Long): String {
|
||||||
var dt = (time - now) / 1000
|
var dt = (time - now) / 1000
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
package de.kif.frontend.views
|
package de.kif.frontend.views
|
||||||
|
|
||||||
|
import de.kif.common.formatDate
|
||||||
import de.westermann.kwebview.View
|
import de.westermann.kwebview.View
|
||||||
import de.westermann.kwebview.components.InputType
|
import de.westermann.kwebview.components.InputType
|
||||||
import de.westermann.kwebview.components.InputView
|
import de.westermann.kwebview.components.InputView
|
||||||
import de.westermann.kwebview.components.TextView
|
import de.westermann.kwebview.components.TextView
|
||||||
import de.westermann.kwebview.createHtmlView
|
import de.westermann.kwebview.createHtmlView
|
||||||
import de.westermann.kwebview.iterator
|
import de.westermann.kwebview.iterator
|
||||||
import org.w3c.dom.HTMLDivElement
|
import org.w3c.dom.*
|
||||||
import org.w3c.dom.HTMLElement
|
|
||||||
import org.w3c.dom.get
|
|
||||||
import kotlin.browser.document
|
import kotlin.browser.document
|
||||||
|
|
||||||
fun initRoomConstraints() {
|
fun initRoomConstraints() {
|
||||||
|
@ -19,6 +18,14 @@ fun initRoomConstraints() {
|
||||||
val addButton =
|
val addButton =
|
||||||
View.wrap(document.getElementsByClassName("room-constraints-add")[0] as HTMLElement)
|
View.wrap(document.getElementsByClassName("room-constraints-add")[0] as HTMLElement)
|
||||||
|
|
||||||
|
val referenceDate = constraints.dataset["reference"]?.toLongOrNull() ?: 0L
|
||||||
|
|
||||||
|
fun updateDateView(inputGroup: HTMLElement, day: Int) {
|
||||||
|
val date = referenceDate + (day * 1000 * 60 * 60 * 24)
|
||||||
|
val dateName = formatDate(date)
|
||||||
|
inputGroup.dataset["hint"] = dateName
|
||||||
|
}
|
||||||
|
|
||||||
addButton.onClick {
|
addButton.onClick {
|
||||||
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
|
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
|
||||||
classList += "input-group"
|
classList += "input-group"
|
||||||
|
@ -26,10 +33,18 @@ fun initRoomConstraints() {
|
||||||
classList += "form-btn"
|
classList += "form-btn"
|
||||||
onClick { this@wrap.html.remove() }
|
onClick { this@wrap.html.remove() }
|
||||||
}.html)
|
}.html)
|
||||||
html.appendChild(InputView(InputType.TEXT).apply {
|
html.appendChild(InputView(InputType.NUMBER).apply {
|
||||||
classList += "form-control"
|
classList += "form-control"
|
||||||
html.name = "constraint-room-day-${index}"
|
html.name = "constraint-room-day-${index}"
|
||||||
placeholder = "Tag"
|
placeholder = "Tag"
|
||||||
|
|
||||||
|
min = -1337.0
|
||||||
|
max = 1337.0
|
||||||
|
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
valueProperty.onChange {
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
}
|
||||||
}.html)
|
}.html)
|
||||||
html.appendChild(InputView(InputType.TEXT).apply {
|
html.appendChild(InputView(InputType.TEXT).apply {
|
||||||
classList += "form-control"
|
classList += "form-control"
|
||||||
|
@ -52,6 +67,17 @@ fun initRoomConstraints() {
|
||||||
println("click")
|
println("click")
|
||||||
child.remove()
|
child.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
for (e in child.children.iterator()) {
|
||||||
|
if (e.classList.contains("-day-")) {
|
||||||
|
val input = InputView.wrap(e as HTMLInputElement)
|
||||||
|
|
||||||
|
updateDateView(child, input.value.toIntOrNull() ?: 0)
|
||||||
|
input.valueProperty.onChange {
|
||||||
|
updateDateView(child, input.value.toIntOrNull() ?: 0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package de.kif.frontend.views
|
package de.kif.frontend.views
|
||||||
|
|
||||||
|
import de.kif.common.formatDate
|
||||||
import de.kif.frontend.launch
|
import de.kif.frontend.launch
|
||||||
import de.kif.frontend.repository.RoomRepository
|
import de.kif.frontend.repository.RoomRepository
|
||||||
import de.kif.frontend.repository.WorkGroupRepository
|
import de.kif.frontend.repository.WorkGroupRepository
|
||||||
|
@ -23,6 +24,8 @@ fun initWorkGroupConstraints() {
|
||||||
val addList =
|
val addList =
|
||||||
ListView.wrap<View>(document.getElementsByClassName("work-group-constraints-add-list")[0] as HTMLElement)
|
ListView.wrap<View>(document.getElementsByClassName("work-group-constraints-add-list")[0] as HTMLElement)
|
||||||
|
|
||||||
|
val referenceDate = constraints.dataset["reference"]?.toLongOrNull() ?: 0L
|
||||||
|
|
||||||
addButton.onClick {
|
addButton.onClick {
|
||||||
addList.classList += "active"
|
addList.classList += "active"
|
||||||
|
|
||||||
|
@ -36,6 +39,12 @@ fun initWorkGroupConstraints() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun updateDateView(inputGroup: HTMLElement, day: Int) {
|
||||||
|
val date = referenceDate + (day * 1000 * 60 * 60 * 24)
|
||||||
|
val dateName = formatDate(date)
|
||||||
|
inputGroup.dataset["hint"] = dateName
|
||||||
|
}
|
||||||
|
|
||||||
addList.textView("Nur an Tag x") {
|
addList.textView("Nur an Tag x") {
|
||||||
onClick {
|
onClick {
|
||||||
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
|
constraints.appendChild(View.wrap(createHtmlView<HTMLDivElement>()) {
|
||||||
|
@ -50,6 +59,11 @@ fun initWorkGroupConstraints() {
|
||||||
min = -1337.0
|
min = -1337.0
|
||||||
max = 1337.0
|
max = 1337.0
|
||||||
placeholder = "Tag"
|
placeholder = "Tag"
|
||||||
|
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
valueProperty.onChange {
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
}
|
||||||
}.html)
|
}.html)
|
||||||
}.html)
|
}.html)
|
||||||
}
|
}
|
||||||
|
@ -68,6 +82,11 @@ fun initWorkGroupConstraints() {
|
||||||
min = -1337.0
|
min = -1337.0
|
||||||
max = 1337.0
|
max = 1337.0
|
||||||
placeholder = "Tag"
|
placeholder = "Tag"
|
||||||
|
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
valueProperty.onChange {
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
}
|
||||||
}.html)
|
}.html)
|
||||||
}.html)
|
}.html)
|
||||||
}
|
}
|
||||||
|
@ -84,6 +103,11 @@ fun initWorkGroupConstraints() {
|
||||||
classList += "form-control"
|
classList += "form-control"
|
||||||
html.name = "constraint-only-before-time-day-${index}"
|
html.name = "constraint-only-before-time-day-${index}"
|
||||||
placeholder = "Tag (optional)"
|
placeholder = "Tag (optional)"
|
||||||
|
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
valueProperty.onChange {
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
}
|
||||||
}.html)
|
}.html)
|
||||||
html.appendChild(InputView(InputType.TEXT).apply {
|
html.appendChild(InputView(InputType.TEXT).apply {
|
||||||
classList += "form-control"
|
classList += "form-control"
|
||||||
|
@ -105,6 +129,11 @@ fun initWorkGroupConstraints() {
|
||||||
classList += "form-control"
|
classList += "form-control"
|
||||||
html.name = "constraint-only-after-time-day-${index}"
|
html.name = "constraint-only-after-time-day-${index}"
|
||||||
placeholder = "Tag (optional)"
|
placeholder = "Tag (optional)"
|
||||||
|
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
valueProperty.onChange {
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
}
|
||||||
}.html)
|
}.html)
|
||||||
html.appendChild(InputView(InputType.TEXT).apply {
|
html.appendChild(InputView(InputType.TEXT).apply {
|
||||||
classList += "form-control"
|
classList += "form-control"
|
||||||
|
@ -126,6 +155,11 @@ fun initWorkGroupConstraints() {
|
||||||
classList += "form-control"
|
classList += "form-control"
|
||||||
html.name = "constraint-exact-time-day-${index}"
|
html.name = "constraint-exact-time-day-${index}"
|
||||||
placeholder = "Tag (optional)"
|
placeholder = "Tag (optional)"
|
||||||
|
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
valueProperty.onChange {
|
||||||
|
updateDateView(this@wrap.html, value.toIntOrNull() ?: 0)
|
||||||
|
}
|
||||||
}.html)
|
}.html)
|
||||||
html.appendChild(InputView(InputType.TEXT).apply {
|
html.appendChild(InputView(InputType.TEXT).apply {
|
||||||
classList += "form-control"
|
classList += "form-control"
|
||||||
|
@ -243,6 +277,17 @@ fun initWorkGroupConstraints() {
|
||||||
span.addEventListener("click", org.w3c.dom.events.EventListener {
|
span.addEventListener("click", org.w3c.dom.events.EventListener {
|
||||||
child.remove()
|
child.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
for (e in child.children.iterator()) {
|
||||||
|
if (e.classList.contains("-day-")) {
|
||||||
|
val input = InputView.wrap(e as HTMLInputElement)
|
||||||
|
|
||||||
|
updateDateView(child, input.value.toIntOrNull() ?: 0)
|
||||||
|
input.valueProperty.onChange {
|
||||||
|
updateDateView(child, input.value.toIntOrNull() ?: 0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,4 +206,15 @@ form {
|
||||||
border-bottom-right-radius: 0;
|
border-bottom-right-radius: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
content: attr(data-hint);
|
||||||
|
position: absolute;
|
||||||
|
left: 100%;
|
||||||
|
color: var(--text-secondary-color);
|
||||||
|
line-height: 2.5rem;
|
||||||
|
margin-left: 1rem;
|
||||||
|
width: 100%;
|
||||||
|
top: 2.3rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package de.kif.backend.route
|
package de.kif.backend.route
|
||||||
|
|
||||||
|
import de.kif.backend.Configuration
|
||||||
import de.kif.backend.authenticateOrRedirect
|
import de.kif.backend.authenticateOrRedirect
|
||||||
import de.kif.backend.prefix
|
import de.kif.backend.prefix
|
||||||
import de.kif.backend.repository.RoomRepository
|
import de.kif.backend.repository.RoomRepository
|
||||||
|
@ -237,6 +238,8 @@ fun Route.room() {
|
||||||
}
|
}
|
||||||
|
|
||||||
div("form-group room-constraints") {
|
div("form-group room-constraints") {
|
||||||
|
attributes["data-reference"] = Configuration.Schedule.referenceDate.time.toString()
|
||||||
|
|
||||||
label {
|
label {
|
||||||
+"Sperrzeiten"
|
+"Sperrzeiten"
|
||||||
}
|
}
|
||||||
|
@ -244,7 +247,6 @@ fun Route.room() {
|
||||||
i("material-icons") { +"add" }
|
i("material-icons") { +"add" }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for ((index, constraint) in editRoom.blocked.withIndex()) {
|
for ((index, constraint) in editRoom.blocked.withIndex()) {
|
||||||
div("input-group") {
|
div("input-group") {
|
||||||
span("form-btn") {
|
span("form-btn") {
|
||||||
|
@ -252,10 +254,14 @@ fun Route.room() {
|
||||||
}
|
}
|
||||||
input(
|
input(
|
||||||
name = "constraint-room-day-$index",
|
name = "constraint-room-day-$index",
|
||||||
classes = "form-control"
|
classes = "form-control",
|
||||||
|
type = InputType.number
|
||||||
) {
|
) {
|
||||||
value = constraint.day.toString()
|
value = constraint.day.toString()
|
||||||
|
|
||||||
|
min = "-1337"
|
||||||
|
max = "1337"
|
||||||
|
|
||||||
placeholder = "Tag"
|
placeholder = "Tag"
|
||||||
}
|
}
|
||||||
input(
|
input(
|
||||||
|
@ -477,6 +483,7 @@ fun Route.room() {
|
||||||
}
|
}
|
||||||
|
|
||||||
div("form-group room-constraints") {
|
div("form-group room-constraints") {
|
||||||
|
attributes["data-reference"] = Configuration.Schedule.referenceDate.time.toString()
|
||||||
label {
|
label {
|
||||||
+"Sperrzeiten"
|
+"Sperrzeiten"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package de.kif.backend.route
|
package de.kif.backend.route
|
||||||
|
|
||||||
|
import de.kif.backend.Configuration
|
||||||
import de.kif.backend.authenticateOrRedirect
|
import de.kif.backend.authenticateOrRedirect
|
||||||
import de.kif.backend.prefix
|
import de.kif.backend.prefix
|
||||||
import de.kif.backend.repository.RoomRepository
|
import de.kif.backend.repository.RoomRepository
|
||||||
|
@ -363,6 +364,8 @@ fun Route.workGroup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
div("form-group work-group-constraints") {
|
div("form-group work-group-constraints") {
|
||||||
|
attributes["data-reference"] = Configuration.Schedule.referenceDate.time.toString()
|
||||||
|
|
||||||
label {
|
label {
|
||||||
+"Constraints"
|
+"Constraints"
|
||||||
}
|
}
|
||||||
|
@ -835,6 +838,8 @@ fun Route.workGroup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
div("form-group work-group-constraints") {
|
div("form-group work-group-constraints") {
|
||||||
|
attributes["data-reference"] = Configuration.Schedule.referenceDate.time.toString()
|
||||||
|
|
||||||
label {
|
label {
|
||||||
+"Constraints"
|
+"Constraints"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue