src/main/scala/net/tz/lift/snippet/Loc.scala
changeset 21 641c7190c566
parent 15 995184977e9b
equal deleted inserted replaced
20:f1551f9d3d3e 21:641c7190c566
     1 /*
     1 /*
     2  * Copyright 2011 Tomas Zeman <tzeman@volny.cz>
     2  * Copyright 2011-2012 Tomas Zeman <tzeman@volny.cz>
     3  *
     3  *
     4  * Licensed under the Apache License, Version 2.0 (the "License");
     4  * Licensed under the Apache License, Version 2.0 (the "License");
     5  * you may not use this file except in compliance with the License.
     5  * you may not use this file except in compliance with the License.
     6  * You may obtain a copy of the License at
     6  * You may obtain a copy of the License at
     7  *
     7  *
    13  * See the License for the specific language governing permissions and
    13  * See the License for the specific language governing permissions and
    14  * limitations under the License.
    14  * limitations under the License.
    15  */
    15  */
    16 package net.tz.lift.snippet
    16 package net.tz.lift.snippet
    17 
    17 
    18 import net.liftweb.http.TemplateFinder
    18 import net.liftweb.http.Templates
    19 import net.liftweb.sitemap.Loc._
    19 import net.liftweb.sitemap.Loc._
    20 import scala.xml.NodeSeq
    20 import scala.xml.NodeSeq
    21 
    21 
    22 /**
    22 /**
    23  * Helper object for custom Loc template based on template path, eg.
    23  * Helper object for custom Loc template based on template path, eg.
    24  * <code>item/view</code>.
    24  * <code>item/view</code>.
    25  */
    25  */
    26 object LocTpl {
    26 object LocTpl {
    27 
    27 
    28   def apply(path: String): Template = Template(() =>
    28   def apply(path: String): Template = Template(() =>
    29     TemplateFinder.findAnyTemplate(path split "/" toList) openOr NodeSeq.Empty)
    29     Templates(path split "/" toList) openOr NodeSeq.Empty)
    30 
    30 
    31   def apply[T](f: T => String): ValueTemplate[T] = ValueTemplate[T](
    31   def apply[T](f: T => String): ValueTemplate[T] = ValueTemplate[T](
    32     _.flatMap { v => TemplateFinder.findAnyTemplate(f(v) split "/" toList)
    32     _.flatMap { v => Templates(f(v) split "/" toList)
    33     } openOr NodeSeq.Empty)
    33     } openOr NodeSeq.Empty)
    34 }
    34 }
    35 
    35 
    36 // vim: set ts=2 sw=2 et:
    36 // vim: set ts=2 sw=2 et: