summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-11-02 04:57:37 -0800
committerLi Haoyi <haoyi@dropbox.com>2014-11-02 04:57:37 -0800
commita33254276bd211bf33be86eeb871ddbfe36fdb47 (patch)
treeb257d473be4fa110f7846f372ea94fc6714dad90 /examples
parentd00a2e25a9ee527fa39feb04c3137715501e9fda (diff)
downloadhands-on-scala-js-a33254276bd211bf33be86eeb871ddbfe36fdb47.tar.gz
hands-on-scala-js-a33254276bd211bf33be86eeb871ddbfe36fdb47.tar.bz2
hands-on-scala-js-a33254276bd211bf33be86eeb871ddbfe36fdb47.zip
Moved `examples` into `examples/demos`, sketched out a simple example cross-module
Diffstat (limited to 'examples')
-rw-r--r--examples/crossBuilds/simple/build.sbt8
-rw-r--r--examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala18
-rw-r--r--examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala23
-rw-r--r--examples/crossBuilds/simple/project/build.sbt1
-rw-r--r--examples/crossBuilds/simple/shared/main/scala/simple/Simple.scala9
-rw-r--r--examples/demos/build.sbt (renamed from examples/build.sbt)0
-rw-r--r--examples/demos/src/main/resources/webpage/weather.js (renamed from examples/src/main/resources/webpage/weather.js)0
-rw-r--r--examples/demos/src/main/scala/Splash.scala (renamed from examples/src/main/scala/Splash.scala)0
-rw-r--r--examples/demos/src/main/scala/canvasapp/Clock.scala (renamed from examples/src/main/scala/canvasapp/Clock.scala)0
-rw-r--r--examples/demos/src/main/scala/canvasapp/FlappyLine.scala (renamed from examples/src/main/scala/canvasapp/FlappyLine.scala)0
-rw-r--r--examples/demos/src/main/scala/canvasapp/ScratchPad.scala (renamed from examples/src/main/scala/canvasapp/ScratchPad.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/HelloWorld0.scala (renamed from examples/src/main/scala/webpage/HelloWorld0.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/HelloWorld1.scala (renamed from examples/src/main/scala/webpage/HelloWorld1.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/Inputs.scala (renamed from examples/src/main/scala/webpage/Inputs.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/Search0.scala (renamed from examples/src/main/scala/webpage/Search0.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/Search1.scala (renamed from examples/src/main/scala/webpage/Search1.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/Weather0.scala (renamed from examples/src/main/scala/webpage/Weather0.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/Weather1.scala (renamed from examples/src/main/scala/webpage/Weather1.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/Weather2.scala (renamed from examples/src/main/scala/webpage/Weather2.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/Weather3.scala (renamed from examples/src/main/scala/webpage/Weather3.scala)0
-rw-r--r--examples/demos/src/main/scala/webpage/WeatherSearch.scala (renamed from examples/src/main/scala/webpage/WeatherSearch.scala)0
21 files changed, 59 insertions, 0 deletions
diff --git a/examples/crossBuilds/simple/build.sbt b/examples/crossBuilds/simple/build.sbt
new file mode 100644
index 0000000..df0c84b
--- /dev/null
+++ b/examples/crossBuilds/simple/build.sbt
@@ -0,0 +1,8 @@
+lazy val js = project.in(file("js")).settings(scalaJSSettings:_*).settings(
+ unmanagedSourceDirectories in Compile +=
+ baseDirectory.value / ".." / "shared" / "main" / "scala"
+)
+lazy val jvm = project.in(file("jvm")).settings(
+ unmanagedSourceDirectories in Compile +=
+ baseDirectory.value / ".." / "shared" / "main" / "scala"
+) \ No newline at end of file
diff --git a/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala b/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
new file mode 100644
index 0000000..40f65f4
--- /dev/null
+++ b/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
@@ -0,0 +1,18 @@
+/*js/src/main/scala/simple/Platform.scala*/
+package simple
+import scala.scalajs.js
+
+object Platform extends js.JSApp{
+ def format(ts: Long) = {
+ new js.Date(ts).toLocaleString();
+ }
+ def main() = {
+ println("simple.js")
+ val times = Seq(
+ System.currentTimeMillis(),
+ System.currentTimeMillis() + 1000,
+ System.currentTimeMillis() + 2000
+ )
+ println(Simple.formatTimestamps(times))
+ }
+} \ No newline at end of file
diff --git a/examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala b/examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala
new file mode 100644
index 0000000..af70429
--- /dev/null
+++ b/examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala
@@ -0,0 +1,23 @@
+/*jvm/src/main/scala/simple/Platform.scala*/
+package simple
+import java.text.SimpleDateFormat
+
+object Platform{
+ def format(ts: Long) = {
+ // http://docs.oracle.com/javase/7/
+ // docs/api/java/text/SimpleDateFormat.html
+ val fmt = "MMMM d, yyyy h:mm:ss aaa z"
+ new SimpleDateFormat(fmt).format(
+ new java.util.Date(ts)
+ )
+ }
+ def main(args: Array[String]) = {
+ println("simple.jvm")
+ val times = Seq(
+ System.currentTimeMillis(),
+ System.currentTimeMillis() + 1000,
+ System.currentTimeMillis() + 2000
+ )
+ println(Simple.formatTimestamps(times))
+ }
+} \ No newline at end of file
diff --git a/examples/crossBuilds/simple/project/build.sbt b/examples/crossBuilds/simple/project/build.sbt
new file mode 100644
index 0000000..5ac559a
--- /dev/null
+++ b/examples/crossBuilds/simple/project/build.sbt
@@ -0,0 +1 @@
+addSbtPlugin("org.scala-lang.modules.scalajs" % "scalajs-sbt-plugin" % "0.5.5") \ No newline at end of file
diff --git a/examples/crossBuilds/simple/shared/main/scala/simple/Simple.scala b/examples/crossBuilds/simple/shared/main/scala/simple/Simple.scala
new file mode 100644
index 0000000..4e693e4
--- /dev/null
+++ b/examples/crossBuilds/simple/shared/main/scala/simple/Simple.scala
@@ -0,0 +1,9 @@
+/*shared/main/scala/simple/Simple.scala*/
+package simple
+object Simple{
+ def formatTimestamps(timestamps: Seq[Long]) = {
+ timestamps.map(Platform.format)
+ .mkString("\n")
+ }
+ }
+} \ No newline at end of file
diff --git a/examples/build.sbt b/examples/demos/build.sbt
index 7e6b685..7e6b685 100644
--- a/examples/build.sbt
+++ b/examples/demos/build.sbt
diff --git a/examples/src/main/resources/webpage/weather.js b/examples/demos/src/main/resources/webpage/weather.js
index 8e95305..8e95305 100644
--- a/examples/src/main/resources/webpage/weather.js
+++ b/examples/demos/src/main/resources/webpage/weather.js
diff --git a/examples/src/main/scala/Splash.scala b/examples/demos/src/main/scala/Splash.scala
index c68bdca..c68bdca 100644
--- a/examples/src/main/scala/Splash.scala
+++ b/examples/demos/src/main/scala/Splash.scala
diff --git a/examples/src/main/scala/canvasapp/Clock.scala b/examples/demos/src/main/scala/canvasapp/Clock.scala
index af9d8aa..af9d8aa 100644
--- a/examples/src/main/scala/canvasapp/Clock.scala
+++ b/examples/demos/src/main/scala/canvasapp/Clock.scala
diff --git a/examples/src/main/scala/canvasapp/FlappyLine.scala b/examples/demos/src/main/scala/canvasapp/FlappyLine.scala
index 50c9906..50c9906 100644
--- a/examples/src/main/scala/canvasapp/FlappyLine.scala
+++ b/examples/demos/src/main/scala/canvasapp/FlappyLine.scala
diff --git a/examples/src/main/scala/canvasapp/ScratchPad.scala b/examples/demos/src/main/scala/canvasapp/ScratchPad.scala
index cc3d7e0..cc3d7e0 100644
--- a/examples/src/main/scala/canvasapp/ScratchPad.scala
+++ b/examples/demos/src/main/scala/canvasapp/ScratchPad.scala
diff --git a/examples/src/main/scala/webpage/HelloWorld0.scala b/examples/demos/src/main/scala/webpage/HelloWorld0.scala
index df458ac..df458ac 100644
--- a/examples/src/main/scala/webpage/HelloWorld0.scala
+++ b/examples/demos/src/main/scala/webpage/HelloWorld0.scala
diff --git a/examples/src/main/scala/webpage/HelloWorld1.scala b/examples/demos/src/main/scala/webpage/HelloWorld1.scala
index 1dc77b3..1dc77b3 100644
--- a/examples/src/main/scala/webpage/HelloWorld1.scala
+++ b/examples/demos/src/main/scala/webpage/HelloWorld1.scala
diff --git a/examples/src/main/scala/webpage/Inputs.scala b/examples/demos/src/main/scala/webpage/Inputs.scala
index 9339e84..9339e84 100644
--- a/examples/src/main/scala/webpage/Inputs.scala
+++ b/examples/demos/src/main/scala/webpage/Inputs.scala
diff --git a/examples/src/main/scala/webpage/Search0.scala b/examples/demos/src/main/scala/webpage/Search0.scala
index 300b506..300b506 100644
--- a/examples/src/main/scala/webpage/Search0.scala
+++ b/examples/demos/src/main/scala/webpage/Search0.scala
diff --git a/examples/src/main/scala/webpage/Search1.scala b/examples/demos/src/main/scala/webpage/Search1.scala
index 1936898..1936898 100644
--- a/examples/src/main/scala/webpage/Search1.scala
+++ b/examples/demos/src/main/scala/webpage/Search1.scala
diff --git a/examples/src/main/scala/webpage/Weather0.scala b/examples/demos/src/main/scala/webpage/Weather0.scala
index 4a2c6f0..4a2c6f0 100644
--- a/examples/src/main/scala/webpage/Weather0.scala
+++ b/examples/demos/src/main/scala/webpage/Weather0.scala
diff --git a/examples/src/main/scala/webpage/Weather1.scala b/examples/demos/src/main/scala/webpage/Weather1.scala
index c509cb5..c509cb5 100644
--- a/examples/src/main/scala/webpage/Weather1.scala
+++ b/examples/demos/src/main/scala/webpage/Weather1.scala
diff --git a/examples/src/main/scala/webpage/Weather2.scala b/examples/demos/src/main/scala/webpage/Weather2.scala
index aa04059..aa04059 100644
--- a/examples/src/main/scala/webpage/Weather2.scala
+++ b/examples/demos/src/main/scala/webpage/Weather2.scala
diff --git a/examples/src/main/scala/webpage/Weather3.scala b/examples/demos/src/main/scala/webpage/Weather3.scala
index 4dadf94..4dadf94 100644
--- a/examples/src/main/scala/webpage/Weather3.scala
+++ b/examples/demos/src/main/scala/webpage/Weather3.scala
diff --git a/examples/src/main/scala/webpage/WeatherSearch.scala b/examples/demos/src/main/scala/webpage/WeatherSearch.scala
index 0c8acc9..0c8acc9 100644
--- a/examples/src/main/scala/webpage/WeatherSearch.scala
+++ b/examples/demos/src/main/scala/webpage/WeatherSearch.scala