summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-12-28 17:10:09 +0100
committerLi Haoyi <haoyi@dropbox.com>2014-12-28 17:10:09 +0100
commit47495632fb60bb6bdc4b61b3e00333dbe1182e7b (patch)
treeb3d80af29b2c3b640e34d3180d1608066a4ccfea
parent63d9cf82d3c28b1d2aedd7ecb7c918342fcb5c50 (diff)
downloadhands-on-scala-js-47495632fb60bb6bdc4b61b3e00333dbe1182e7b.tar.gz
hands-on-scala-js-47495632fb60bb6bdc4b61b3e00333dbe1182e7b.tar.bz2
hands-on-scala-js-47495632fb60bb6bdc4b61b3e00333dbe1182e7b.zip
Shortened a bunch of imports, tweaked width
-rw-r--r--book/src/main/scalatex/book/Index.scalatex10
-rw-r--r--book/src/main/scalatex/book/Intro.scalatex9
-rw-r--r--build.sbt2
-rw-r--r--examples/crossBuilds/clientserver2/build.sbt2
-rw-r--r--examples/crossBuilds/clientserver2/client/src/main/scala/simple/Client.scala2
-rw-r--r--examples/crossBuilds/clientserver2/server/src/main/scala/simple/Server.scala5
-rw-r--r--examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala2
-rw-r--r--examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala2
-rw-r--r--examples/demos/build.sbt2
-rw-r--r--examples/demos/src/main/scala/Splash.scala2
-rw-r--r--examples/demos/src/main/scala/advanced/Async.scala2
-rw-r--r--examples/demos/src/main/scala/advanced/BasicRx.scala4
-rw-r--r--examples/demos/src/main/scala/advanced/Futures.scala6
-rw-r--r--examples/demos/src/main/scala/canvasapp/Clock.scala4
-rw-r--r--examples/demos/src/main/scala/canvasapp/FlappyLine.scala2
-rw-r--r--examples/demos/src/main/scala/canvasapp/ScratchPad.scala30
-rw-r--r--examples/demos/src/main/scala/scrollmenu/Controller.scala4
-rw-r--r--examples/demos/src/main/scala/scrollmenu/ScrollSpy.scala2
-rw-r--r--examples/demos/src/main/scala/webpage/HelloWorld0.scala10
-rw-r--r--examples/demos/src/main/scala/webpage/HelloWorld1.scala9
-rw-r--r--examples/demos/src/main/scala/webpage/Inputs.scala2
-rw-r--r--examples/demos/src/main/scala/webpage/Search0.scala2
-rw-r--r--examples/demos/src/main/scala/webpage/Search1.scala2
-rw-r--r--examples/demos/src/main/scala/webpage/Weather0.scala4
-rw-r--r--examples/demos/src/main/scala/webpage/Weather1.scala4
-rw-r--r--examples/demos/src/main/scala/webpage/Weather2.scala4
-rw-r--r--examples/demos/src/main/scala/webpage/Weather3.scala4
-rw-r--r--examples/demos/src/main/scala/webpage/WeatherSearch.scala6
28 files changed, 74 insertions, 65 deletions
diff --git a/book/src/main/scalatex/book/Index.scalatex b/book/src/main/scalatex/book/Index.scalatex
index 1a10aa0..bf33d19 100644
--- a/book/src/main/scalatex/book/Index.scalatex
+++ b/book/src/main/scalatex/book/Index.scalatex
@@ -1,11 +1,11 @@
@import BookData._
-@val firstHalfDescription = """
-is a set of tutorials that walks you through getting started with Scala.js. You'll build a range of small projects, from Making a Canvas App to Interactive Web Pages to Integrating Client-Server, and in the process will get a good overview of both Scala.js's use cases as well as the development experience
-"""
-@val secondHalfDescription = """
+@val firstHalfDescription = Seq[Frag]("""
+is a set of tutorials that walks you through getting started with Scala.js. You'll build a range of small projects, from """, sect.ref("Making a Canvas App"), " to ", sect.ref("Interactive Web Pages"), " to ", sect.ref("Integrating Client-Server"), """, and in the process will get a good overview of both Scala.js's use cases as well as the development experience
+""")
+@val secondHalfDescription = Seq("""
is a set of detailed expositions on various parts of the Scala.js platform. Nothing in here is necessary for you to make your first demos, but as you dig deeper into the platform, you will likely need or want to care about these things so you can properly understand what's going on "under the hood"
-"""
+""")
@sect("Hands-on Scala.js", "Writing client-side web applications in Scala")
@split
@more
diff --git a/book/src/main/scalatex/book/Intro.scalatex b/book/src/main/scalatex/book/Intro.scalatex
index 5438cfb..a504aa6 100644
--- a/book/src/main/scalatex/book/Intro.scalatex
+++ b/book/src/main/scalatex/book/Intro.scalatex
@@ -5,7 +5,7 @@
@split
@half
@hl.scala
- object Example extends js.JSApp{
+ object Main extends js.JSApp{
def main() = {
var x = 0
while(x < 10) x += 3
@@ -16,12 +16,13 @@
@half
@hl.javascript
- ScalaJS.c.LExample$.prototype.main__V = (function() {
+ ScalaJS.c.LMain$.prototype.main__V = (function() {
var x = 0;
while ((x < 10)) {
x = ((x + 3) | 0)
};
- ScalaJS.m.s_Predef().println__O__V(x)
+ ScalaJS.m.s_Predef()
+ .println__O__V(x)
// 12
});
@@ -67,7 +68,7 @@
@p
To work in Javascript, you need the discipline to limit yourself to the sane subset of the language, avoiding all the pitfalls along the way:
- @img(src:="images/javascript-the-good-parts-the-definitive-guide.jpg")
+ @img(src:="images/javascript-the-good-parts-the-definitive-guide.jpg", margin.auto, display.block)
@p
Even if you manage to do so, what constitutes a pitfall and what constitutes a clever-language-feature changes yearly, making it difficult to maintain cohesiveness over time. This is compounded by the fact that refactoring is difficult, and so removing "unwanted" patterns from a large code-base a difficult (often multi-year) process.
diff --git a/build.sbt b/build.sbt
index 6515388..dde5431 100644
--- a/build.sbt
+++ b/build.sbt
@@ -4,7 +4,7 @@ import org.eclipse.jgit.api.Git
import org.eclipse.jgit.merge.MergeStrategy
import org.eclipse.jgit.transport.{UsernamePasswordCredentialsProvider, RefSpec}
-import scala.scalajs.sbtplugin.ScalaJSPlugin._
+import scalajs.sbtplugin.ScalaJSPlugin._
import ScalaJSKeys._
val cloneRepos = taskKey[Unit]("Clone stuff from github")
diff --git a/examples/crossBuilds/clientserver2/build.sbt b/examples/crossBuilds/clientserver2/build.sbt
index c64a6fd..4c5045f 100644
--- a/examples/crossBuilds/clientserver2/build.sbt
+++ b/examples/crossBuilds/clientserver2/build.sbt
@@ -1,5 +1,5 @@
import utest.jsrunner.JsCrossBuild
-import scala.scalajs.sbtplugin.ScalaJSPlugin._
+import scalajs.sbtplugin.ScalaJSPlugin._
import ScalaJSKeys._
val sharedSettings = Seq(
unmanagedSourceDirectories in Compile +=
diff --git a/examples/crossBuilds/clientserver2/client/src/main/scala/simple/Client.scala b/examples/crossBuilds/clientserver2/client/src/main/scala/simple/Client.scala
index 026e52d..5aefb70 100644
--- a/examples/crossBuilds/clientserver2/client/src/main/scala/simple/Client.scala
+++ b/examples/crossBuilds/clientserver2/client/src/main/scala/simple/Client.scala
@@ -1,7 +1,7 @@
package simple
import scalatags.JsDom.all._
import org.scalajs.dom
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
import scalajs.concurrent.JSExecutionContext.Implicits.runNow
import autowire._
diff --git a/examples/crossBuilds/clientserver2/server/src/main/scala/simple/Server.scala b/examples/crossBuilds/clientserver2/server/src/main/scala/simple/Server.scala
index df5f877..8967c17 100644
--- a/examples/crossBuilds/clientserver2/server/src/main/scala/simple/Server.scala
+++ b/examples/crossBuilds/clientserver2/server/src/main/scala/simple/Server.scala
@@ -30,7 +30,10 @@ object Server extends SimpleRoutingApp with Api{
extract(_.request.entity.asString) { e =>
complete {
Router.route[Api](Server)(
- autowire.Core.Request(s, upickle.read[Map[String, String]](e))
+ autowire.Core.Request(
+ s,
+ upickle.read[Map[String, String]](e)
+ )
)
}
}
diff --git a/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala b/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
index 35ebe1d..d726ec1 100644
--- a/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
+++ b/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
@@ -1,6 +1,6 @@
//js/src/main/scala/simple/Platform.scala
package simple
-import scala.scalajs.js
+import scalajs.js
object Platform extends js.JSApp{
def format(ts: Long) = {
diff --git a/examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala b/examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala
index 42cc7dc..d4a9554 100644
--- a/examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala
+++ b/examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala
@@ -1,6 +1,6 @@
//js/src/main/scala/simple/Platform.scala
package simple
-import scala.scalajs.js
+import scalajs.js
object Platform{
def format(ts: Long) = {
diff --git a/examples/demos/build.sbt b/examples/demos/build.sbt
index aa801b0..0db3dec 100644
--- a/examples/demos/build.sbt
+++ b/examples/demos/build.sbt
@@ -1,4 +1,4 @@
-import scala.scalajs.sbtplugin.ScalaJSPlugin.ScalaJSKeys._
+import scalajs.sbtplugin.ScalaJSPlugin.ScalaJSKeys._
(emitSourceMaps in fullOptJS) := false
diff --git a/examples/demos/src/main/scala/Splash.scala b/examples/demos/src/main/scala/Splash.scala
index 1cda98c..05cbbc2 100644
--- a/examples/demos/src/main/scala/Splash.scala
+++ b/examples/demos/src/main/scala/Splash.scala
@@ -2,7 +2,7 @@ import java.lang.Math._
import org.scalajs.dom
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
@JSExport
object Splash extends{
diff --git a/examples/demos/src/main/scala/advanced/Async.scala b/examples/demos/src/main/scala/advanced/Async.scala
index c4d7366..a76b78b 100644
--- a/examples/demos/src/main/scala/advanced/Async.scala
+++ b/examples/demos/src/main/scala/advanced/Async.scala
@@ -3,7 +3,7 @@ package advanced
import org.scalajs.dom
import concurrent._
import async.Async._
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
import scalajs.concurrent.JSExecutionContext.Implicits.queue
@JSExport
diff --git a/examples/demos/src/main/scala/advanced/BasicRx.scala b/examples/demos/src/main/scala/advanced/BasicRx.scala
index 56b41b0..1c9a0c8 100644
--- a/examples/demos/src/main/scala/advanced/BasicRx.scala
+++ b/examples/demos/src/main/scala/advanced/BasicRx.scala
@@ -1,8 +1,8 @@
package advanced
import org.scalajs.dom
-import scala.scalajs.js
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js
+import scalajs.js.annotation.JSExport
import rx._
import scalatags.JsDom.all._
diff --git a/examples/demos/src/main/scala/advanced/Futures.scala b/examples/demos/src/main/scala/advanced/Futures.scala
index 0d7107d..d1142b9 100644
--- a/examples/demos/src/main/scala/advanced/Futures.scala
+++ b/examples/demos/src/main/scala/advanced/Futures.scala
@@ -5,10 +5,10 @@ import org.scalajs.dom.XMLHttpRequest
import org.scalajs.dom.extensions.{Ajax, KeyCode}
import scala.collection.mutable
import scala.concurrent.Future
-import scala.scalajs.js
+import scalajs.js
import scalatags.JsDom.all._
-import scala.scalajs.js.annotation.JSExport
-import scala.scalajs.concurrent.JSExecutionContext.Implicits.runNow
+import scalajs.js.annotation.JSExport
+import scalajs.concurrent.JSExecutionContext.Implicits.runNow
@JSExport
object Futures {
def main(container: dom.HTMLDivElement,
diff --git a/examples/demos/src/main/scala/canvasapp/Clock.scala b/examples/demos/src/main/scala/canvasapp/Clock.scala
index af9d8aa..793b84c 100644
--- a/examples/demos/src/main/scala/canvasapp/Clock.scala
+++ b/examples/demos/src/main/scala/canvasapp/Clock.scala
@@ -3,8 +3,8 @@ package canvasapp
import org.scalajs.dom
-import scala.scalajs.js
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js
+import scalajs.js.annotation.JSExport
@JSExport
object Clock extends{
@JSExport
diff --git a/examples/demos/src/main/scala/canvasapp/FlappyLine.scala b/examples/demos/src/main/scala/canvasapp/FlappyLine.scala
index fdf6e60..af797f8 100644
--- a/examples/demos/src/main/scala/canvasapp/FlappyLine.scala
+++ b/examples/demos/src/main/scala/canvasapp/FlappyLine.scala
@@ -3,7 +3,7 @@ package canvasapp
import org.scalajs.dom
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
import scala.util.Random
@JSExport
diff --git a/examples/demos/src/main/scala/canvasapp/ScratchPad.scala b/examples/demos/src/main/scala/canvasapp/ScratchPad.scala
index cc3d7e0..65e873c 100644
--- a/examples/demos/src/main/scala/canvasapp/ScratchPad.scala
+++ b/examples/demos/src/main/scala/canvasapp/ScratchPad.scala
@@ -3,7 +3,7 @@ package canvasapp
import org.scalajs.dom
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
@JSExport
object ScratchPad extends{
@@ -22,19 +22,21 @@ object ScratchPad extends{
/*code*/
renderer.fillStyle = "black"
var down = false
- canvas.onmousedown = (e: dom.MouseEvent)=>{
- down = true
- }
- canvas.onmouseup = (e: dom.MouseEvent)=>{
- down = false
- }
- canvas.onmousemove = (e: dom.MouseEvent)=>{
- val rect = canvas.getBoundingClientRect()
- if (down) renderer.fillRect(
- e.clientX - rect.left,
- e.clientY - rect.top,
- 10, 10
- )
+ canvas.onmousedown =
+ (e: dom.MouseEvent) => down = true
+
+ canvas.onmouseup =
+ (e: dom.MouseEvent) => down = false
+
+ canvas.onmousemove = {
+ (e: dom.MouseEvent) =>
+ val rect =
+ canvas.getBoundingClientRect()
+ if (down) renderer.fillRect(
+ e.clientX - rect.left,
+ e.clientY - rect.top,
+ 10, 10
+ )
}
}
} \ No newline at end of file
diff --git a/examples/demos/src/main/scala/scrollmenu/Controller.scala b/examples/demos/src/main/scala/scrollmenu/Controller.scala
index fe35be8..b56da31 100644
--- a/examples/demos/src/main/scala/scrollmenu/Controller.scala
+++ b/examples/demos/src/main/scala/scrollmenu/Controller.scala
@@ -3,8 +3,8 @@ package scrollmenu
import org.scalajs.dom
import org.scalajs.dom.extensions._
-import scala.scalajs.js
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
diff --git a/examples/demos/src/main/scala/scrollmenu/ScrollSpy.scala b/examples/demos/src/main/scala/scrollmenu/ScrollSpy.scala
index 736f9b3..f0b9dd4 100644
--- a/examples/demos/src/main/scala/scrollmenu/ScrollSpy.scala
+++ b/examples/demos/src/main/scala/scrollmenu/ScrollSpy.scala
@@ -2,7 +2,7 @@ package scrollmenu
import org.scalajs.dom
import org.scalajs.dom.extensions._
-import scala.scalajs.js
+import scalajs.js
import scalatags.JsDom.all._
case class Tree[T](value: T, children: Vector[Tree[T]])
diff --git a/examples/demos/src/main/scala/webpage/HelloWorld0.scala b/examples/demos/src/main/scala/webpage/HelloWorld0.scala
index df458ac..4ec7d30 100644
--- a/examples/demos/src/main/scala/webpage/HelloWorld0.scala
+++ b/examples/demos/src/main/scala/webpage/HelloWorld0.scala
@@ -1,17 +1,17 @@
package webpage
import org.scalajs.dom
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
@JSExport
object HelloWorld0 extends{
@JSExport
- def main(target: dom.HTMLDivElement) = {
- val (animalA, animalB) = ("fox", "dog")
+ def main(target: dom.HTMLDivElement) ={
+ val (f, d) = ("fox", "dog")
target.innerHTML = s"""
<div>
<h1>Hello World!</h1>
<p>
- The quick brown <b>$animalA</b>
- jumped over the lazy <i>$animalB</b>
+ The quick brown <b>$f</b>
+ jumps over the lazy <i>$d</b>
</p>
</div>
"""
diff --git a/examples/demos/src/main/scala/webpage/HelloWorld1.scala b/examples/demos/src/main/scala/webpage/HelloWorld1.scala
index 1dc77b3..f897c98 100644
--- a/examples/demos/src/main/scala/webpage/HelloWorld1.scala
+++ b/examples/demos/src/main/scala/webpage/HelloWorld1.scala
@@ -1,6 +1,6 @@
package webpage
import org.scalajs.dom
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
@JSExport
object HelloWorld1 extends{
@@ -10,8 +10,11 @@ object HelloWorld1 extends{
target.appendChild(
div(
h1("Hello World!"),
- p("The quick brown ", b(animalA),
- " jumped over the lazy ", i(animalB), ".")
+ p(
+ "The quick brown ", b(animalA),
+ " jumps over the lazy ",
+ i(animalB), "."
+ )
).render
)
}
diff --git a/examples/demos/src/main/scala/webpage/Inputs.scala b/examples/demos/src/main/scala/webpage/Inputs.scala
index 9339e84..0354d6d 100644
--- a/examples/demos/src/main/scala/webpage/Inputs.scala
+++ b/examples/demos/src/main/scala/webpage/Inputs.scala
@@ -1,7 +1,7 @@
package webpage
import org.scalajs.dom
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
@JSExport
diff --git a/examples/demos/src/main/scala/webpage/Search0.scala b/examples/demos/src/main/scala/webpage/Search0.scala
index 300b506..d44dc34 100644
--- a/examples/demos/src/main/scala/webpage/Search0.scala
+++ b/examples/demos/src/main/scala/webpage/Search0.scala
@@ -1,7 +1,7 @@
package webpage
import org.scalajs.dom
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
@JSExport
diff --git a/examples/demos/src/main/scala/webpage/Search1.scala b/examples/demos/src/main/scala/webpage/Search1.scala
index 1936898..9a37ca9 100644
--- a/examples/demos/src/main/scala/webpage/Search1.scala
+++ b/examples/demos/src/main/scala/webpage/Search1.scala
@@ -1,7 +1,7 @@
package webpage
import org.scalajs.dom
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
@JSExport
diff --git a/examples/demos/src/main/scala/webpage/Weather0.scala b/examples/demos/src/main/scala/webpage/Weather0.scala
index 4a2c6f0..2bf4666 100644
--- a/examples/demos/src/main/scala/webpage/Weather0.scala
+++ b/examples/demos/src/main/scala/webpage/Weather0.scala
@@ -2,8 +2,8 @@ package webpage
import org.scalajs.dom
import org.scalajs.dom.{Node, Element}
-import scala.scalajs.js
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
@JSExport
diff --git a/examples/demos/src/main/scala/webpage/Weather1.scala b/examples/demos/src/main/scala/webpage/Weather1.scala
index c509cb5..1d61678 100644
--- a/examples/demos/src/main/scala/webpage/Weather1.scala
+++ b/examples/demos/src/main/scala/webpage/Weather1.scala
@@ -2,8 +2,8 @@ package webpage
import org.scalajs.dom
import org.scalajs.dom.{Node, Element}
-import scala.scalajs.js
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
@JSExport
diff --git a/examples/demos/src/main/scala/webpage/Weather2.scala b/examples/demos/src/main/scala/webpage/Weather2.scala
index aa04059..bf908e3 100644
--- a/examples/demos/src/main/scala/webpage/Weather2.scala
+++ b/examples/demos/src/main/scala/webpage/Weather2.scala
@@ -2,8 +2,8 @@ package webpage
import org.scalajs.dom
import org.scalajs.dom.{Node, Element}
-import scala.scalajs.js
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
@JSExport
diff --git a/examples/demos/src/main/scala/webpage/Weather3.scala b/examples/demos/src/main/scala/webpage/Weather3.scala
index 4dadf94..3a7a2ac 100644
--- a/examples/demos/src/main/scala/webpage/Weather3.scala
+++ b/examples/demos/src/main/scala/webpage/Weather3.scala
@@ -2,8 +2,8 @@ package webpage
import org.scalajs.dom
import org.scalajs.dom.{Node, Element}
-import scala.scalajs.js
-import scala.scalajs.js.annotation.JSExport
+import scalajs.js
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
@JSExport
diff --git a/examples/demos/src/main/scala/webpage/WeatherSearch.scala b/examples/demos/src/main/scala/webpage/WeatherSearch.scala
index 0c8acc9..de8d1e2 100644
--- a/examples/demos/src/main/scala/webpage/WeatherSearch.scala
+++ b/examples/demos/src/main/scala/webpage/WeatherSearch.scala
@@ -2,9 +2,9 @@ package webpage
import org.scalajs.dom
import dom.extensions._
-import scala.scalajs.concurrent.JSExecutionContext.Implicits.runNow
-import scala.scalajs.js
-import scala.scalajs.js.annotation.JSExport
+import scalajs.concurrent.JSExecutionContext.Implicits.runNow
+import scalajs.js
+import scalajs.js.annotation.JSExport
import scalatags.JsDom.all._
@JSExport