aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-03-16 19:55:41 +0100
committerJakob Odersky <jodersky@gmail.com>2015-03-16 19:55:41 +0100
commitdb5383fba80afcea1afe4ea06a81c7b4de4ec719 (patch)
tree186bce661a78ffa97fefed5f8ff4223133444a94
parent13eae49f4c48c03b2a7a9b40a08ca68063044c6d (diff)
downloadmavigator-db5383fba80afcea1afe4ea06a81c7b4de4ec719.tar.gz
mavigator-db5383fba80afcea1afe4ea06a81c7b4de4ec719.tar.bz2
mavigator-db5383fba80afcea1afe4ea06a81c7b4de4ec719.zip
update dependency versions
-rw-r--r--project/Build.scala27
-rw-r--r--project/Dependencies.scala19
-rw-r--r--project/project/BuildBuild.scala4
-rw-r--r--project/util.scala6
-rw-r--r--vfd-dashboard/src/main/scala/vfd/dashboard/Environment.scala4
-rw-r--r--vfd-dashboard/src/main/scala/vfd/dashboard/Launcher.scala3
-rw-r--r--vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala11
-rw-r--r--vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/SvgInstrument.scala18
-rw-r--r--vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/instruments.scala20
-rw-r--r--vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Communication.scala15
-rw-r--r--vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Primary.scala4
11 files changed, 62 insertions, 69 deletions
diff --git a/project/Build.scala b/project/Build.scala
index b2b835c..ffb6fde 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -3,9 +3,8 @@ import sbt.Keys._
import util._
import play._
import play.PlayImport.PlayKeys._
-import scala.scalajs.sbtplugin.ScalaJSPlugin
-import scala.scalajs.sbtplugin.ScalaJSPlugin.ScalaJSKeys._
-import Dependencies._
+import org.scalajs.sbtplugin.ScalaJSPlugin
+import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._
import com.github.jodersky.sbt.mavlink.MavlinkKeys._
import com.github.jodersky.sbt.SbtMavlink
@@ -14,7 +13,7 @@ object ApplicationBuild extends Build {
//settings common to all projects
val common = Seq(
- scalaVersion := "2.11.4",
+ scalaVersion := "2.11.6",
scalacOptions ++= Seq("-feature", "-deprecation"),
mavlinkDialect := (baseDirectory in ThisBuild).value / "mavlink" / "concise.xml"
)
@@ -33,9 +32,9 @@ object ApplicationBuild extends Build {
settings(
resolvers += Resolver.url("scala-js-releases", url("http://dl.bintray.com/content/scala-js/scala-js-releases"))(Resolver.ivyStylePatterns),
libraryDependencies ++= Seq(
- bootstrap,
- fontawesome,
- jquery
+ "org.webjars" % "bootstrap" % "3.3.1",
+ "org.webjars" % "font-awesome" % "4.2.0",
+ "org.webjars" % "jquery" % "2.1.3"
)
)
dependsOn(uav)
@@ -48,23 +47,23 @@ object ApplicationBuild extends Build {
settings(common: _*)
settings(
libraryDependencies ++= Seq(
- akkaActor,
- flow,
- flowNative
+ "com.typesafe.akka" %% "akka-actor" % "2.3.9",
+ "com.github.jodersky" %% "flow" % "2.1.0",
+ "com.github.jodersky" % "flow-native" % "2.1.0"
)
)
)
lazy val dashboard = (
Project("vfd-dashboard", file("vfd-dashboard"))
- settings(ScalaJSPlugin.scalaJSSettings: _*)
+ enablePlugins(ScalaJSPlugin)
enablePlugins(SbtMavlink)
settings(common: _*)
settings(
libraryDependencies ++= Seq(
- rx,
- dom,
- tag
+ "org.scala-js" %%% "scalajs-dom" % "0.8.0",
+ "com.lihaoyi" %%% "scalatags" % "0.4.6",
+ "com.lihaoyi" %%% "scalarx" % "0.2.8"
)
)
)
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
deleted file mode 100644
index 2d68c10..0000000
--- a/project/Dependencies.scala
+++ /dev/null
@@ -1,19 +0,0 @@
-import sbt._
-import scala.scalajs.sbtplugin.ScalaJSPlugin._
-
-object Dependencies {
-
- val akkaActor = "com.typesafe.akka" %% "akka-actor" % "2.3.6"
-
- val flow = "com.github.jodersky" %% "flow" % "2.0.9"
- val flowNative = "com.github.jodersky" % "flow-native" % "2.0.9"
-
- val bootstrap = "org.webjars" % "bootstrap" % "3.3.1"
- val fontawesome = "org.webjars" % "font-awesome" % "4.2.0"
- val jquery = "org.webjars" % "jquery" % "2.1.3"
-
- val dom = "org.scala-lang.modules.scalajs" %%%! "scalajs-dom" % "0.6"
- val tag = "com.scalatags" %%%! "scalatags" % "0.4.1"
- val rx = "com.scalarx" %%%! "scalarx" % "0.2.6"
-
-} \ No newline at end of file
diff --git a/project/project/BuildBuild.scala b/project/project/BuildBuild.scala
index ce79999..ac1974b 100644
--- a/project/project/BuildBuild.scala
+++ b/project/project/BuildBuild.scala
@@ -9,8 +9,8 @@ object BuildBuild extends Build {
Project("root", file("."))
settings(
resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/",
- addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.7"),
- addSbtPlugin("org.scala-lang.modules.scalajs" % "scalajs-sbt-plugin" % "0.5.6")
+ addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.8"),
+ addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.1")
)
dependsOn(mavlinkPlugin)
)
diff --git a/project/util.scala b/project/util.scala
index 497adc1..4df9127 100644
--- a/project/util.scala
+++ b/project/util.scala
@@ -2,8 +2,8 @@ import sbt._
import sbt.Keys._
import play._
import play.PlayImport.PlayKeys._
-import scala.scalajs.sbtplugin.ScalaJSPlugin
-import scala.scalajs.sbtplugin.ScalaJSPlugin.ScalaJSKeys._
+import org.scalajs.sbtplugin.ScalaJSPlugin
+import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._
import com.typesafe.sbt.packager.universal.UniversalKeys
package object util extends UniversalKeys {
@@ -19,7 +19,7 @@ package object util extends UniversalKeys {
stage <<= stage dependsOn (fullOptJS in (scalajs, Compile)),
playMonitoredFiles += (scalaSource in (scalajs, Compile)).value.getCanonicalPath
).settings(
- Seq(packageLauncher, fastOptJS, fullOptJS) map { packageJSKey =>
+ Seq(packageScalaJSLauncher, fastOptJS, fullOptJS) map { packageJSKey =>
crossTarget in (scalajs, Compile, packageJSKey) := jsOutputDir.value
}: _*
)
diff --git a/vfd-dashboard/src/main/scala/vfd/dashboard/Environment.scala b/vfd-dashboard/src/main/scala/vfd/dashboard/Environment.scala
index d4dd306..57cd39d 100644
--- a/vfd-dashboard/src/main/scala/vfd/dashboard/Environment.scala
+++ b/vfd-dashboard/src/main/scala/vfd/dashboard/Environment.scala
@@ -1,12 +1,12 @@
package vfd.dashboard
-import org.scalajs.dom.HTMLElement
+import org.scalajs.dom.html
/** Represents an application's environment */
trait Environment {
/** The application's root element. */
- def root: HTMLElement
+ def root: html.Element
/** Retrieve an asset's URL based on its file location. */
def asset(file: String): String
diff --git a/vfd-dashboard/src/main/scala/vfd/dashboard/Launcher.scala b/vfd-dashboard/src/main/scala/vfd/dashboard/Launcher.scala
index 6a9ba82..d091911 100644
--- a/vfd-dashboard/src/main/scala/vfd/dashboard/Launcher.scala
+++ b/vfd-dashboard/src/main/scala/vfd/dashboard/Launcher.scala
@@ -3,12 +3,13 @@ package vfd.dashboard
import scala.scalajs.js.annotation.JSExport
import org.scalajs.dom
+import org.scalajs.dom.html
@JSExport("Launcher")
class Launcher(rootId: String, assetsBase: String) {
lazy val env = new Environment {
- val root = dom.document.getElementById(rootId)
+ val root = dom.document.getElementById(rootId).asInstanceOf[html.Element]
def asset(file: String) = assetsBase + "/" + file
}
diff --git a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala
index 29ca4ca..4ec695e 100644
--- a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala
+++ b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala
@@ -1,8 +1,9 @@
package vfd.dashboard.ui
-import org.scalajs.dom.HTMLElement
+import org.scalajs.dom.html
import scalatags.JsDom.all.ExtendedString
+import scalatags.JsDom.all.Int2CssNumber
import scalatags.JsDom.all.bindNode
import scalatags.JsDom.all.`class`
import scalatags.JsDom.all.div
@@ -12,7 +13,7 @@ import scalatags.JsDom.all.p
import scalatags.JsDom.all.src
import scalatags.JsDom.all.stringAttr
import scalatags.JsDom.all.stringFrag
-import scalatags.JsDom.all.stringStyle
+import scalatags.JsDom.all.stringPixelStyle
import scalatags.JsDom.all.style
import scalatags.JsDom.all.width
import vfd.dashboard.Environment
@@ -23,8 +24,8 @@ import vfd.dashboard.ui.panels.Primary
class Layout(socket: MavlinkSocket) {
val map = iframe(
- width := "100%",
- height := "350px",
+ width := 100.pct,
+ height := 350.px,
"frameborder".attr := "0",
"scrolling".attr := "no",
"marginheight".attr := "0",
@@ -34,7 +35,7 @@ class Layout(socket: MavlinkSocket) {
val feed = div(style := "width: 100%; height: 460px; color: #ffffff; background-color: #c2c2c2; text-align: center;")(
p(style := "padding-top: 220px")("video feed"))
- def element(implicit env: Environment): HTMLElement = div(`class` := "container-fluid")(
+ def element(implicit env: Environment): html.Element = div(`class` := "container-fluid")(
div(`class` := "row")(
div(`class` := "col-xs-12")(
div(`class` := "panel panel-default")(
diff --git a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/SvgInstrument.scala b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/SvgInstrument.scala
index 8ddba1a..dc8ee5e 100644
--- a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/SvgInstrument.scala
+++ b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/SvgInstrument.scala
@@ -3,12 +3,14 @@ package vfd.dashboard.ui.components
import scala.scalajs.js.Any.fromFunction1
import org.scalajs.dom
+import org.scalajs.dom.html
import scalatags.JsDom.all.ExtendedString
+import scalatags.JsDom.all.Int2CssNumber
import scalatags.JsDom.all.`object`
import scalatags.JsDom.all.stringAttr
import scalatags.JsDom.all.stringFrag
-import scalatags.JsDom.all.stringStyle
+import scalatags.JsDom.all.stringPixelStyle
import scalatags.JsDom.all.`type`
import scalatags.JsDom.all.width
import vfd.dashboard.Environment
@@ -16,13 +18,13 @@ import vfd.dashboard.Environment
trait SvgInstrument[A] {
/** SVG object element that contains the rendered instrument */
- def element: dom.HTMLObjectElement
+ def element: html.Object
/** Actual svg document */
- protected def content: dom.Document = element.contentDocument
+ protected def content = element.contentDocument
/** Moveable parts of the instrument */
- protected def moveable: Seq[dom.HTMLElement]
+ protected def moveable: Seq[html.Element]
/** Updates the instrument to show a new value */
def update(value: A): Unit
@@ -38,17 +40,17 @@ trait SvgInstrument[A] {
object SvgInstrument {
- def svg(name: String)(implicit app: Environment): dom.HTMLObjectElement = {
+ def svg(name: String)(implicit app: Environment): html.Object = {
val path = app.asset("images/instruments/" + name + ".svg")
- `object`(`type` := "image/svg+xml", "data".attr := path, width := "100%")(
+ `object`(`type` := "image/svg+xml", "data".attr := path, width := 100.pct)(
"Error loading instrument " + name).render
}
- def translate(elem: dom.HTMLElement, x: Int, y: Int): Unit = {
+ def translate(elem: html.Element, x: Int, y: Int): Unit = {
elem.style.transform = "translate(" + x + "px, " + y + "px)";
}
- def rotate(elem: dom.HTMLElement, deg: Int): Unit = {
+ def rotate(elem: html.Element, deg: Int): Unit = {
elem.style.transform = "rotateZ(" + deg + "deg)";
}
diff --git a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/instruments.scala b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/instruments.scala
index 1cde83c..a508eb0 100644
--- a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/instruments.scala
+++ b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/components/instruments.scala
@@ -1,18 +1,20 @@
package vfd.dashboard.ui.components
import org.scalajs.dom
+import org.scalajs.dom.html
import scalatags.JsDom.all.ExtendedString
+import scalatags.JsDom.all.Int2CssNumber
import scalatags.JsDom.all.`object`
import scalatags.JsDom.all.stringAttr
import scalatags.JsDom.all.stringFrag
-import scalatags.JsDom.all.stringStyle
+import scalatags.JsDom.all.stringPixelStyle
import scalatags.JsDom.all.`type`
import scalatags.JsDom.all.width
import vfd.dashboard.Environment
class Led(implicit env: Environment) extends SvgInstrument[String] {
- lazy val element = `object`(`type` := "image/svg+xml", "data".attr := env.asset("images/leds/led.svg"), width := "100%")(
+ lazy val element = `object`(`type` := "image/svg+xml", "data".attr := env.asset("images/leds/led.svg"), width := 100.pct)(
"Error loading led.").render
def update(color: String) = {
@@ -26,8 +28,8 @@ class Led(implicit env: Environment) extends SvgInstrument[String] {
class Horizon(implicit env: Environment) extends SvgInstrument[(Double, Double)] {
lazy val element = SvgInstrument.svg("horizon")
- def pitch = content.getElementById("pitch")
- def roll = content.getElementById("roll")
+ def pitch = content.getElementById("pitch").asInstanceOf[html.Element]
+ def roll = content.getElementById("roll").asInstanceOf[html.Element]
protected def moveable = Seq(pitch, roll)
def update(pitchRoll: (Double, Double)) = {
@@ -39,7 +41,7 @@ class Horizon(implicit env: Environment) extends SvgInstrument[(Double, Double)]
class Altimeter(implicit env: Environment) extends SvgInstrument[Double] {
lazy val element = SvgInstrument.svg("altimeter")
- def hand = content.getElementById("hand")
+ def hand = content.getElementById("hand").asInstanceOf[html.Element]
protected def moveable = Seq(hand)
// 36deg === 1m
@@ -51,7 +53,7 @@ class Altimeter(implicit env: Environment) extends SvgInstrument[Double] {
class Compass(implicit env: Environment) extends SvgInstrument[Double] {
lazy val element = SvgInstrument.svg("compass")
- def plate = content.getElementById("heading")
+ def plate = content.getElementById("heading").asInstanceOf[html.Element]
protected def moveable = Seq(plate)
def update(heading: Double) = {
@@ -67,7 +69,7 @@ class Generic(
lazy val element = SvgInstrument.svg("generic")
- def handElement = content.getElementById("hand")
+ def handElement = content.getElementById("hand").asInstanceOf[html.Element]
def unitElement = content.getElementById("unit")
def valueElement = content.getElementById("value")
def minElement = content.getElementById("min")
@@ -94,7 +96,7 @@ class Bar(implicit env: Environment) extends SvgInstrument[Double] {
lazy val element = SvgInstrument.svg("bar")
- def level = content.getElementById("level")
+ def level = content.getElementById("level").asInstanceOf[html.Element]
protected def moveable = Seq(level)
def update(value: Double) = {
@@ -106,7 +108,7 @@ class Bar(implicit env: Environment) extends SvgInstrument[Double] {
class Balance(implicit env: Environment) extends SvgInstrument[(Double, Double, Double, Double)] {
lazy val element = SvgInstrument.svg("balance")
- def position = content.getElementById("position")
+ def position = content.getElementById("position").asInstanceOf[html.Element]
protected def moveable = Seq(position)
def update(value: (Double, Double, Double, Double)) = {
diff --git a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Communication.scala b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Communication.scala
index dd43ab4..220a7b8 100644
--- a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Communication.scala
+++ b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Communication.scala
@@ -3,26 +3,33 @@ package vfd.dashboard.ui.panels
import org.mavlink.messages.Heartbeat
import org.mavlink.messages.Motor
import org.mavlink.messages.Power
-import org.scalajs.dom.HTMLElement
+import org.scalajs.dom.html
+
import rx.core.Obs
import scalatags.JsDom.all.bindNode
import scalatags.JsDom.all.`class`
import scalatags.JsDom.all.div
+import scalatags.JsDom.all.i
import scalatags.JsDom.all.stringAttr
+import scalatags.JsDom.all.stringFrag
+import scalatags.JsDom.all.stringPixelStyle
+import scalatags.JsDom.all.style
import scalatags.JsDom.all.table
import scalatags.JsDom.all.tbody
import scalatags.JsDom.all.td
-import scalatags.JsDom.all._
+import scalatags.JsDom.all.thead
+import scalatags.JsDom.all.tr
+import scalatags.JsDom.all.width
import vfd.dashboard.Environment
import vfd.dashboard.MavlinkSocket
-import vfd.dashboard.ui.components.Generic
import vfd.dashboard.ui.components.Balance
import vfd.dashboard.ui.components.Bar
+import vfd.dashboard.ui.components.Generic
import vfd.dashboard.ui.components.Led
object Communication {
- def apply(socket: MavlinkSocket)(implicit app: Environment): HTMLElement = {
+ def apply(socket: MavlinkSocket)(implicit app: Environment): html.Element = {
val hb = i(`class` := "fa fa-heart heartbeat").render
diff --git a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Primary.scala b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Primary.scala
index 14b26f6..6f66208 100644
--- a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Primary.scala
+++ b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/panels/Primary.scala
@@ -1,7 +1,7 @@
package vfd.dashboard.ui.panels
import org.mavlink.messages.Attitude
-import org.scalajs.dom.HTMLElement
+import org.scalajs.dom.html
import rx.core.Obs
import scalatags.JsDom.all.bindNode
@@ -19,7 +19,7 @@ import vfd.dashboard.ui.components.Horizon
object Primary {
- def apply(socket: MavlinkSocket)(implicit env: Environment): HTMLElement = {
+ def apply(socket: MavlinkSocket)(implicit env: Environment): html.Element = {
val compass = new Compass
val horizon = new Horizon