user progress

This commit is contained in:
2022-07-22 09:44:19 -07:00
parent 3c11891c45
commit 7f5a2ea353
10 changed files with 233 additions and 208 deletions

View File

@@ -53,7 +53,7 @@
(let [data-sub (or data-sub [::forms/form id])
change-event (when-not on-change
(or change-event [::forms/change id]))
{:keys [data visited attempted-submit? problems] form-key :id} @(re-frame/subscribe data-sub)
{:keys [data visited attempted-submit? problems error] form-key :id} @(re-frame/subscribe data-sub)
data (or value data)
status @(re-frame/subscribe [::status/single id])
can-submit (if can-submit @(re-frame/subscribe can-submit)
@@ -68,7 +68,7 @@
:submit-event submit-event
:problems problems
:attempted-submit? attempted-submit?
:error (-> status :error first :message)
:error (or error (-> status :error first :message))
:status status
:id id
:data data
@@ -91,7 +91,8 @@
))))
(defn virtual-builder []
(let [key (r/atom (random-uuid))]
(let [starting-key (random-uuid)
key (r/atom starting-key)]
(fn [{:keys [value on-change can-submit error-messages fullwidth? schema]}]
(let [data-sub [::forms/form @key]
{:keys [data error problems visited]} @(re-frame/subscribe data-sub)
@@ -99,8 +100,12 @@
(r/create-element Provider #js {:value #js {:can-submit can-submit
:error-messages (or error-messages
nil)
:on-change on-change
:blur-event [::blurred schema @key]
;; wrap to make sure raw form updates too
:on-change (fn [v]
(re-frame/dispatch-sync [::forms/reset @key v])
(on-change v))
:blur-event [::blurred schema @key ]
:problems problems
:visited visited
:error error
:id @key
@@ -201,6 +206,7 @@
nil)
visited? (get visited full-field-path)
value (get-in data full-field-path)]
(println "VISITED " visited full-field-path problems)
(-> child-props
(assoc :on-change
(if on-change