0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-04-16 00:41:25 -05:00

🐛 Remove numbers in layer creation

This commit is contained in:
Eva 2023-01-18 16:34:58 +01:00 committed by Alonso Torres
parent de7a1d34c0
commit a1a3d09998
12 changed files with 228 additions and 239 deletions

View file

@ -125,7 +125,7 @@
update-new-shape
(fn [new-shape original-shape]
(let [new-name (ctst/generate-unique-name @unames (:name new-shape))]
(let [new-name (:name new-shape)]
(when (nil? (:parent-id original-shape))
(vswap! unames conj new-name))

View file

@ -278,7 +278,7 @@
(def ^:private minimal-shapes
[{:type :rect
:name "Rect-1"
:name "Rectangle"
:fills [{:fill-color default-color
:fill-opacity 1}]
:strokes []
@ -292,13 +292,13 @@
:strokes []}
{:type :circle
:name "Circle-1"
:name "Ellipse"
:fills [{:fill-color default-color
:fill-opacity 1}]
:strokes []}
{:type :path
:name "Path-1"
:name "Path"
:fills []
:strokes [{:stroke-style :solid
:stroke-alignment :center
@ -307,7 +307,7 @@
:stroke-opacity 1}]}
{:type :frame
:name "Board-1"
:name "Board"
:fills [{:fill-color clr/white
:fill-opacity 1}]
:strokes []
@ -320,7 +320,7 @@
:ry 0}
{:type :text
:name "Text-1"
:name "Text"
:content nil}
{:type :svg-raw}])

View file

@ -304,6 +304,8 @@
[used basename]
(us/assert! ::set-of-strings used)
(us/assert! ::us/string basename)
;; We have add a condition because UX doesn't want numbers on
;; layer names.
(if-not (contains? used basename)
basename
(let [[prefix initial] (extract-numeric-suffix basename)]

View file

@ -11,7 +11,6 @@
[app.common.pages.changes-builder :as pcb]
[app.common.pages.helpers :as cph]
[app.common.path.shapes-to-path :as stp]
[app.common.types.shape-tree :as ctt]
[app.common.uuid :as uuid]
[app.main.data.workspace.changes :as dch]
[app.main.data.workspace.selection :as dws]
@ -85,9 +84,7 @@
(watch [it state _]
(let [page-id (:current-page-id state)
objects (wsh/lookup-page-objects state)
base-name (-> bool-type d/name str/capital (str "-1"))
name (-> (ctt/retrieve-used-names objects)
(ctt/generate-unique-name base-name))
name (-> bool-type d/name str/capital)
ids (selected-shapes-idx state)
ordered-indexes (cph/order-by-indexed-shapes objects ids)
shapes (->> ordered-indexes

View file

@ -12,7 +12,6 @@
[app.common.pages.helpers :as cph]
[app.common.types.component :as ctk]
[app.common.types.shape :as cts]
[app.common.types.shape-tree :as ctst]
[app.main.data.workspace.changes :as dch]
[app.main.data.workspace.selection :as dws]
[app.main.data.workspace.state-helpers :as wsh]
@ -73,8 +72,7 @@
(= (count shapes) 1)
(= (:type (first shapes)) :group))
(:name (first shapes))
(-> (ctst/retrieve-used-names objects)
(ctst/generate-unique-name base-name)))
base-name)
selrect (gsh/selection-rect shapes)
group-idx (->> shapes
@ -162,7 +160,7 @@
shapes (shapes-for-grouping objects selected)]
(when-not (empty? shapes)
(let [[group changes]
(prepare-create-group it objects page-id shapes "Group-1" false)]
(prepare-create-group it objects page-id shapes "Group" false)]
(rx/of (dch/commit-changes changes)
(dws/select-shapes (d/ordered-set (:id group))))))))))
@ -221,7 +219,7 @@
(= (:type (first shapes)) :group))
[first-shape (-> (pcb/empty-changes it page-id)
(pcb/with-objects objects))]
(prepare-create-group it objects page-id shapes "Group-1" true))
(prepare-create-group it objects page-id shapes "Mask" true))
changes (-> changes
(pcb/update-shapes (:shapes group)

View file

@ -22,7 +22,6 @@
[app.common.types.file :as ctf]
[app.common.types.file.media-object :as ctfm]
[app.common.types.pages-list :as ctpl]
[app.common.types.shape-tree :as ctst]
[app.common.types.typography :as ctt]
[app.common.uuid :as uuid]
[app.main.data.dashboard :as dd]
@ -373,9 +372,7 @@
(watch [it state _]
(let [libraries (wsh/get-libraries state)
component (cph/get-component libraries id)
all-components (-> state :workspace-data :components vals)
unames (into #{} (map :name) all-components)
new-name (ctst/generate-unique-name unames (:name component))
new-name (:name component)
components-v2 (features/active-feature? state :components-v2)

View file

@ -327,8 +327,7 @@
(defn- prepare-duplicate-frame-change
[changes objects page unames update-unames! ids-map obj delta]
(let [new-id (ids-map (:id obj))
frame-name (ctt/generate-unique-name @unames (:name obj))
_ (update-unames! frame-name)
frame-name (:name obj)
new-frame (-> obj
(assoc :id new-id
@ -361,8 +360,7 @@
(if (some? obj)
(let [new-id (ids-map (:id obj))
parent-id (or parent-id frame-id)
name (ctt/generate-unique-name @unames (:name obj))
_ (update-unames! name)
name (:name obj)
new-obj (-> obj
(assoc :id new-id

View file

@ -87,9 +87,7 @@
selected (wsh/lookup-selected state)
id (or (:id attrs) (uuid/next))
name (-> objects
(ctst/retrieve-used-names)
(ctst/generate-unique-name (:name attrs)))
name (:name attrs)
shape (make-new-shape
(assoc attrs :id id :name name)

View file

@ -362,7 +362,7 @@
(let [{:keys [tag attrs hidden]} element-data
attrs (usvg/format-styles attrs)
element-data (cond-> element-data (map? element-data) (assoc :attrs attrs))
name (ctst/generate-unique-name unames (or (:id attrs) (tag->name tag)))
name (or (:id attrs) (tag->name tag))
att-refs (usvg/find-attr-references attrs)
references (usvg/find-def-references (:defs svg-data) att-refs)
@ -492,8 +492,7 @@
unames (ctst/retrieve-used-names objects)
svg-name (->> (str/replace (:name svg-data) ".svg" "")
(ctst/generate-unique-name unames))
svg-name (str/replace (:name svg-data) ".svg" "")
svg-data (-> svg-data
(assoc :x x

View file

@ -87,7 +87,7 @@
:obj shape}]))))
(defn group-shapes
([state label ids] (group-shapes state label ids "Group-1"))
([state label ids] (group-shapes state label ids "Group"))
([state label ids prefix]
(let [page (current-page state)
shapes (dwg/shapes-for-grouping (:objects page) ids)]

View file

@ -55,12 +55,12 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> Rect 1-1
; Rect 1 #--> Rect 1
; Rect 1* ---> Rect 1 (color, opacity)
; #{:fill-group}
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
(let [[[group shape1] [c-group c-shape1] component]
@ -68,14 +68,14 @@
new-state
(thp/id :instance1))]
(t/is (= (:name group) "Rect 1-1"))
(t/is (= (:name group) "Rect 1"))
(t/is (= (:touched group) nil))
(t/is (= (:name shape1) "Rect 1"))
(t/is (= (:touched shape1) #{:fill-group}))
(t/is (= (:fill-color shape1) clr/test))
(t/is (= (:fill-opacity shape1) 0.5))
(t/is (= (:name c-group) "Rect 1-1"))
(t/is (= (:name c-group) "Rect 1"))
(t/is (= (:touched c-group) nil))
(t/is (= (:name c-shape1) "Rect 1"))
(t/is (= (:touched c-shape1) nil))
@ -110,13 +110,13 @@
;
; [Page]
; Root Frame
; Rect 1-1* #--> Rect 1-1
; Rect 1 * #--> Rect 1
; #{:shapes-group}
; Circle 1
; Rect 1 ---> Rect 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
(let [[[group shape1 shape2] [c-group c-shape1] component]
@ -124,7 +124,7 @@
new-state
(thp/id :instance1))]
(t/is (= (:name group) "Rect 1-1"))
(t/is (= (:name group) "Rect 1"))
(t/is (= (:touched group) #{:shapes-group}))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) nil))
@ -133,7 +133,7 @@
(t/is (= (:touched shape2) nil))
(t/is (not= (:shape-ref shape2) nil))
(t/is (= (:name c-group) "Rect 1-1"))
(t/is (= (:name c-group) "Rect 1"))
(t/is (= (:touched c-group) nil))
(t/is (= (:shape-ref c-group) nil))
(t/is (= (:name c-shape1) "Rect 1"))
@ -305,7 +305,7 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> <Library 1> Rect 1-1
; Rect 1 #--> <Library 1> Rect 1
; Rect 1* ---> <Library 1> Rect 1 (color, opacity)
; #{:fill-group}
;
@ -314,14 +314,14 @@
new-state
(thp/id :instance2))]
(t/is (= (:name group) "Rect 1-1"))
(t/is (= (:name group) "Rect 1"))
(t/is (= (:touched group) nil))
(t/is (= (:name shape1) "Rect 1"))
(t/is (= (:touched shape1) #{:fill-group}))
(t/is (= (:fill-color shape1) clr/test))
(t/is (= (:fill-opacity shape1) 0.5))
(t/is (= (:name c-group) "Rect 1-1"))
(t/is (= (:name c-group) "Rect 1"))
(t/is (= (:touched c-group) nil))
(t/is (= (:name c-shape1) "Rect 1"))
(t/is (= (:touched c-shape1) nil))
@ -367,19 +367,19 @@
;
; [Page]
; Root Frame
; Group-1* #--> Group-1
; Rect 1-1 @--> Rect 1-1
; Group * #--> Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1* ---> Circle 1 (color, opacity)
; #{:fill-group}
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
; [Group-1]
; Group-1
; Rect 1-1 @--> Rect 1-1
; [Group]
; Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1
;
@ -391,9 +391,9 @@
; TODO: get and check the instance inside component [Group-1]
(t/is (= (:name instance2) "Group-1"))
(t/is (= (:name instance2) "Group"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) #{:fill-group}))
@ -404,9 +404,9 @@
(t/is (= (:fill-color shape2) clr/white))
(t/is (= (:fill-opacity shape2) 1))
(t/is (= (:name c-instance2) "Group-1"))
(t/is (= (:name c-instance2) "Group"))
(t/is (= (:touched c-instance2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Circle 1"))
(t/is (= (:touched c-shape1) nil))
@ -456,19 +456,19 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect 1-1 @--> Rect 1-1
; Group #--> Group
; Rect 1 @--> Rect 1
; Rect 1* ---> Rect 1 (color, opacity)
; #{:fill-group}
; Circle 1 ---> Circle 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
; [Group-1]
; Group-1
; Rect 1-1 @--> Rect 1-1
; [Group]
; Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1
;
@ -480,9 +480,9 @@
; TODO: get and check the instance inside component [Group-1]
(t/is (= (:name instance2) "Group-1"))
(t/is (= (:name instance2) "Group"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) nil))
@ -493,9 +493,9 @@
(t/is (= (:fill-color shape2) clr/test))
(t/is (= (:fill-opacity shape2) 0.5))
(t/is (= (:name c-instance2) "Group-1"))
(t/is (= (:name c-instance2) "Group"))
(t/is (= (:touched c-instance2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Circle 1"))
(t/is (= (:touched c-shape1) nil))
@ -545,18 +545,18 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect 1-1 @--> Rect 1-1
; Group #--> Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1 (color, opacity)
; Circle 1 ---> Circle 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
; [Group-1]
; Group-1
; Rect 1-1 @--> Rect 1-1
; [Group]
; Group
; Rect 1 @--> Rect 1
; Rect 1* ---> Rect 1 (color, opacity)
; #{:fill-group}
; Circle 1
@ -569,9 +569,9 @@
; TODO: get and check the instance inside component [Group-1]
(t/is (= (:name instance2) "Group-1"))
(t/is (= (:name instance2) "Group"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) nil))
@ -582,9 +582,9 @@
(t/is (= (:fill-color shape2) clr/test))
(t/is (= (:fill-opacity shape2) 0.5))
(t/is (= (:name c-instance2) "Group-1"))
(t/is (= (:name c-instance2) "Group"))
(t/is (= (:touched c-instance2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Circle 1"))
(t/is (= (:touched c-shape1) nil))
@ -628,7 +628,7 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> Rect 1-1
; Rect 1 #--> Rect 1
; Rect 1 ---> Rect 1
;
; [Rect 1]
@ -640,14 +640,14 @@
new-state
(:id instance1))]
(t/is (= (:name group) "Rect 1-1"))
(t/is (= (:name group) "Rect 1"))
(t/is (= (:touched group) nil))
(t/is (= (:name shape1) "Rect 1"))
(t/is (= (:fill-color shape1) clr/white))
(t/is (= (:fill-opacity shape1) 1))
(t/is (= (:touched shape1) nil))
(t/is (= (:name c-group) "Rect 1-1"))
(t/is (= (:name c-group) "Rect 1"))
(t/is (= (:touched c-group) nil))
(t/is (= (:name c-shape1) "Rect 1"))
(t/is (= (:fill-color c-shape1) clr/white))
@ -683,11 +683,11 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> Rect 1-1
; Rect 1 #--> Rect 1
; Rect 1 ---> Rect 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
(let [[[group shape1] [c-group c-shape1] component]
@ -695,14 +695,14 @@
new-state
(thp/id :instance1))]
(t/is (= (:name group) "Rect 1-1"))
(t/is (= (:name group) "Rect 1"))
(t/is (= (:touched group) nil))
(t/is (not= (:shape-ref group) nil))
(t/is (= (:name shape1) "Rect 1"))
(t/is (= (:touched shape1) nil))
(t/is (not= (:shape-ref shape1) nil))
(t/is (= (:name c-group) "Rect 1-1"))
(t/is (= (:name c-group) "Rect 1"))
(t/is (= (:touched c-group) nil))
(t/is (= (:shape-ref c-group) nil))
(t/is (= (:name c-shape1) "Rect 1"))
@ -881,7 +881,7 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> <Library 1> Rect 1-1
; Rect 1 #--> <Library 1> Rect 1
; Rect 1 ---> <Library 1> Rect 1
;
(let [[[group shape1] [c-group c-shape1] component]
@ -889,14 +889,14 @@
new-state
(:id instance2))]
(t/is (= (:name group) "Rect 1-1"))
(t/is (= (:name group) "Rect 1"))
(t/is (= (:touched group) nil))
(t/is (= (:name shape1) "Rect 1"))
(t/is (= (:fill-color shape1) clr/white))
(t/is (= (:fill-opacity shape1) 1))
(t/is (= (:touched shape1) nil))
(t/is (= (:name c-group) "Rect 1-1"))
(t/is (= (:name c-group) "Rect 1"))
(t/is (= (:touched c-group) nil))
(t/is (= (:name c-shape1) "Rect 1"))
(t/is (= (:fill-color c-shape1) clr/white))
@ -943,18 +943,18 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect 1-1 @--> Rect 1-1
; Group #--> Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1 ---> Circle 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
; [Group-1]
; Group-1
; Rect 1-1 @--> Rect 1-1
; [Group]
; Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1
;
@ -964,11 +964,11 @@
new-state
(thp/id :instance2))]
; TODO: get and check the instance inside component [Group-1]
; TODO: get and check the instance inside component [Group]
(t/is (= (:name instance2) "Group-1"))
(t/is (= (:name instance2) "Group"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) nil))
@ -979,9 +979,9 @@
(t/is (= (:fill-color shape2) clr/white))
(t/is (= (:fill-opacity shape2) 1))
(t/is (= (:name c-instance2) "Group-1"))
(t/is (= (:name c-instance2) "Group"))
(t/is (= (:touched c-instance2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Circle 1"))
(t/is (= (:touched c-shape1) nil))
@ -1032,18 +1032,18 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect 1-1 @--> Rect 1-1
; Group #--> Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1 ---> Circle 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1 (color, opacity)
;
; [Group-1]
; Group-1
; Rect 1-1 @--> Rect 1-1
; [Group]
; Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1
;
@ -1053,11 +1053,11 @@
new-state
(thp/id :instance2))]
; TODO: get and check the instance inside component [Group-1]
; TODO: get and check the instance inside component [Group]
(t/is (= (:name instance2) "Group-1"))
(t/is (= (:name instance2) "Group"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) nil))
@ -1068,9 +1068,9 @@
(t/is (= (:fill-color shape2) clr/white))
(t/is (= (:fill-opacity shape2) 1))
(t/is (= (:name c-instance2) "Group-1"))
(t/is (= (:name c-instance2) "Group"))
(t/is (= (:touched c-instance2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Circle 1"))
(t/is (= (:touched c-shape1) nil))
@ -1122,18 +1122,18 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect 1-1 @--> Rect 1-1
; Group #--> Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1 ---> Circle 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
; [Group-1]
; Group-1
; Rect 1-1 @--> Rect 1-1
; [Group]
; Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1 (color, opacity)
; #{:fill-group}
; Circle 1
@ -1146,9 +1146,9 @@
; TODO: get and check the instance inside component [Group-1]
(t/is (= (:name instance2) "Group-1"))
(t/is (= (:name instance2) "Group"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) nil))
@ -1159,9 +1159,9 @@
(t/is (= (:fill-color shape2) clr/white))
(t/is (= (:fill-opacity shape2) 1))
(t/is (= (:name c-instance2) "Group-1"))
(t/is (= (:name c-instance2) "Group"))
(t/is (= (:touched c-instance2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Circle 1"))
(t/is (= (:touched c-shape1) nil))
@ -1209,13 +1209,13 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> Rect 1-1
; Rect 1 #--> Rect 1
; Rect 1 ---> Rect 1 (color, opacity)
; Rect 1-2
; Rect 1 ---> Rect 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1 (color, opacity)
;
(let [[[instance1 shape1] [c-instance1 c-shape1] component1]
@ -1228,21 +1228,21 @@
new-state
(:id instance2))]
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Rect 1"))
(t/is (= (:fill-color shape1) clr/test))
(t/is (= (:fill-opacity shape1) 0.5))
(t/is (= (:touched shape1) nil))
(t/is (= (:name instance2) "Rect 1-2"))
(t/is (= (:name instance2) "Rect 1"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name shape2) "Rect 1"))
(t/is (= (:fill-color shape2) clr/white))
(t/is (= (:fill-opacity shape2) 1))
(t/is (= (:touched shape2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Rect 1"))
(t/is (= (:fill-color c-shape1) clr/test))
@ -1289,13 +1289,13 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> Rect 1-1
; Rect 1 #--> Rect 1
; Rect 1 ---> Rect 1 (color, opacity)
; Rect 1-2 #--> Rect 1-1
; Rect 1 #--> Rect 1
; Rect 1 ---> Rect 1 (color, opacity)
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1 (color, opacity)
;
(let [[[instance1 shape1] [c-instance1 c-shape1] component1]
@ -1308,21 +1308,21 @@
new-state
(:id instance2))]
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Rect 1"))
(t/is (= (:fill-color shape1) clr/test))
(t/is (= (:fill-opacity shape1) 0.5))
(t/is (= (:touched shape1) nil))
(t/is (= (:name instance2) "Rect 1-2"))
(t/is (= (:name instance2) "Rect 1"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name shape2) "Rect 1"))
(t/is (= (:fill-color shape2) clr/test))
(t/is (= (:fill-opacity shape2) 0.5))
(t/is (= (:touched shape2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Rect 1"))
(t/is (= (:fill-color c-shape1) clr/test))
@ -1375,9 +1375,9 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> Rect 1-1
; Rect 1 #--> Rect 1
; Rect 1 ---> Rect 1 (color, stroke)
; Rect 1-2 #--> Rect 1-1
; Rect 1 #--> Rect 1
; Rect 1* ---> Rect 1 (color, stroke2)
; #{:stroke-group}
;
@ -1395,21 +1395,21 @@
new-state
(:id instance2))]
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Rect 1"))
(t/is (= (:fill-color shape1) clr/test))
(t/is (= (:stroke-width shape1) 0.5))
(t/is (= (:touched shape1) nil))
(t/is (= (:name instance2) "Rect 1-2"))
(t/is (= (:name instance2) "Rect 1"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name shape2) "Rect 1"))
(t/is (= (:fill-color shape2) clr/test))
(t/is (= (:stroke-width shape2) 0.2))
(t/is (= (:touched shape2) #{:stroke-group}))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Rect 1"))
(t/is (= (:fill-color c-shape1) clr/test))
@ -1452,12 +1452,12 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> Rect 1-1
; Rect 1 #--> Rect 1
; Circle 1 ---> Circle 1
; Rect 1 ---> Rect 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Circle 1
; Rect 1
;
@ -1467,7 +1467,7 @@
new-state
(thp/id :instance1))]
(t/is (= (:name group) "Rect 1-1"))
(t/is (= (:name group) "Rect 1"))
(t/is (= (:touched group) nil))
(t/is (not= (:shape-ref group) nil))
(t/is (= (:name shape1) "Circle 1"))
@ -1477,7 +1477,7 @@
(t/is (= (:touched shape2) nil))
(t/is (not= (:shape-ref shape2) nil))
(t/is (= (:name c-group) "Rect 1-1"))
(t/is (= (:name c-group) "Rect 1"))
(t/is (= (:touched c-group) nil))
(t/is (= (:shape-ref c-group) nil))
(t/is (= (:name c-shape1) "Circle 1"))
@ -1654,7 +1654,7 @@
;
; [Page]
; Root Frame
; Rect 1-1 #--> <Library 1> Rect 1-1 (color, opacity)
; Rect 1 #--> <Library 1> Rect 1 (color, opacity)
; Rect 1 ---> <Library 1> Rect 1
;
(let [[[group shape1] [c-group c-shape1] component]
@ -1662,14 +1662,14 @@
new-state
(:id instance2))]
(t/is (= (:name group) "Rect 1-1"))
(t/is (= (:name group) "Rect 1"))
(t/is (= (:touched group) nil))
(t/is (= (:name shape1) "Rect 1"))
(t/is (= (:fill-color shape1) clr/test))
(t/is (= (:fill-opacity shape1) 0.5))
(t/is (= (:touched shape1) nil))
(t/is (= (:name c-group) "Rect 1-1"))
(t/is (= (:name c-group) "Rect 1"))
(t/is (= (:touched c-group) nil))
(t/is (= (:name c-shape1) "Rect 1"))
(t/is (= (:fill-color c-shape1) clr/test))
@ -1716,18 +1716,18 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect 1-1 @--> Rect 1-1
; Group #--> Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1 ---> Circle 1 (color, opacity)
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
; [Group-1]
; Group-1
; Rect 1-1 @--> Rect 1-1
; [Group]
; Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1 (color, opacity)
;
@ -1739,9 +1739,9 @@
; TODO: get and check the instance inside component [Group-1]
(t/is (= (:name instance2) "Group-1"))
(t/is (= (:name instance2) "Group"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) nil))
@ -1752,9 +1752,9 @@
(t/is (= (:fill-color shape2) clr/white))
(t/is (= (:fill-opacity shape2) 1))
(t/is (= (:name c-instance2) "Group-1"))
(t/is (= (:name c-instance2) "Group"))
(t/is (= (:touched c-instance2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Circle 1"))
(t/is (= (:touched c-shape1) nil))
@ -1805,18 +1805,18 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect 1-1 @--> Rect 1-1
; Group #--> Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1 (color, opacity)
; Circle 1 ---> Circle 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1
;
; [Group-1]
; Group-1
; Rect 1-1 @--> Rect 1-1
; [Group]
; Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1 (color, opacity)
; Circle 1
;
@ -1828,9 +1828,9 @@
; TODO: get and check the instance inside component [Group-1]
(t/is (= (:name instance2) "Group-1"))
(t/is (= (:name instance2) "Group"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) nil))
@ -1841,9 +1841,9 @@
(t/is (= (:fill-color shape2) clr/test))
(t/is (= (:fill-opacity shape2) 0.5))
(t/is (= (:name c-instance2) "Group-1"))
(t/is (= (:name c-instance2) "Group"))
(t/is (= (:touched c-instance2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Circle 1"))
(t/is (= (:touched c-shape1) nil))
@ -1895,18 +1895,18 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect 1-1 @--> Rect 1-1
; Group #--> Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1 (color, opacity)
; Circle 1 ---> Circle 1
;
; [Rect 1]
; Rect 1-1
; Rect 1
; Rect 1 (color, opacity)
;
; [Group-1]
; Group-1
; Rect 1-1 @--> Rect 1-1
; [Group]
; Group
; Rect 1 @--> Rect 1
; Rect 1 ---> Rect 1
; Circle 1
;
@ -1918,9 +1918,9 @@
; TODO: get and check the instance inside component [Group-1]
(t/is (= (:name instance2) "Group-1"))
(t/is (= (:name instance2) "Group"))
(t/is (= (:touched instance2) nil))
(t/is (= (:name instance1) "Rect 1-1"))
(t/is (= (:name instance1) "Rect 1"))
(t/is (= (:touched instance1) nil))
(t/is (= (:name shape1) "Circle 1"))
(t/is (= (:touched shape1) nil))
@ -1931,9 +1931,9 @@
(t/is (= (:fill-color shape2) clr/test))
(t/is (= (:fill-opacity shape2) 0.5))
(t/is (= (:name c-instance2) "Group-1"))
(t/is (= (:name c-instance2) "Group"))
(t/is (= (:touched c-instance2) nil))
(t/is (= (:name c-instance1) "Rect 1-1"))
(t/is (= (:name c-instance1) "Rect 1"))
(t/is (= (:touched c-instance1) nil))
(t/is (= (:name c-shape1) "Circle 1"))
(t/is (= (:touched c-shape1) nil))

View file

@ -43,11 +43,11 @@
;
; [Page]
; Root Frame
; Rect-2 #--> Rect-2
; Rect-1 #--> Rect-1
; Rect-1 ---> Rect-1
;
; [Rect-2]
; Rect-2
; [Rect-1]
; Rect-1
; Rect-1
;
(let [shape1 (thp/get-shape new-state :shape1)
@ -60,10 +60,10 @@
file (wsh/get-local-file new-state)]
(t/is (= (:name shape1) "Rect-1"))
(t/is (= (:name group) "Rect-2"))
(t/is (= (:name component) "Rect-2"))
(t/is (= (:name group) "Rect-1"))
(t/is (= (:name component) "Rect-1"))
(t/is (= (:name c-shape1) "Rect-1"))
(t/is (= (:name c-group) "Rect-2"))
(t/is (= (:name c-group) "Rect-1"))
(thl/is-from-file group file))))]
@ -179,12 +179,12 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Group #--> Group
; Rect-1 ---> Rect-1
; Rect-2 ---> Rect-2
;
; [Group-1]
; Group-1
; [Group]
; Group
; Rect-1
; Rect-2
;
@ -199,11 +199,11 @@
(t/is (= (:name shape1) "Rect-1"))
(t/is (= (:name shape2) "Rect-2"))
(t/is (= (:name group) "Group-1"))
(t/is (= (:name component) "Group-1"))
(t/is (= (:name group) "Group"))
(t/is (= (:name component) "Group"))
(t/is (= (:name c-shape1) "Rect-1"))
(t/is (= (:name c-shape2) "Rect-2"))
(t/is (= (:name c-group) "Group-1"))
(t/is (= (:name c-group) "Group"))
(thl/is-from-file group file))))]
@ -229,17 +229,17 @@
;
; [Page]
; Root Frame
; Rect-3 #--> Rect-3
; Rect-2 @--> Rect-2
; Rect-1 #--> Rect-1
; Rect-1 @--> Rect-1
; Rect-1 ---> Rect-1
;
; [Rect-2]
; Rect-2
; [Rect-1]
; Rect-1
; Rect-1
;
; [Rect-2]
; Rect-3
; Rect-2 @--> Rect-2
; [Rect-1]
; Rect-1
; Rect-1 @--> Rect-1
; Rect-1 ---> Rect-1
;
(let [[[instance1 shape1]
@ -258,18 +258,18 @@
(:parent-id instance1))]
(t/is (= (:name shape1) "Rect-1"))
(t/is (= (:name instance1) "Rect-2"))
(t/is (= (:name component1) "Rect-2"))
(t/is (= (:name instance1) "Rect-1"))
(t/is (= (:name component1) "Rect-1"))
(t/is (= (:name c-shape1) "Rect-1"))
(t/is (= (:name c-instance1) "Rect-2"))
(t/is (= (:name c-instance1) "Rect-1"))
(t/is (= (:name shape1') "Rect-1"))
(t/is (= (:name instance1') "Rect-2"))
(t/is (= (:name instance2) "Rect-3"))
(t/is (= (:name component2) "Rect-3"))
(t/is (= (:name instance1') "Rect-1"))
(t/is (= (:name instance2) "Rect-1"))
(t/is (= (:name component2) "Rect-1"))
(t/is (= (:name c-shape1') "Rect-1"))
(t/is (= (:name c-instance1') "Rect-2"))
(t/is (= (:name c-instance2) "Rect-3")))))]
(t/is (= (:name c-instance1') "Rect-1"))
(t/is (= (:name c-instance2) "Rect-1")))))]
(ptk/emit!
store
@ -332,15 +332,15 @@
;
; [Page]
; Root Frame
; Rect-2 #--> Rect-2
; Rect-1 #--> Rect-1
; Rect-1 ---> Rect-1
;
; [Rect-1]
; Rect-2
; Rect-1
; Rect-1
;
; [Rect-3]
; Rect-2
; [Rect-1]
; Rect-1
; Rect-1
;
(let [new-component-id (->> (get-in new-state
@ -363,7 +363,7 @@
new-state
new-component-id)]
(t/is (= (:name component2) "Rect-3")))))]
(t/is (= (:name component2) "Rect-1")))))]
(ptk/emit!
store
@ -434,13 +434,13 @@
;
; [Page]
; Root Frame
; Rect-2 #--> Rect-2
; Rect-1 #--> Rect-1
; Rect-1 ---> Rect-1
; Rect-3 #--> Rect-2
; Rect-1 #--> Rect-1
; Rect-1 ---> Rect-1
;
; [Rect-2]
; Rect-2
; [Rect-1]
; Rect-1
; Rect-1
;
(let [new-instance-id (-> new-state
@ -456,9 +456,9 @@
(t/is (not= (:id instance1) (:id instance2)))
(t/is (= (:id component) component-id))
(t/is (= (:name instance2) "Rect-3"))
(t/is (= (:name instance2) "Rect-1"))
(t/is (= (:name shape2) "Rect-1"))
(t/is (= (:name c-instance2) "Rect-2"))
(t/is (= (:name c-instance2) "Rect-1"))
(t/is (= (:name c-shape2) "Rect-1"))
(t/is (= (:component-file instance2)
thp/current-file-id)))))]
@ -491,7 +491,7 @@
;
; [Page]
; Root Frame
; Rect-2 #--> <Library 1> Rect-2
; Rect-1 #--> <Library 1> Rect-1
; Rect-1 ---> <Library 1> Rect-1
;
(let [new-instance-id (-> new-state
@ -506,9 +506,9 @@
new-instance-id)]
(t/is (= (:id component) component-id))
(t/is (= (:name instance2) "Rect-2"))
(t/is (= (:name instance2) "Rect-1"))
(t/is (= (:name shape2) "Rect-1"))
(t/is (= (:name c-instance2) "Rect-2"))
(t/is (= (:name c-instance2) "Rect-1"))
(t/is (= (:name c-shape2) "Rect-1"))
(t/is (= (:component-file instance2) library-id)))))]
@ -576,17 +576,17 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect-2 @--> Rect-2
; Group #--> Group
; Rect-1 @--> Rect-1
; Rect-1 ---> Rect-1
;
; [Rect-1]
; Rect-2
; Rect-1
; Rect-1
;
; [Group-1]
; Group-1
; Rect-2 @--> Rect-2
; [Group]
; Group
; Rect-1 @--> Rect-1
; Rect-1 ---> Rect-1
;
(let [page (thp/current-page new-state)
@ -600,12 +600,12 @@
new-state
(:parent-id parent1))]
(t/is (= (:name group) "Group-1"))
(t/is (= (:name shape1) "Rect-2"))
(t/is (= (:name group) "Group"))
(t/is (= (:name shape1) "Rect-1"))
(t/is (= (:name shape2) "Rect-1"))
(t/is (= (:name component) "Group-1"))
(t/is (= (:name c-group) "Group-1"))
(t/is (= (:name c-shape1) "Rect-2"))
(t/is (= (:name component) "Group"))
(t/is (= (:name c-group) "Group"))
(t/is (= (:name c-shape1) "Rect-1"))
(t/is (= (:name c-shape2) "Rect-1")))))]
(ptk/emit!
@ -641,20 +641,20 @@
;
; [Page]
; Root Frame
; Rect-2 #--> Rect-2
; Rect-2 @--> Rect-2
; Rect-1 #--> Rect-1
; Rect-1 @--> Rect-1
; Rect-1 ---> Rect-1
; Rect-3 #--> Rect-2
; Rect-2 @--> Rect-2
; Rect-1 #--> Rect-1
; Rect-1 @--> Rect-1
; Rect-1 ---> Rect-1
;
; [Rect-1]
; Rect-2
; Rect-1
; Rect-1
;
; [Rect-2]
; Rect-2
; Rect-2 @--> Rect-2
; [Rect-1]
; Rect-1
; Rect-1 @--> Rect-1
; Rect-1 ---> Rect-1
;
(let [new-instance-id (-> new-state
@ -672,11 +672,11 @@
(t/is (not= (:id instance1) (:id instance3)))
(t/is (= (:id component) component-id))
(t/is (= (:name instance3) "Rect-3"))
(t/is (= (:name shape3) "Rect-2"))
(t/is (= (:name instance3) "Rect-1"))
(t/is (= (:name shape3) "Rect-1"))
(t/is (= (:name shape4) "Rect-1"))
(t/is (= (:name c-instance3) "Rect-2"))
(t/is (= (:name c-shape3) "Rect-2"))
(t/is (= (:name c-instance3) "Rect-1"))
(t/is (= (:name c-shape3) "Rect-1"))
(t/is (= (:name c-shape4) "Rect-1")))))]
(ptk/emit!
@ -710,13 +710,13 @@
;
; [Page]
; Root Frame
; Group-1 #--> Group-1
; Rect-2 @--> <Library 1> Rect-2
; Group #--> Group
; Rect-1 @--> <Library 1> Rect-1
; Rect-1 ---> <Library 1> Rect-1
;
; [Group-1]
; Group-1
; Rect-2 @--> <Library 1> Rect-2
; [Group]
; Group
; Rect-1 @--> <Library 1> Rect-1
; Rect-1 ---> <Library 1> Rect-1
;
(let [instance2 (thp/get-shape new-state :instance2)
@ -726,11 +726,11 @@
new-state
(:parent-id instance2))]
(t/is (= (:name group1) "Group-1"))
(t/is (= (:name shape1) "Rect-2"))
(t/is (= (:name group1) "Group"))
(t/is (= (:name shape1) "Rect-1"))
(t/is (= (:name shape2) "Rect-1"))
(t/is (= (:name c-group1) "Group-1"))
(t/is (= (:name c-shape1) "Rect-2"))
(t/is (= (:name c-group1) "Group"))
(t/is (= (:name c-shape1) "Rect-1"))
(t/is (= (:name c-shape2) "Rect-1"))
(t/is (= (:component-file group1) thp/current-file-id))
(t/is (= (:component-file shape1) library-id))