# HG changeset patch # User Tomas Zeman # Date 1338903645 -7200 # Node ID 66aeb6b3a3a7d9559648437c5297bf1524fca8f0 # Parent ef29ecada49d5d1572d44e607aeccae7872f4644 85bf710ab532dcaa Datatables date sorting diff -r ef29ecada49d -r 66aeb6b3a3a7 src/main/scala/fis/base/ui/FieldTable.scala --- 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 { diff -r ef29ecada49d -r 66aeb6b3a3a7 src/main/scala/fis/pm/ui/ProjectTable.scala --- 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" } diff -r ef29ecada49d -r 66aeb6b3a3a7 src/main/scala/fis/pm/ui/TaskSnippet.scala --- 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]] { diff -r ef29ecada49d -r 66aeb6b3a3a7 src/main/scala/fis/pm/ui/TaskTable.scala --- 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 diff -r ef29ecada49d -r 66aeb6b3a3a7 src/main/webapp/jquery/js/dataTables.dateFormat.js --- 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)*/ diff -r ef29ecada49d -r 66aeb6b3a3a7 src/main/webapp/templates-hidden/datatable.html --- 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 @@ - +
Field Name