diff options
author | Jakob Odersky <jakob@odersky.com> | 2016-11-07 18:06:30 -0800 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2016-11-08 16:52:27 -0800 |
commit | 71e5666ceeab0db8bb69c3bfcd2ddef5ab982029 (patch) | |
tree | d3420020e70e88a1532d8d0960c2544bf14eb015 /client | |
parent | a11c7826f2ba4ae20a0ab4e004e53ba910157bc3 (diff) | |
download | workbench-71e5666ceeab0db8bb69c3bfcd2ddef5ab982029.tar.gz workbench-71e5666ceeab0db8bb69c3bfcd2ddef5ab982029.tar.bz2 workbench-71e5666ceeab0db8bb69c3bfcd2ddef5ab982029.zip |
Update scalajs versions, related dependencies and remove obsolete features
Diffstat (limited to 'client')
-rw-r--r-- | client/src/main/scala/workbench/WorkbenchClient.scala | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/client/src/main/scala/workbench/WorkbenchClient.scala b/client/src/main/scala/workbench/WorkbenchClient.scala index dc99bbc..e98b16b 100644 --- a/client/src/main/scala/workbench/WorkbenchClient.scala +++ b/client/src/main/scala/workbench/WorkbenchClient.scala @@ -1,20 +1,22 @@ package com.lihaoyi.workbench -import upickle._ +import upickle.Js +import upickle.default +import upickle.default.{Reader, Writer} +import upickle.json import org.scalajs.dom import org.scalajs.dom.ext._ -import upickle.{Reader, Writer, Js} import scala.scalajs.js import scala.scalajs.js.annotation.JSExport -import scalajs.concurrent.JSExecutionContext.Implicits.runNow +import scalajs.concurrent.JSExecutionContext.Implicits.queue import org.scalajs.dom.raw._ /** * The connection from workbench server to the client */ -object Wire extends autowire.Server[Js.Value, upickle.Reader, upickle.Writer] with ReadWrite{ +object Wire extends autowire.Server[Js.Value, Reader, Writer] with ReadWrite{ def wire(parsed: Js.Arr): Unit = { val Js.Arr(path, args: Js.Obj) = parsed - val req = new Request(upickle.readJs[Seq[String]](path), args.value.toMap) + val req = new Request(default.readJs[Seq[String]](path), args.value.toMap) Wire.route[Api](WorkbenchClient).apply(req) } } @@ -28,7 +30,7 @@ object WorkbenchClient extends Api{ @JSExport var success = false @JSExport - def main(bootSnippet: String, host: String, port: Int): Unit = { + def main(host: String, port: Int): Unit = { def rec(): Unit = { Ajax.post(s"http://$host:$port/notifications").onComplete { case util.Success(data) => @@ -44,7 +46,7 @@ object WorkbenchClient extends Api{ if (success) println("Workbench disconnected " + e) success = false interval = math.min(interval * 2, 30000) - dom.setTimeout(() => rec(), interval) + dom.window.setTimeout(() => rec(), interval) } } @@ -59,31 +61,19 @@ object WorkbenchClient extends Api{ override def clear(): Unit = { dom.document.asInstanceOf[js.Dynamic].body = shadowBody.cloneNode(true) for(i <- 0 until 100000){ - dom.clearTimeout(i) - dom.clearInterval(i) + dom.window.clearTimeout(i) + dom.window.clearInterval(i) } } @JSExport override def reload(): Unit = { dom.console.log("Reloading page...") - dom.location.reload() + dom.window.location.reload() } @JSExport - override def run(path: String, bootSnippet: Option[String]): Unit = { + override def run(path: String): Unit = { val tag = dom.document.createElement("script").asInstanceOf[HTMLElement] - var loaded = false - tag.setAttribute("src", path) - bootSnippet.foreach{ bootSnippet => - tag.onreadystatechange = (e: dom.Event) => { - if (!loaded) { - dom.console.log("Workbench reboot") - js.eval(bootSnippet) - } - loaded = true - } - tag.asInstanceOf[js.Dynamic].onload = tag.onreadystatechange - } dom.document.head.appendChild(tag) } @JSExport |