summaryrefslogtreecommitdiff
path: root/examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-12-28 18:30:51 +0100
committerLi Haoyi <haoyi@dropbox.com>2014-12-28 18:30:51 +0100
commite27f2ba244d0fef1a654da99d8c8a36cfef5a61a (patch)
tree1c025b74acec6ea48f287b0d06186eaa2fbe5a71 /examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala
parent47495632fb60bb6bdc4b61b3e00333dbe1182e7b (diff)
parenta10f9f097944a2586d2d98fc09a3e43bb77d0250 (diff)
downloadhands-on-scala-js-e27f2ba244d0fef1a654da99d8c8a36cfef5a61a.tar.gz
hands-on-scala-js-e27f2ba244d0fef1a654da99d8c8a36cfef5a61a.tar.bz2
hands-on-scala-js-e27f2ba244d0fef1a654da99d8c8a36cfef5a61a.zip
merged
Diffstat (limited to 'examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala')
-rw-r--r--examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala36
1 files changed, 36 insertions, 0 deletions
diff --git a/examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala b/examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala
new file mode 100644
index 0000000..9b3eda1
--- /dev/null
+++ b/examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala
@@ -0,0 +1,36 @@
+package simple
+
+import scalatags.JsDom.all._
+import scalajs.concurrent.JSExecutionContext.Implicits.runNow
+import org.scalajs.dom
+import dom.extensions.Ajax
+import scalajs.js.annotation.JSExport
+
+@JSExport
+object Client extends{
+ @JSExport
+ def main(container: dom.HTMLDivElement) = {
+ val inputBox = input.render
+ val outputBox = ul.render
+ def update() = Ajax.post("/ajax/list", inputBox.value).foreach{ xhr =>
+ val data = upickle.read[Seq[FileData]](xhr.responseText)
+ outputBox.innerHTML = ""
+ for(FileData(name, size) <- data){
+ outputBox.appendChild(
+ li(
+ b(name), " - ", size, " bytes"
+ ).render
+ )
+ }
+ }
+ inputBox.onkeyup = (e: dom.Event) => update()
+ update()
+ container.appendChild(
+ div(
+ h1("File Search"),
+ inputBox,
+ outputBox
+ ).render
+ )
+ }
+} \ No newline at end of file