fix: arrows to pick a date

This commit is contained in:
Tienson Qin
2020-10-28 22:39:15 +08:00
parent 943d2b7b5c
commit 5d06704c2b
2 changed files with 8 additions and 11 deletions

View File

@@ -152,7 +152,8 @@
(util/stop e))}
(ui/datepicker
date
{:on-change
{:deadline-or-schedule? deadline-or-schedule?
:on-change
(fn [e date]
(util/stop e)
(let [date (t/to-default-time-zone date)

View File

@@ -181,33 +181,29 @@
(rum/defc date-picker < rum/reactive
(mixins/event-mixin
(fn [state]
(let [{:keys [on-change on-switch]}(last (:rum/args state))]
(let [{:keys [on-change on-switch deadline-or-schedule?]} (last (:rum/args state))]
(mixins/on-key-down
state
{;; enter, current day
13 (fn [state e]
(when on-change
(when-not (util/input? (gobj/get e "target"))
(when-not deadline-or-schedule?
(on-change e @*internal-model))))
;; left, previous day
37 (fn [state e]
(when-not (util/input? (gobj/get e "target"))
(swap! *internal-model inc-date -1)))
(swap! *internal-model inc-date -1))
;; right, next day
39 (fn [state e]
(when-not (util/input? (gobj/get e "target"))
(swap! *internal-model inc-date 1)))
(swap! *internal-model inc-date 1))
;; up, one week ago
38 (fn [state e]
(when-not (util/input? (gobj/get e "target"))
(swap! *internal-model inc-week -1)))
(swap! *internal-model inc-week -1))
;; down, next week
40 (fn [state e]
(when-not (util/input? (gobj/get e "target"))
(swap! *internal-model inc-week 1)))}
(swap! *internal-model inc-week 1))}
(fn [e key-code]
(when (contains? #{13 37 38 39 40} key-code)
(util/stop e)))))))