diff -r 22424e6508cd -r 9026ebb197e2 src/main/scala/net/tz/lift/snippet/Panel.scala --- a/src/main/scala/net/tz/lift/snippet/Panel.scala Wed Aug 17 08:48:43 2011 +0200 +++ b/src/main/scala/net/tz/lift/snippet/Panel.scala Sat Aug 20 10:43:23 2011 +0200 @@ -15,6 +15,7 @@ */ package net.tz.lift.snippet +import net.liftweb.common._ import net.liftweb.mapper.MappedField import scala.xml.{NodeSeq, Text} @@ -60,10 +61,17 @@ * A panel using template in /templates-hidden/panel for * values rendering. */ -class TplPanel(cells: List[(NodeSeq, NodeSeq)]) extends CssTr { +class TplPanel(caption: Box[String], cells: List[(NodeSeq, NodeSeq)], + path: Box[List[String]]) extends CssTr { + + def this(cells: List[(NodeSeq, NodeSeq)], p: List[String]) = + this(Empty, cells, Full(p)) + def this(cells: List[(NodeSeq, NodeSeq)]) = this(Empty, cells, Empty) + def apply(in: NodeSeq): NodeSeq = TemplateFinder.findAnyTemplate( - List("templates-hidden", "panel")) map { xml => - (".row *" #> cells.map { r => + path.openOr(List("templates-hidden", "panel"))) map { xml => + (".caption *" #> caption & + ".row *" #> cells.map { r => ".n *" #> r._1 & ".v *" #> r._2 })(xml)