complete parity between reports.

This commit is contained in:
2022-04-01 07:59:55 -07:00
parent aaa82714d9
commit e06861158e
6 changed files with 170 additions and 48 deletions

View File

@@ -100,6 +100,13 @@
e
(date->str (time/from-default-time-zone (c/from-date e)) standard))))))
(defn dispatch-cljs-date-change [event]
(fn [e g]
(re-frame/dispatch (conj event
(if (str/blank? e)
e
(time/from-default-time-zone (c/from-date e)))))))
;; TODO inline on-changes causes each field to be rerendered each time. When we fix this
;; let's make sure that we find away not to trigger a re-render for every component any time any form field
;; changes
@@ -305,10 +312,10 @@
(let [field (if (keyword? field) [field] field)
event (if (keyword? event) [event] event)
selected (get-in subscription field)
selected (cond (string? selected)
(c/to-date (time/to-default-time-zone (time/from-default-time-zone (str->date selected standard))))
(instance? goog.date.DateTime selected)
(c/to-date (time/to-default-time-zone (time/from-default-time-zone selected)))
@@ -317,9 +324,10 @@
:else
selected )
keys (assoc keys
:on-change (dispatch-date-change (conj event field))
:on-change (when (:cljs-date? keys)
(dispatch-date-change (conj event field))
(dispatch-cljs-date-change (conj event field)))
:selected selected
:class (str class
(when (and spec (not (s/valid? spec (get-in subscription field))))
@@ -451,8 +459,6 @@
:next-month-label ""
:type "date")])
(defn local-now []
(t/to-default-time-zone (t/now)))