From 2705876c5669f18ab4eebfa87676fa5da2b51ef9 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 8 Jan 2024 18:10:18 +0100 Subject: [PATCH] :bug: Fix problems with drag/drop in layers --- .../main/ui/workspace/sidebar/layer_item.cljs | 31 +++++++++++++------ .../main/ui/workspace/sidebar/layer_item.scss | 2 +- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/sidebar/layer_item.cljs b/frontend/src/app/main/ui/workspace/sidebar/layer_item.cljs index 4cafb8a012..cb7cd5f04b 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layer_item.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/layer_item.cljs @@ -261,16 +261,29 @@ on-drop (mf/use-fn - (mf/deps id index objects) + (mf/deps id index objects expanded?) (fn [side _data] - (let [to-index (cond + (let [shape (get objects id) + + parent-id + (cond + (= side :center) + id + + (and expanded? (= side :bot) (d/not-empty? (:shapes shape))) + id + + :else + (cfh/get-parent-id objects id)) + + parent (get objects parent-id) + + to-index (cond (= side :center) 0 + (and expanded? (= side :bot) (d/not-empty? (:shapes shape))) (count (:shapes parent)) (= side :top) (inc index) - :else index) - parent-id (if (= side :center) - id - (cfh/get-parent-id objects id)) - parent (get objects parent-id)] + :else index)] + (when-not (ctk/in-component-copy? parent) ;; We don't want to change the structure of component copies (st/emit! (dw/relocate-selected-shapes parent-id to-index)))))) @@ -308,8 +321,8 @@ depth (+ depth 1) component-tree? (or component-child? (:component-root item)) - enable-drag (mf/use-fn #(reset! drag-disabled* true)) - disable-drag (mf/use-fn #(reset! drag-disabled* false))] + enable-drag (mf/use-fn #(reset! drag-disabled* false)) + disable-drag (mf/use-fn #(reset! drag-disabled* true))] (mf/with-effect [selected? selected] (let [single? (= (count selected) 1) diff --git a/frontend/src/app/main/ui/workspace/sidebar/layer_item.scss b/frontend/src/app/main/ui/workspace/sidebar/layer_item.scss index 1fd4dde76d..4f703090b9 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layer_item.scss +++ b/frontend/src/app/main/ui/workspace/sidebar/layer_item.scss @@ -51,7 +51,7 @@ border-bottom: $s-2 solid var(--layer-row-foreground-color-hover); } &.dnd-over-top { - border-bottom: $s-2 solid var(--layer-row-foreground-color-hover); + border-top: $s-2 solid var(--layer-row-foreground-color-hover); } &.dnd-over { border: $s-2 solid var(--layer-row-foreground-color-hover);