src/pyams_skin/table.py
changeset 357 f3b8efc86004
parent 345 fd8621930779
child 384 2acc13873f0d
equal deleted inserted replaced
356:95f6d62d425b 357:f3b8efc86004
   160         else:
   160         else:
   161             return ''
   161             return ''
   162 
   162 
   163     render = get_view_template()
   163     render = get_view_template()
   164 
   164 
       
   165     def getSelectedRowClass(self, row, cssClass=None):
       
   166         klass = self.cssClasses.get('tr.selected')
       
   167         if callable(klass):
       
   168             klass = klass(*row)
       
   169         if klass and cssClass:
       
   170             klass = '{0} {1}'.format(klass, cssClass)
       
   171         elif cssClass:
       
   172             klass = cssClass
       
   173         return klass or ''
       
   174 
   165     def renderTable(self):
   175     def renderTable(self):
   166         return super(BaseTable, self).renderTable() \
   176         return super(BaseTable, self).renderTable() \
   167             .replace('<table', '<table %s' % self.get_data_attributes('table', self))
   177             .replace('<table', '<table %s' % self.get_data_attributes('table', self))
   168 
   178 
   169     def renderEmptyTable(self, message=''):
   179     def renderEmptyTable(self, message=''):
   172                        'context': self.context,
   182                        'context': self.context,
   173                        'message': message},
   183                        'message': message},
   174                       request=self.request)
   184                       request=self.request)
   175 
   185 
   176     def renderRow(self, row, cssClass=None):
   186     def renderRow(self, row, cssClass=None):
       
   187         cssClass = self.getSelectedRowClass(row[0], cssClass)
   177         return super(BaseTable, self).renderRow(row, cssClass) \
   188         return super(BaseTable, self).renderRow(row, cssClass) \
   178             .replace('<tr', '<tr %s' % self.get_data_attributes('tr', row[0][0]))
   189             .replace('<tr', '<tr %s' % self.get_data_attributes('tr', row[0][0]))
   179 
   190 
   180     def renderHeadCell(self, column):
   191     def renderHeadCell(self, column):
   181         return super(BaseTable, self).renderHeadCell(column) \
   192         return super(BaseTable, self).renderHeadCell(column) \