Supports vendors not loading
This commit is contained in:
@@ -1,19 +1,24 @@
|
||||
(ns auto-ap.views.components.vendor-dialog
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[auto-ap.views.utils :refer [dispatch-event horizontal-field bind-field with-user with-is-admin? active-when account->match-text]]
|
||||
[auto-ap.views.components.address :refer [address-field]]
|
||||
[auto-ap.views.components.typeahead :refer [typeahead-v3]]
|
||||
[auto-ap.views.components.dropdown :refer [drop-down drop-down-contents]]
|
||||
[auto-ap.events :as events]
|
||||
[clj-fuzzy.metrics :refer [jaccard jaro-winkler]]
|
||||
[clojure.spec.alpha :as s]
|
||||
[clojure.string :as str]
|
||||
[auto-ap.entities.vendors :as entity]
|
||||
[auto-ap.entities.contact :as contact]
|
||||
[auto-ap.subs :as subs]
|
||||
[auto-ap.forms :as forms]
|
||||
[auto-ap.views.components.modal :as modal]
|
||||
[auto-ap.status :as status]))
|
||||
(:require
|
||||
[auto-ap.entities.contact :as contact]
|
||||
[auto-ap.entities.vendors :as entity]
|
||||
[auto-ap.forms :as forms]
|
||||
[auto-ap.status :as status]
|
||||
[auto-ap.subs :as subs]
|
||||
[auto-ap.views.components.address :refer [address-field]]
|
||||
[auto-ap.views.components.modal :as modal]
|
||||
[auto-ap.views.components.typeahead :refer [typeahead-v3]]
|
||||
[auto-ap.views.pages.admin.vendors.common :as common]
|
||||
[auto-ap.views.utils
|
||||
:refer [account->match-text
|
||||
bind-field
|
||||
dispatch-event
|
||||
horizontal-field
|
||||
with-is-admin?
|
||||
with-user]]
|
||||
[clojure.spec.alpha :as s]
|
||||
[clojure.string :as str]
|
||||
[re-frame.core :as re-frame]))
|
||||
|
||||
(re-frame/reg-sub
|
||||
::can-submit
|
||||
@@ -28,25 +33,8 @@
|
||||
(re-frame/reg-event-db
|
||||
::settled
|
||||
[(forms/in-form ::vendor-form)]
|
||||
(fn [{:keys [data] :as form} _]
|
||||
form
|
||||
#_(let [vendors @(re-frame/subscribe [::subs/vendors])
|
||||
text (.toLowerCase (:name data ""))
|
||||
matching-vendor (when (> (count text) 5)
|
||||
(->> vendors
|
||||
(filter #(not= (:id %) (:id data)))
|
||||
(map :name)
|
||||
(mapcat
|
||||
(fn [v] (mapv
|
||||
(fn [n] [v (jaro-winkler text n ) n text])
|
||||
(ngrams v (count text)))))
|
||||
(filter #(> (second %) 0.9))
|
||||
|
||||
(map first)
|
||||
first))]
|
||||
(if matching-vendor
|
||||
(assoc form :warning (str "Are you sure you don't mean " matching-vendor "?"))
|
||||
(dissoc form :warning)))))
|
||||
(fn [form _]
|
||||
form))
|
||||
|
||||
(re-frame/reg-event-db
|
||||
::removed-override
|
||||
@@ -83,15 +71,13 @@
|
||||
(re-frame/reg-event-fx
|
||||
::save-complete
|
||||
[(forms/triggers-stop ::vendor-form)]
|
||||
(fn [{:keys [db]} [_ {vendor :upsert-vendor} ]]
|
||||
{:dispatch [::modal/modal-closed ]
|
||||
:db (-> db (assoc-in [:vendors (:id vendor)] vendor))}))
|
||||
(fn [_ [_ _ ]]
|
||||
{:dispatch [::modal/modal-closed ]}))
|
||||
|
||||
(re-frame/reg-event-fx
|
||||
::save
|
||||
[with-user with-is-admin? (forms/triggers-loading ::vendor-form) (forms/in-form ::vendor-form)]
|
||||
(fn [{:keys [user is-admin?] {{:keys [name hidden print-as terms invoice-reminder-schedule primary-contact automatically-paid-when-due schedule-payment-dom secondary-contact address default-account terms-overrides account-overrides id legal-entity-tin legal-entity-tin-type legal-entity-first-name legal-entity-last-name legal-entity-middle-name legal-entity-1099-type] :as data} :data} :db} _]
|
||||
(println data)
|
||||
(when (s/valid? ::entity/vendor data)
|
||||
{ :graphql
|
||||
{:token user
|
||||
@@ -137,7 +123,7 @@
|
||||
:legal-entity-1099-type (some-> legal-entity-1099-type clojure.core/name not-empty keyword)
|
||||
))
|
||||
println)}
|
||||
events/vendor-query]}]}
|
||||
common/default-read]}]}
|
||||
:on-success [::save-complete]}})))
|
||||
|
||||
(defn client-list [{:keys [override-key override-value-key change-event default-key data]} template]
|
||||
@@ -472,7 +458,6 @@
|
||||
|
||||
(defn vendor-dialog [{:keys [save-event] }]
|
||||
(let [clients @(re-frame/subscribe [::subs/clients])
|
||||
all-vendors @(re-frame/subscribe [::subs/vendors])
|
||||
{:keys [data error warning] :as f} @(re-frame/subscribe [::forms/form ::vendor-form])
|
||||
change-event [::changed]]
|
||||
[:div
|
||||
|
||||
Reference in New Issue
Block a user