diff --git a/scalatags/src/scalatags/generic/Attrs.scala b/scalatags/src/scalatags/generic/Attrs.scala index a4c87cd6..4afb9c2e 100755 --- a/scalatags/src/scalatags/generic/Attrs.scala +++ b/scalatags/src/scalatags/generic/Attrs.scala @@ -64,6 +64,7 @@ trait GlobalAttrs[Builder, Output <: FragT, FragT] def selectDynamic(s: String) = new DataAttribute(s :: sections) def :=[T](v: T)(implicit ev: AttrValue[Builder, T]) = AttrPair(Attr(sections.reverse.mkString("-")), v, ev) + def apply[T](v: T)(implicit ev: AttrValue[Builder, T]) = :=(v)(ev) } def data(suffix: String) = Attr("data-" + suffix) /** diff --git a/scalatags/src/scalatags/generic/Core.scala b/scalatags/src/scalatags/generic/Core.scala index cc564514..c41c97df 100644 --- a/scalatags/src/scalatags/generic/Core.scala +++ b/scalatags/src/scalatags/generic/Core.scala @@ -111,6 +111,7 @@ case class Attr(name: String, namespace: Option[Namespace] = None, raw: Boolean requireNonNull(v) AttrPair(this, v, ev) } + def apply[Builder, T](v: T)(implicit ev: AttrValue[Builder, T]) = :=(v)(ev) def empty[Builder](implicit ev: AttrValue[Builder, String]) = this := name } @@ -127,6 +128,7 @@ case class Style(jsName: String, cssName: String) { requireNonNull(v) StylePair(this, v, ev) } + def apply[Builder, T](v: T)(implicit ev: StyleValue[Builder, T]) = :=(v)(ev) } /** * Wraps up a CSS style in a value. @@ -141,6 +143,7 @@ case class PixelStyle(jsName: String, cssName: String) { requireNonNull(v) ev(realStyle, v) } + def apply[Builder, T](v: T)(implicit ev: PixelStyleValue[Builder, T]) = :=(v)(ev) } trait StyleProcessor{ @@ -157,6 +160,7 @@ case class AttrPair[Builder, T](a: Attr, v: T, ev: AttrValue[Builder, T]) extend requireNonNull(v) AttrPair(a, v, ev) } + def apply[Builder, T](v: T)(implicit ev: AttrValue[Builder, T]) = :=(v)(ev) } /** * Used to specify how to handle a particular type [[T]] when it is used as diff --git a/scalatags/src/scalatags/generic/Styles.scala b/scalatags/src/scalatags/generic/Styles.scala index d069dddd..2dc31667 100644 --- a/scalatags/src/scalatags/generic/Styles.scala +++ b/scalatags/src/scalatags/generic/Styles.scala @@ -442,6 +442,7 @@ trait Styles2[Builder, Output <: FragT, FragT] extends StyleMisc[Builder, Output */ object columns extends Style("columns", "columns") { def :=(number: Int, width: String): StylePair[Builder, String] = this := s"$number $width" + def apply(number: Int, width: String): StylePair[Builder, String] = this.:=(number, width) } /** @@ -1174,6 +1175,7 @@ trait Styles[Builder, Output <: FragT, FragT] extends StyleMisc[Builder, Output, */ object borderSpacing extends Style("borderSpacing", "border-spacing") { def :=(horizontal: String, vertical: String): StylePair[Builder, String] = this := s"$horizontal $vertical" + def apply(horizontal: String, vertical: String): StylePair[Builder, String] = this.:=(horizontal, vertical) } diff --git a/scalatags/test/src/scalatags/generic/BasicTests.scala b/scalatags/test/src/scalatags/generic/BasicTests.scala index bfe61b26..d34bbf26 100644 --- a/scalatags/test/src/scalatags/generic/BasicTests.scala +++ b/scalatags/test/src/scalatags/generic/BasicTests.scala @@ -131,6 +131,18 @@ class BasicTests[Builder, Output <: FragT, FragT](omg: Bundle[Builder, Output, F """""" ) } + test("apply instead of :="){ + strCheck( + a( + tabindex(1), + onclick("lol") + )( + href("boo"), + alt("g") + ), + """""" + ) + } test("autoPixel"){ strCheck( div(width:=100, zIndex:=100, height:=100), diff --git a/scalatags/test/src/scalatags/generic/StyleSheetTests.scala b/scalatags/test/src/scalatags/generic/StyleSheetTests.scala index 285a253b..52fb2cda 100644 --- a/scalatags/test/src/scalatags/generic/StyleSheetTests.scala +++ b/scalatags/test/src/scalatags/generic/StyleSheetTests.scala @@ -19,7 +19,7 @@ abstract class StyleSheetTests[Builder, Output <: FragT, FragT] height := 125 ) val y = cls.hover( - opacity := 0.5 + opacity(0.5) ) val z = cls(x.splice, y.splice)