diff options
Diffstat (limited to 'examples/crossBuilds/clientserver2/js')
3 files changed, 54 insertions, 0 deletions
diff --git a/examples/crossBuilds/clientserver2/js/shared/main/scala/simple/Simple.scala b/examples/crossBuilds/clientserver2/js/shared/main/scala/simple/Simple.scala new file mode 100644 index 0000000..d3b0278 --- /dev/null +++ b/examples/crossBuilds/clientserver2/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/clientserver2/js/shared/test/scala/simple/SimpleTest.scala b/examples/crossBuilds/clientserver2/js/shared/test/scala/simple/SimpleTest.scala new file mode 100644 index 0000000..ec6b29f --- /dev/null +++ b/examples/crossBuilds/clientserver2/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/clientserver2/js/src/main/scala/simple/Platform.scala b/examples/crossBuilds/clientserver2/js/src/main/scala/simple/Platform.scala new file mode 100644 index 0000000..906329e --- /dev/null +++ b/examples/crossBuilds/clientserver2/js/src/main/scala/simple/Platform.scala @@ -0,0 +1,34 @@ +//js/src/main/scala/simple/Platform.scala +package simple + +import scala.scalajs.js +import org.scalajs.dom +import dom.extensions.Ajax +import scala.scalajs.concurrent.JSExecutionContext.Implicits.runNow +import scala.scalajs.js.annotation.JSExport +import scalatags.JsDom.all._ +@JSExport +object Platform extends{ + def format(ts: Long) = { + new js.Date(ts).toLocaleString() + } + @JSExport + def main(container: dom.HTMLDivElement) = { + container.appendChild( + div( + h1("Hello from Scala.js!"), + p(Simple.formatTimes(Seq(0, 1 << 30))) + ).render + ) + val payload = upickle.write(Seq(0L, 1L << 30)) + Ajax.post("/formatDates", payload).foreach{ xhr => + container.appendChild( + div( + h1("Hello from Ajax!"), + p(xhr.responseText) + ).render + ) + } + + } +}
\ No newline at end of file |