|
|
@@ -6,18 +6,19 @@
|
|
|
[rum.core :as rum]))
|
|
|
|
|
|
(defn class-children-aux
|
|
|
- [class {:keys [default-collapsed?] :as opts}]
|
|
|
- (let [children (:logseq.property/_parent class)]
|
|
|
- (when (seq children)
|
|
|
- [:ul
|
|
|
- (for [child (sort-by :block/title children)]
|
|
|
- (let [title [:li.ml-2 (block/page-reference false (:block/title child) {:show-brackets? false} nil)]]
|
|
|
- (if (seq (:logseq.property/_parent child))
|
|
|
- (ui/foldable
|
|
|
- title
|
|
|
- (class-children-aux child opts)
|
|
|
- {:default-collapsed? default-collapsed?})
|
|
|
- title)))])))
|
|
|
+ [class children-pages {:keys [default-collapsed?] :as opts}]
|
|
|
+ (when (contains? children-pages (:db/id class))
|
|
|
+ (let [children (:logseq.property/_parent class)]
|
|
|
+ (when (seq children)
|
|
|
+ [:ul
|
|
|
+ (for [child (sort-by :block/title children)]
|
|
|
+ (let [title [:li.ml-2 (block/page-reference false (:block/title child) {:show-brackets? false} nil)]]
|
|
|
+ (if (seq (:logseq.property/_parent child))
|
|
|
+ (ui/foldable
|
|
|
+ title
|
|
|
+ (class-children-aux child children-pages opts)
|
|
|
+ {:default-collapsed? default-collapsed?})
|
|
|
+ title)))]))))
|
|
|
|
|
|
(rum/defc class-children
|
|
|
[class]
|
|
|
@@ -28,6 +29,6 @@
|
|
|
[:div.mt-4
|
|
|
(ui/foldable
|
|
|
[:h2.font-medium "Children (" (count children-pages) ")"]
|
|
|
- [:div.mt-2.ml-1 (class-children-aux class {:default-collapsed? default-collapsed?})]
|
|
|
+ [:div.mt-2.ml-1 (class-children-aux class children-pages {:default-collapsed? default-collapsed?})]
|
|
|
{:default-collapsed? false
|
|
|
:title-trigger? true})])))
|