removed redundant stuff.
This commit is contained in:
@@ -89,11 +89,13 @@
|
||||
(into [:fieldset {:disabled (boolean (= :loading (:state status)))}]
|
||||
(r/children (r/current-component)))]
|
||||
))))
|
||||
|
||||
;; TODO make virtual builder operate as a cursor and an input instead of a whole new thing
|
||||
;; make it inherit the outer form, avoiding creating new forms
|
||||
(defn virtual-builder []
|
||||
(let [starting-key (random-uuid)
|
||||
key (r/atom starting-key)]
|
||||
(fn [{:keys [value on-change can-submit error-messages fullwidth? schema]}]
|
||||
(re-frame/dispatch [::forms/start-form starting-key []])
|
||||
(fn [{:keys [value on-change can-submit error-messages fullwidth? schema attempted-submit?]}]
|
||||
(let [data-sub [::forms/form @key]
|
||||
{:keys [data error problems visited]} @(re-frame/subscribe data-sub)
|
||||
data (or value data)]
|
||||
@@ -101,11 +103,12 @@
|
||||
:error-messages (or error-messages
|
||||
nil)
|
||||
;; wrap to make sure raw form updates too
|
||||
:on-change (fn [v]
|
||||
:on-change (fn [v o]
|
||||
(re-frame/dispatch-sync [::forms/reset @key v])
|
||||
(on-change v))
|
||||
(on-change v o))
|
||||
:blur-event [::blurred schema @key ]
|
||||
:problems problems
|
||||
:attempted-submit? attempted-submit?
|
||||
:visited visited
|
||||
:error error
|
||||
:id @key
|
||||
@@ -206,7 +209,6 @@
|
||||
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
|
||||
@@ -246,22 +248,6 @@
|
||||
label)])
|
||||
(into [:div.control ] children)]))))
|
||||
|
||||
(defn field []
|
||||
(let [props (r/props (r/current-component))
|
||||
[label child] (r/children (r/current-component))]
|
||||
[:> Consumer {}
|
||||
(fn [consume]
|
||||
(r/as-element
|
||||
[:div.field
|
||||
(when label
|
||||
(if (aget consume "fullwidth?")
|
||||
[:p.help label]
|
||||
[:label.label
|
||||
(if (:required? props)
|
||||
[:span label [:span.has-text-danger " *"]]
|
||||
label)]))
|
||||
[:div.control [raw-field {} child]]]))]))
|
||||
|
||||
(defn field-v2 []
|
||||
(let [props (r/props (r/current-component))
|
||||
[label child] (r/children (r/current-component))]
|
||||
@@ -280,23 +266,6 @@
|
||||
[:div
|
||||
[raw-error-v2 {:field (:field props)}]]]))))
|
||||
|
||||
(defn horizontal-control []
|
||||
(let [[label & children] (r/children (r/current-component))]
|
||||
[:div.field.is-horizontal
|
||||
(when label
|
||||
[:div.field-label [:label.label label]])
|
||||
[:div.field-body
|
||||
(for [[i child] (map vector (range) children)]
|
||||
^{:key i}
|
||||
[:div.field
|
||||
child])]]))
|
||||
|
||||
(defn horizontal-field []
|
||||
(let [[label child] (r/children (r/current-component))]
|
||||
[horizontal-control
|
||||
label
|
||||
[raw-field {} child]]))
|
||||
|
||||
(defn section [{:keys [title]}]
|
||||
[:<>
|
||||
[:h4.is-4.title title]
|
||||
|
||||
Reference in New Issue
Block a user