Finished separating out manual import.

This commit is contained in:
Bryce Covert
2019-04-11 08:00:07 -07:00
parent 1aa5219659
commit bd5f9e9f58
2 changed files with 39 additions and 27 deletions

View File

@@ -37,6 +37,16 @@
(assoc edit-transaction :class "live-added")
t))
ts))))))
(re-frame/reg-event-fx
::manual-import-completed
(fn [{:keys [db]} [_ {:keys [imported errors]}]]
(println "MANUAL FINISHED")
{:dispatch [::params-change {}]
:db (-> db
(assoc-in [::notification :message] (str "Successfully imported " imported " transactions"))
(assoc-in [::notification :errors] errors))}))
(re-frame/reg-sub
::transaction-page
(fn [db]
@@ -208,9 +218,9 @@
[:li (:description-original transaction) "-" (:details error)])]])))
[:div.is-pulled-right
[:div.buttons
[:button.button.is-danger {:on-click (dispatch-event [::manual/manual-yodlee-import])}
[:button.button.is-danger {:on-click (dispatch-event [::manual/opening])}
"Manage Rules"]
[:button.button.is-danger {:on-click (dispatch-event [::manual/manual-yodlee-import])}
[:button.button.is-danger {:on-click (dispatch-event [::manual/opening])}
"Manual Yodlee Import"]]]))
[transaction-table {:id :transactions
:params (re-frame/subscribe [::params])
@@ -218,7 +228,7 @@
:status (re-frame/subscribe [::subs/status])
:on-params-change (fn [params]
(re-frame/dispatch [::params-change params]))}]
[manual/manual-yodlee-import-modal]]))
[manual/modal {:import-completed [::manual-import-completed ]}]]))
{:component-will-mount #(re-frame/dispatch-sync [::params-change {}]) }))
(defn transactions-page []

View File

@@ -6,46 +6,48 @@
[re-frame.core :as re-frame]))
(re-frame/reg-event-fx
::manual-yodlee-import
::opening
(fn [{:keys [db]} _]
{:dispatch [::events/modal-status ::manual-yodlee-import {:visible? true}]
:db (assoc-in db [::manual-yodlee-import] {:client-id (:id @(re-frame/subscribe [::subs/client]))
:data ""})}))
{:dispatch [::events/modal-status ::import {:visible? true}]
:db (assoc-in db [::import] {:client-id (:id @(re-frame/subscribe [::subs/client]))
:data ""})}))
(re-frame/reg-sub
::manual-yodlee-import
::import
(fn [db]
(-> db ::manual-yodlee-import)))
(-> db ::import)))
(re-frame/reg-event-fx
::manual-yodlee-import-completed
(fn [{:keys [db]} [_ {:keys [imported errors]}]]
(re-frame/dispatch [::params-change {}])
{:dispatch [::events/modal-completed ::manual-yodlee-import]
:db (-> db
(assoc-in [::notification :message] (str "Successfully imported " imported " transactions"))
(assoc-in [::notification :errors] errors))}))
::import-completed
(fn [{:keys [db]} [_ import-completed-event {:keys [imported errors] :as result}]]
{:dispatch-n [[::events/modal-completed ::import]
(conj import-completed-event result)]}))
(re-frame/reg-event-fx
::manual-yodlee-import-started
(fn [{:keys [db]} _]
(let [manual-yodlee-import (::manual-yodlee-import db)]
::import-error
(fn [{:keys [db]} [_ result]]
{:dispatch [::events/modal-failed ::import "Import failed"]}))
(re-frame/reg-event-fx
::import-started
(fn [{:keys [db]} [_ import-completed-event]]
(let [import (::import db)]
{:http {:token (:user db)
:method :post
:body (pr-str manual-yodlee-import)
:body (pr-str import)
:headers {"Content-Type" "application/edn"}
:uri (str "/api/transactions/batch-upload")
:on-success [::manual-yodlee-import-completed]
:on-error [::manual-yodlee-import-error]}})))
:on-success [::import-completed import-completed-event]
:on-error [::import-error]}})))
(defn manual-yodlee-import-modal []
(let [data @(re-frame/subscribe [::manual-yodlee-import])
change-event [::events/change-form [::manual-yodlee-import]]]
[action-modal {:id ::manual-yodlee-import
(defn modal [{import-completed-event :import-completed}]
(let [data @(re-frame/subscribe [::import])
change-event [::events/change-form [::import]]]
[action-modal {:id ::import
:title "Manual Yodlee Import"
:action-text "Import"
:save-event [::manual-yodlee-import-started]}
:save-event [::import-started import-completed-event]}
[:div.field
[:label.label
"Yodlee manual import table"]