equal
deleted
inserted
replaced
22 """ |
22 """ |
23 |
23 |
24 import random |
24 import random |
25 from math import floor |
25 from math import floor |
26 |
26 |
|
27 from six.moves import range |
|
28 |
27 from logilab.mtconverter import xml_escape |
29 from logilab.mtconverter import xml_escape |
28 from logilab.common.deprecation import class_deprecated |
30 from logilab.common.deprecation import class_deprecated |
29 |
31 |
30 from cubicweb.utils import UStringIO |
32 from cubicweb.utils import UStringIO |
31 from cubicweb.uilib import toggle_action, htmlescape |
33 from cubicweb.uilib import toggle_action, htmlescape |
341 for column in self.columns: |
343 for column in self.columns: |
342 attrs = ('%s="%s"' % (name, value) for name, value in column.cell_attrs.iteritems()) |
344 attrs = ('%s="%s"' % (name, value) for name, value in column.cell_attrs.iteritems()) |
343 self.w(u'<th %s>%s</th>' % (' '.join(attrs), column.name or u'')) |
345 self.w(u'<th %s>%s</th>' % (' '.join(attrs), column.name or u'')) |
344 self.w(u'</tr>') |
346 self.w(u'</tr>') |
345 self.w(u'</thead><tbody>') |
347 self.w(u'</thead><tbody>') |
346 for rowindex in xrange(len(self.model.get_rows())): |
348 for rowindex in range(len(self.model.get_rows())): |
347 klass = (rowindex%2==1) and 'odd' or 'even' |
349 klass = (rowindex%2==1) and 'odd' or 'even' |
348 self.w(u'<tr class="%s" %s>' % (klass, self.highlight)) |
350 self.w(u'<tr class="%s" %s>' % (klass, self.highlight)) |
349 for column, sortvalue in self.itercols(rowindex): |
351 for column, sortvalue in self.itercols(rowindex): |
350 attrs = dict(column.cell_attrs) |
352 attrs = dict(column.cell_attrs) |
351 attrs["cubicweb:sortvalue"] = sortvalue |
353 attrs["cubicweb:sortvalue"] = sortvalue |