aboutsummaryrefslogtreecommitdiff
path: root/examples/scalajs-plain-example/js
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2017-02-22 17:21:43 +0800
committerChristopher Vogt <oss.nsp@cvogt.org>2017-02-22 17:38:45 +0800
commit0d1b7e92ada02c5149abefdbc8e70d02241951ca (patch)
treeefba968c647bb7185fdae711fac26c1306248f02 /examples/scalajs-plain-example/js
parent63d77017a205a394e604ec9f943d0ef6d2511ef4 (diff)
downloadcbt-0d1b7e92ada02c5149abefdbc8e70d02241951ca.tar.gz
cbt-0d1b7e92ada02c5149abefdbc8e70d02241951ca.tar.bz2
cbt-0d1b7e92ada02c5149abefdbc8e70d02241951ca.zip
Add small and simple scala js example
Diffstat (limited to 'examples/scalajs-plain-example/js')
-rw-r--r--examples/scalajs-plain-example/js/App.scala27
-rw-r--r--examples/scalajs-plain-example/js/Plotly.scala8
-rw-r--r--examples/scalajs-plain-example/js/build/build.scala18
-rw-r--r--examples/scalajs-plain-example/js/build/build/build.scala4
4 files changed, 57 insertions, 0 deletions
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
+}