graphql updates.
This commit is contained in:
@@ -19,10 +19,11 @@
|
||||
{:db (assoc db/default-db
|
||||
:active-page handler
|
||||
:user token)
|
||||
:http {:method :get
|
||||
:token token
|
||||
:uri (str "/api/companies")
|
||||
:on-success [::received-companies]}}))))
|
||||
:graphql {:token token
|
||||
:query-obj {:venia/queries [[:company
|
||||
[:id :name]]]}
|
||||
|
||||
:on-success [::received-companies]}}))))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
::toggle-menu
|
||||
@@ -32,15 +33,16 @@
|
||||
(re-frame/reg-event-fx
|
||||
::logged-in
|
||||
(fn [{:keys [db]} [_ token user]]
|
||||
{:http {:method :get
|
||||
:token token
|
||||
:uri (str "/api/companies")
|
||||
:on-success [::received-companies]}
|
||||
{:graphql {:token token
|
||||
:query-obj {:venia/queries [[:company
|
||||
[:id :name]]]}
|
||||
|
||||
:on-success [::received-companies]}
|
||||
:db (assoc db :user (assoc user :token token))}))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
::received-companies
|
||||
(fn [db [_ companies]]
|
||||
(fn [db [_ {companies :company}]]
|
||||
|
||||
(assoc db :companies (reduce (fn [companies company]
|
||||
(assoc companies (:id company) company))
|
||||
@@ -50,6 +52,7 @@
|
||||
(re-frame/reg-event-db
|
||||
::swap-company
|
||||
(fn [db [_ company]]
|
||||
(println company)
|
||||
(assoc db :company (:id company))))
|
||||
|
||||
(re-frame/reg-event-fx
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
[:a {:class "navbar-link login" :on-click (fn [e] (re-frame/dispatch [::events/toggle-menu :account]))} (:name @user)]
|
||||
[:div {:class "navbar-dropdown"}
|
||||
[:a {:class "navbar-item"} "My profile"]
|
||||
[:a {:class "navbar-item" :href (bidi/path-for routes/routes :admin)} "Administration"]
|
||||
[:a {:class "navbar-item" :href (bidi/path-for routes/routes :admin)
|
||||
:on-click (fn [e] (re-frame/dispatch [::events/toggle-menu :account]))} "Administration"]
|
||||
[:hr {:class "navbar-divider"}]
|
||||
[:a.navbar-item {:on-click (fn [e] (.preventDefault e) (re-frame/dispatch [::events/logout]))} "Logout"]]]
|
||||
[:a.navbar-item {:href login-url} "Login"])]]))
|
||||
@@ -126,15 +127,15 @@
|
||||
:on-click (fn [] (re-frame/dispatch [::events/toggle-menu :company]))}
|
||||
[:div.navbar-start
|
||||
[:div { :class (str "navbar-item has-dropdown " (when (get-in @menu [:company :active?]) "is-active"))}
|
||||
[:a {:class "navbar-link login"} "Company: " (if @company (::company/name @company)
|
||||
[:a {:class "navbar-link login"} "Company: " (if @company (:name @company)
|
||||
"All")]
|
||||
[:div {:class "navbar-dropdown"}
|
||||
[:a {:class "navbar-item"
|
||||
:on-click (fn [] (re-frame/dispatch [::events/swap-company nil]))
|
||||
} "All"]
|
||||
[:hr {:class "navbar-divider"}]
|
||||
(for [{:keys [::company/name] :as company} @companies]
|
||||
^{:key name }
|
||||
(for [{:keys [name id] :as company} @companies]
|
||||
^{:key id }
|
||||
[:a {:class "navbar-item"
|
||||
:on-click (fn [] (re-frame/dispatch [::events/swap-company company]))
|
||||
} name])]]]]
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
(js/Dropzone. (reagent/dom-node this)
|
||||
(clj->js {:init (fn []
|
||||
(.on (js-this) "success" (fn [_ files]
|
||||
(re-frame/dispatch [::events/received-invoices :pending (edn/read-string files)]))))
|
||||
(re-frame/dispatch [::events/view-pending-invoices]))))
|
||||
:paramName "file"
|
||||
:headers {"Authorization" (str "Token " @token)}
|
||||
:url (str "/api/invoices/upload"
|
||||
|
||||
Reference in New Issue
Block a user