Просмотр исходного кода

fix: don't collapse blocks in list views if there's no children

Tienson Qin 6 месяцев назад
Родитель
Сommit
17f5e9127c

+ 1 - 1
deps/db/src/logseq/db/common/entity_plus.cljc

@@ -22,7 +22,7 @@
     :block/pre-block? :block/scheduled :block/deadline :block/type :block/name :block/marker
 
     :block.temp/ast-title
-    :block.temp/fully-loaded? :block.temp/ast-body
+    :block.temp/fully-loaded? :block.temp/has-children? :block.temp/ast-body
 
     :db/valueType :db/cardinality :db/ident :db/index
 

+ 2 - 1
deps/db/src/logseq/db/common/initial_data.cljs

@@ -234,7 +234,8 @@
                             (if (= children-props '[*])
                               (entity->map block)
                               (-> (select-keys block children-props)
-                                  (with-raw-title block))))
+                                  (with-raw-title block)
+                                  (assoc :block.temp/has-children? (some? (:block/_parent block))))))
                           children)))]
         (if children-only?
           {:children children}

+ 1 - 1
deps/db/src/logseq/db/frontend/validate.cljs

@@ -97,7 +97,7 @@
         ent-maps* (db-malli-schema/datoms->entities datoms)
         ent-maps (mapv
                   ;; Remove some UI interactions adding this e.g. import
-                  #(dissoc % :block.temp/fully-loaded?)
+                  #(dissoc % :block.temp/fully-loaded? :block.temp/has-children?)
                   (db-malli-schema/update-properties-in-ents db ent-maps*))
         errors (binding [db-malli-schema/*db-for-validate-fns* db]
                  (-> (map (fn [e]

+ 2 - 1
deps/outliner/src/logseq/outliner/core.cljs

@@ -240,7 +240,8 @@
           m* (cond->
               (-> data'
                   (dissoc :block/children :block/meta :block/unordered
-                          :block.temp/ast-title :block.temp/ast-body :block/level :block.temp/fully-loaded?)
+                          :block.temp/ast-title :block.temp/ast-body :block/level :block.temp/fully-loaded?
+                          :block.temp/has-children?)
                   common-util/remove-nils
 
                   (fix-tag-ids db {:db-graph? db-based?}))

+ 1 - 0
src/main/frontend/handler/editor.cljs

@@ -3898,6 +3898,7 @@
     (or
      (util/collapsed? block)
      (and (or (:list-view? config) (:ref? config))
+          (or (:block/_parent block) (:block.temp/has-children? block))
           (integer? (:block-level config))
           (>= (:block-level config) (state/get-ref-open-blocks-level)))
      (and (or (:view? config) (:popup? config))