From 18d586b51795475e261ec7583c73b9e78757656a Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Fri, 27 Mar 2015 18:15:38 +0100 Subject: implement clock --- .../src/main/scala/vfd/dashboard/ui/Layout.scala | 3 ++- .../scala/vfd/dashboard/ui/instruments/Clock.scala | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 vfd-dashboard/src/main/scala/vfd/dashboard/ui/instruments/Clock.scala (limited to 'vfd-dashboard/src/main/scala') 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 -- cgit v1.2.3