much better sorting.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
[auto-ap.subs :as subs]
|
||||
[auto-ap.views.utils :refer [date->str dispatch-event delayed-dispatch nf]]
|
||||
[auto-ap.views.components.paginator :refer [paginator]]
|
||||
[auto-ap.views.components.sort-by-list :refer [sort-by-list]]
|
||||
[auto-ap.views.components.sorter :refer [sorted-column]]
|
||||
[auto-ap.views.components.dropdown :refer [drop-down drop-down-contents]]
|
||||
[auto-ap.events :as events]
|
||||
@@ -44,8 +45,9 @@
|
||||
|
||||
(defn query [params]
|
||||
{:venia/queries [[:invoice_page
|
||||
(assoc params
|
||||
:client-id (:id @(re-frame/subscribe [::subs/client])))
|
||||
(-> params
|
||||
(assoc
|
||||
:client-id (:id @(re-frame/subscribe [::subs/client]))))
|
||||
[[:invoices [:id :total :outstanding-balance :invoice-number :date :due :status :client-identifier
|
||||
[:vendor [:name :id]]
|
||||
[:expense_accounts [:amount :id :location
|
||||
@@ -64,19 +66,22 @@
|
||||
opc (fn [p]
|
||||
(on-params-change (merge @params p)))]
|
||||
(fn [{:keys [id invoice-page status on-params-change vendors checked params]}]
|
||||
(let [{:keys [sort-by asc]} @params
|
||||
(let [{:keys [sort asc]} @params
|
||||
{:keys [invoices start end count total]} @invoice-page
|
||||
visible-checks @(re-frame/subscribe [::visible-checks])
|
||||
visible-expense-accounts @(re-frame/subscribe [::visible-expense-accounts])
|
||||
selected-client @(re-frame/subscribe [::subs/client])
|
||||
percentage-size (if selected-client "%50%" "33%")
|
||||
]
|
||||
percentage-size (if selected-client "%50%" "33%")]
|
||||
[:div
|
||||
|
||||
|
||||
[paginator {:start start :end end :count count :total total
|
||||
:on-change (fn [p ]
|
||||
(on-params-change (merge @params p) ))}]
|
||||
[:div.level
|
||||
[:div.level-left
|
||||
[:div.level-item
|
||||
[paginator {:start start :end end :count count :total total
|
||||
:on-change (fn [p ]
|
||||
(on-params-change (merge @params p) ))}]]
|
||||
[:div.level-item
|
||||
[sort-by-list {:sort sort
|
||||
:on-change opc}]]]]
|
||||
[:table.table.is-fullwidth
|
||||
[:thead
|
||||
[:tr
|
||||
@@ -86,53 +91,61 @@
|
||||
(when-not selected-client
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width percentage-size :cursor "pointer"}
|
||||
:sort-name "Client"
|
||||
:sort-key "client"
|
||||
:sort-by sort-by
|
||||
:sort sort
|
||||
:asc asc}
|
||||
"Client"])
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width percentage-size :cursor "pointer"}
|
||||
:sort-name "Vendor"
|
||||
:sort-key "vendor"
|
||||
:sort-by sort-by
|
||||
:sort sort
|
||||
:asc asc}
|
||||
"Vendor"]
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width percentage-size :cursor "pointer"}
|
||||
:sort-name "Invoice Number"
|
||||
:sort-key "invoice-number"
|
||||
:sort-by sort-by
|
||||
:sort sort
|
||||
:asc asc}
|
||||
"Invoice #"]
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width "8em" :cursor "pointer"}
|
||||
:sort-name "Date"
|
||||
:sort-key "date"
|
||||
:sort-by sort-by
|
||||
:sort sort
|
||||
:asc asc}
|
||||
"Date"]
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width "8em" :cursor "pointer"}
|
||||
:sort-name "Due"
|
||||
:sort-key "due"
|
||||
:sort-by sort-by
|
||||
:sort sort
|
||||
:asc asc}
|
||||
"Due"]
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width "5em" :cursor "pointer"}
|
||||
:sort-name "Location"
|
||||
:sort-key "location"
|
||||
:sort-by sort-by
|
||||
:sort sort
|
||||
:asc asc}
|
||||
"Loc"]
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width "8em" :cursor "pointer"}
|
||||
:sort-name "Total"
|
||||
:sort-key "total"
|
||||
:class "has-text-right"
|
||||
:sort-by sort-by
|
||||
:sort sort
|
||||
:asc asc}
|
||||
"Amount"]
|
||||
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width "10em" :cursor "pointer"}
|
||||
:sort-name "Outstanding"
|
||||
:sort-key "outstanding-balance"
|
||||
:class "has-text-right"
|
||||
:sort-by sort-by
|
||||
:sort sort
|
||||
:asc asc}
|
||||
"Outstanding"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user