aboutsummaryrefslogtreecommitdiff
path: root/mavigator-cockpit/src/main/scala/mavigator/util/Application.scala
diff options
context:
space:
mode:
Diffstat (limited to 'mavigator-cockpit/src/main/scala/mavigator/util/Application.scala')
-rw-r--r--mavigator-cockpit/src/main/scala/mavigator/util/Application.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/mavigator-cockpit/src/main/scala/mavigator/util/Application.scala b/mavigator-cockpit/src/main/scala/mavigator/util/Application.scala
new file mode 100644
index 0000000..7cb6f27
--- /dev/null
+++ b/mavigator-cockpit/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(args: Map[String, String])(implicit env: Environment): Unit
+
+ @JSExport
+ final def start(settings: js.Dynamic): Unit = {
+
+ val env = new StaticEnvironment(
+ root = settings.root.asInstanceOf[html.Element],
+ assetsBase = settings.assetsBase.asInstanceOf[String]
+ )
+
+ val args = settings.args.asInstanceOf[js.Dictionary[Any]].mapValues(_.toString).toMap
+
+ main(args)(env)
+ }
+
+}