Skip to content

Instantly share code, notes, and snippets.

@tuhlmann
Last active August 29, 2015 13:56
Show Gist options
  • Save tuhlmann/9130513 to your computer and use it in GitHub Desktop.
Save tuhlmann/9130513 to your computer and use it in GitHub Desktop.
package code
package snippet
import scala.xml.{NodeSeq, Text}
import net.liftweb.util._
import net.liftweb.common._
import java.util.Date
import code.lib._
import Helpers._
import net.liftweb._
import sitemap._
object AsParamId1 {
def unapply(in: String): Option[ParamId1] = asParamId1(in)
def asParamId1(in: String): Option[ParamId1] =
Some(ParamId1(in))
}
object AsParamId2 {
def unapply(in: String): Option[ParamId2] = asParamId2(in)
def asParamId2(in: String): Option[ParamId2] =
Some(ParamId2(in))
}
case class ParamId1( param1:String )
case class ParamId2( param2:String )
object APost {
// Create a menu for /user/santo
lazy val menu = Menu.params[( ParamId1, ParamId2 )]("ParamId1", "ParamId2",
{
case AsParamId1(p1) :: AsParamId2(p2) :: Nil =>
Full( (p1, p2) )
case _ =>
Empty
},
(params: (ParamId1, ParamId2)) => List(params._1.param1, params._2.param2)) / * / *
lazy val loc = menu.toLoc
def render = "*" #> loc.currentValue.map(_._1.param1)
}
// a snippet that takes the page parameter information
class APost( di: ( ParamId1, ParamId2 ) ) {
def render = <div>param1: {di._1.param1}, param2 {di._2.param2}</div>
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment