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.util.Helpers._ // CSS transforms |
19 import net.liftweb.util.Helpers._ // CSS transforms |
20 import scala.xml.NodeSeq |
20 import scala.xml.NodeSeq |
21 |
21 |
22 /** |
22 /** |
23 * Template driven table, compatible w/ datatables.net. |
23 * Template driven table, compatible w/ datatables.net. |
24 * Template location: <code>/templates-hidden/datatable</code>. |
24 * Template location: <code>/templates-hidden/datatable</code>. |
25 */ |
25 */ |
26 class DataTable(cols: List[String], cells: List[List[NodeSeq]]) extends CssTr { |
26 class DataTable(cols: List[String], cells: List[List[NodeSeq]]) extends CssTr { |
27 def apply(in: NodeSeq): NodeSeq = TemplateFinder.findAnyTemplate( |
27 def apply(in: NodeSeq): NodeSeq = Templates( |
28 List("templates-hidden", "datatable")) map { xml => |
28 List("templates-hidden", "datatable")) map { xml => |
29 (".field-name *" #> cols & |
29 (".field-name *" #> cols & |
30 ".row *" #> cells.map { vals => "td *" #> vals })(xml) |
30 ".row *" #> cells.map { vals => "td *" #> vals })(xml) |
31 } openOr NodeSeq.Empty |
31 } openOr NodeSeq.Empty |
32 } |
32 } |