udash-jquery

Build Status Maven Central Join the chat at https://gitter.im/UdashFramework/scala-js-jquery

Static types for the jQuery API for Scala.js programs.

Usage

Add the following dependency to your SBT build:

libraryDependencies += "io.udash" %%% "udash-jquery" % "3.0.4"

then import the jQuery package:

import io.udash.wrappers.jquery._

Since version 3.0.4 the wrapper targets SJS 1.x series and supports JS dependencies managed by by scalajs-bundler or sbt-jsdependencies

Examples

import io.udash.wrappers.jquery._

jQ("#elementId")
  .hide(AnimationOptions(
    duration = Some(3000),
    easing = Some(EasingFunction.linear)
  ))
  .show(1500, EasingFunction.swing)
import io.udash.wrappers.jquery._

val element: JQuery = jQ("#id")
element.text("Text content")
element.attr("example-attr", "value")
element.attr("example-attr") match {
  case Some(value) => println(s"Attribute value: $value")
  case None => println("Attribute not found!")
}
import io.udash.wrappers.jquery._

val callbacks = jQ.callbacks[js.Function1[(Int, Int), js.Any], (Int, Int)]()
callbacks.add((t: (Int, Int)) => {
  val (a, b) = t
  jQ("#plus").append(li(s"$a + $b = ${a+b}").render)
})
callbacks.add((t: (Int, Int)) => {
  val (a, b) = t
  jQ("#minus").append(li(s"$a - $b = ${a-b}").render)
})
callbacks.add((t: (Int, Int)) => {
  val (a, b) = t
  jQ("#mul").append(li(s"$a * $b = ${a*b}").render)
})
callbacks.add((t: (Int, Int)) => {
  val (a, b) = t
  jQ("#div").append(li(s"$a / $b = ${a/b}").render)
})

callbacks.fire(1, 1)
callbacks.fire(3, 3)
callbacks.fire(7, 4)

callbacks.disable()
callbacks.fire(1, 2)