summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Barksdale <amatus@amatus.name>2016-12-03 21:53:42 -0600
committerDavid Barksdale <amatus@amatus.name>2016-12-03 21:59:04 -0600
commit9e6202a904fe720d35dc26a6943c0c38acee05d4 (patch)
treeff6a8f2ef79eed9c4a938072bf1db411a7e449ee
parentc1a465a5fb7186f8694d11daa5f0818b830e38a0 (diff)
Playing with castra
-rw-r--r--src/app/api.clj6
-rw-r--r--src/app/handler.clj2
-rw-r--r--src/app/rpc.cljs11
-rw-r--r--src/index.cljs.hl8
4 files changed, 24 insertions, 3 deletions
diff --git a/src/app/api.clj b/src/app/api.clj
new file mode 100644
index 0000000..0f7ab17
--- /dev/null
+++ b/src/app/api.clj
@@ -0,0 +1,6 @@
+(ns app.api
+ (:require [castra.core :refer [defrpc]]))
+
+(defrpc get-state []
+ {:inputs []
+ :outputs []})
diff --git a/src/app/handler.clj b/src/app/handler.clj
index eb0c2a3..22b2d2d 100644
--- a/src/app/handler.clj
+++ b/src/app/handler.clj
@@ -12,7 +12,7 @@
(def app
(-> app-routes
- (castra/wrap-castra 'app.api)
+ (castra/wrap-castra {:state-fn (fn [] "ohi")} 'app.api)
(d/wrap-defaults d/api-defaults)))
(db/init)
diff --git a/src/app/rpc.cljs b/src/app/rpc.cljs
index 7edbc4c..1651f72 100644
--- a/src/app/rpc.cljs
+++ b/src/app/rpc.cljs
@@ -4,3 +4,14 @@
(:require
[javelin.core]
[castra.core :refer [mkremote]]))
+
+(defc state nil)
+(defc error nil)
+(defc loading nil)
+
+(def get-state
+ (mkremote 'app.api/get-state state error loading))
+
+(defn init []
+ (get-state)
+ (js/setInterval get-state 1000))
diff --git a/src/index.cljs.hl b/src/index.cljs.hl
index 4b8aa72..70fe417 100644
--- a/src/index.cljs.hl
+++ b/src/index.cljs.hl
@@ -1,8 +1,13 @@
(page "index.html"
(:require [app.rpc :as rpc]
+ [cljs.pprint :refer [pprint]]
[cljsjs.semantic-ui :as ui]
[Blockly]))
+(rpc/init)
+(defc= state rpc/state)
+(defc= error rpc/error)
+
(def toolbox
"<xml>
<block type=\"controls_if\"></block>
@@ -32,7 +37,6 @@
(title "Tankputer"))
(body
(h1 "Tankputer")
- (blockly-workspace :css {:height "480px" :width "600px"}
- :options {:media "media/" :toolbox toolbox})))
+ (textarea :text (cell= (with-out-str (pprint state))))))
;; vim: set expandtab ts=2 sw=2 filetype=clojure :