diff options
author | Li Haoyi <haoyi@dropbox.com> | 2014-09-09 06:32:44 +0800 |
---|---|---|
committer | Li Haoyi <haoyi@dropbox.com> | 2014-09-09 06:54:40 +0800 |
commit | ec99de45b82abdcc614e661afd1b9bb375ecd865 (patch) | |
tree | 8b255a8f4d9b81e29cfe08708aa21e324d2e6c84 | |
parent | 0f2bbf620dc4e876fe0bdd483b79ca069cecdb37 (diff) | |
download | workbench-ec99de45b82abdcc614e661afd1b9bb375ecd865.tar.gz workbench-ec99de45b82abdcc614e661afd1b9bb375ecd865.tar.bz2 workbench-ec99de45b82abdcc614e661afd1b9bb375ecd865.zip |
0.2.1 for reals
-rw-r--r-- | build.sbt | 2 | ||||
-rw-r--r-- | client/src/main/scala/workbench/WorkbenchClient.scala | 36 | ||||
-rw-r--r-- | example/src/main/scala/example/ScalaJSExample.scala | 2 | ||||
-rw-r--r-- | readme.md | 2 |
4 files changed, 24 insertions, 18 deletions
@@ -9,7 +9,7 @@ val defaultSettings = Seq( lazy val root = project.in(file(".")).settings(defaultSettings:_*).settings( name := "workbench", - version := "0.2.0", + version := "0.2.1", organization := "com.lihaoyi", scalaVersion := "2.10.4", sbtPlugin := true, diff --git a/client/src/main/scala/workbench/WorkbenchClient.scala b/client/src/main/scala/workbench/WorkbenchClient.scala index d5151ab..f4ee2c6 100644 --- a/client/src/main/scala/workbench/WorkbenchClient.scala +++ b/client/src/main/scala/workbench/WorkbenchClient.scala @@ -22,31 +22,37 @@ object WorkbenchClient extends Api{ @JSExport lazy val shadowBody = dom.document.body.cloneNode(deep = true) - // Trigger shadowBody to get captured when the page first loads - dom.addEventListener("load", (event: dom.Event) => shadowBody) - @JSExport var interval = 1000 @JSExport var success = false @JSExport def main(bootSnippet: String, host: String, port: Int): Unit = { - Ajax.post(s"http://$host:$port/notifications").onComplete{ - case util.Success(data) => - if (!success) println("Workbench connected") - success = true - interval = 1000 - json.read(data.responseText) + def rec(): Unit = { + Ajax.post(s"http://$host:$port/notifications").onComplete { + case util.Success(data) => + if (!success) println("Workbench connected") + success = true + interval = 1000 + json.read(data.responseText) .asInstanceOf[Js.Arr] .value .foreach(v => Wire.wire(v.asInstanceOf[Js.Arr])) - main(bootSnippet, host, port) - case util.Failure(e) => - if (success) println("Workbench disconnected " + e) - success = false - interval = math.min(interval * 2, 30000) - dom.setTimeout(() => main(bootSnippet, host, port), interval) + rec() + case util.Failure(e) => + if (success) println("Workbench disconnected " + e) + success = false + interval = math.min(interval * 2, 30000) + dom.setTimeout(() => rec(), interval) + } } + + // Trigger shadowBody to get captured when the page first loads + dom.window.addEventListener("load", (event: dom.Event) => { + dom.console.log("Loading Workbench") + shadowBody + rec() + }) } @JSExport override def clear(): Unit = { diff --git a/example/src/main/scala/example/ScalaJSExample.scala b/example/src/main/scala/example/ScalaJSExample.scala index cedc573..7a41c44 100644 --- a/example/src/main/scala/example/ScalaJSExample.scala +++ b/example/src/main/scala/example/ScalaJSExample.scala @@ -22,7 +22,7 @@ object ScalaJSExample { val corners = Seq(Point(255, 255), Point(0, 255), Point(128, 0)) def clear() = { - ctx.fillStyle = "red" + ctx.fillStyle = "white" ctx.fillRect(0, 0, 255, 255) } @@ -20,7 +20,7 @@ resolvers += "spray repo" at "http://repo.spray.io" resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/" -addSbtPlugin("com.lihaoyi" % "workbench" % "0.2.0") +addSbtPlugin("com.lihaoyi" % "workbench" % "0.2.1") ``` - Add to your `build.sbt` ```scala |