Ignore:
Timestamp:
May 12, 2010 12:06:00 PM (14 years ago)
Author:
mylan
Message:

Make default value for the Title column take into consideration for exteranl links

Location:
quintagroup.referencedatagridfield/trunk/quintagroup/referencedatagridfield
Files:
4 edited

Legend:

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

    r2299 r2300  
    3636        'force_close_on_insert': True, 
    3737        'columns': { 
    38             'title': StyledColumn("Title", trigger_key="title_changed", 
     38            'title': StyledColumn("Title", trigger_key="default_title", 
    3939                                  blur_handler="triggerTitleClass", 
    4040                                  focus_handler="triggerOnFocusStyles", 
     
    144144                "title": row["title"], 
    145145                # View data 
    146                 "url": ""}) 
     146                "url": "", 
     147                "default_title": None}) 
    147148            data = result[-1] 
    148149            # Process remote URL and collect UIDs 
    149150            if row["link"]: 
    150151                data["url"] = quote(row["link"], safe='?$#@/:=+;$,&%') 
     152                data["default_title"] = row["link"] 
    151153                # if title not set for remote url - set it equals to url 
    152154                if not data["title"]: 
    153                     data["title"] = row["link"] 
     155                    data["title"] = data["default_title"] 
    154156            else: 
    155157                uids[row["uid"]] = data 
     
    161163                data["url"] = b.getURL() 
    162164                data["link"] = b.getPath() 
     165                data["default_title"] = self._brains_title_or_id(b, instance) 
    163166                # If title not set - get it from the brain 
    164167                if not data["title"]: 
    165                     data["title_changed"] = False 
    166                     data["title"] = self._brains_title_or_id(b, instance) 
    167                 else: 
    168                     data["title_changed"] = True 
    169  
     168                    data["title"] = data["default_title"] 
    170169 
    171170        return result 
  • quintagroup.referencedatagridfield/trunk/quintagroup/referencedatagridfield/columns.py

    r2297 r2300  
    8181    security = ClassSecurityInfo() 
    8282 
    83      
    84  
    8583    def __init__(self, label, default=None, label_msgid=None, 
    8684                 trigger_key=None, blur_handler="", focus_handler="", 
     
    9997 
    10098    security.declarePublic("getAttributes") 
    101     def getAttributes(self, rows): 
     99    def getAttributes(self, column_id, rows): 
     100        default = None 
    102101        blur_handler = None 
    103102        focus_handler = None 
    104103        sclass = self.class_no 
    105104 
    106         if rows.has_key(self.trigger): 
     105        if rows.has_key(self.trigger) \ 
     106           and rows.has_key(column_id): 
    107107            focus_handler = self.focus_handler 
    108108            blur_handler = self.blur_handler 
    109             if bool(rows[self.trigger]): 
     109            current = rows[column_id] 
     110            default = rows[self.trigger] 
     111            # if default is not epty string - than it is same to original value 
     112            if current == default: 
     113                sclass = self.class_not_changed 
     114            else: 
    110115                sclass = self.class_changed 
    111             else: 
    112                 sclass = self.class_not_changed 
    113116 
    114117        return {'class': sclass, 
    115118                'onblur': blur_handler, 
    116                 'onfocus': focus_handler} 
     119                'onfocus': focus_handler, 
     120                'default': default} 
    117121 
    118122    security.declarePublic('getMacro') 
  • quintagroup.referencedatagridfield/trunk/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencebrowser.js

    r2298 r2300  
    3737     
    3838    var current = element.value; 
    39     var initial = element.getAttribute("initial_value"); 
     39    var initial = element.getAttribute("default_value"); 
    4040    if (initial == null || current == null) 
    4141        return; 
     
    171171        title_element.value=link_title; 
    172172        title_element.className="not-changed-title-field"; 
    173         title_element.setAttribute("initial_value", link_title); 
     173        title_element.setAttribute("default_value", link_title); 
    174174        addEvent(title_element, 'blur', triggerTitleClass, false) 
    175175        addEvent(title_element, 'focus', triggerOnFocusStyles, false) 
  • quintagroup.referencedatagridfield/trunk/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencedatagrid_styled_cell.pt

    r2297 r2300  
    1313    <metal:edit_cell_macro define-macro="edit_cell"> 
    1414       <input style="width: 100%" name="myfield.name:records" 
    15               tal:define="attribs python:column_definition.getAttributes(rows);" 
     15              tal:define="attribs python:column_definition.getAttributes(column, rows);" 
    1616              tal:attributes="name string:${fieldName}.${column}:records; 
    1717                          id string:${column}_${fieldId}; 
     
    2020                          onblur python:attribs['onblur']; 
    2121                          onfocus python:attribs['onfocus']; 
    22                           initial_value cell_value; 
     22                          default_value python:attribs['default']; 
    2323                          " 
    2424           type="text" /> 
Note: See TracChangeset for help on using the changeset viewer.