mirror of
https://github.com/logseq/logseq.git
synced 2026-05-20 10:52:38 +00:00
use deferred input for view search
This commit is contained in:
2
deps/db/src/logseq/db/frontend/view.cljs
vendored
2
deps/db/src/logseq/db/frontend/view.cljs
vendored
@@ -393,7 +393,7 @@
|
||||
(if (or (= sorting* :logseq.property/empty-placeholder) (empty? sorting*))
|
||||
[{:id :block/updated-at, :asc? false}]
|
||||
sorting*))
|
||||
filtered-entities (if (seq filters)
|
||||
filtered-entities (if (or (seq filters) (not (string/blank? input)))
|
||||
(filter (fn [row] (row-matched? db row filters input)) entities)
|
||||
entities)
|
||||
group-by-page? (= group-by-property-ident :block/page)
|
||||
|
||||
@@ -613,9 +613,9 @@
|
||||
{:placeholder "Type to search"
|
||||
:auto-focus true
|
||||
:value input
|
||||
:onChange (fn [e]
|
||||
(let [value (util/evalue e)]
|
||||
(on-change value)))
|
||||
:on-change (fn [e]
|
||||
(let [value (util/evalue e)]
|
||||
(on-change value)))
|
||||
:on-key-down (fn [e]
|
||||
(when (= "Escape" (util/ekey e))
|
||||
(set-show-input! false)
|
||||
@@ -1245,9 +1245,8 @@
|
||||
(defn- run-effects!
|
||||
[{:keys [load-view-data] :as option} {:keys [data]} input *scroller-ref gallery?]
|
||||
(hooks/use-effect!
|
||||
(fn []
|
||||
(load-view-data input))
|
||||
[input])
|
||||
(fn [] (load-view-data input))
|
||||
[(hooks/use-debounced-value input 300)])
|
||||
|
||||
(hooks/use-effect!
|
||||
(fn []
|
||||
@@ -1498,7 +1497,7 @@
|
||||
(rum/defc ^:large-vars/cleanup-todo view-inner < rum/static
|
||||
[view-entity {:keys [view-parent data set-data! columns add-new-object! foldable-options] :as option*}
|
||||
*scroller-ref]
|
||||
(let [[input set-input!] (rum/use-state "")
|
||||
(let [[input set-input!] (hooks/use-state "")
|
||||
option (assoc option* :properties
|
||||
(-> (remove #{:id :select} (map :id columns))
|
||||
(conj :block/uuid :block/name)
|
||||
|
||||
Reference in New Issue
Block a user