diff options
Diffstat (limited to 'examples/crossBuilds/clientserver/js')
3 files changed, 51 insertions, 0 deletions
diff --git a/examples/crossBuilds/clientserver/js/shared/main/scala/simple/Simple.scala b/examples/crossBuilds/clientserver/js/shared/main/scala/simple/Simple.scala new file mode 100644 index 0000000..d3b0278 --- /dev/null +++ b/examples/crossBuilds/clientserver/js/shared/main/scala/simple/Simple.scala @@ -0,0 +1,7 @@ +/*shared/main/scala/simple/Simple.scala*/ +package simple +object Simple{ + def formatTimes(timestamps: Seq[Long]): String = { + timestamps.map(Platform.format).mkString("\n") + } +}
\ No newline at end of file diff --git a/examples/crossBuilds/clientserver/js/shared/test/scala/simple/SimpleTest.scala b/examples/crossBuilds/clientserver/js/shared/test/scala/simple/SimpleTest.scala new file mode 100644 index 0000000..ec6b29f --- /dev/null +++ b/examples/crossBuilds/clientserver/js/shared/test/scala/simple/SimpleTest.scala @@ -0,0 +1,13 @@ +/*js/shared/test/scala/simple/SimpleTest.scala*/ +/*jvm/shared/test/scala/simple/SimpleTest.scala*/ +package simple +import utest._ +object SimpleTest extends TestSuite{ + val tests = TestSuite{ + 'format{ + 'nil - assert(Simple.formatTimes(Nil) == "") + 'timeZero - assert( + Simple.formatTimes(Seq(0)) == "December 31, 1969 4:00:00 PM PST") + } + } +}
\ No newline at end of file diff --git a/examples/crossBuilds/clientserver/js/src/main/scala/simple/Platform.scala b/examples/crossBuilds/clientserver/js/src/main/scala/simple/Platform.scala new file mode 100644 index 0000000..c82a112 --- /dev/null +++ b/examples/crossBuilds/clientserver/js/src/main/scala/simple/Platform.scala @@ -0,0 +1,31 @@ +//js/src/main/scala/simple/Platform.scala +package simple + +import org.scalajs.dom.XMLHttpRequest + +import scala.scalajs.js +import org.scalajs.dom + +import scala.scalajs.js.annotation.JSExport + +@JSExport +object Platform extends{ + def format(ts: Long) = { + new js.Date(ts).toLocaleString() + } + @JSExport + def main(container: dom.HTMLDivElement) = { + container.innerHTML += + "<h1>Hello from Scala.js!</h1>" + + s"<p>${Simple.formatTimes(Seq(0, 1 << 30))}</p>" + + val xhr = new XMLHttpRequest() + xhr.open("POST", "/formatDates") + xhr.onload = (e: dom.Event) => { + container.innerHTML += + "<h1>Hello from Ajax!</h1>" + + s"<p>${xhr.responseText}</p>" + } + xhr.send(Seq(0, 1 << 30).mkString(",")) + } +}
\ No newline at end of file |