Supports vendors not loading

This commit is contained in:
2022-04-11 17:26:03 -07:00
parent e4da1376f8
commit 2e4e693bc6
19 changed files with 412 additions and 657 deletions

View File

@@ -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