mirror of
https://github.com/logseq/logseq.git
synced 2026-06-01 19:01:22 +00:00
refactor: block-children use block-list too
This commit is contained in:
@@ -1716,6 +1716,7 @@
|
||||
:else
|
||||
(when uuid (route-handler/redirect-to-page! uuid))))
|
||||
|
||||
(declare block-list)
|
||||
(rum/defc block-children < rum/reactive
|
||||
[config block children collapsed?]
|
||||
(let [ref? (:ref? config)
|
||||
@@ -1730,18 +1731,12 @@
|
||||
{:on-click (fn [_]
|
||||
(editor-handler/toggle-open-block-children! (:block/uuid block)))}]
|
||||
[:div.block-children.w-full {:style {:display (if collapsed? "none" "")}}
|
||||
(for [child children]
|
||||
(when (map? child)
|
||||
(let [child (dissoc child :block/meta)
|
||||
child (or (:block/link child) child)
|
||||
config (cond->
|
||||
(-> config
|
||||
(assoc :block/uuid (:block/uuid child))
|
||||
(dissoc :breadcrumb-show? :embed-parent))
|
||||
(or ref? query?)
|
||||
(assoc :ref-query-child? true))]
|
||||
(rum/with-key (block-container config child)
|
||||
(str (:blocks-container-id config) "-" (:block/uuid child))))))]])))
|
||||
(let [config' (cond-> (dissoc config :breadcrumb-show? :embed-parent)
|
||||
(or ref? query?)
|
||||
(assoc :ref-query-child? true)
|
||||
true
|
||||
(assoc :block-children? true))]
|
||||
(block-list config' children))]])))
|
||||
|
||||
(defn- block-content-empty?
|
||||
[{:block/keys [properties title body]}]
|
||||
@@ -3348,10 +3343,10 @@
|
||||
(defn- block-item
|
||||
[config blocks idx item]
|
||||
(let [item (or (:block/link item) item)
|
||||
item (->
|
||||
(dissoc item :block/meta)
|
||||
(assoc :block.temp/top? (zero? idx)
|
||||
:block.temp/bottom? (= (count blocks) (inc idx))))
|
||||
item (cond-> (dissoc item :block/meta)
|
||||
(not (:block-children? config))
|
||||
(assoc :block.temp/top? (zero? idx)
|
||||
:block.temp/bottom? (= (count blocks) (inc idx))))
|
||||
config (assoc config :block/uuid (:block/uuid item))]
|
||||
(rum/with-key (block-container config item)
|
||||
(str (:blocks-container-id config) "-" (:block/uuid item)))))
|
||||
|
||||
@@ -438,8 +438,7 @@
|
||||
(let [{:keys [block value id config]} state
|
||||
value (if (string? block-value) block-value value)
|
||||
block-id (:block/uuid block)
|
||||
block (or (db/pull [:block/uuid block-id])
|
||||
block)
|
||||
block (or (db/pull [:block/uuid block-id]) block)
|
||||
block-self? (block-self-alone-when-insert? config block-id)
|
||||
input (gdom/getElement (state/get-edit-input-id))
|
||||
selection-start (util/get-selection-start input)
|
||||
|
||||
Reference in New Issue
Block a user