adding scalajs & laminar

https://www.scala-js.org/doc/tutorial/laminar.html
This commit is contained in:
efim
2023-04-21 17:22:17 +04:00
parent 6c8e9ea4ee
commit fd7ddd9588
9 changed files with 99 additions and 23 deletions

View File

@@ -0,0 +1,44 @@
package industries.sunshine.planningpoker
import scala.scalajs.js
import scala.scalajs.js.annotation.*
import org.scalajs.dom
// import javascriptLogo from "/javascript.svg"
@js.native @JSImport("/javascript.svg", JSImport.Default)
val javascriptLogo: String = js.native
@main
def LiveChart(): Unit =
dom.document.querySelector("#app").innerHTML = s"""
<div>
<a href="https://vitejs.dev" target="_blank">
<img src="/vite.svg" class="logo" alt="Vite logo" />
</a>
<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript" target="_blank">
<img src="$javascriptLogo" class="logo vanilla" alt="JavaScript logo" />
</a>
<h1>Hello Scala.js and Vite!</h1>
<div class="card">
<button id="counter" type="button"></button>
</div>
<p class="read-the-docs">
Click on the Vite logo to learn more
</p>
</div>
"""
setupCounter(dom.document.getElementById("counter"))
end LiveChart
def setupCounter(element: dom.Element): Unit =
var counter = 0
def setCounter(count: Int): Unit =
counter = count
element.innerHTML = s"count is $counter"
element.addEventListener("click", e => setCounter(counter + 1))
setCounter(0)
end setupCounter