0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-03-11 07:11:32 -05:00

Add copy impl on layers toolbox.

This commit is contained in:
Andrey Antukh 2016-01-13 17:51:39 +20:00
parent b14aa3629b
commit b4dd70286d
2 changed files with 16 additions and 1 deletions

View file

@ -263,6 +263,19 @@
(-apply-update [_ state]
(assoc-in state [:workspace :selected] #{}))))
(defn copy-selected
"Copy the selected shapes."
[]
(reify
rs/WatchEvent
(-apply-watch [_ state]
(let [selected (get-in state [:workspace :selected])]
(as-> selected $
(map #(get-in state [:shapes-by-id %]) $)
(map #(assoc % :id (random-uuid)) $)
(map #(add-shape % %) $)
(rx/from-coll $))))))
(defn delete-selected
"Deselect all and remove all selected shapes."
[]

View file

@ -158,6 +158,7 @@
shapes-by-id (rum/react shapes-by-id)
page (rum/react (focus-page (:page workspace)))
close #(rs/emit! (dw/toggle-toolbox :layers))
copy #(rs/emit! (dw/copy-selected))
delete #(rs/emit! (dw/delete-selected))]
(html
[:div#layers.tool-window
@ -172,7 +173,8 @@
(rum/with-key component (:id shape)))]]
[:div.layers-tools
[:ul.layers-tools-content
[:li.clone-layer i/copy]
[:li.clone-layer {:on-click copy}
i/copy]
[:li.group-layer i/folder]
[:li.delete-layer {:on-click delete}
i/trash]