mirror of
https://github.com/penpot/penpot.git
synced 2026-06-09 17:02:05 +00:00
♻️ Migrate color-item asset component to modern syntax (#9440)
Signed-off-by: Andrey Antukh <niwi@niwi.nz> Co-authored-by: Andrey Antukh <niwi@niwi.nz>
This commit is contained in:
parent
feca7cef41
commit
cb5f59533d
@ -34,9 +34,8 @@
|
||||
[okulary.core :as l]
|
||||
[rumext.v2 :as mf]))
|
||||
|
||||
(mf/defc color-item
|
||||
{::mf/wrap-props false}
|
||||
[{:keys [color local? file-id selected multi-colors? multi-assets?
|
||||
(mf/defc color-item*
|
||||
[{:keys [color is-local file-id selected is-multi-colors is-multi-assets
|
||||
on-asset-click on-assets-delete on-clear-selection on-group
|
||||
selected-full selected-paths move-color]}]
|
||||
|
||||
@ -89,9 +88,9 @@
|
||||
|
||||
delete-color
|
||||
(mf/use-fn
|
||||
(mf/deps multi-colors? multi-assets? file-id color-id)
|
||||
(mf/deps is-multi-colors is-multi-assets file-id color-id)
|
||||
(fn []
|
||||
(if (or multi-colors? multi-assets?)
|
||||
(if (or is-multi-colors is-multi-assets)
|
||||
(on-assets-delete)
|
||||
(let [undo-id (js/Symbol)]
|
||||
(st/emit! (dwu/start-undo-transaction undo-id)
|
||||
@ -107,9 +106,9 @@
|
||||
|
||||
rename-color-clicked
|
||||
(mf/use-fn
|
||||
(mf/deps read-only? local?)
|
||||
(mf/deps read-only? is-local)
|
||||
(fn [event]
|
||||
(when (and local? (not read-only?))
|
||||
(when (and is-local (not read-only?))
|
||||
(dom/prevent-default event)
|
||||
(reset! editing* true))))
|
||||
|
||||
@ -150,7 +149,7 @@
|
||||
(fn [event]
|
||||
(dom/prevent-default event)
|
||||
(let [pos (dom/get-client-position event)]
|
||||
(when (and local? (not read-only?))
|
||||
(when (and is-local (not read-only?))
|
||||
(when-not (contains? selected color-id)
|
||||
(on-clear-selection))
|
||||
(swap! menu-state cmm/open-context-menu pos)))))
|
||||
@ -195,7 +194,7 @@
|
||||
(st/emit! (ev/event
|
||||
{::ev/name "use-library-color"
|
||||
::ev/origin "sidebar"
|
||||
:external-library (not local?)}))
|
||||
:external-library (not is-local)}))
|
||||
|
||||
(when-not (on-asset-click event (:id color))
|
||||
(st/emit! (dc/apply-color-from-assets file-id color (kbd/alt? event)))))))]
|
||||
@ -247,26 +246,26 @@
|
||||
(:name color)
|
||||
[:span {:class (stl/css :default-name :default-name-with-color)} display-name]])])
|
||||
|
||||
(when local?
|
||||
(when is-local
|
||||
[:> cmm/assets-context-menu*
|
||||
{:on-close on-close-menu
|
||||
:state @menu-state
|
||||
:options [(when-not (or multi-colors? multi-assets?)
|
||||
:options [(when-not (or is-multi-colors is-multi-assets)
|
||||
{:name (tr "workspace.assets.rename")
|
||||
:id "assets-rename-color"
|
||||
:handler rename-color-clicked})
|
||||
(when-not (or multi-colors? multi-assets?)
|
||||
(when-not (or is-multi-colors is-multi-assets)
|
||||
{:name (tr "workspace.assets.edit")
|
||||
:id "assets-edit-color"
|
||||
:handler edit-color-clicked})
|
||||
(when-not (or multi-colors? multi-assets?)
|
||||
(when-not (or is-multi-colors is-multi-assets)
|
||||
{:name (tr "workspace.assets.duplicate")
|
||||
:id "assets-duplicate-color"
|
||||
:handler duplicate-color})
|
||||
{:name (tr "workspace.assets.delete")
|
||||
:id "assets-delete-color"
|
||||
:handler delete-color}
|
||||
(when-not multi-assets?
|
||||
(when-not is-multi-assets
|
||||
{:name (tr "workspace.assets.group")
|
||||
:id "assets-group-color"
|
||||
:handler (on-group (:id color))})]}])
|
||||
@ -342,21 +341,21 @@
|
||||
[:div {:class (stl/css :drop-space)}])
|
||||
|
||||
(for [color colors]
|
||||
[:& color-item {:key (dm/str (:id color))
|
||||
:color color
|
||||
:file-id file-id
|
||||
:local? local?
|
||||
:selected selected
|
||||
:multi-colors? multi-colors?
|
||||
:multi-assets? multi-assets?
|
||||
:on-asset-click on-asset-click
|
||||
:on-assets-delete on-assets-delete
|
||||
:on-clear-selection on-clear-selection
|
||||
:on-group on-group
|
||||
:colors colors
|
||||
:selected-full selected-full
|
||||
:selected-paths selected-paths
|
||||
:move-color move-color}])])
|
||||
[:> color-item* {:key (dm/str (:id color))
|
||||
:color color
|
||||
:file-id file-id
|
||||
:is-local local?
|
||||
:selected selected
|
||||
:is-multi-colors multi-colors?
|
||||
:is-multi-assets multi-assets?
|
||||
:on-asset-click on-asset-click
|
||||
:on-assets-delete on-assets-delete
|
||||
:on-clear-selection on-clear-selection
|
||||
:on-group on-group
|
||||
:colors colors
|
||||
:selected-full selected-full
|
||||
:selected-paths selected-paths
|
||||
:move-color move-color}])])
|
||||
|
||||
(for [[path-item content] groups]
|
||||
(when-not (empty? path-item)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user