From 376679571c3a7af89ed17b3fd689118ca7f3b2c1 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Tue, 17 Mar 2020 18:11:36 +0100 Subject: [PATCH] :lipstick: More usability improvements for dropdown component. --- frontend/src/uxbox/main/ui/components/dropdown.cljs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/frontend/src/uxbox/main/ui/components/dropdown.cljs b/frontend/src/uxbox/main/ui/components/dropdown.cljs index 9e2adc46f..9b9881bc8 100644 --- a/frontend/src/uxbox/main/ui/components/dropdown.cljs +++ b/frontend/src/uxbox/main/ui/components/dropdown.cljs @@ -12,19 +12,19 @@ (let [children (gobj/get props "children") on-close (gobj/get props "on-close") - on-document-clicked + on-click (fn [event] (on-close)) - on-document-keyup + on-keyup (fn [event] (when (= (.-keyCode event) 27) ; ESC (on-close))) on-mount (fn [] - (let [lkey1 (events/listen js/document EventType.CLICK on-document-clicked) - lkey2 (events/listen js/document EventType.KEYUP on-document-keyup)] + (let [lkey1 (events/listen js/document EventType.CLICK on-click) + lkey2 (events/listen js/document EventType.KEYUP on-keyup)] #(do (events/unlistenByKey lkey1) (events/unlistenByKey lkey2))))] @@ -34,6 +34,9 @@ (mf/defrc dropdown [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") [:div.dropdown (mf/element dropdown-container props)]))