aboutsummaryrefslogtreecommitdiff
path: root/mavigator-dashboard/src/main/scala/mavigator/util/Application.scala
blob: 7cb6f27cee470d8cc43b411b784c93d52593820a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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)
  }

}