From 5d93e3a5a3802f63990adc095e277644d19657ea Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Thu, 11 Apr 2019 15:00:34 -0700 Subject: [PATCH] brutal process of getting sorting to not mess stuff up. --- src/clj/auto_ap/datomic/transactions.clj | 32 +++++-------------- src/clj/auto_ap/graphql/transactions.clj | 1 + .../views/pages/transactions/table.cljs | 9 ++---- 3 files changed, 11 insertions(+), 31 deletions(-) diff --git a/src/clj/auto_ap/datomic/transactions.clj b/src/clj/auto_ap/datomic/transactions.clj index 568aba2e..9962037d 100644 --- a/src/clj/auto_ap/datomic/transactions.clj +++ b/src/clj/auto_ap/datomic/transactions.clj @@ -10,28 +10,11 @@ #(-> % :transaction/client :client/name) (= "account" sort-by) - #(-> % :transaction/account :account/name) + #(vector (-> % :transaction/account :account/name) (-> % :db/id)) :else (keyword "transaction" sort-by))) -;; TODO - unneeeded with merge-query -(defn add-where [query & wheres] - (reduce #(update-in %1 [:query :where] conj %2) query wheres)) - -;; TODO - unneeeded with merge-query -(defn add-wheres [query wheres] - (apply add-where query wheres)) - - -;; TODO - unneeeded with merge-query -(defn add-arg [query name value where & rest] - (let [query (-> query - (update :args conj value) - (update-in [:query :in] conj name) - (update-in [:query :where] conj where))] - (reduce #(update-in %1 [:query :where] conj %2) query rest))) - (defn add-sorter-field [q sort-map args] (merge-query q {:query {:find ['?sorter] @@ -68,12 +51,13 @@ (:sort-by args) (add-sorter-field {"client" ['[?e :transaction/client ?c] '[?c :client/name ?sorter]] "account" #_['[(get-else $ ?e :transaction/account 0) ?sorter]] - ['(or (and [?e :transaction/account ?c] - [?c :account/name ?sorter]) - (and - [?e :transaction/client] - [(ground 0) ?c] - [(ground "") ?sorter]))] + ['[?e :transaction/date] + '(or-join [?e ?sorter] + (and [?e :transaction/account ?c] + [?c :account/name ?sorter]) + (and + (not [?e :transaction/account]) + [(ground "") ?sorter]))] "description-original" ['[?e :transaction/description-original ?sorter]] "date" ['[?e :transaction/date ?sorter]] "amount" ['[?e :transaction/amount ?sorter]] diff --git a/src/clj/auto_ap/graphql/transactions.clj b/src/clj/auto_ap/graphql/transactions.clj index d13225f6..65c948a3 100644 --- a/src/clj/auto_ap/graphql/transactions.clj +++ b/src/clj/auto_ap/graphql/transactions.clj @@ -26,6 +26,7 @@ (defn edit-transaction [context {{:keys [id account_id vendor_id] :as transaction} :transaction} value] (assert-can-see-client (:id context) (:db/id (d-transactions/get-by-id id))) + (println transaction) @(d/transact (d/connect uri) [{:db/id id :transaction/vendor vendor_id diff --git a/src/cljs/auto_ap/views/pages/transactions/table.cljs b/src/cljs/auto_ap/views/pages/transactions/table.cljs index e79ed54f..8d7fab45 100644 --- a/src/cljs/auto_ap/views/pages/transactions/table.cljs +++ b/src/cljs/auto_ap/views/pages/transactions/table.cljs @@ -39,12 +39,7 @@ :asc asc} "Vendor"] - [sorted-column {:on-sort opc - :style {:width percentage-size :cursor "pointer"} - :sort-key "description-original" - :sort-by sort-by - :asc asc} - "Description"] + [sorted-column {:on-sort opc @@ -90,7 +85,7 @@ [:td (if vendor (:name vendor) (str "Merchant '" "Hello" "'"))] - [:td description-original] + #_[:td description-original] [:td (date->str date) ] [:td.has-text-right (nf amount )] [:td (:name account)]