From 6104cac5ad46035a9035a4c556e06b313eaff492 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Tue, 4 Jun 2024 17:11:51 +0800 Subject: [PATCH] fix: move cursor across embedded blocks --- src/main/frontend/handler/editor.cljs | 3 ++- src/main/frontend/util.cljc | 20 ++++++++------------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/main/frontend/handler/editor.cljs b/src/main/frontend/handler/editor.cljs index 8263b6a940..be0d41d822 100644 --- a/src/main/frontend/handler/editor.cljs +++ b/src/main/frontend/handler/editor.cljs @@ -2622,7 +2622,8 @@ f (case direction :up util/get-prev-block-non-collapsed :down util/get-next-block-non-collapsed) - sibling-block (f (gdom/getElement (state/get-editing-block-dom-id))) + current-block (util/rec-get-node input "ls-block") + sibling-block (f current-block) {:block/keys [uuid content format]} (state/get-edit-block)] (if sibling-block (when-let [sibling-block-id (dom/attr sibling-block "blockid")] diff --git a/src/main/frontend/util.cljc b/src/main/frontend/util.cljc index 638005e980..547b6f3cec 100644 --- a/src/main/frontend/util.cljc +++ b/src/main/frontend/util.cljc @@ -882,12 +882,10 @@ (when-let [blocks (if container (get-blocks-noncollapse container) (get-blocks-noncollapse))] - (let [block-id (.-id block) - block-ids (mapv #(.-id %) blocks)] - (when-let [index (.indexOf block-ids block-id)] - (let [idx (dec index)] - (when (>= idx 0) - (nth-safe blocks idx))))))))) + (when-let [index (.indexOf blocks block)] + (let [idx (dec index)] + (when (>= idx 0) + (nth-safe blocks idx)))))))) #?(:cljs (defn get-prev-block-non-collapsed-non-embed @@ -905,12 +903,10 @@ (defn get-next-block-non-collapsed [block] (when-let [blocks (get-blocks-noncollapse)] - (let [block-id (.-id block) - block-ids (mapv #(.-id %) blocks)] - (when-let [index (.indexOf block-ids block-id)] - (let [idx (inc index)] - (when (>= (count blocks) idx) - (nth-safe blocks idx)))))))) + (when-let [index (.indexOf blocks block)] + (let [idx (inc index)] + (when (>= (count blocks) idx) + (nth-safe blocks idx))))))) #?(:cljs (defn get-next-block-non-collapsed-skip