Skip to content

Commit 26b51fc

Browse files
committed
Updated deps, improved error handling
See use of (.stopPropagation e) and (.preventDefault e) in http://kapilreddy.me/cljs/core.async/2013/08/12/core_async_webgl_korova_drop.html
1 parent 4ab9c51 commit 26b51fc

File tree

4 files changed

+40
-21
lines changed

4 files changed

+40
-21
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,6 @@ Here are three (mostly) working servers:
5757

5858
## Copyright and license
5959

60-
Copyright © 2014 Tom Marble
60+
Copyright © 2014-2015 Tom Marble
6161

6262
Licensed under the EPL (see the file [EPL](https://raw.githubusercontent.com/tmarble/escurel/master/EPL)).

project.clj

+16-6
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
:comments "same as Clojure"}
88

99
:dependencies [[org.clojure/clojure "1.6.0"]
10-
[org.clojure/clojurescript "0.0-2665"]
10+
[org.clojure/clojurescript "0.0-2850"]
1111
[org.clojure/core.async "0.1.346.0-17112a-alpha"]
12-
[om "0.8.0-rc1"]
12+
[org.omcljs/om "0.8.8"]
1313
[javax.servlet/servlet-api "2.5"]
1414
[http-kit "2.1.19"]
1515
[compojure "1.3.1"]
1616
;; for chord
17-
[com.fasterxml.jackson.core/jackson-core "2.3.2"]
18-
[jarohen/chord "0.5.0" :exclusions [org.clojure/clojure commons-codec com.fasterxml.jackson.core/jackson-core]]]
17+
[com.fasterxml.jackson.core/jackson-core "2.5.1"]
18+
[jarohen/chord "0.6.0" :exclusions [org.clojure/clojure commons-codec com.fasterxml.jackson.core/jackson-core]]]
1919

2020
:plugins [[lein-cljsbuild "1.0.4"]]
2121

@@ -24,13 +24,23 @@
2424
:jvm-opts ["-server" "-Xmx256m"] ;; optional
2525

2626
:cljsbuild {
27-
:builds [{:id "escurel"
27+
:builds [{:id "dev"
2828
:source-paths ["src/cljs"]
2929
:compiler {
30+
;; :main main.core
3031
:output-dir "resources/public/js/"
3132
:output-to "resources/public/js/escurel.js"
3233
:optimizations :none
33-
:source-map true}}]}
34+
:source-map true}}
35+
;; {:id "release"
36+
;; :source-paths ["src/cljs"]
37+
;; :compiler {
38+
;; ;; :main main.core
39+
;; :output-dir "resources/public/js/"
40+
;; :output-to "resources/public/js/escurel.js"
41+
;; :optimizations :advanced
42+
;; :pretty-print false}}
43+
]}
3444

3545
:main escurel.server
3646
)

src/clj/escurel/server.clj

+1-2
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@
7171
(>! ws-channel
7272
(if error
7373
(format "Error: '%s'." (pr-str msg))
74-
(format "You passed: %s at %s with %s."
75-
(pr-str message)
74+
(format "Client at %s said %s."
7675
(java.util.Date.)
7776
(str msg)))))
7877
(recur)))))))

src/cljs/escurel/client.cljs

+22-12
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,16 @@
6262
om/IInitState
6363
(init-state [_]
6464
(let [ch (chan 1)
65-
request (fn [value]
65+
request (fn [e value]
6666
(println "login-request" value)
67-
(put! ch value))
67+
(put! ch value)
68+
;; "Warning: Returning `false` from an event
69+
;; handler is deprecated and will be ignored in
70+
;; a future release. Instead, manually call
71+
;; e.stopPropagation() or e.preventDefault(), as
72+
;; appropriate."
73+
(.preventDefault e)
74+
(.stopPropagation e))
6875
action (fn [value]
6976
(login-action login value))
7077
thread {:component :login
@@ -79,20 +86,20 @@
7986
(dom/span #js {:style (display (= status :loggedout))}
8087
"Please log in ")
8188
(dom/button #js {:style (display (= status :loggedout))
82-
:onClick #(request :sqrl)}
89+
:onClick #(request % :sqrl)}
8390
"Log in")
8491
(dom/span #js {:style (display (= status :sqrl))}
8592
"Please use SQRL to login now...")
8693
(dom/button #js {:style (display (= status :sqrl))
87-
:onClick #(request "fred")}
94+
:onClick #(request % "fred")}
8895
"SQRL")
8996
(dom/button #js {:style (display (= status :sqrl))
90-
:onClick #(request :loggedout)}
97+
:onClick #(request % :loggedout)}
9198
"Cancel")
9299
(dom/span #js {:style (display (= status :loggedin))}
93100
"Click to log out ")
94101
(dom/button #js {:style (display (= status :loggedin))
95-
:onClick #(request :loggedout)}
102+
:onClick #(request % :loggedout)}
96103
"Log out")
97104
)))))
98105

@@ -119,13 +126,17 @@
119126
"toc")))))
120127

121128
(defn edit-change [e data edit-key owner]
122-
(om/transact! data edit-key (fn [_] (.. e -target -value))))
129+
(om/transact! data edit-key (fn [_] (.. e -target -value)))
130+
(.preventDefault e)
131+
(.stopPropagation e))
123132

124133
;; cb is the on-edit callback (a closure bound to the :class/id)
125-
(defn edit-end [text owner cb]
134+
(defn edit-end [e text owner cb]
126135
;; (println "edit-end")
127136
(om/set-state! owner :editing false)
128-
(cb text))
137+
(cb text)
138+
(.preventDefault e)
139+
(.stopPropagation e))
129140

130141
;; in the Intermediate tutorial this function is used to
131142
;; persist changes.. here just print the update on the console
@@ -165,9 +176,9 @@
165176
:value text
166177
:onChange #(edit-change % data edit-key owner)
167178
:onKeyDown #(when (= (.-key %) "Enter")
168-
(edit-end text owner edit-cb))
179+
(edit-end % text owner edit-cb))
169180
:onBlur #(when (om/get-state owner :editing)
170-
(edit-end text owner edit-cb))})
181+
(edit-end % text owner edit-cb))})
171182
(hspacer)
172183
(dom/button
173184
#js {:style (display (not editing))
@@ -222,7 +233,6 @@
222233
{:opts {:edit-label :label
223234
:edit-key :msg
224235
:edit-button "Compose"}}))
225-
(dom/li nil "use transit")
226236
))
227237
))))
228238

0 commit comments

Comments
 (0)