From 50bc6c80aa201c0543db07a62bc7c726b813c168 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Mon, 1 Feb 2016 22:46:48 -0800 Subject: Use Akka streams and temporarily disable frontend --- .../main/scala/mavigator/util/Application.scala | 26 ++++++++++++++++++++++ .../main/scala/mavigator/util/environment.scala | 24 ++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 mavigator-dashboard/src/main/scala/mavigator/util/Application.scala create mode 100644 mavigator-dashboard/src/main/scala/mavigator/util/environment.scala (limited to 'mavigator-dashboard') diff --git a/mavigator-dashboard/src/main/scala/mavigator/util/Application.scala b/mavigator-dashboard/src/main/scala/mavigator/util/Application.scala new file mode 100644 index 0000000..9a57e43 --- /dev/null +++ b/mavigator-dashboard/src/main/scala/mavigator/util/Application.scala @@ -0,0 +1,26 @@ +package mavigator +package util + +import scala.scalajs.js.annotation.JSExport +import scala.scalajs.js + +import org.scalajs.dom.html + +trait Application { + + def main(env: Environment, args: Map[String, String]): Unit + + @JSExport + final def _start(settings: js.Dynamic): Unit = { + + val env = new StaticEnvironment( + root = settings.root.asInstanceOf[html.Element], + assetsBase = settings.root.asInstanceOf[String] + ) + + val args = settings.args.asInstanceOf[Map[String, String]] + + main(env, args) + } + +} diff --git a/mavigator-dashboard/src/main/scala/mavigator/util/environment.scala b/mavigator-dashboard/src/main/scala/mavigator/util/environment.scala new file mode 100644 index 0000000..fad1bf3 --- /dev/null +++ b/mavigator-dashboard/src/main/scala/mavigator/util/environment.scala @@ -0,0 +1,24 @@ +package mavigator +package util + +import org.scalajs.dom.html + +/** Represents an application's environment */ +trait Environment { + + /** The application's root element. */ + def root: html.Element + + /** Retrieve an asset's URL based on its file location. */ + def asset(file: String): String + +} + +class StaticEnvironment( + override val root: html.Element, + assetsBase: String +) extends Environment { + + override def asset(file: String): String = assetsBase + "/" + file + +} -- cgit v1.2.3