diff options
author | Jakob Odersky <jodersky@gmail.com> | 2015-03-27 18:15:38 +0100 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2015-03-27 18:15:38 +0100 |
commit | 18d586b51795475e261ec7583c73b9e78757656a (patch) | |
tree | 6316dd9afbb191bb04d546ed0c8773f5f898c383 /vfd-dashboard/src/main/scala | |
parent | f75765eb4652e0b6e3ba6bd7ecb266b15119f82b (diff) | |
download | mavigator-18d586b51795475e261ec7583c73b9e78757656a.tar.gz mavigator-18d586b51795475e261ec7583c73b9e78757656a.tar.bz2 mavigator-18d586b51795475e261ec7583c73b9e78757656a.zip |
implement clock
Diffstat (limited to 'vfd-dashboard/src/main/scala')
-rw-r--r-- | vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala | 3 | ||||
-rw-r--r-- | vfd-dashboard/src/main/scala/vfd/dashboard/ui/instruments/Clock.scala | 22 |
2 files changed, 24 insertions, 1 deletions
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 6465f26..1b1540e 100644 --- a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala +++ b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala @@ -12,6 +12,7 @@ import vfd.dashboard.ui.instruments.Generic import vfd.dashboard.ui.instruments.Horizon import org.mavlink.messages.Heartbeat import org.mavlink.messages.Attitude +import vfd.dashboard.ui.instruments.Clock class Layout(socket: MavlinkSocket)(implicit env: Environment) { @@ -59,7 +60,7 @@ class Layout(socket: MavlinkSocket)(implicit env: Environment) { val top = header( div("Flight Control Panel"), - div("00:00:00"), + div((new Clock).element), div("System #")) val left = panel( diff --git a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/instruments/Clock.scala b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/instruments/Clock.scala new file mode 100644 index 0000000..b456765 --- /dev/null +++ b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/instruments/Clock.scala @@ -0,0 +1,22 @@ +package vfd.dashboard.ui.instruments + +import org.scalajs.dom +import scala.scalajs.js.Date +import scalatags.JsDom.all._ + +class Clock extends Instrument[Date] { + + def format(date: Date) = date.toLocaleTimeString() + + val initial = new Date + + val element = span(format(initial)).render + + protected def update(value: Date) = { + element.innerHTML = format(value) + } + + dom.setInterval(() => {value() = new Date}, 1000) + ready() + +}
\ No newline at end of file |