fix(sidebar): fix sider display problem when update or delete a page

This commit is contained in:
defclass
2020-11-10 16:51:40 +08:00
parent d3114e194a
commit 80d715e948
2 changed files with 37 additions and 18 deletions

View File

@@ -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]