using popper instead of handrolled appearing stuff.

This commit is contained in:
2022-07-17 19:40:23 -07:00
parent b1cdd60781
commit 5e49f61265
8 changed files with 158 additions and 71 deletions

View File

@@ -8,7 +8,11 @@
[auto-ap.views.components.modal :as modal]
[auto-ap.views.components.typeahead :refer [typeahead-v3]]
[auto-ap.views.utils :refer [dispatch-event multi-field with-user]]
[re-frame.core :as re-frame]))
[react-popper :refer [usePopper] :as react-popper]
[re-frame.core :as re-frame]
[react :as react]
[reagent.core :as r]))
(re-frame/reg-event-fx
::saving
@@ -33,39 +37,43 @@
{:dispatch [::modal/modal-closed]}))
(defn form []
(let [{:keys [data]} @(re-frame/subscribe [::forms/form ::form])
clients @(re-frame/subscribe [::subs/clients])]
[form-builder/builder {:submit-event [::saving]
:id ::form}
[form-builder/field
"Name"
[:input.input {:type "text"
:field [:name]
:spec ::entity/name}]]
[:div.field
[:p.help "Role"]
[:div.control
[:div.select
[form-builder/raw-field
[:select {:type "select"
:field [:role]}
[:option {:value ":none"} "None"]
[:option {:value ":user"} "User"]
[:option {:value ":manager"} "Manager"]
[:option {:value ":power_user"} "Power User"]
[:option {:value ":admin"} "Admin"]]]]]]
(when (#{":user" ":manager" ":power_user"} (:role data))
[form-builder/field
"Client"
[multi-field {:type "multi-field"
:field [:clients]
:template [[typeahead-v3 {:entities clients
:entity->text :name
:style {:width "13em"}
:type "typeahead-v3"
:field [:client]}]]}]])
[form-builder/hidden-submit-button]]))
[:<>
[form-builder/builder {:submit-event [::saving]
:id ::form}
[form-builder/field
"Name"
[:input.input {:type "text"
:field [:name]
:spec ::entity/name}]]
[:div.field
[:p.help "Role"]
[:div.control
[:div.select
[form-builder/raw-field
[:select {:type "select"
:field [:role]}
[:option {:value ":none"} "None"]
[:option {:value ":user"} "User"]
[:option {:value ":manager"} "Manager"]
[:option {:value ":power_user"} "Power User"]
[:option {:value ":admin"} "Admin"]]]]]]
(when (#{":user" ":manager" ":power_user"} (:role data))
[form-builder/field
"Client"
[multi-field {:type "multi-field"
:field [:clients]
:template [[typeahead-v3 {:entities clients
:entity->text :name
:style {:width "13em"}
:type "typeahead-v3"
:field [:client]}]]}]])
[form-builder/hidden-submit-button]]]))
(re-frame/reg-event-fx
::editing