merged.
This commit is contained in:
@@ -144,8 +144,7 @@
|
||||
[com.bhauman/rebel-readline-cljs "0.1.4" :exclusions [org.clojure/clojurescript]]
|
||||
[javax.servlet/servlet-api "2.5"]]
|
||||
:plugins [[lein-pdo "0.1.1"]]
|
||||
:jvm-opts ["-Dconfig=config/dev.edn" "-Dlogback.configurationFile=logback.xml" "-Xms4G" "-Xmx20G" #_#_"-Ddatomic.valcachePath=/mnt/data/datomic-cache" "-Ddatomic.valcacheMaxGb=50"]}
|
||||
|
||||
:jvm-opts ["-Dconfig=config/dev.edn" "-Dlogback.configurationFile=logback.xml" "-Xms4G" "-Xmx20G" ]}
|
||||
|
||||
:uberjar
|
||||
{:java-cmd "/usr/lib/jvm/java-11-openjdk/bin/java"
|
||||
|
||||
@@ -85,7 +85,6 @@
|
||||
:tip (fmt-amount tip)}]
|
||||
:total (fmt-amount (+ food-total
|
||||
tax
|
||||
tip
|
||||
(or adjustments 0.0)))
|
||||
:discount (fmt-amount (or adjustments 0.0))
|
||||
:service-charge (fmt-amount (+ fee commission))
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
(index-documents-raw [this index xs]
|
||||
(client/post
|
||||
(str (assoc (url/url solr-uri "solr" index "update")
|
||||
:query {"commitWithin" 60000}))
|
||||
:query {"commitWithin" 5000}))
|
||||
|
||||
{:headers {"Content-Type" "application/json"}
|
||||
:socket-timeout 30000
|
||||
@@ -147,7 +147,7 @@
|
||||
(index-documents [this index xs]
|
||||
(client/post
|
||||
(str (assoc (url/url solr-uri "solr" index "update")
|
||||
:query {"commitWithin" 60000}))
|
||||
:query {"commitWithin" 5000}))
|
||||
{:headers {"Content-Type" "application/json"}
|
||||
:socket-timeout 30000
|
||||
:connection-timeout 30000
|
||||
|
||||
@@ -13,7 +13,9 @@
|
||||
[clojure.set :as set]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[vimsical.re-frame.fx.track :as track]))
|
||||
[vimsical.re-frame.fx.track :as track]
|
||||
[vimsical.re-frame.cofx.inject :as inject]
|
||||
[auto-ap.views.components.buttons :as buttons]))
|
||||
|
||||
(defn data-params->query-params [params]
|
||||
{:start (:start params 0)
|
||||
@@ -61,6 +63,29 @@
|
||||
[::data-page/received ::page (set/rename-keys (:ledger-page result)
|
||||
{:journal-entries :data})])}}))
|
||||
|
||||
(re-frame/reg-sub
|
||||
::csv-content
|
||||
(fn [db]
|
||||
(::csv-content db)))
|
||||
|
||||
(re-frame/reg-event-fx
|
||||
::csv-exported
|
||||
(fn [{:keys [db]} [_ csv]]
|
||||
{:db (assoc db ::csv-content csv)}))
|
||||
|
||||
(re-frame/reg-event-fx
|
||||
::export-csv
|
||||
[with-user (re-frame/inject-cofx ::inject/sub [::data-page/params ::page])]
|
||||
(fn [{:keys [user db] ::data-page/keys [params]}]
|
||||
{:graphql {:token user
|
||||
:owns-state {:single [::data-page/page ::page]}
|
||||
:query-obj {:venia/queries [[:ledger-csv
|
||||
{:filters (data-params->query-params params)}
|
||||
[:csv_content_b64]]]}
|
||||
:on-success (fn [result]
|
||||
[::csv-exported (:csv-content-b64 (:ledger-csv result))])}}))
|
||||
|
||||
|
||||
(re-frame/reg-event-fx
|
||||
::unmounted
|
||||
(fn [_ _]
|
||||
@@ -101,31 +126,51 @@
|
||||
:on-success (fn [result]
|
||||
[::delete-successful result params])}})))
|
||||
|
||||
(defn action-buttons []
|
||||
(println "HERE?")
|
||||
(let [params @(re-frame/subscribe [::data-page/params ::page])
|
||||
csv-content @(re-frame/subscribe [::csv-content])
|
||||
is-admin? @(re-frame/subscribe [::subs/is-admin?])
|
||||
status @(re-frame/subscribe [::status/single [::data-page/page ::page]])
|
||||
checked @(re-frame/subscribe [::data-page/checked ::page])]
|
||||
[:div.buttons
|
||||
(into [:div.tags] (map (fn [[z {:keys [id external-id]}]]
|
||||
(if (= "header" z)
|
||||
[:span.tag.is-medium {:on-click
|
||||
(dispatch-event [::data-page/remove-check ::page "header"])}
|
||||
"All visible ledger entries"]
|
||||
[:span.tag.is-medium external-id
|
||||
[:button.delete.is-small {:on-click
|
||||
(dispatch-event [::data-page/remove-check ::page id])}]]))
|
||||
checked))
|
||||
[:button.button.is-danger {:on-click (dispatch-event [::delete-selected params])
|
||||
:class (status/class-for @(re-frame/subscribe [::status/single ::delete-selected]))
|
||||
:disabled (or (status/disabled-for @(re-frame/subscribe [::status/single ::delete-selected]))
|
||||
(not (seq checked)))}
|
||||
"Delete selected"]
|
||||
(when is-admin?
|
||||
(if csv-content
|
||||
[:a {:href (str "data:attachment/csv;base64," csv-content)
|
||||
:target "_blank"
|
||||
:download (str "ledger.csv")}
|
||||
"Click here to download"]
|
||||
[buttons/event-button {:event [::export-csv]
|
||||
:name "Export"
|
||||
:class (status/class-for status)
|
||||
:disabled (status/disabled-for status)}]))]))
|
||||
|
||||
(defn ledger-content []
|
||||
(let [_ @(re-frame/subscribe [::subs/client])
|
||||
params @(re-frame/subscribe [::data-page/params ::page])
|
||||
checked @(re-frame/subscribe [::data-page/checked ::page])]
|
||||
]
|
||||
[:div
|
||||
[:h1.title "External Ledger"]
|
||||
[status/status-notification {:statuses [[::status/single ::delete-selected]]}]
|
||||
[:div.is-pulled-right
|
||||
[:div.buttons
|
||||
(into [:div.tags ] (map (fn [[z {:keys [id external-id]}]]
|
||||
(if (= "header" z)
|
||||
[:span.tag.is-medium {:on-click
|
||||
(dispatch-event [::data-page/remove-check ::page "header"])}
|
||||
"All visible ledger entries"]
|
||||
[:span.tag.is-medium external-id
|
||||
[:button.delete.is-small {:on-click
|
||||
(dispatch-event [::data-page/remove-check ::page id])}]]))
|
||||
checked))
|
||||
[:button.button.is-danger {:on-click (dispatch-event [::delete-selected params])
|
||||
:class (status/class-for @(re-frame/subscribe [::status/single ::delete-selected]))
|
||||
:disabled (or (status/disabled-for @(re-frame/subscribe [::status/single ::delete-selected]))
|
||||
(not (seq checked)))}
|
||||
"Delete selected"]]]
|
||||
]
|
||||
[table/table {:id :ledger
|
||||
:data-page ::page}]]))
|
||||
:data-page ::page
|
||||
:action-buttons [action-buttons]}]]))
|
||||
|
||||
|
||||
(defn external-ledger-page []
|
||||
|
||||
@@ -42,16 +42,16 @@
|
||||
[grid/cell {:class "has-text-right"} (when debit (nf debit ))]
|
||||
[grid/cell {:class "has-text-right"} (when credit (nf credit ))]])]])
|
||||
|
||||
(defn table [{:keys [data-page]}]
|
||||
(defn table [{:keys [data-page action-buttons]}]
|
||||
(let [{:keys [data params]} @(re-frame/subscribe [::data-page/page data-page])
|
||||
selected-client @(re-frame/subscribe [::subs/client])
|
||||
bank-accounts-by-id @(re-frame/subscribe [::subs/bank-accounts-by-id])]
|
||||
[grid/grid {:data-page data-page
|
||||
:check-boxes? true
|
||||
:column-count (if selected-client 7 8)}
|
||||
[grid/controls data]
|
||||
[grid/controls (assoc data :action-buttons action-buttons)]
|
||||
[grid/table {:fullwidth true :class ["wrappable"]}
|
||||
[grid/header
|
||||
[grid/header
|
||||
[grid/row {:id "header"
|
||||
:entity params}
|
||||
(when-not selected-client
|
||||
@@ -67,6 +67,6 @@
|
||||
(for [{:keys [id] :as i} (:data data)]
|
||||
^{:key id}
|
||||
[external-ledger-row {:row i
|
||||
:selected-client selected-client
|
||||
:bank-accounts-by-id bank-accounts-by-id}])]]]))
|
||||
:selected-client selected-client
|
||||
:bank-accounts-by-id bank-accounts-by-id}])]]]))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user