Last active
August 29, 2015 13:56
-
-
Save eneroth/9261567 to your computer and use it in GitHub Desktop.
Lyssna på enter (kolla konsollen)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Rendera en låda | |
;; --------------- | |
(defn command-box | |
[] | |
[:input#commandbox {}]) ;; "commandbox" är IDt | |
(render-component [command-box] (get-element "body")) | |
;; Lyssna på events fran elementet | |
;; ------------------------------- | |
(defn is-enter? [event] | |
(= 13 (.-keyCode event))) ;; 13 är "enter" | |
(def command-element (get-element "commandbox")) ;; Skapa referens till lådan vi byggde ovan | |
(def commands-channel (listen command-element "keyup")) ;; Lyssna på alla knapptryck i lådan | |
(def enter-only-channel (async/filter< is-enter? commands-channel)) ;; Filtrera bort alla knapptryckningar som inte är "enter" | |
(go | |
(loop [] | |
(<! enter-only-channel) ;; Kommer att returnera när ett värde kommer in på enter-only-channel | |
(log (.-value command-element)) ;; Plockar ut innehållet ur inputlådan och skriver ut det i loggen | |
(recur))) | |
;; PS. ".-" är en javascript-interop. Det plockar ut en parameter ur ett javascriptobjekt. | |
;; Detta behövs då command-element och event (i is-enter?) är javascriptobjekt. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment