diff options
Diffstat (limited to 'examples/crossBuilds/clientserver/client/src/main/scala/simple')
-rw-r--r-- | examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala | 36 |
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 |