make it possible to sort tables

This commit is contained in:
Frédéric Péters 2014-02-24 09:42:19 +01:00
parent 1fdb31305f
commit 0035d35f96
1 changed files with 25 additions and 0 deletions

View File

@ -22,6 +22,14 @@ class Column(z3c.table.column.Column, grok.MultiAdapter):
grok.baseclass()
grok.provides(interfaces.IColumn)
def renderHeadCell(self):
if not self.header:
return ''
if not hasattr(self, 'attribute'):
return translate(self.header, context=self.request)
return '<span data-sortable="%s">%s</span>' % (self.attribute,
translate(self.header, context=self.request))
def get_value(item, attribute, default=None):
try:
@ -94,6 +102,15 @@ class LinkColumn(z3c.table.column.LinkColumn, Column):
return '%s/%s' % (item.getURL(), self.linkName)
return item.getURL()
def renderHeadCell(self):
if not self.header:
return ''
if not hasattr(self, 'attribute'):
return translate(self.header, context=self.request)
return '<span data-sortable="%s">%s</span>' % (self.attribute,
translate(self.header, context=self.request))
class TitleColumn(LinkColumn):
grok.baseclass()
@ -107,6 +124,10 @@ class TitleColumn(LinkColumn):
else:
return unicode(title, 'utf-8', 'ignore')
def renderHeadCell(self):
return '<span data-sortable="sortable_title">%s</span>' % (
translate(self.header, context=self.request))
class IconColumn(object):
cssClasses = {'td': 'icon-column'}
@ -233,6 +254,10 @@ class StateColumn(Column):
except WorkflowException:
return u""
def renderHeadCell(self):
return '<span data-sortable="review_state">%s</span>' % (
translate(self.header, context=self.request))
class LabelColumn(Column):
grok.baseclass()