From 2fc6290c8f83176659cf1225580ae09ac3fd04e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Moya?= Date: Fri, 15 Dec 2023 13:53:53 +0100 Subject: [PATCH] :bug: Fix invalid frame-id when adding shape to copy --- common/src/app/common/types/shape_tree.cljc | 17 ++++++++++------- .../main/data/workspace/libraries_helpers.cljs | 6 +++++- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/common/src/app/common/types/shape_tree.cljc b/common/src/app/common/types/shape_tree.cljc index 928a5ed66..6cdf951b5 100644 --- a/common/src/app/common/types/shape_tree.cljc +++ b/common/src/app/common/types/shape_tree.cljc @@ -354,21 +354,24 @@ the order of the children of each parent." ([object parent-id objects] - (clone-object object parent-id objects (fn [object _] object) (fn [object _] object) nil false nil)) + (clone-object object parent-id objects (fn [object _] object) (fn [object _] object) nil false nil objects)) ([object parent-id objects update-new-object] - (clone-object object parent-id objects update-new-object (fn [object _] object) nil false nil)) + (clone-object object parent-id objects update-new-object (fn [object _] object) nil false nil objects)) ([object parent-id objects update-new-object update-original-object] - (clone-object object parent-id objects update-new-object update-original-object nil false nil)) + (clone-object object parent-id objects update-new-object update-original-object nil false nil objects)) ([object parent-id objects update-new-object update-original-object force-id] - (clone-object object parent-id objects update-new-object update-original-object force-id false nil)) + (clone-object object parent-id objects update-new-object update-original-object force-id false nil objects)) ([object parent-id objects update-new-object update-original-object force-id keep-ids?] - (clone-object object parent-id objects update-new-object update-original-object force-id keep-ids? nil)) + (clone-object object parent-id objects update-new-object update-original-object force-id keep-ids? nil objects)) ([object parent-id objects update-new-object update-original-object force-id keep-ids? frame-id] + (clone-object object parent-id objects update-new-object update-original-object force-id keep-ids? frame-id objects)) + + ([object parent-id objects update-new-object update-original-object force-id keep-ids? frame-id dest-objects] (let [new-id (cond (some? force-id) force-id keep-ids? (:id object) @@ -378,11 +381,11 @@ ;; or the parent's frame-id otherwise. Only for the first cloned shapes. In recursive calls ;; this is not needed. frame-id (cond - (and (nil? frame-id) (cfh/frame-shape? objects parent-id)) + (and (nil? frame-id) (cfh/frame-shape? dest-objects parent-id)) parent-id (nil? frame-id) - (dm/get-in objects [parent-id :frame-id]) + (dm/get-in dest-objects [parent-id :frame-id] uuid/zero) :else frame-id)] diff --git a/frontend/src/app/main/data/workspace/libraries_helpers.cljs b/frontend/src/app/main/data/workspace/libraries_helpers.cljs index 11aa8558f..e5150b1ca 100644 --- a/frontend/src/app/main/data/workspace/libraries_helpers.cljs +++ b/frontend/src/app/main/data/workspace/libraries_helpers.cljs @@ -980,7 +980,11 @@ (:id parent-shape) (get component-page :objects) update-new-shape - update-original-shape) + update-original-shape + nil + false + nil + (:objects container)) add-obj-change (fn [changes shape'] (update changes :redo-changes conj