diff --git a/project.clj b/project.clj index caddd6b0..e715552e 100644 --- a/project.clj +++ b/project.clj @@ -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" @@ -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"] @@ -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}}}}) diff --git a/src/klipse/klipse_editors.cljs b/src/klipse/klipse_editors.cljs index 38ffe0fa..7382cb47 100644 --- a/src/klipse/klipse_editors.cljs +++ b/src/klipse/klipse_editors.cljs @@ -52,12 +52,8 @@ (swap! state update-in [:eval-counter] inc) (let [evaluation-chan (eval-fn (str preamble src-code) @state) first-result (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)])] diff --git a/src/klipse/lang/python.cljs b/src/klipse/lang/python.cljs index 744cf9e2..90765e59 100644 --- a/src/klipse/lang/python.cljs +++ b/src/klipse/lang/python.cljs @@ -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 [ 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 "" 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))