mirror of
https://github.com/penpot/penpot.git
synced 2025-06-14 22:41:38 +02:00
✨ Add context menu with right click in dashboard
This commit is contained in:
parent
70cba4bbdf
commit
e87dc6d34c
10 changed files with 235 additions and 117 deletions
|
@ -27,8 +27,9 @@
|
|||
options (gobj/get props "options")
|
||||
is-selectable (gobj/get props "selectable")
|
||||
selected (gobj/get props "selected")
|
||||
top (gobj/get props "top")
|
||||
left (gobj/get props "left")
|
||||
top (gobj/get props "top" 0)
|
||||
left (gobj/get props "left" 0)
|
||||
fixed? (gobj/get props "fixed?" false)
|
||||
|
||||
offset (mf/use-state 0)
|
||||
|
||||
|
@ -36,7 +37,7 @@
|
|||
(mf/use-callback
|
||||
(mf/deps top @offset)
|
||||
(fn [node]
|
||||
(when node
|
||||
(when (and node (not fixed?))
|
||||
(let [{node-height :height} (dom/get-bounding-rect node)
|
||||
{window-height :height} (dom/get-window-size)
|
||||
target-offset (if (> (+ top node-height) window-height)
|
||||
|
@ -49,6 +50,7 @@
|
|||
(when open?
|
||||
[:> dropdown' props
|
||||
[:div.context-menu {:class (classnames :is-open open?
|
||||
:fixed fixed?
|
||||
:is-selectable is-selectable)
|
||||
:style {:top (+ top @offset)
|
||||
:left left}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue