hides company when you've selected one.

This commit is contained in:
BC
2018-07-06 17:43:43 -07:00
parent f232ca264c
commit bf7d0698d4
3 changed files with 43 additions and 32 deletions

View File

@@ -59,6 +59,7 @@
(let [state (reagent/atom (or @params {})) (let [state (reagent/atom (or @params {}))
visible-checks @(re-frame/subscribe [::visible-checks]) visible-checks @(re-frame/subscribe [::visible-checks])
visible-expense-accounts @(re-frame/subscribe [::visible-expense-accounts]) visible-expense-accounts @(re-frame/subscribe [::visible-expense-accounts])
selected-company @(re-frame/subscribe [::subs/company])
opc (fn [p] opc (fn [p]
(swap! state merge p) (swap! state merge p)
(on-params-change p))] (on-params-change p))]
@@ -66,8 +67,9 @@
(let [{:keys [sort-by asc]} @state (let [{:keys [sort-by asc]} @state
{:keys [invoices start end count total]} @invoice-page {:keys [invoices start end count total]} @invoice-page
visible-checks @(re-frame/subscribe [::visible-checks]) visible-checks @(re-frame/subscribe [::visible-checks])
visible-expense-accounts @(re-frame/subscribe [::visible-expense-accounts]) visible-expense-accounts @(re-frame/subscribe [::visible-expense-accounts])
selected-company @(re-frame/subscribe [::subs/company])
percentage-size (if selected-company "%50%" "33%")
] ]
[:div [:div
[paginator {:start start :end end :count count :total total [paginator {:start start :end end :count count :total total
@@ -80,20 +82,22 @@
[:tr [:tr
(when check-boxes (when check-boxes
[:th {:style {"width" "20px"}}]) [:th {:style {"width" "20px"}}])
(when-not selected-company
[sorted-column {:on-sort opc
:style {:width percentage-size :cursor "pointer"}
:sort-key "company"
:sort-by sort-by
:asc asc}
"Company"])
[sorted-column {:on-sort opc [sorted-column {:on-sort opc
:style {:width "33%" :cursor "pointer"} :style {:width percentage-size :cursor "pointer"}
:sort-key "vendor" :sort-key "vendor"
:sort-by sort-by :sort-by sort-by
:asc asc} :asc asc}
"Vendor"] "Vendor"]
[sorted-column {:on-sort opc [sorted-column {:on-sort opc
:style {:width "33%" :cursor "pointer"} :style {:width percentage-size :cursor "pointer"}
:sort-key "company"
:sort-by sort-by
:asc asc}
"Company"]
[sorted-column {:on-sort opc
:style {:width "33%" :cursor "pointer"}
:sort-key "invoice-number" :sort-key "invoice-number"
:sort-by sort-by :sort-by sort-by
:asc asc} :asc asc}
@@ -145,8 +149,9 @@
"") "")
:on-change (fn [x e] (when on-check-changed :on-change (fn [x e] (when on-check-changed
(on-check-changed id)))} ]]) (on-check-changed id)))} ]])
(when-not selected-company
[:td (:name company)])
[:td (:name vendor)] [:td (:name vendor)]
[:td (:name company)]
[:td invoice-number] [:td invoice-number]
[:td (date->str date) ] [:td (date->str date) ]
[:td (str/join ", " (set (map :location expense-accounts)))] [:td (str/join ", " (set (map :location expense-accounts)))]

View File

@@ -56,13 +56,15 @@
(defn check-table [{:keys [id check-page status on-params-change vendors params check-boxes checked on-check-changed expense-event]}] (defn check-table [{:keys [id check-page status on-params-change vendors params check-boxes checked on-check-changed expense-event]}]
(let [state (reagent/atom (or @params {})) (let [state (reagent/atom (or @params {}))
selected-company @(re-frame/subscribe [::subs/company])
opc (fn [p] opc (fn [p]
(swap! state merge p) (swap! state merge p)
(on-params-change p))] (on-params-change p))]
(fn [{:keys [id check-page status on-params-change vendors checked]}] (fn [{:keys [id check-page status on-params-change vendors checked]}]
(println @check-page)
(let [{:keys [sort-by asc]} @state (let [{:keys [sort-by asc]} @state
{:keys [checks start end count total]} @check-page] {:keys [checks start end count total]} @check-page
selected-company @(re-frame/subscribe [::subs/company])
percentage-size (if selected-company "50%" "33%")]
[:div [:div
[paginator {:start start :end end :count count :total total [paginator {:start start :end end :count count :total total
:on-change (fn [p ] :on-change (fn [p ]
@@ -74,20 +76,21 @@
[:tr [:tr
(when-not selected-company
[sorted-column {:on-sort opc
:style {:width percentage-size :cursor "pointer"}
:sort-key "company"
:sort-by sort-by
:asc asc}
"Company"])
[sorted-column {:on-sort opc [sorted-column {:on-sort opc
:style {:width "33%" :cursor "pointer"} :style {:width percentage-size :cursor "pointer"}
:sort-key "company"
:sort-by sort-by
:asc asc}
"Company"]
[sorted-column {:on-sort opc
:style {:width "33%" :cursor "pointer"}
:sort-key "vendor" :sort-key "vendor"
:sort-by sort-by :sort-by sort-by
:asc asc} :asc asc}
"Vendor"] "Vendor"]
[sorted-column {:on-sort opc [sorted-column {:on-sort opc
:style {:width "33%" :cursor "pointer"} :style {:width percentage-size :cursor "pointer"}
:sort-key "invoice-number" :sort-key "invoice-number"
:sort-by sort-by :sort-by sort-by
:asc asc} :asc asc}
@@ -123,7 +126,8 @@
^{:key id} ^{:key id}
[:tr {:class (:class i)} [:tr {:class (:class i)}
[:td (:name company)] (when-not selected-company
[:td (:name company)])
[:td (:name vendor)] [:td (:name vendor)]
[:td check-number] [:td check-number]
[:td (date->str date) ] [:td (date->str date) ]

View File

@@ -49,7 +49,6 @@
(re-frame/reg-event-db (re-frame/reg-event-db
::received ::received
(fn [db [_ data]] (fn [db [_ data]]
(println data)
(-> db (-> db
(assoc ::transaction-page (first (:transaction-page data))) (assoc ::transaction-page (first (:transaction-page data)))
(assoc-in [:status :loading] false)))) (assoc-in [:status :loading] false))))
@@ -65,9 +64,10 @@
(swap! state merge p) (swap! state merge p)
(on-params-change p))] (on-params-change p))]
(fn [{:keys [id transaction-page status on-params-change vendors checked]}] (fn [{:keys [id transaction-page status on-params-change vendors checked]}]
(println @transaction-page)
(let [{:keys [sort-by asc]} @state (let [{:keys [sort-by asc]} @state
{:keys [transactions start end count total]} @transaction-page] {:keys [transactions start end count total]} @transaction-page
selected-company @(re-frame/subscribe [::subs/company])
percentage-size (if selected-company "100%" "50%")]
[:div [:div
[paginator {:start start :end end :count count :total total [paginator {:start start :end end :count count :total total
:on-change (fn [p ] :on-change (fn [p ]
@@ -77,15 +77,16 @@
[:table.table.is-fullwidth [:table.table.is-fullwidth
[:thead [:thead
[:tr [:tr
[sorted-column {:on-sort opc (when-not selected-company
:style {:width "33%" :cursor "pointer"} [sorted-column {:on-sort opc
:sort-key "company" :style {:width percentage-size :cursor "pointer"}
:sort-by sort-by :sort-key "company"
:asc asc} :sort-by sort-by
"Company"] :asc asc}
"Company"])
[sorted-column {:on-sort opc [sorted-column {:on-sort opc
:style {:width "33%" :cursor "pointer"} :style {:width percentage-size :cursor "pointer"}
:sort-key "description-original" :sort-key "description-original"
:sort-by sort-by :sort-by sort-by
:asc asc} :asc asc}
@@ -121,7 +122,8 @@
^{:key id} ^{:key id}
[:tr {:class (:class i)} [:tr {:class (:class i)}
[:td (:name company)] (when-not selected-company
[:td (:name company)])
[:td description-original] [:td description-original]
[:td (date->str date) ] [:td (date->str date) ]
[:td (gstring/format "$%.2f" amount )] [:td (gstring/format "$%.2f" amount )]