summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-09-09 06:32:44 +0800
committerLi Haoyi <haoyi@dropbox.com>2014-09-09 06:54:40 +0800
commitec99de45b82abdcc614e661afd1b9bb375ecd865 (patch)
tree8b255a8f4d9b81e29cfe08708aa21e324d2e6c84
parent0f2bbf620dc4e876fe0bdd483b79ca069cecdb37 (diff)
downloadworkbench-ec99de45b82abdcc614e661afd1b9bb375ecd865.tar.gz
workbench-ec99de45b82abdcc614e661afd1b9bb375ecd865.tar.bz2
workbench-ec99de45b82abdcc614e661afd1b9bb375ecd865.zip
0.2.1 for reals
-rw-r--r--build.sbt2
-rw-r--r--client/src/main/scala/workbench/WorkbenchClient.scala36
-rw-r--r--example/src/main/scala/example/ScalaJSExample.scala2
-rw-r--r--readme.md2
4 files changed, 24 insertions, 18 deletions
diff --git a/build.sbt b/build.sbt
index 5c651a7..677ded5 100644
--- a/build.sbt
+++ b/build.sbt
@@ -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)
}
diff --git a/readme.md b/readme.md
index 08ae7c6..2ad1f66 100644
--- a/readme.md
+++ b/readme.md
@@ -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