src/pyams_skin/table.py
changeset 384 2acc13873f0d
parent 357 f3b8efc86004
child 580 5229fccd92a7
equal deleted inserted replaced
383:86e1eae8090e 384:2acc13873f0d
   355 
   355 
   356     def get_url(self, item):
   356     def get_url(self, item):
   357         return '#'
   357         return '#'
   358 
   358 
   359 
   359 
   360 class VisibilitySwitcherColumn(JsActionColumn):
   360 class AttributeSwitcherColumn(JsActionColumn):
   361     """Visibility switcher column"""
   361     """Switcher column"""
   362 
   362 
   363     cssClasses = {'th': 'action',
   363     cssClasses = {'th': 'action',
   364                   'td': 'action switcher'}
   364                   'td': 'action switcher'}
   365 
   365 
   366     switch_attribute = 'visible'
   366     icon_hint = _("Switch element attribute")
   367     visible_icon_class = 'fa fa-fw fa-eye'
   367 
   368     hidden_icon_class = 'fa fa-fw fa-eye-slash text-danger'
   368     switch_attribute = None
   369 
   369 
   370     icon_hint = _("Switch element visibility")
   370     on_icon_class = 'fa fa-fw fa-eye'
   371 
   371     off_icon_class = 'fa fa-fw fa-eye-slash text-danger'
   372     url = 'MyAMS.container.switchElementVisibility'
   372 
       
   373     url = 'MyAMS.container.switchElementAttribute'
   373     weight = 5
   374     weight = 5
   374 
   375 
   375     def get_icon(self, item):
   376     def get_icon(self, item):
   376         if getattr(item, self.switch_attribute):
   377         if getattr(item, self.switch_attribute):
   377             icon_class = self.visible_icon_class
   378             icon_class = self.on_icon_class
   378         else:
   379         else:
   379             icon_class = self.hidden_icon_class
   380             icon_class = self.off_icon_class
   380         return '<i class="{0}"></i>'.format(icon_class)
   381         return '<i class="{0}"></i>'.format(icon_class)
   381 
   382 
   382     def renderCell(self, item):
   383     def renderCell(self, item):
   383         permission = self.permission
   384         permission = self.permission
   384         if permission and not self.request.has_permission(permission, context=item):
   385         if permission and not self.request.has_permission(permission, context=item):
   385             return self.get_icon(item)
   386             return self.get_icon(item)
   386         else:
   387         else:
   387             return super(VisibilitySwitcherColumn, self).renderCell(item)
   388             return super(AttributeSwitcherColumn, self).renderCell(item)
       
   389 
       
   390 
       
   391 class VisibilitySwitcherColumn(AttributeSwitcherColumn):
       
   392     """Visibility switcher column"""
       
   393 
       
   394     switch_attribute = 'visible'
       
   395 
       
   396     icon_hint = _("Switch element visibility")
       
   397 
       
   398     url = 'MyAMS.container.switchElementVisibility'
   388 
   399 
   389 
   400 
   390 @adapter_config(name='actions', context=(Interface, IPyAMSLayer, ITableWithActions), provides=IColumn)
   401 @adapter_config(name='actions', context=(Interface, IPyAMSLayer, ITableWithActions), provides=IColumn)
   391 class MenuActionsColumn(I18nColumn, Column):
   402 class MenuActionsColumn(I18nColumn, Column):
   392     """Menu actions column"""
   403     """Menu actions column"""