Skip to content

Commit

Permalink
Use Twirl HTML StringInterpolator
Browse files Browse the repository at this point in the history
  • Loading branch information
wyozi committed Dec 25, 2017
1 parent 9cdf691 commit 1fec72f
Show file tree
Hide file tree
Showing 10 changed files with 9 additions and 39 deletions.
2 changes: 1 addition & 1 deletion app/controllers/admin/Search.scala
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class Search @Inject()
layout_admin_simple: views.html.admin.layout_admin_simple)
(implicit ec: ExecutionContext, pingsDAO: PingsDAO, parser: BodyParsers.Default, productsDAO: ProductsDAO) extends AbstractController(cc) {

import cyan.util.TwirlHelpers._
import play.twirl.api.StringInterpolation
import play.api.data.Forms._
val queryForm = Form("query" -> text)

Expand Down
2 changes: 1 addition & 1 deletion app/views/admin/ip_view.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
@import dao.PingExtrasDAO
@import dao.ResponsesDAO
@import util.FutureUtils._
@import cyan.util.TwirlHelpers._
@import play.twirl.api.StringInterpolation
@import cyan.backend.Backend
@import dao.ProductConfigDAO
@this(layout_admin_simple: views.html.admin.layout_admin_simple)(implicit backend: Backend, productsDAO: ProductsDAO, productConfigDAO: ProductConfigDAO, pingExtrasDAO: PingExtrasDAO, pingsDAO: PingsDAO, responsesDAO: ResponsesDAO)
Expand Down
2 changes: 1 addition & 1 deletion app/views/admin/license_view.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
@import cyan.backend.Backend
@import dao.PingsDAO
@import util.FutureUtils._
@import cyan.util.TwirlHelpers._
@import play.twirl.api.StringInterpolation
@import scala.concurrent.Future
@import shapeless._
@import dao.ProductsDAO
Expand Down
2 changes: 1 addition & 1 deletion app/views/admin/prod_license_view.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
@import dao.PingResponsesDAO
@import dao.ProductsDAO
@import util.FutureUtils._
@import cyan.util.TwirlHelpers._
@import play.twirl.api.StringInterpolation
@import dao.ResponsesDAO
@import dao.ProdLicensePingDAO
@import util.FutureUtils._
Expand Down
2 changes: 1 addition & 1 deletion app/views/admin/prod_pingextra_view.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
@import model.Product
@import org.joda.time.{LocalDate, LocalTime}
@import util.FutureUtils._
@import cyan.util.TwirlHelpers._
@import play.twirl.api.StringInterpolation

@import scala.concurrent.ExecutionContext

Expand Down
2 changes: 1 addition & 1 deletion app/views/admin/prod_pingextra_view_value.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
@import model.Product
@import org.joda.time.{LocalDate, LocalTime}
@import util.FutureUtils._
@import cyan.util.TwirlHelpers._
@import play.twirl.api.StringInterpolation

@import scala.concurrent.ExecutionContext
@import cyan.backend.Backend
Expand Down
2 changes: 1 addition & 1 deletion app/views/admin/user_view.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
@import dao.PingExtrasDAO
@import dao.ResponsesDAO
@import util.FutureUtils._
@import cyan.util.TwirlHelpers._
@import play.twirl.api.StringInterpolation
@import cyan.backend.Backend
@import dao.ProductConfigDAO
@import dao.ProdLicensePingDAO
Expand Down
2 changes: 1 addition & 1 deletion app/views/snippet/nav/NavObjects.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import play.twirl.api.Html
* Contains utilities for parsing navigation objects (eg. for breadcrumbs)
*/
object NavObjects {
import cyan.util.TwirlHelpers._
import play.twirl.api.StringInterpolation

def parse(obj: Any, active: Boolean = false): (Html, Option[Call]) = obj match {
case prod: model.Product => (html"${prod.name}", Some(controllers.admin.prod.routes.Products.view(prod.id)))
Expand Down
3 changes: 1 addition & 2 deletions backend-core/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,5 @@ version := "1.0"
scalaVersion := "2.11.7"

libraryDependencies ++= Seq(
"com.google.inject" % "guice" % "4.0",
"com.typesafe.play" %% "twirl-api" % "1.3.2"
"com.typesafe.play" %% "twirl-api" % "1.3.2" % "provided"
)
29 changes: 0 additions & 29 deletions backend-core/src/main/scala/cyan/util/TwirlHelpers.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,33 +11,4 @@ object TwirlHelpers {
new BaseScalaTemplate[Html, Format[Html]](HtmlFormat)._display_(Array(html, other))
}
}

/**
* Manually copied from Twirl's development version.
* TODO: remove me when twirl is updated to 1.1.2
*/
implicit class StringInterpolation(val sc: StringContext) extends AnyVal {

def html(args: Any*): Html = interpolate(args, HtmlFormat)

def xml(args: Any*): Xml = interpolate(args, XmlFormat)

def js(args: Any*): JavaScript = interpolate(args, JavaScriptFormat)

def interpolate[A <: Appendable[A] : Manifest](args: Seq[Any], format: Format[A]): A = {
sc.checkLengths(args)
val array = Array.ofDim[Any](args.size + sc.parts.size)
val strings = sc.parts.iterator
val expressions = args.iterator
array(0) = format.raw(strings.next())
var i = 1
while (strings.hasNext) {
array(i) = expressions.next()
array(i + 1) = format.raw(strings.next())
i += 2
}
new BaseScalaTemplate[A, Format[A]](format)._display_(array)
}

}
}

0 comments on commit 1fec72f

Please sign in to comment.