fmt
This commit is contained in:
parent
32fcf7a6e9
commit
59ad03f123
@ -21,27 +21,27 @@
|
|||||||
|
|
||||||
;; pages
|
;; pages
|
||||||
(defpage home-page
|
(defpage home-page
|
||||||
(html->str
|
(html->str
|
||||||
[:main
|
[:main
|
||||||
[:div
|
[:div
|
||||||
[:input {:data-bind "msg"}]
|
[:input {:data-bind "msg"}]
|
||||||
[:div {:data-text "$msg"}]
|
[:div {:data-text "$msg"}]
|
||||||
[:button {:data-on-click (->expr (@post ~hello-world ~keep-open))}
|
[:button {:data-on-click (->expr (@post ~hello-world ~keep-open))}
|
||||||
"click for text animation"]]
|
"click for text animation"]]
|
||||||
[:button {:data-on-click (->expr (@post ~page-2))}
|
[:button {:data-on-click (->expr (@post ~page-2))}
|
||||||
"go to page 2"]]))
|
"go to page 2"]]))
|
||||||
|
|
||||||
(defpage page-2
|
(defpage page-2
|
||||||
(html->str
|
(html->str
|
||||||
[:main
|
[:main
|
||||||
[:div
|
[:div
|
||||||
[:p "this is page2"]
|
[:p "this is page2"]
|
||||||
[:button
|
[:button
|
||||||
{:data-on-click (->expr (@post ~say-hi))}
|
{:data-on-click (->expr (@post ~say-hi))}
|
||||||
"say hi to everyone"]]
|
"say hi to everyone"]]
|
||||||
|
|
||||||
[:button {:data-on-click (->expr (@post ~home-page))}
|
[:button {:data-on-click (->expr (@post ~home-page))}
|
||||||
"go back to home"]]))
|
"go back to home"]]))
|
||||||
|
|
||||||
;; http app server
|
;; http app server
|
||||||
(def routes
|
(def routes
|
||||||
|
@ -131,7 +131,7 @@
|
|||||||
route-str-sse (str "/sse" route-str)]
|
route-str-sse (str "/sse" route-str)]
|
||||||
`(let [view# (fn [_#]
|
`(let [view# (fn [_#]
|
||||||
~@body)]
|
~@body)]
|
||||||
|
|
||||||
(add-route! ~route-str
|
(add-route! ~route-str
|
||||||
(fn [request# respond# _#]
|
(fn [request# respond# _#]
|
||||||
(page request# respond# ~route-str view#)))
|
(page request# respond# ~route-str view#)))
|
||||||
@ -142,21 +142,21 @@
|
|||||||
|
|
||||||
(defn app-routes
|
(defn app-routes
|
||||||
([]
|
([]
|
||||||
(->> @!ma-routes
|
(->> @!ma-routes
|
||||||
vec))
|
vec))
|
||||||
([index-route]
|
([index-route]
|
||||||
(concat (app-routes)
|
(concat (app-routes)
|
||||||
[["/" (@!ma-routes index-route)]])))
|
[["/" (@!ma-routes index-route)]])))
|
||||||
|
|
||||||
(defmacro defaction [action-sym args & body]
|
(defmacro defaction [action-sym args & body]
|
||||||
(let [url (str "/sse/" action-sym)]
|
(let [url (str "/sse/" action-sym)]
|
||||||
`(let [sse-handler#
|
`(let [sse-handler#
|
||||||
(fn [request# respond# raise_#]
|
(fn [request# respond# raise_#]
|
||||||
(respond#
|
(respond#
|
||||||
(->sse-response
|
(->sse-response
|
||||||
request#
|
request#
|
||||||
{on-open (fn ~args (d*/with-open-sse ~(get args 0)
|
{on-open (fn ~args (d*/with-open-sse ~(get args 0)
|
||||||
~@body))})))]
|
~@body))})))]
|
||||||
(add-route! ~url sse-handler#)
|
(add-route! ~url sse-handler#)
|
||||||
(def ~action-sym ~url))))
|
(def ~action-sym ~url))))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user