summaryrefslogtreecommitdiff
path: root/examples/crossBuilds/clientserver/js
diff options
context:
space:
mode:
Diffstat (limited to 'examples/crossBuilds/clientserver/js')
-rw-r--r--examples/crossBuilds/clientserver/js/shared/main/scala/simple/Simple.scala7
-rw-r--r--examples/crossBuilds/clientserver/js/shared/test/scala/simple/SimpleTest.scala13
-rw-r--r--examples/crossBuilds/clientserver/js/src/main/scala/simple/Platform.scala31
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