enhance(perf): add :ref/linked-references-collapsed-threshold option

Related to #2792
pull/2830/head 0.4.0-perf
Tienson Qin 2021-09-16 12:31:01 +08:00
parent f59f59b9ae
commit d6a011fd35
4 changed files with 93 additions and 82 deletions

View File

@ -86,16 +86,17 @@
:else
(db/get-page-referenced-blocks page-name))
ref-pages (map (comp :block/original-name first) ref-blocks)
references (db/get-page-linked-refs-refed-pages repo page-name)
references (->> (concat ref-pages references)
(remove nil?)
(distinct))
scheduled-or-deadlines (if (and journal?
(not (true? (state/scheduled-deadlines-disabled?)))
(= page-name (string/lower-case (date/journal-name))))
(db/get-date-scheduled-or-deadlines (string/capitalize page-name))
nil)
references (db/get-page-linked-refs-refed-pages repo page-name)
references (->> (concat ref-pages references)
(remove nil?)
(distinct))
filter-state (rum/react filters-atom)
threshold (state/get-linked-references-collapsed-threshold)]
(let [filter-state (rum/react filters-atom)
filters (when (seq filter-state)
(->> (group-by second filter-state)
(medley/map-vals #(map first %))))
@ -139,6 +140,7 @@
(every? false? (vals filter-state)) "text-red-400"
:else "text-yellow-400"))]]
(fn []
[:div.references-blocks
(let [ref-hiccup (block/->hiccup filtered-ref-blocks
{:id page-name
@ -149,9 +151,9 @@
:filters filters}
{})]
(content/content page-name
{:hiccup ref-hiccup}))]
{:hiccup ref-hiccup}))])
{}))]]))))
{:default-collapsed? (>= n-ref threshold)}))]])))))
(rum/defcs unlinked-references-aux
< rum/reactive db-mixins/query

View File

@ -482,7 +482,6 @@
:sidebar/clear
:sidebar/open-today-page
:search/re-index
:graph/re-index
:auto-complete/prev
:auto-complete/next
:auto-complete/complete

View File

@ -1378,6 +1378,14 @@
value))
2))
(defn get-linked-references-collapsed-threshold
[]
(or
(when-let [value (:ref/linked-references-collapsed-threshold (get-config))]
(when (integer? value)
value))
100))
(defn get-events-chan
[]
(:system/events @state))

View File

@ -160,6 +160,8 @@
;; If we set the level's value to 3, `b` will be opened and `c` will be collapsed.
:ref/default-open-blocks-level 2
:ref/linked-references-collapsed-threshold 100
;; any number between 0 and 1 (the greater it is the faster the changes of the next-interval of card reviews) (default 0.5)
;; :srs/learning-fraction 0.5