equal
deleted
inserted
replaced
64 _ = unicode |
64 _ = unicode |
65 |
65 |
66 from warnings import warn |
66 from warnings import warn |
67 from copy import copy |
67 from copy import copy |
68 from types import MethodType |
68 from types import MethodType |
|
69 |
|
70 from six.moves import range |
69 |
71 |
70 from logilab.mtconverter import xml_escape |
72 from logilab.mtconverter import xml_escape |
71 from logilab.common.decorators import cachedproperty |
73 from logilab.common.decorators import cachedproperty |
72 from logilab.common.deprecation import class_deprecated |
74 from logilab.common.deprecation import class_deprecated |
73 from logilab.common.registry import yes |
75 from logilab.common.registry import yes |
223 w(u'</th>') |
225 w(u'</th>') |
224 w(u'</tr></thead>\n') |
226 w(u'</tr></thead>\n') |
225 |
227 |
226 def render_table_body(self, w, colrenderers): |
228 def render_table_body(self, w, colrenderers): |
227 w(u'<tbody>') |
229 w(u'<tbody>') |
228 for rownum in xrange(self.view.table_size): |
230 for rownum in range(self.view.table_size): |
229 self.render_row(w, rownum, colrenderers) |
231 self.render_row(w, rownum, colrenderers) |
230 w(u'</tbody>') |
232 w(u'</tbody>') |
231 |
233 |
232 def render_table(self, w, actions, paginate): |
234 def render_table(self, w, actions, paginate): |
233 view = self.view |
235 view = self.view |
644 def build_column_renderers(self): |
646 def build_column_renderers(self): |
645 headers = self.headers |
647 headers = self.headers |
646 # compute displayed columns |
648 # compute displayed columns |
647 if self.displaycols is None: |
649 if self.displaycols is None: |
648 if headers is not None: |
650 if headers is not None: |
649 displaycols = range(len(headers)) |
651 displaycols = list(range(len(headers))) |
650 else: |
652 else: |
651 rqlst = self.cw_rset.syntax_tree() |
653 rqlst = self.cw_rset.syntax_tree() |
652 displaycols = range(len(rqlst.children[0].selection)) |
654 displaycols = list(range(len(rqlst.children[0].selection))) |
653 else: |
655 else: |
654 displaycols = self.displaycols |
656 displaycols = self.displaycols |
655 # compute table headers |
657 # compute table headers |
656 main_var_index = self.main_var_index() |
658 main_var_index = self.main_var_index() |
657 computed_titles = self.columns_labels(main_var_index) |
659 computed_titles = self.columns_labels(main_var_index) |
975 def displaycols(self, displaycols, headers): |
977 def displaycols(self, displaycols, headers): |
976 if displaycols is None: |
978 if displaycols is None: |
977 if 'displaycols' in self._cw.form: |
979 if 'displaycols' in self._cw.form: |
978 displaycols = [int(idx) for idx in self._cw.form['displaycols']] |
980 displaycols = [int(idx) for idx in self._cw.form['displaycols']] |
979 elif headers is not None: |
981 elif headers is not None: |
980 displaycols = range(len(headers)) |
982 displaycols = list(range(len(headers))) |
981 else: |
983 else: |
982 displaycols = range(len(self.cw_rset.syntax_tree().children[0].selection)) |
984 displaycols = list(range(len(self.cw_rset.syntax_tree().children[0].selection))) |
983 return displaycols |
985 return displaycols |
984 |
986 |
985 def _setup_tablesorter(self, divid): |
987 def _setup_tablesorter(self, divid): |
986 req = self._cw |
988 req = self._cw |
987 req.add_js('jquery.tablesorter.js') |
989 req.add_js('jquery.tablesorter.js') |
1296 self.columns = columns or self.columns |
1298 self.columns = columns or self.columns |
1297 sample = self.cw_rset.get_entity(0, 0) |
1299 sample = self.cw_rset.get_entity(0, 0) |
1298 self.w(u'<table class="%s">' % self.table_css) |
1300 self.w(u'<table class="%s">' % self.table_css) |
1299 self.table_header(sample) |
1301 self.table_header(sample) |
1300 self.w(u'<tbody>') |
1302 self.w(u'<tbody>') |
1301 for row in xrange(self.cw_rset.rowcount): |
1303 for row in range(self.cw_rset.rowcount): |
1302 self.cell_call(row=row, col=0) |
1304 self.cell_call(row=row, col=0) |
1303 self.w(u'</tbody>') |
1305 self.w(u'</tbody>') |
1304 self.w(u'</table>') |
1306 self.w(u'</table>') |
1305 |
1307 |
1306 def cell_call(self, row, col): |
1308 def cell_call(self, row, col): |