fixing kicking.

This commit is contained in:
BC
2018-10-25 21:08:16 -07:00
parent 8478011b8c
commit 8c1826f022

View File

@@ -57,6 +57,18 @@
:on-success [::got-accounts] :on-success [::got-accounts]
:on-error [::save-error]}})) :on-error [::save-error]}}))
(re-frame/reg-event-fx
::kicked
(fn [{:keys [db]} [_ id state]]
{:db (update-in db [::yodlee :accounts]
(fn [as]
(map (fn [a]
(if (= (:id a) id)
(assoc a :status state)
a))
as)))
}))
(re-frame/reg-event-fx (re-frame/reg-event-fx
::kick ::kick
@@ -66,8 +78,8 @@
:method :post :method :post
:headers {"Content-Type" "application/edn"} :headers {"Content-Type" "application/edn"}
:uri (str "/api/yodlee/accounts/" id) :uri (str "/api/yodlee/accounts/" id)
:on-success [::mounted] :on-success [::kicked id :kicking]
:on-error [::save-error]}})) :on-error [::kicked id :errored]}}))
(re-frame/reg-event-fx (re-frame/reg-event-fx
::got-accounts ::got-accounts
@@ -121,10 +133,11 @@
[:th "Account Number"] [:th "Account Number"]
[:th "Yodlee Account Number"] [:th "Yodlee Account Number"]
[:th "Yodlee Last updated"] [:th "Yodlee Last updated"]
[:th "Yodlee Status"]]] [:th "Yodlee Status"]
[:th]]]
(if @(re-frame/subscribe [::accounts-loading?]) (if @(re-frame/subscribe [::accounts-loading?])
[:tr [:td {:col-span "3"} "Loading..."] [:tr [:td {:col-span "6"} "Loading..."]
] ]
(for [account @(re-frame/subscribe [::accounts])] (for [account @(re-frame/subscribe [::accounts])]
[:tr [:tr
@@ -133,8 +146,15 @@
[:td (:id account)] [:td (:id account)]
[:td (str/join ", " (map :lastUpdated (:dataset account)))] [:td (str/join ", " (map :lastUpdated (:dataset account)))]
[:td (str/join ", " (map :additionalStatus (:dataset account)))] [:td (str/join ", " (map :additionalStatus (:dataset account)))]
[:td [:button.button.is-success {:on-click (dispatch-event [::kick (:id account)] )} "Kick." ]] [:td
]))]]) (cond (= (:status account) :kicking)
[:button.button.is-success.is-loading {:disabled "disabled"} "Kick."]
(= (:status account) :error)
[:button.button.is-error.is-loading {:disabled "disabled"} "Error."]
:else
[:button.button.is-success {:on-click (dispatch-event [::kick (:id account)] )} "Kick." ])]]))]])
(defn admin-yodlee-page [] (defn admin-yodlee-page []