aboutsummaryrefslogtreecommitdiff
path: root/vfd-dashboard/src/main/scala/vfd/dashboard/Launcher.scala
blob: 6a9ba82e03a7d8a8e880b53c1df993d47b14baeb (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
27
28
29
30
31
32
33
34
package vfd.dashboard

import scala.scalajs.js.annotation.JSExport

import org.scalajs.dom

@JSExport("Launcher")
class Launcher(rootId: String, assetsBase: String) {

  lazy val env = new Environment {
    val root = dom.document.getElementById(rootId)
    def asset(file: String) = assetsBase + "/" + file
  }

  @JSExport
  def main() = {
    import env._

    val args: Seq[(String, String)] = for (
      i <- 0 until root.attributes.length;
      attr = root.attributes.item(i);
      if attr.name.startsWith("data-")
    ) yield {
      attr.name.drop(5) -> attr.value
    }

    while (env.root.hasChildNodes) {
      env.root.removeChild(env.root.firstChild)
    }
    
    Main.main(args.toMap)(env)
  }

}