enhance: debounced filter

feat/tables
Tienson Qin 2024-07-04 14:36:15 +08:00
parent 01c918b8f7
commit afb6417023
1 changed files with 7 additions and 4 deletions

View File

@ -29,7 +29,8 @@
[cljs-time.core :as t]
[cljs-time.coerce :as tc]
[frontend.db.async :as db-async]
[frontend.db-mixins :as db-mixins]))
[frontend.db-mixins :as db-mixins]
[goog.functions :refer [debounce]]))
(defn header-checkbox [{:keys [selected-all? selected-some? toggle-selected-all!]}]
[:label.h-8.w-8.flex.items-center.justify-center.cursor-pointer
@ -815,6 +816,7 @@
:set-visible-columns! set-visible-columns!
:set-ordered-columns! set-ordered-columns!})
[row-filter set-row-filter!] (rum/use-state nil)
debounced-set-row-filter! (debounce set-row-filter! 200)
[row-selection set-row-selection!] (rum/use-state {})
[data set-data!] (rum/use-state [])
_ (rum/use-effect!
@ -843,9 +845,10 @@
]
(rum/use-effect!
(fn []
(set-row-filter! (fn []
(fn [row]
(row-matched? row input filters)))))
(debounced-set-row-filter!
(fn []
(fn [row]
(row-matched? row input filters)))))
[input filters])
[:div.ls-table.flex.flex-col.gap-2.grid
[:div.flex.items-center.justify-between