diff --git a/README.md b/README.md index 32fdc79..b794ab8 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Static types for the jQuery API for [Scala.js](http://www.scala-js.org/) program Add the following dependency to your SBT build: ```scala -libraryDependencies += "io.udash" %%% "udash-jquery" % "3.0.4" +libraryDependencies += "io.udash" %%% "udash-jquery" % "3.2.0" ``` then import the jQuery package: diff --git a/build.sbt b/build.sbt index 5259e63..6d600cf 100644 --- a/build.sbt +++ b/build.sbt @@ -33,6 +33,7 @@ val commonJSSettings = Seq( val githubDir = "https://raw.githubusercontent.com/UdashFramework/scala-js-jquery" s"-P:scalajs:mapSourceURI:$localDir->$githubDir/v${version.value}/" }, + webpack / version := "5.75.0", // TODO: can be removed when sbt-scalajs-bundler > 0.21.1 ) val deploymentConfiguration = Seq( @@ -80,11 +81,11 @@ lazy val root = project.in(file(".")) deploymentConfiguration, libraryDependencies ++= Seq( - "org.scala-js" %%% "scalajs-dom" % "2.0.0", + "org.scala-js" %%% "scalajs-dom" % "2.7.0", "org.scalatest" %%% "scalatest" % "3.2.9" % Test, "com.lihaoyi" %%% "scalatags" % "0.10.0" % Test ), - Compile / npmDependencies += "jquery" -> "3.4.1", - jsDependencies += "org.webjars" % "jquery" % "3.4.1" / "3.4.1/jquery.js" minified s"3.4.1/jquery.min.js", + Compile / npmDependencies += "jquery" -> "3.6.4", + jsDependencies += "org.webjars" % "jquery" % "3.6.4" / "3.6.4/jquery.js" minified s"3.6.4/jquery.min.js", ) diff --git a/project/build.properties b/project/build.properties index e9db047..657d488 100755 --- a/project/build.properties +++ b/project/build.properties @@ -1,2 +1,2 @@ # suppress inspection "UnusedProperty" -sbt.version=1.5.5 \ No newline at end of file +sbt.version=1.9.2 \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt index fa81d0b..6e5469d 100755 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,7 +1,7 @@ logLevel := Level.Warn -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.7.0") -addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.20.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.2") +addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.21.1") addSbtPlugin("org.scala-js" % "sbt-jsdependencies" % "1.0.2") // Deployment configuration diff --git a/src/main/scala/io/udash/wrappers/jquery/JQuery.scala b/src/main/scala/io/udash/wrappers/jquery/JQuery.scala index 8218c5a..89f1be9 100644 --- a/src/main/scala/io/udash/wrappers/jquery/JQuery.scala +++ b/src/main/scala/io/udash/wrappers/jquery/JQuery.scala @@ -164,6 +164,10 @@ trait JQuery extends js.Object { @JSName("eq") def at(index: Int): JQuery = js.native + /** Reduce the set of matched elements to the even ones in the set, numbered from zero.
+ * See: jQuery Docs */ + def even(): JQuery = js.native + /** Display the matched elements by fading them to opaque.
* See: jQuery Docs */ def fadeIn(duration: Int = js.native, easing: EasingFunction = js.native): JQuery = js.native @@ -381,6 +385,10 @@ trait JQuery extends js.Object { * See: jQuery Docs */ def not(el: Element*): JQuery = js.native + /** Reduce the set of matched elements to the odd ones in the set, numbered from zero.
+ * See: jQuery Docs */ + def odd(): JQuery = js.native + /** Remove an event handler.
* See: jQuery Docs */ def off(): JQuery = js.native diff --git a/src/test/scala/io/udash/wrappers/jquery_test/TraversingTest.scala b/src/test/scala/io/udash/wrappers/jquery_test/TraversingTest.scala index 82116cf..2ff1b89 100644 --- a/src/test/scala/io/udash/wrappers/jquery_test/TraversingTest.scala +++ b/src/test/scala/io/udash/wrappers/jquery_test/TraversingTest.scala @@ -166,5 +166,21 @@ class TraversingTest extends AnyWordSpec with Matchers { root.children("a").first().length should be(0) root.children("a").last().length should be(0) } + + "even/odd matching element" in { + val dom = div( + span("0"), + span("1"), + span("2"), + span("3"), + span("4"), + span("5"), + ).render + + val root = jQ(dom) + root.children("span").even().text() shouldBe "024" + root.children("span").odd().text() shouldBe "135" + } + } }