mirror of
https://github.com/logseq/logseq.git
synced 2026-05-18 01:42:19 +00:00
fix: add clear filter functionality and enhance query state persistence in search
This commit is contained in:
@@ -592,15 +592,26 @@
|
||||
|
||||
(defn- persist-cmdk-query-state!
|
||||
[state]
|
||||
(let [opts (last (:rum/args state))]
|
||||
(let [input-ref @(::input-ref state)
|
||||
input-value (or (some-> input-ref .-value)
|
||||
@(::input state))
|
||||
_ (when (not= input-value @(::input state))
|
||||
(reset! (::input state) input-value))
|
||||
opts (last (:rum/args state))]
|
||||
(cmdk-state/persist-last-cmdk-search!
|
||||
opts
|
||||
(:search/mode @state/state)
|
||||
(:search/args @state/state)
|
||||
(state/get-current-repo)
|
||||
@(::input state)
|
||||
input-value
|
||||
@(::filter state))))
|
||||
|
||||
(defn- clear-filter-and-refresh!
|
||||
[state]
|
||||
(reset! (::filter state) nil)
|
||||
(persist-cmdk-query-state! state)
|
||||
(load-results :default state))
|
||||
|
||||
(defmethod handle-action :filter [_ state _event]
|
||||
(let [item (some-> state state->highlighted-item)
|
||||
!input (::input state)
|
||||
@@ -908,9 +919,7 @@
|
||||
(and filter' (not move-blocks?))
|
||||
(do
|
||||
(util/stop e)
|
||||
(reset! (::filter state) nil)
|
||||
(persist-cmdk-query-state! state)
|
||||
(load-results :default state))
|
||||
(clear-filter-and-refresh! state))
|
||||
|
||||
:else
|
||||
(when-not (string/blank? input)
|
||||
@@ -1101,7 +1110,7 @@
|
||||
:size :icon
|
||||
:class "p-1 scale-75"
|
||||
:on-click (fn []
|
||||
(reset! (::filter state) nil))}
|
||||
(clear-filter-and-refresh! state))}
|
||||
(shui/tabler-icon "x"))])
|
||||
|
||||
(rum/defcs cmdk
|
||||
|
||||
Reference in New Issue
Block a user