enhance: add views for DB unlinked references

follow up to #11739. Fixes https://github.com/logseq/db-test/issues/224
This commit is contained in:
Gabriel Horner
2025-02-27 15:57:29 -05:00
parent 0fc8af5686
commit 21f621848b
3 changed files with 29 additions and 18 deletions

View File

@@ -731,7 +731,6 @@
(hierarchy/structures (:block/title page))))
(when-not (or whiteboard? unlinked-refs?
db-based?
sidebar?
home?
(or class-page? property-page?)

View File

@@ -249,15 +249,25 @@
[state page _n-ref]
(let [ref-blocks (rum/react (::result state))]
(when (seq ref-blocks)
[:div.references-blocks
(let [ref-hiccup (block/->hiccup ref-blocks
{:id (str (:block/title page) "-unlinked-")
:ref? true
:group-by-page? true
:editor-box editor/box}
{})]
(content/content (:block/name page)
{:hiccup ref-hiccup}))])))
(if (config/db-based-graph?)
(let [blocks (->> (mapcat val ref-blocks)
(map (fn [b] (assoc (db/entity (:db/id b)) :id (:db/id b)))))
columns' (columns {} blocks)]
(views/view
{:view-parent page
:view-feature-type :unlinked-references
:data blocks
:columns columns'
:foldable-options {:default-collapsed? true}}))
[:div.references-blocks
(let [ref-hiccup (block/->hiccup ref-blocks
{:id (str (:block/title page) "-unlinked-")
:ref? true
:group-by-page? true
:editor-box editor/box}
{})]
(content/content (:block/name page)
{:hiccup ref-hiccup}))]))))
(rum/defcs unlinked-references < rum/reactive
(rum/local nil ::n-ref)
@@ -266,9 +276,11 @@
(when page
[:div.references.page-unlinked.mt-6.flex-1.flex-row.faster.fade-in
[:div.content.flex-1
(ui/foldable
[:div.font-medium.opacity-50
(t :unlinked-references/reference-count @n-ref)]
(fn [] (unlinked-references-aux page n-ref))
{:default-collapsed? true
:title-trigger? true})]])))
(if (config/db-based-graph?)
(unlinked-references-aux page n-ref)
(ui/foldable
[:div.font-medium.opacity-50
(t :unlinked-references/reference-count @n-ref)]
(fn [] (unlinked-references-aux page n-ref))
{:default-collapsed? true
:title-trigger? true}))]])))

View File

@@ -1586,7 +1586,7 @@
(when add-new-object! (new-record-button table view-entity))]]))
(rum/defc ^:large-vars/cleanup-todo view-inner < rum/static
[view-entity {:keys [view-parent data set-data! columns add-new-object!] :as option}
[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 "")
sorting* (:logseq.property.table/sorting view-entity)
@@ -1707,7 +1707,7 @@
(view-cp view-entity (assoc table' :rows group) option view-opts)]
{:title-trigger? false})))])
(view-cp view-entity table option view-opts)))]
{:title-trigger? false})]))
(merge {:title-trigger? false} foldable-options))]))
(rum/defcs view-container
"Provides a view for data like query results and tagged objects, multiple