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: |