فهرست منبع

fix: collapsing multi-line block

close #6374
Tienson Qin 3 سال پیش
والد
کامیت
220a55b756
2فایلهای تغییر یافته به همراه14 افزوده شده و 10 حذف شده
  1. 12 8
      src/main/frontend/components/block.cljs
  2. 2 2
      src/main/frontend/handler/editor.cljs

+ 12 - 8
src/main/frontend/components/block.cljs

@@ -2091,14 +2091,18 @@
                  (not (:slide? config)))
         (properties-cp config block))
 
-      (when (and (not block-ref-with-title?) (seq body))
-        [:div.block-body {:style {:display (if (and collapsed? (seq title)) "none" "")}}
-         ;; TODO: consistent id instead of the idx (since it could be changed later)
-         (let [body (block/trim-break-lines! (:block/body block))]
-           (for [[idx child] (medley/indexed body)]
-             (when-let [block (markup-element-cp config child)]
-               (rum/with-key (block-child block)
-                 (str uuid "-" idx)))))])
+      (let [title-collapse-enabled? (:outliner/block-title-collapse-enabled? (state/get-config))]
+        (when (and (not block-ref-with-title?)
+                   (seq body)
+                   (or (not title-collapse-enabled?)
+                       (and title-collapse-enabled? (not collapsed?))))
+         [:div.block-body
+          ;; TODO: consistent id instead of the idx (since it could be changed later)
+          (let [body (block/trim-break-lines! (:block/body block))]
+            (for [[idx child] (medley/indexed body)]
+              (when-let [block (markup-element-cp config child)]
+                (rum/with-key (block-child block)
+                  (str uuid "-" idx)))))]))
 
       (case (:block/warning block)
         :multiple-blocks

+ 2 - 2
src/main/frontend/handler/editor.cljs

@@ -2916,9 +2916,9 @@
 
               :else
               nil)))
-        
+
         (close-autocomplete-if-outside input)
-        
+
         (when-not (or (= k "Shift") is-processed?)
           (state/set-last-key-code! {:key-code key-code
                                      :code code