update chat-demo cljs
This commit is contained in:
parent
7e2e97f172
commit
5fd9e7e244
|
@ -17,13 +17,30 @@
|
|||
(def event-handlers
|
||||
{:on-open
|
||||
(fn []
|
||||
; enable message sending UI
|
||||
(toggle-element (by-id "msg-input"))
|
||||
(toggle-element (by-id "send-button")))
|
||||
|
||||
:on-receive
|
||||
(fn [data]
|
||||
; show messages received from the server
|
||||
(dom/append! (by-id "room")
|
||||
(-> (dom/create-element "div")
|
||||
(dom/set-text! (str "MSG::" (:msg data))))))
|
||||
|
||||
:on-close
|
||||
(fn [due-to-error? pending undelivered]
|
||||
; disable message sending UI
|
||||
(toggle-element (by-id "msg-input"))
|
||||
(toggle-element (by-id "send-button")))})
|
||||
|
||||
(defn ^:export run []
|
||||
; wire-up UI events
|
||||
(let [msg-input (by-id "msg-input")
|
||||
send-button (by-id "send-button")
|
||||
send-message (fn [e]
|
||||
(say (dom/value msg-input))
|
||||
(dom/set-value! msg-input ""))]
|
||||
(toggle-element msg-input)
|
||||
(toggle-element send-button)
|
||||
(events/listen
|
||||
(goog.events.KeyHandler. msg-input)
|
||||
"key"
|
||||
|
@ -33,13 +50,7 @@
|
|||
(events/listen
|
||||
send-button
|
||||
"click"
|
||||
send-message)))
|
||||
send-message))
|
||||
|
||||
:on-receive
|
||||
(fn [data]
|
||||
(dom/append! (by-id "room")
|
||||
(-> (dom/create-element "div")
|
||||
(dom/set-text! (str "MSG::" (:msg data))))))})
|
||||
|
||||
(defn ^:export run []
|
||||
(browserchannel/init! event-handlers))
|
||||
; initiate browserchannel session with the server
|
||||
(browserchannel/connect! event-handlers))
|
||||
|
|
Reference in a new issue