mirror of
https://github.com/penpot/penpot.git
synced 2025-06-06 10:51:39 +02:00
🐛 Fix allow moving a main component into another
This commit is contained in:
parent
93c81ea49c
commit
70a23a14c4
2 changed files with 13 additions and 3 deletions
|
@ -8,6 +8,7 @@
|
||||||
- Fix scroll on token themes modal [Taiga #10745](https://tree.taiga.io/project/penpot/issue/10745)
|
- Fix scroll on token themes modal [Taiga #10745](https://tree.taiga.io/project/penpot/issue/10745)
|
||||||
- Fix unexpected exception on path editor on merge segments when undo stack is empty
|
- Fix unexpected exception on path editor on merge segments when undo stack is empty
|
||||||
- Fix pricing CTA to be under a config flag [Taiga #10808](https://tree.taiga.io/project/penpot/issue/10808)
|
- Fix pricing CTA to be under a config flag [Taiga #10808](https://tree.taiga.io/project/penpot/issue/10808)
|
||||||
|
- Fix allow moving a main component into another [Taiga #10818](https://tree.taiga.io/project/penpot/issue/10818)
|
||||||
|
|
||||||
## 2.6.1
|
## 2.6.1
|
||||||
|
|
||||||
|
|
|
@ -543,14 +543,23 @@
|
||||||
;; We can always move the children to the parent they already have.
|
;; We can always move the children to the parent they already have.
|
||||||
;; But if we are pasting, those are new items, so it is considered a change
|
;; But if we are pasting, those are new items, so it is considered a change
|
||||||
no-changes?
|
no-changes?
|
||||||
(and (->> children (every? #(= parent-id (:parent-id %))))
|
(and (every? #(= parent-id (:parent-id %)) children)
|
||||||
(not pasting?))
|
(not pasting?))
|
||||||
all-main?
|
all-main?
|
||||||
(->> children (every? #(ctk/main-instance? %)))]
|
(every? ctk/main-instance? children)
|
||||||
|
|
||||||
|
any-main-descendant
|
||||||
|
(some
|
||||||
|
(fn [shape]
|
||||||
|
(some ctk/main-instance? (cfh/get-children-with-self objects (:id shape))))
|
||||||
|
children)]
|
||||||
|
|
||||||
(if (or no-changes?
|
(if (or no-changes?
|
||||||
(and (not (invalid-structure-for-component? objects parent children pasting? libraries))
|
(and (not (invalid-structure-for-component? objects parent children pasting? libraries))
|
||||||
;; If we are moving into a variant-container, all the items should be main
|
;; If we are moving into a variant-container, all the items should be main
|
||||||
(or all-main? (not (ctk/is-variant-container? parent)))))
|
(or all-main? (not (ctk/is-variant-container? parent)))
|
||||||
|
;; If we are moving into a main component, no descendant can be main
|
||||||
|
(or (nil? any-main-descendant) (not (ctk/main-instance? parent)))))
|
||||||
[parent-id (get-frame parent-id)]
|
[parent-id (get-frame parent-id)]
|
||||||
(recur (:parent-id parent) objects children pasting? libraries))))))
|
(recur (:parent-id parent) objects children pasting? libraries))))))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue