Skip to content

Commit

Permalink
add event dispatcher to python
Browse files Browse the repository at this point in the history
  • Loading branch information
KBHan committed Dec 5, 2017
1 parent 3b0fa4d commit 3371965
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 26 deletions.
33 changes: 16 additions & 17 deletions project.clj
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
[devcards "0.2.2"]
[devcards-om-next "0.3.0"]]
:profiles {:dev {:dependencies [[figwheel-sidecar "0.5.9"]
[com.cemerick/piggieback "0.2.1"]] }}
[com.cemerick/piggieback "0.2.1"]]}}
:jvm-opts ["-Xms356M" "-Xmx1G"]
:clean-targets ^{:protect false} ["resources/public/dev/js"
"resources/public/plugin_prod/js"
Expand Down Expand Up @@ -86,19 +86,19 @@
:verbose true}}
;:plugin-prod-nice
#_{
:source-paths ["src/klipse/run/plugin_prod"]
:compiler {
:output-to "resources/public/plugin_prod/js/klipse_plugin.min.js"
:output-dir "resources/public/plugin_prod/js"
:pretty-print true
:elide-asserts false
:optimizations :advanced
:pseudo-names true
:closure-defines {klipse.core/version
~(->> (slurp "project.clj")
(re-seq #"\".*\"")
(first))}
:verbose true}}
:source-paths ["src/klipse/run/plugin_prod"]
:compiler {
:output-to "resources/public/plugin_prod/js/klipse_plugin.min.js"
:output-dir "resources/public/plugin_prod/js"
:pretty-print true
:elide-asserts false
:optimizations :advanced
:pseudo-names true
:closure-defines {klipse.core/version
~(->> (slurp "project.clj")
(re-seq #"\".*\"")
(first))}
:verbose true}}
:figwheel {
:figwheel true
:source-paths ["src"]
Expand All @@ -110,12 +110,11 @@
;:elide-asserts true
:verbose false}}
:devcards {
:figwheel { :devcards true }
:figwheel { :devcards true}
:source-paths ["src"]
:compiler {:main "klipse.cards.cards"
:asset-path "cards/js"
:output-to "resources/public/cards/js/klipse.js"
:output-dir "resources/public/cards/js"
;:elide-asserts true
:verbose false}}
}})
:verbose false}}}})
8 changes: 2 additions & 6 deletions src/klipse/klipse_editors.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,8 @@
(swap! state update-in [:eval-counter] inc)
(let [evaluation-chan (eval-fn (str preamble src-code) @state)
first-result (<! evaluation-chan)]
(let [custom-event (js/CustomEvent. "klipse-snippet-evaled"
(clj->js {:detail {:state (clj->js @state)
:src-code src-code}}))]
(when-let [code-mirror-dom-node (js/document.querySelector ".klipse-container")]
(-> code-mirror-dom-node (.dispatchEvent custom-event))))
(setter first-result)
(setter first-result)
(js/console.log (str "loop-msec::" loop-msec))
(when loop-msec
(go-loop []
(let [[cmd c] (alts! [cmd-chan (timeout loop-msec)])]
Expand Down
14 changes: 11 additions & 3 deletions src/klipse/lang/python.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
(:use-macros [purnam.core :only [? ! !>]])
(:require-macros
[cljs.core.async.macros :refer [go go-loop]])
(:require
(:require
[cljs.core.async :refer [<! put! chan]]
[klipse.utils :refer [runonce]]
[klipse.common.registry :refer [codemirror-mode-src register-mode scripts-src]]))
Expand All @@ -22,16 +22,24 @@
(init)
(let [c (chan)]
(!> js/Sk.configure #js {:output #(put! c %)
:read builtin-read })
(->
:read builtin-read})
(->
(!> js/Sk.misceval.asyncToPromise
(fn []
(put! c "Output:\n")
(! js/Sk.TurtleGraphics.target container-id)
(!> js/Sk.importMainWithBody "<stdin>" false exp true)))
(.then (fn [mod]
(let [custom-event (js/CustomEvent. "klipse-snippet-evaled"
#js {:detail {:state :python-evaled-success}})]
(when-let [code-mirror-dom-node (js/document.querySelector ".klipse-container")]
(-> code-mirror-dom-node (.dispatchEvent custom-event))))
(!> js/console.info "success to eval skulpt: "))
(fn [err]
(let [custom-event (js/CustomEvent. "klipse-snippet-evaled"
#js {:detail {:state :python-evaled-error}})]
(when-let [code-mirror-dom-node (js/document.querySelector ".klipse-container")]
(-> code-mirror-dom-node (.dispatchEvent custom-event))))
(put! c (str "error: " err)))))
c))

Expand Down

0 comments on commit 3371965

Please sign in to comment.