Makes multiple client selection somewhat possible via graphql.
This commit is contained in:
@@ -93,17 +93,29 @@
|
||||
|
||||
(defn client-dropdown []
|
||||
(let [client (re-frame/subscribe [::subs/client])
|
||||
matching-clients @(re-frame/subscribe [::matching-clients])]
|
||||
clients @(re-frame/subscribe [::subs/selected-clients])
|
||||
matching-clients @(re-frame/subscribe [::matching-clients])
|
||||
user (re-frame/subscribe [::subs/user])]
|
||||
|
||||
[navbar-drop-down {:header (str "Company: " (if @client (:name @client)
|
||||
"All"))
|
||||
:id ::select-client}
|
||||
[navbar-drop-down {:header (str "Company: " (cond @client
|
||||
(:name @client)
|
||||
|
||||
:else
|
||||
(str (count (or clients [])) " Clients")))
|
||||
:id ::select-client}
|
||||
[:div
|
||||
[:a {:class "navbar-item"
|
||||
:on-click (fn []
|
||||
(re-frame/dispatch [::events/toggle-menu ::select-client])
|
||||
(re-frame/dispatch [::forms/form-closing ::client-search])
|
||||
(re-frame/dispatch [::events/swap-client nil]))} "All" ]
|
||||
(re-frame/dispatch [::events/swap-client :all]))} "All" ]
|
||||
(when (= "admin" (:user/role @user))
|
||||
[:a {:class "navbar-item"
|
||||
:on-click (fn []
|
||||
(re-frame/dispatch [::events/toggle-menu ::select-client])
|
||||
(re-frame/dispatch [::forms/form-closing ::client-search])
|
||||
(re-frame/dispatch [::events/swap-client :mine]))} "Mine" ])
|
||||
|
||||
[:hr {:class "navbar-divider"}]
|
||||
[form-builder/builder {:id ::client-search
|
||||
:submit-event [::client-searched]}
|
||||
|
||||
@@ -75,17 +75,18 @@
|
||||
[:admin "Admin"]]
|
||||
:allow-nil? false
|
||||
:keywordize? true}]]
|
||||
(when (#{:user :manager :power_user} (:role data))
|
||||
[form-builder/field-v2 {:field :clients}
|
||||
"Client"
|
||||
[com/multi-field-v2 {:template [[form-builder/raw-field-v2 {:field :client}
|
||||
[com/entity-typeahead
|
||||
{:entities clients
|
||||
:entity->text :name
|
||||
:style {:width "13em"}}]]]
|
||||
:key-fn :id
|
||||
:schema [:sequential client-schema]
|
||||
:new-text "Grant access to client"}]])
|
||||
[form-builder/field-v2 {:field :clients}
|
||||
(if (= :admin (:role data))
|
||||
"Client Assignments"
|
||||
"Client")
|
||||
[com/multi-field-v2 {:template [[form-builder/raw-field-v2 {:field :client}
|
||||
[com/entity-typeahead
|
||||
{:entities clients
|
||||
:entity->text :name
|
||||
:style {:width "13em"}}]]]
|
||||
:key-fn :id
|
||||
:schema [:sequential client-schema]
|
||||
:new-text "Grant access to client"}]]
|
||||
|
||||
[form-builder/hidden-submit-button]]]))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user