mirror of https://github.com/logseq/logseq
enhance(ux): keep the item position from the installed plugins list when toggling enable/disable button
parent
1f0822b332
commit
08bb7372a6
|
@ -23,6 +23,12 @@
|
|||
(declare open-waiting-updates-modal!)
|
||||
(defonce PER-PAGE-SIZE 15)
|
||||
|
||||
(def *dirties-toggle-items (atom {}))
|
||||
|
||||
(defn- clear-dirties-states!
|
||||
[]
|
||||
(reset! *dirties-toggle-items {}))
|
||||
|
||||
(rum/defcs installed-themes
|
||||
<
|
||||
(rum/local [] ::themes)
|
||||
|
@ -272,7 +278,9 @@
|
|||
|
||||
(ui/toggle (not disabled?)
|
||||
(fn []
|
||||
(js-invoke js/LSPluginCore (if disabled? "enable" "disable") id))
|
||||
(js-invoke js/LSPluginCore (if disabled? "enable" "disable") id)
|
||||
(when (nil? (get @*dirties-toggle-items (keyword id)))
|
||||
(swap! *dirties-toggle-items assoc (keyword id) (not disabled?))))
|
||||
true)]])
|
||||
|
||||
(defn get-open-plugin-readme-handler
|
||||
|
@ -796,11 +804,15 @@
|
|||
filtered-plugins)
|
||||
sorted-plugins (if default-filter-by?
|
||||
(->> filtered-plugins
|
||||
(reduce #(let [k (if (get-in %2 [:settings :disabled]) 1 0)]
|
||||
(reduce #(let [disabled? (get-in %2 [:settings :disabled])
|
||||
old-dirty (get @*dirties-toggle-items (keyword (:id %2)))
|
||||
k (if (if (boolean? old-dirty) (not old-dirty) disabled?) 1 0)]
|
||||
(update %1 k conj %2)) [[] []])
|
||||
(#(update % 0 (fn [coll] (sort-by :iir coll))))
|
||||
(flatten))
|
||||
filtered-plugins)
|
||||
(do
|
||||
(clear-dirties-states!)
|
||||
filtered-plugins))
|
||||
|
||||
fn-query-flag (fn [] (string/join "_" (map #(str @%) [*filter-by *sort-by *search-key *category])))
|
||||
str-query-flag (fn-query-flag)
|
||||
|
@ -1120,9 +1132,15 @@
|
|||
*el-ref (rum/create-ref)]
|
||||
|
||||
(rum/use-effect!
|
||||
#(state/load-app-user-cfgs)
|
||||
(fn []
|
||||
(state/load-app-user-cfgs)
|
||||
#(clear-dirties-states!))
|
||||
[])
|
||||
|
||||
(rum/use-effect!
|
||||
#(clear-dirties-states!)
|
||||
[market?])
|
||||
|
||||
[:div.cp__plugins-page
|
||||
{:ref *el-ref
|
||||
:tab-index "-1"}
|
||||
|
|
Loading…
Reference in New Issue