From a33254276bd211bf33be86eeb871ddbfe36fdb47 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Sun, 2 Nov 2014 04:57:37 -0800 Subject: Moved `examples` into `examples/demos`, sketched out a simple example cross-module --- .../demos/src/main/scala/webpage/Search0.scala | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 examples/demos/src/main/scala/webpage/Search0.scala (limited to 'examples/demos/src/main/scala/webpage/Search0.scala') diff --git a/examples/demos/src/main/scala/webpage/Search0.scala b/examples/demos/src/main/scala/webpage/Search0.scala new file mode 100644 index 0000000..300b506 --- /dev/null +++ b/examples/demos/src/main/scala/webpage/Search0.scala @@ -0,0 +1,50 @@ +package webpage + +import org.scalajs.dom +import scala.scalajs.js.annotation.JSExport +import scalatags.JsDom.all._ + +@JSExport +object Search0 extends{ + @JSExport + def main(target: dom.HTMLDivElement) = { + val listings = Seq( + "Apple", "Apricot", "Banana", "Cherry", + "Mango", "Mangosteen", "Mandarin", + "Grape", "Grapefruit", "Guava" + ) + + def renderListings = ul( + for { + fruit <- listings + if fruit.toLowerCase.startsWith( + box.value.toLowerCase + ) + } yield li(fruit) + ).render + + lazy val box = input( + `type`:="text", + placeholder:="Type here!" + ).render + + val output = div(renderListings).render + + box.onkeyup = (e: dom.Event) => { + output.innerHTML = "" + output.appendChild(renderListings) + } + + target.appendChild( + div( + h1("Search Box!"), + p( + "Type here to filter " + + "the list of things below!" + ), + div(box), + output + ).render + ) + } +} \ No newline at end of file -- cgit v1.2.3