progress on making saving work better for accounts.
This commit is contained in:
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user