summaryrefslogtreecommitdiff
path: root/client/src/main/scala/workbench/WorkbenchClient.scala
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 /client/src/main/scala/workbench/WorkbenchClient.scala
parent0f2bbf620dc4e876fe0bdd483b79ca069cecdb37 (diff)
downloadworkbench-ec99de45b82abdcc614e661afd1b9bb375ecd865.tar.gz
workbench-ec99de45b82abdcc614e661afd1b9bb375ecd865.tar.bz2
workbench-ec99de45b82abdcc614e661afd1b9bb375ecd865.zip
0.2.1 for reals
Diffstat (limited to 'client/src/main/scala/workbench/WorkbenchClient.scala')
-rw-r--r--client/src/main/scala/workbench/WorkbenchClient.scala36
1 files changed, 21 insertions, 15 deletions
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 = {