Adds support for transaction rules case insensitive search

This commit is contained in:
Bryce Covert
2021-10-11 17:47:05 -07:00
parent 4a405714c1
commit d20ae49e39
6 changed files with 24 additions and 2138 deletions

View File

@@ -3,7 +3,8 @@
[auto-ap.datomic :refer [uri merge-query apply-sort-3 apply-pagination add-sorter-fields]]
[auto-ap.graphql.utils :refer [limited-clients]]
[clojure.set :refer [rename-keys]]
[clj-time.coerce :as c]))
[clj-time.coerce :as c]
[clojure.string :as str]))
(defn <-datomic [result]
result)
@@ -52,6 +53,12 @@
:where ['[?e :transaction-rule/vendor ?vendor-id]]}
:args [(:vendor-id args)]})
(not (str/blank? (:note args)))
(merge-query {:query {:in ['?note-pattern]
:where ['[?e :transaction-rule/note ?n]
'[(re-find ?note-pattern ?n)]]}
:args [(re-pattern (str "(?i)" (:note args)))]})
true
(merge-query {:query {:find ['?e]
:where ['[?e :transaction-rule/transaction-approval-status]]}}))]

View File

@@ -626,7 +626,8 @@
:start {:type 'Int}
:per_page {:type 'Int}
:sort {:type '(list :sort_item)}
:asc {:type 'Boolean}}
:asc {:type 'Boolean}
:note {:type 'String}}
:resolve :get-transaction-rule-page}
:ledger_page {:type :ledger_page

View File

@@ -6,7 +6,8 @@
[minisearch :as ms]))
(set! *warn-on-infer* true)
(def MiniSearch (aget ms "default"))
(def MiniSearch (if ms (aget ms "default")
nil))
(re-frame/reg-sub
::client

View File

@@ -37,7 +37,8 @@
:start (:start params 0)
:per-page (:per-page params)
:vendor-id (:id (:vendor params))
:client-id (:id @(re-frame/subscribe [::subs/client]))}
:client-id (:id @(re-frame/subscribe [::subs/client]))
:note (:note params)}
[[:transaction-rules default-read]
:total
:start

View File

@@ -2,6 +2,7 @@
(:require
[re-frame.core :as re-frame]
[auto-ap.subs :as subs]
[auto-ap.views.utils :refer [dispatch-value-change]]
[auto-ap.views.components.typeahead :refer [typeahead-v3]]
[auto-ap.views.pages.data-page :as data-page]))
@@ -15,5 +16,12 @@
:on-change #(re-frame/dispatch [::data-page/filter-changed data-page :vendor (some-> % (select-keys [:name :id]))])
:entity->text :name
:type "typeahead-v3"
:value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]]])
:value @(re-frame/subscribe [::data-page/filter data-page :vendor])}]]
[:p.menu-label "Note"]
[:div
[:div.field
[:div.control [:input.input {:placeholder "HOME DEPOT"
:value @(re-frame/subscribe [::data-page/filter data-page :note])
:on-change (dispatch-value-change [::data-page/filter-changed data-page :note])} ]]]]])