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:
parent
b14aa3629b
commit
b4dd70286d
2 changed files with 16 additions and 1 deletions
|
@ -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."
|
||||
[]
|
||||
|
|
|
@ -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]
|
||||
|
|
Loading…
Add table
Reference in a new issue