mirror of
https://github.com/penpot/penpot.git
synced 2025-06-12 16:21:40 +02:00
🐛 Fix Double click on asset to go to main component fail when the library is in a nother project
This commit is contained in:
parent
ab8155cec2
commit
240718f2b2
1 changed files with 49 additions and 41 deletions
|
@ -36,7 +36,7 @@
|
||||||
[potok.core :as ptk]
|
[potok.core :as ptk]
|
||||||
[rumext.v2 :as mf]))
|
[rumext.v2 :as mf]))
|
||||||
|
|
||||||
(def drag-data* (atom false))
|
(def drag-data* (atom {:local? false}))
|
||||||
|
|
||||||
(defn set-drag-data! [data]
|
(defn set-drag-data! [data]
|
||||||
(reset! drag-data* data))
|
(reset! drag-data* data))
|
||||||
|
@ -102,10 +102,12 @@
|
||||||
|
|
||||||
on-component-double-click
|
on-component-double-click
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
(mf/deps file-id component-id)
|
(mf/deps file-id component local)
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(dom/stop-propagation event)
|
(dom/stop-propagation event)
|
||||||
(st/emit! (dw/go-to-main-instance file-id component-id))))
|
(if local
|
||||||
|
(st/emit! (dw/go-to-component component-id))
|
||||||
|
(st/emit! (dwl/nav-to-component-file file-id component)))))
|
||||||
|
|
||||||
on-drop
|
on-drop
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
|
@ -519,7 +521,8 @@
|
||||||
(fn [component-id event]
|
(fn [component-id event]
|
||||||
(dom/prevent-default event)
|
(dom/prevent-default event)
|
||||||
(let [pos (dom/get-client-position event)]
|
(let [pos (dom/get-client-position event)]
|
||||||
(when (and local? (not read-only?))
|
|
||||||
|
(when (not read-only?)
|
||||||
(when-not (contains? selected component-id)
|
(when-not (contains? selected component-id)
|
||||||
(on-clear-selection))
|
(on-clear-selection))
|
||||||
|
|
||||||
|
@ -601,10 +604,13 @@
|
||||||
|
|
||||||
on-show-main
|
on-show-main
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
(mf/deps current-component-id file-id)
|
(mf/deps current-component-id file-id local?)
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(dom/stop-propagation event)
|
(dom/stop-propagation event)
|
||||||
(st/emit! (dw/go-to-main-instance file-id current-component-id))))
|
(if local?
|
||||||
|
(st/emit! (dw/go-to-component current-component-id))
|
||||||
|
(let [component (d/seek #(= (:id %) current-component-id) components)]
|
||||||
|
(st/emit! (dwl/nav-to-component-file file-id component))))))
|
||||||
|
|
||||||
on-asset-click
|
on-asset-click
|
||||||
(mf/use-fn (mf/deps groups on-asset-click) (partial on-asset-click groups))]
|
(mf/use-fn (mf/deps groups on-asset-click) (partial on-asset-click groups))]
|
||||||
|
@ -667,44 +673,46 @@
|
||||||
:on-context-menu on-context-menu
|
:on-context-menu on-context-menu
|
||||||
:selected-full selected-full
|
:selected-full selected-full
|
||||||
:local ^boolean local?}])
|
:local ^boolean local?}])
|
||||||
(when ^boolean local?
|
|
||||||
[:& cmm/assets-context-menu
|
|
||||||
{:on-close on-close-menu
|
|
||||||
:state @menu-state
|
|
||||||
:options (if new-css-system
|
|
||||||
[(when-not (or multi-components? multi-assets?)
|
|
||||||
{:option-name (tr "workspace.assets.rename")
|
|
||||||
:id "assets-rename-component"
|
|
||||||
:option-handler on-rename})
|
|
||||||
(when-not multi-assets?
|
|
||||||
{:option-name (if components-v2
|
|
||||||
(tr "workspace.assets.duplicate-main")
|
|
||||||
(tr "workspace.assets.duplicate"))
|
|
||||||
:id "assets-duplicate-component"
|
|
||||||
:option-handler on-duplicate})
|
|
||||||
|
|
||||||
|
[:& cmm/assets-context-menu
|
||||||
|
{:on-close on-close-menu
|
||||||
|
:state @menu-state
|
||||||
|
:options (if new-css-system
|
||||||
|
[(when (and local? (not (or multi-components? multi-assets? read-only?)))
|
||||||
|
{:option-name (tr "workspace.assets.rename")
|
||||||
|
:id "assets-rename-component"
|
||||||
|
:option-handler on-rename})
|
||||||
|
(when (and local? (not (or multi-assets? read-only?)))
|
||||||
|
{:option-name (if components-v2
|
||||||
|
(tr "workspace.assets.duplicate-main")
|
||||||
|
(tr "workspace.assets.duplicate"))
|
||||||
|
:id "assets-duplicate-component"
|
||||||
|
:option-handler on-duplicate})
|
||||||
|
|
||||||
|
(when (and local? (not read-only?))
|
||||||
{:option-name (tr "workspace.assets.delete")
|
{:option-name (tr "workspace.assets.delete")
|
||||||
:id "assets-delete-component"
|
:id "assets-delete-component"
|
||||||
:option-handler on-delete}
|
:option-handler on-delete})
|
||||||
(when-not multi-assets?
|
(when (and local? (not (or multi-assets? read-only?)))
|
||||||
{:option-name (tr "workspace.assets.group")
|
{:option-name (tr "workspace.assets.group")
|
||||||
:id "assets-group-component"
|
:id "assets-group-component"
|
||||||
:option-handler on-group})
|
:option-handler on-group})
|
||||||
|
|
||||||
(when (and components-v2 (not multi-assets?))
|
(when (and components-v2 (not multi-assets?))
|
||||||
{:option-name (tr "workspace.shape.menu.show-main")
|
{:option-name (tr "workspace.shape.menu.show-main")
|
||||||
:id "assets-show-main-component"
|
:id "assets-show-main-component"
|
||||||
:option-handler on-show-main})]
|
:option-handler on-show-main})]
|
||||||
|
|
||||||
[(when-not (or multi-components? multi-assets?)
|
[(when (and local? (not (or multi-components? multi-assets? read-only?)))
|
||||||
[(tr "workspace.assets.rename") on-rename])
|
[(tr "workspace.assets.rename") on-rename])
|
||||||
(when-not multi-assets?
|
(when (and local? (not (or multi-assets? read-only?)))
|
||||||
[(if components-v2
|
[(if components-v2
|
||||||
(tr "workspace.assets.duplicate-main")
|
(tr "workspace.assets.duplicate-main")
|
||||||
(tr "workspace.assets.duplicate")) on-duplicate])
|
(tr "workspace.assets.duplicate")) on-duplicate])
|
||||||
[(tr "workspace.assets.delete") on-delete]
|
(when (and local? (not read-only?))
|
||||||
(when-not multi-assets?
|
[(tr "workspace.assets.delete") on-delete])
|
||||||
[(tr "workspace.assets.group") on-group])
|
(when (and local? (not (or multi-assets? read-only?)))
|
||||||
(when (and components-v2 (not multi-assets?))
|
[(tr "workspace.assets.group") on-group])
|
||||||
[(tr "workspace.shape.menu.show-main") on-show-main])])}])]]))
|
(when (and components-v2 (not multi-assets?))
|
||||||
|
[(tr "workspace.shape.menu.show-main") on-show-main])])}]]]))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue