mirror of https://github.com/logseq/logseq
Merge pull request #214 from logseq/defclass/fix/right-sidebar-display-problem
fix(sidebar): fix sider display problem when update or delete a pagepull/645/head
commit
f4af624968
|
@ -135,7 +135,7 @@
|
|||
(block-cp repo idx block-data)]]))
|
||||
|
||||
:page
|
||||
(let [page-name (get-in block-data [:page :page/name])]
|
||||
(let [page-name (:page/name block-data)]
|
||||
[[:a {:href (rfe/href :page {:name (util/url-encode page-name)})}
|
||||
(util/capitalize-all page-name)]
|
||||
[:div.ml-2
|
||||
|
@ -171,24 +171,29 @@
|
|||
|
||||
(rum/defc sidebar-item < rum/reactive
|
||||
[repo idx db-id block-type block-data t]
|
||||
(let [collapse? (state/sub [:ui/sidebar-collapsed-blocks db-id])
|
||||
item (build-sidebar-item repo idx db-id block-type block-data t)]
|
||||
(let [item
|
||||
(if (= :page block-type)
|
||||
(let [page (db/query-entity-in-component db-id)]
|
||||
(when (seq page)
|
||||
(build-sidebar-item repo idx db-id block-type page t)))
|
||||
(build-sidebar-item repo idx db-id block-type block-data t))]
|
||||
(when item
|
||||
[:div.sidebar-item.content
|
||||
(let [[title component] item]
|
||||
[:div.flex.flex-col
|
||||
[:div.flex.flex-row.justify-between
|
||||
[:div.flex.flex-row.justify-center
|
||||
[:a.opacity-50.hover:opacity-100.flex.items-center.pr-1
|
||||
{:on-click #(state/sidebar-block-toggle-collapse! db-id)}
|
||||
(if collapse?
|
||||
(svg/caret-right)
|
||||
(svg/caret-down))]
|
||||
[:div.ml-1
|
||||
title]]
|
||||
(close #(state/sidebar-remove-block! idx))]
|
||||
[:div {:class (if collapse? "hidden" "initial")}
|
||||
component]])])))
|
||||
(let [collapse? (state/sub [:ui/sidebar-collapsed-blocks db-id])]
|
||||
[:div.sidebar-item.content
|
||||
(let [[title component] item]
|
||||
[:div.flex.flex-col
|
||||
[:div.flex.flex-row.justify-between
|
||||
[:div.flex.flex-row.justify-center
|
||||
[:a.opacity-50.hover:opacity-100.flex.items-center.pr-1
|
||||
{:on-click #(state/sidebar-block-toggle-collapse! db-id)}
|
||||
(if collapse?
|
||||
(svg/caret-right)
|
||||
(svg/caret-down))]
|
||||
[:div.ml-1
|
||||
title]]
|
||||
(close #(state/sidebar-remove-block! idx))]
|
||||
[:div {:class (if collapse? "hidden" "initial")}
|
||||
component]])]))))
|
||||
|
||||
(defn- get-page
|
||||
[match]
|
||||
|
|
|
@ -213,6 +213,20 @@
|
|||
(when-let [db (get-conn repo)]
|
||||
(d/entity db id-or-lookup-ref))))
|
||||
|
||||
(defn query-entity-in-component
|
||||
([id-or-lookup-ref]
|
||||
(entity (state/get-current-repo) id-or-lookup-ref))
|
||||
([repo id-or-lookup-ref]
|
||||
(let [k [:entity id-or-lookup-ref]
|
||||
result-atom (:result (get @query-state k))]
|
||||
(when-let [component *query-component*]
|
||||
(add-query-component! k component))
|
||||
(when-let [db (get-conn repo)]
|
||||
(let [result (d/entity db id-or-lookup-ref)
|
||||
result-atom (or result-atom (atom nil))]
|
||||
(set! (.-state result-atom) result)
|
||||
(add-q! k nil nil result-atom identity identity identity))))))
|
||||
|
||||
(def touch d/touch)
|
||||
|
||||
(defn get-current-page
|
||||
|
|
Loading…
Reference in New Issue