From 0d1b7e92ada02c5149abefdbc8e70d02241951ca Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 22 Feb 2017 17:21:43 +0800 Subject: Add small and simple scala js example --- examples/scalajs-plain-example/js/App.scala | 27 ++++++++++++++++++++++ examples/scalajs-plain-example/js/Plotly.scala | 8 +++++++ .../scalajs-plain-example/js/build/build.scala | 18 +++++++++++++++ .../js/build/build/build.scala | 4 ++++ 4 files changed, 57 insertions(+) create mode 100644 examples/scalajs-plain-example/js/App.scala create mode 100644 examples/scalajs-plain-example/js/Plotly.scala create mode 100644 examples/scalajs-plain-example/js/build/build.scala create mode 100644 examples/scalajs-plain-example/js/build/build/build.scala (limited to 'examples/scalajs-plain-example/js') diff --git a/examples/scalajs-plain-example/js/App.scala b/examples/scalajs-plain-example/js/App.scala new file mode 100644 index 0000000..71a285e --- /dev/null +++ b/examples/scalajs-plain-example/js/App.scala @@ -0,0 +1,27 @@ +package prototype + +import org.scalajs.dom + +import scala.scalajs.js +import scala.scalajs.js.JSON +import scala.scalajs.js.JSApp +import scala.scalajs.js.annotation.JSExport + +@JSExport("App") +object App extends JSApp { + def main(): Unit = { + val trace1 = """{ + | "x": [1, 2, 3, 4], + | "y": [10, 15, 13, 17], + | "type": "scatter" + |} """.stripMargin + val trace2 = """{ + | "x": [1, 2, 3, 4], + | "y": [16, 5, 11, 9], + | "type": "scatter" + |} """.stripMargin + val data = js.Array(trace1, trace2).map(trace => JSON.parse(trace)) + val doc = dom.document + Plotly.newPlot("plotly", data) + } +} diff --git a/examples/scalajs-plain-example/js/Plotly.scala b/examples/scalajs-plain-example/js/Plotly.scala new file mode 100644 index 0000000..a4623c6 --- /dev/null +++ b/examples/scalajs-plain-example/js/Plotly.scala @@ -0,0 +1,8 @@ +package prototype + +import scala.scalajs.js + +@js.native +object Plotly extends js.Object { + def newPlot(id: String, data: js.Array[js.Dynamic]): js.Any = js.native +} diff --git a/examples/scalajs-plain-example/js/build/build.scala b/examples/scalajs-plain-example/js/build/build.scala new file mode 100644 index 0000000..06e4876 --- /dev/null +++ b/examples/scalajs-plain-example/js/build/build.scala @@ -0,0 +1,18 @@ +import cbt._ +class Build(val context: Context) extends ScalaJsBuild{ + override def projectName = "my-project" + + override def sources = super.sources ++ Seq( + projectDirectory.getParentFile ++ "/shared" + ) + + override def dependencies = ( + super.dependencies ++ + Resolver( mavenCentral ).bind( + "org.scala-js" %%% "scalajs-dom" % "0.9.0" + ) + ) + + override def scalaJsTargetFile = + projectDirectory.getParentFile ++ ("/server/public/generated/" ++ projectName ++ ".js") +} diff --git a/examples/scalajs-plain-example/js/build/build/build.scala b/examples/scalajs-plain-example/js/build/build/build.scala new file mode 100644 index 0000000..b30e005 --- /dev/null +++ b/examples/scalajs-plain-example/js/build/build/build.scala @@ -0,0 +1,4 @@ +import cbt._ +class Build(val context: Context) extends BuildBuild{ + override def dependencies = super.dependencies :+ plugins.scalaJs +} -- cgit v1.2.3