src/pyams_skin/table.py
changeset 69 a361355b55c7
parent 63 5c27fa323eff
child 95 cfdcf86462f5
equal deleted inserted replaced
68:fd8fb93e1b6a 69:a361355b55c7
    66     @property
    66     @property
    67     def data_attributes(self):
    67     def data_attributes(self):
    68         return {'tr': {'id': lambda x: '{0}::{1}'.format(self.id, getattr(x, '__name__', '')),
    68         return {'tr': {'id': lambda x: '{0}::{1}'.format(self.id, getattr(x, '__name__', '')),
    69                        'data-ams-element-name': lambda x: getattr(x, '__name__', None),
    69                        'data-ams-element-name': lambda x: getattr(x, '__name__', None),
    70                        'data-ams-url': lambda x: getattr(get_element_editor(self, x), 'url', None),
    70                        'data-ams-url': lambda x: getattr(get_element_editor(self, x), 'url', None),
    71                        'data-toggle': lambda x: 'modal' if getattr(get_element_editor(self, x), 'modal_target', None) else None}}
    71                        'data-toggle': lambda x: 'modal' if getattr(get_element_editor(self, x), 'modal_target', None)
       
    72                                                 else None}}
    72 
    73 
    73     batchSize = 10000
    74     batchSize = 10000
    74     startBatchingAt = 10000
    75     startBatchingAt = 10000
    75 
    76 
    76     def getBatchSize(self):
    77     def getBatchSize(self):
   175     modal_target = False
   176     modal_target = False
   176     checker = None
   177     checker = None
   177     permission = None
   178     permission = None
   178 
   179 
   179     def renderCell(self, item):
   180     def renderCell(self, item):
   180         if self.permission and not self.request.has_permission(self.permission):
   181         if self.permission and not self.request.has_permission(self.permission, context=item):
   181             return ''
   182             return ''
   182         if self.checker:
   183         if self.checker:
   183             if callable(self.checker):
   184             if callable(self.checker):
   184                 checked = self.checker(item)
   185                 checked = self.checker(item)
   185             else:
   186             else:
   209 
   210 
   210     def get_url(self, item):
   211     def get_url(self, item):
   211         return self.url
   212         return self.url
   212 
   213 
   213 
   214 
       
   215 class ImageColumn(ActionColumn):
       
   216     """Simple image column"""
       
   217 
       
   218     def renderCell(self, item):
       
   219         return self.get_icon(item)
       
   220 
       
   221 
   214 @adapter_config(name='actions', context=(Interface, IPyAMSLayer, ITableWithActions), provides=IColumn)
   222 @adapter_config(name='actions', context=(Interface, IPyAMSLayer, ITableWithActions), provides=IColumn)
   215 class MenuActionsColumn(I18nColumn, Column):
   223 class MenuActionsColumn(I18nColumn, Column):
   216     """Menu actions column"""
   224     """Menu actions column"""
   217 
   225 
   218     _header = _("Actions")
   226     _header = _("Actions")