Changeset 2290 in products


Ignore:
Timestamp:
May 11, 2010 2:18:31 PM (14 years ago)
Author:
mylan
Message:

Added StyledColumn? with possibility to change style on focus and blur of the input tag

Location:
quintagroup.referencedatagridfield/trunk/quintagroup/referencedatagridfield
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.referencedatagridfield/trunk/quintagroup/referencedatagridfield/columns.py

    r2286 r2290  
    7676# Initializes class security 
    7777InitializeClass(BlockColumn) 
     78 
     79class StyledColumn(Column): 
     80    """ Column with styling based on events.""" 
     81    security = ClassSecurityInfo() 
     82 
     83     
     84 
     85    def __init__(self, label, default=None, label_msgid=None, 
     86                 trigger_key=None, blur_handler="", focus_handler="", 
     87                 class_no="", class_changed="", class_not_changed=""): 
     88        """ Create a column 
     89         
     90            @param trigger_key 
     91        """ 
     92        Column.__init__(self, label, default, label_msgid) 
     93        self.trigger = trigger_key 
     94        self.blur_handler = blur_handler and blur_handler + "(event)" or "" 
     95        self.focus_handler = focus_handler and focus_handler + "(event)" or "" 
     96        self.class_no = class_no 
     97        self.class_not_changed = class_not_changed 
     98        self.class_changed = class_changed 
     99 
     100    security.declarePublic("getAttributes") 
     101    def getAttributes(self, rows): 
     102        blur_handler = None 
     103        focus_handler = None 
     104        sclass = self.class_no 
     105 
     106        if rows.has_key(self.trigger): 
     107            focus_handler = self.focus_handler 
     108            blur_handler = self.blur_handler 
     109            if bool(rows[self.trigger]): 
     110                sclass = self.class_changed 
     111            else: 
     112                sclass = self.class_not_changed 
     113 
     114        return {'class': sclass, 
     115                'onblur': blur_handler, 
     116                'onfocus': focus_handler} 
     117 
     118    security.declarePublic('getMacro') 
     119    def getMacro(self): 
     120        """ Return macro used to render this column in view/edit """ 
     121        return "datagrid_styled_cell" 
     122 
     123# Initializes class security 
     124InitializeClass(StyledColumn) 
     125 
Note: See TracChangeset for help on using the changeset viewer.