--- a/src/main/scala/fis/base/ui/FieldTable.scala Tue Jun 05 15:40:45 2012 +0200
+++ b/src/main/scala/fis/base/ui/FieldTable.scala Tue Jun 05 15:40:45 2012 +0200
@@ -38,7 +38,9 @@
protected def fields(v: T): Iterable[ReadableField]
protected def build(header: T, rows: Iterable[T]): NodeSeq =
- (cols(fields(header)) & cells(rows))(load)
+ (decorate & cols(fields(header)) & cells(rows))(load)
+
+ protected def decorate = "table [class+]" #> "datatable"
}
object FieldTable {
--- a/src/main/scala/fis/pm/ui/ProjectTable.scala Tue Jun 05 15:40:45 2012 +0200
+++ b/src/main/scala/fis/pm/ui/ProjectTable.scala Tue Jun 05 15:40:45 2012 +0200
@@ -17,12 +17,22 @@
import fis.pm.model._
import fis.base.ui._
+import net.datatables.DataTables._
+import net.liftweb.util._
+import net.liftweb.util.Helpers._
object ProjectTable extends FieldTable[Project] {
def fields(p: Project) = (EntityLink(p) ++ Seq(p.identS, p.phaseFld,
p.stateFld, p.deadline, p.responsible, p.description, p.note)) map
Delayed(p)
- def apply(l: Iterable[Project]) = build(Project, l)
+
+ def apply(l: Iterable[Project]) = {
+ val uid = nextFuncName
+ ("table [id]" #> uid)(build(Project, l)) ++ onLoad(uid,
+ Options col(ColumnDef dtype(TYPE_EU_DATE) target(4)))
+ }
+
+ override protected def decorate = "table [class+]" #> "project-table"
}
--- a/src/main/scala/fis/pm/ui/TaskSnippet.scala Tue Jun 05 15:40:45 2012 +0200
+++ b/src/main/scala/fis/pm/ui/TaskSnippet.scala Tue Jun 05 15:40:45 2012 +0200
@@ -119,6 +119,9 @@
override def fields(t: Task) = (Seq(identField(t)) ++ EntityLink(t) ++
Seq(t.project, t.stateFld, t.deadline, t.responsible, t.note)
) map Delayed(t)
+ import net.datatables.DataTables._
+ override protected def dataTableOpts =
+ Options col(ColumnDef dtype(TYPE_EU_DATE) target(4))
}
private class TaskReport(f: () => Iterable[Task]) extends LocInfo[Iterable[Task]] {
--- a/src/main/scala/fis/pm/ui/TaskTable.scala Tue Jun 05 15:40:45 2012 +0200
+++ b/src/main/scala/fis/pm/ui/TaskTable.scala Tue Jun 05 15:40:45 2012 +0200
@@ -18,6 +18,7 @@
import fis.base.model._
import fis.base.ui._
import fis.pm.model._
+import net.datatables.DataTables._
import net.liftweb.common._
import net.liftweb.util._
import net.liftweb.util.Helpers._
@@ -32,7 +33,15 @@
(Seq(identField(t)) ++ EntityLink(t) ++ Seq(t.stateFld, t.deadline,
t.responsible, t.note)) map Delayed(t)
- def apply(l: Iterable[Task]) = build(Task, l)
+ def apply(l: Iterable[Task]) = {
+ val uid = nextFuncName
+ ("table [id]" #> uid)(build(Task, l)) ++ onLoad(uid, dataTableOpts)
+ }
+
+ override protected def decorate = "table [class+]" #> "project-table"
+
+ protected def dataTableOpts =
+ Options col(ColumnDef dtype(TYPE_EU_DATE) target(3))
}
object TaskTable extends TaskTable
--- a/src/main/webapp/jquery/js/dataTables.dateFormat.js Tue Jun 05 15:40:45 2012 +0200
+++ b/src/main/webapp/jquery/js/dataTables.dateFormat.js Tue Jun 05 15:40:45 2012 +0200
@@ -1,6 +1,7 @@
/**
* https://github.com/sedovsek/DataTables-EU-date-Plug-In
* commit 4069413
+ * (+ strip html tags surrounding dates)
*
* Copyright 2011 https://github.com/sedovsek
*
@@ -27,7 +28,7 @@
*/
function calculate_date(date) {
- var date = date.replace(" ", "");
+ var date = date.replace(/<.*?>/g, "").replace(" ", "");
if (date.indexOf('.') > 0) {
/*date a, format dd.mn.(yyyy) ; (year is optional)*/
--- a/src/main/webapp/templates-hidden/datatable.html Tue Jun 05 15:40:45 2012 +0200
+++ b/src/main/webapp/templates-hidden/datatable.html Tue Jun 05 15:40:45 2012 +0200
@@ -1,4 +1,4 @@
-<table class="table table-striped table-bordered table-condensed datatable">
+<table class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th class="field-name">Field Name</th>