progress on making saving work better for accounts.

This commit is contained in:
Bryce Covert
2020-09-02 07:57:56 -07:00
parent 0297304cfc
commit f40ff431dd
7 changed files with 100 additions and 97 deletions

View File

@@ -116,12 +116,12 @@
[:span])])))
(defn multi-field [{:keys [override-key override-value-key change-event default-key data value template on-change allow-change?]} ]
(defn multi-field [{:keys [change-event data value template on-change allow-change?]} ]
(let [value-repr (r/atom (mapv
(fn [x]
(assoc x :key (random-uuid) :new? false))
value))]
(fn [{:keys [override-key override-value-key change-event default-key data value template on-change allow-change?]} ]
(fn [{:keys [change-event data value template on-change allow-change?]} ]
(let [value @value-repr
already-has-new-row? (= [:key :new?] (keys (last value)))
value (if already-has-new-row?
@@ -147,20 +147,22 @@
^{:key idx}
[:div.level-item
[update template 1 assoc
:value (get-in override (get-in template [1 :field]))
:disabled is-disabled?
:on-change (fn [e]
(reset! value-repr
(into []
(filter (fn [r]
(not= [:key :new?] (keys r)))
(assoc-in value (into [i] (get-in template [1 :field])) (.. e -target -value ) ))))
(on-change (mapv
(fn [v]
(dissoc v :new? :key))
@value-repr)))]])
(update template 1 assoc
:value (get-in override (get-in template [1 :field]))
:disabled is-disabled?
:on-change (fn [e]
(reset! value-repr
(into []
(filter (fn [r]
(not= [:key :new?] (keys r)))
(assoc-in value (into [i] (get-in template [1 :field]))
(if (and e (.. e -target))
(.. e -target -value )
e) ))))
(on-change (mapv
(fn [v]
(dissoc v :new? :key))
@value-repr))))])
]
[:div.level-item
[:a.button.level-item
@@ -170,9 +172,12 @@
(when-not is-disabled?
(reset! value-repr (into []
(filter (fn [{:keys [key ] :as v}]
(not= key (:key override)))
value)))
(filter (fn [r]
(not= [:key :new?] (keys r)))
value))))
(on-change (mapv
(fn [v]