mirror of
https://github.com/penpot/penpot.git
synced 2025-05-25 01:16:10 +02:00
💄 More usability improvements for dropdown component.
This commit is contained in:
parent
18db775954
commit
376679571c
1 changed files with 7 additions and 4 deletions
|
@ -12,19 +12,19 @@
|
||||||
(let [children (gobj/get props "children")
|
(let [children (gobj/get props "children")
|
||||||
on-close (gobj/get props "on-close")
|
on-close (gobj/get props "on-close")
|
||||||
|
|
||||||
on-document-clicked
|
on-click
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(on-close))
|
(on-close))
|
||||||
|
|
||||||
on-document-keyup
|
on-keyup
|
||||||
(fn [event]
|
(fn [event]
|
||||||
(when (= (.-keyCode event) 27) ; ESC
|
(when (= (.-keyCode event) 27) ; ESC
|
||||||
(on-close)))
|
(on-close)))
|
||||||
|
|
||||||
on-mount
|
on-mount
|
||||||
(fn []
|
(fn []
|
||||||
(let [lkey1 (events/listen js/document EventType.CLICK on-document-clicked)
|
(let [lkey1 (events/listen js/document EventType.CLICK on-click)
|
||||||
lkey2 (events/listen js/document EventType.KEYUP on-document-keyup)]
|
lkey2 (events/listen js/document EventType.KEYUP on-keyup)]
|
||||||
#(do
|
#(do
|
||||||
(events/unlistenByKey lkey1)
|
(events/unlistenByKey lkey1)
|
||||||
(events/unlistenByKey lkey2))))]
|
(events/unlistenByKey lkey2))))]
|
||||||
|
@ -34,6 +34,9 @@
|
||||||
|
|
||||||
(mf/defrc dropdown
|
(mf/defrc dropdown
|
||||||
[props]
|
[props]
|
||||||
|
(assert (fn? (gobj/get props "on-close")) "missing `on-close` prop")
|
||||||
|
(assert (boolean? (gobj/get props "show")) "missing `show` prop")
|
||||||
|
|
||||||
(when (gobj/get props "show")
|
(when (gobj/get props "show")
|
||||||
[:div.dropdown
|
[:div.dropdown
|
||||||
(mf/element dropdown-container props)]))
|
(mf/element dropdown-container props)]))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue