浏览代码

fix: buggy selection hightlights (#9074)

Tienson Qin 2 年之前
父节点
当前提交
339fb7ceb2
共有 2 个文件被更改,包括 6 次插入5 次删除
  1. 4 3
      src/main/frontend/components/block.cljs
  2. 2 2
      src/main/frontend/state.cljs

+ 4 - 3
src/main/frontend/components/block.cljs

@@ -1713,7 +1713,7 @@
                            (or ref? query?)
                            (or ref? query?)
                            (assoc :ref-query-child? true))]
                            (assoc :ref-query-child? true))]
               (rum/with-key (block-container config child)
               (rum/with-key (block-container config child)
-                            (:block/uuid child)))))]])))
+                (str (:blocks-container-id config) "-" (:block/uuid child))))))]])))
 
 
 (defn- block-content-empty?
 (defn- block-content-empty?
   [{:block/keys [properties title body]}]
   [{:block/keys [properties title body]}]
@@ -2791,7 +2791,8 @@
         edit? (state/sub [:editor/editing? edit-input-id])
         edit? (state/sub [:editor/editing? edit-input-id])
         card? (string/includes? data-refs-self "\"card\"")
         card? (string/includes? data-refs-self "\"card\"")
         review-cards? (:review-cards? config)
         review-cards? (:review-cards? config)
-        selected? (when-not slide? (state/sub-block-selected? uuid))]
+        selected? (when-not slide?
+                    (state/sub-block-selected? blocks-container-id uuid))]
     [:div.ls-block
     [:div.ls-block
      (cond->
      (cond->
        {:id block-id
        {:id block-id
@@ -3276,7 +3277,7 @@
                      :block/bottom? (= (count blocks) (inc idx))))
                      :block/bottom? (= (count blocks) (inc idx))))
         config (assoc config :block/uuid (:block/uuid item))]
         config (assoc config :block/uuid (:block/uuid item))]
     (rum/with-key (block-container config item)
     (rum/with-key (block-container config item)
-      (str (:block/uuid item)))))
+      (str (:blocks-container-id config) "-" (:block/uuid item)))))
 
 
 (defn- block-list
 (defn- block-list
   [config blocks]
   [config blocks]

+ 2 - 2
src/main/frontend/state.cljs

@@ -631,9 +631,9 @@ Similar to re-frame subscriptions"
        (distinct)))
        (distinct)))
 
 
 (defn sub-block-selected?
 (defn sub-block-selected?
-  [block-uuid]
+  [container-id block-uuid]
   (rum/react
   (rum/react
-   (rum/derived-atom [state] [::select-block block-uuid]
+   (rum/derived-atom [state] [::select-block container-id block-uuid]
      (fn [state]
      (fn [state]
        (contains? (set (get-selected-block-ids (:selection/blocks state)))
        (contains? (set (get-selected-block-ids (:selection/blocks state)))
                   block-uuid)))))
                   block-uuid)))))