Changeset 2291 in products


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

Plug in StyledColumn? to Title column; added blur and focus javascript event handlers; added changed/not-changed styles

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

Legend:

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

    r2287 r2291  
    2121from quintagroup.referencedatagridfield.columns import BlockColumn 
    2222from quintagroup.referencedatagridfield.columns import HiddenColumn 
     23from quintagroup.referencedatagridfield.columns import StyledColumn 
    2324 
    2425# Logger object 
     
    3536        'force_close_on_insert': True, 
    3637        'columns': { 
    37             'title': Column("Title"),  
     38            'title': StyledColumn("Title", trigger_key="title_changed", 
     39                                  blur_handler="triggerTitleClass", 
     40                                  focus_handler="triggerOnFocusStyles", 
     41                                  class_no=None, 
     42                                  class_changed="changed-title-field", 
     43                                  class_not_changed="not-changed-title-field"), 
    3844            'link': BlockColumn("Link", column_on_class="hidden-field", 
    3945                                columns=['link','uid'], read_only=True), 
     
    157163                # If title not set - get it from the brain 
    158164                if not data["title"]: 
     165                    data["title_changed"] = False 
    159166                    data["title"] = self._brains_title_or_id(b, instance) 
     167                else: 
     168                    data["title_changed"] = True 
     169 
    160170 
    161171        return result 
  • quintagroup.referencedatagridfield/trunk/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencebrowser.js

    r2288 r2291  
     1// function to change class attribute for object 
     2function triggerTitleClass(e) { 
     3    var currnode = window.event ? window.event.srcElement : e.currentTarget; 
     4     
     5        // fetch required data structure    
     6    var element = getThisOrParentElement(currnode, "INPUT"); 
     7    // If no input tag found - leave function 
     8    if (element == null || element.tagName.toUpperCase() == "BODY") 
     9        return; 
     10     
     11    var current = element.value; 
     12    var initial = element.getAttribute("initial_value"); 
     13    if (initial == null || current == null) 
     14        return; 
     15 
     16    if (initial == current) { 
     17        element.setAttribute("CLASS", "not-changed-title-field") 
     18    } else { 
     19        element.setAttribute("CLASS", "changed-title-field") 
     20    } 
     21} 
     22 
     23// Trigger styles on focusing on the element 
     24function triggerOnFocusStyles(e) { 
     25    var currnode = window.event ? window.event.srcElement : e.currentTarget; 
     26     
     27        // fetch required data structure    
     28    var element = getThisOrParentElement(currnode, "INPUT"); 
     29    // If no input tag found - leave function 
     30    if (element == null || element.tagName.toUpperCase() == "BODY") 
     31        return; 
     32    element.setAttribute("CLASS", "changed-title-field") 
     33} 
     34 
     35function getThisOrParentElement(currnode, tagname) { 
     36    /* Find the first parent node with the given tag name */ 
     37 
     38    tagname = tagname.toUpperCase(); 
     39    var parent = currnode; 
     40 
     41    while(parent.tagName.toUpperCase() != tagname) { 
     42        parent = parent.parentNode; 
     43        // Next line is a safety belt 
     44        if(parent.tagName.toUpperCase() == "BODY")  
     45            return null; 
     46    } 
     47 
     48    return parent; 
     49} 
     50 
     51 
    152// function to open the popup window 
    253function getOrderIndex(currnode) { 
  • quintagroup.referencedatagridfield/trunk/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencedatagridwidget.css.dtml

    r2287 r2291  
    1919} 
    2020 
     21input.not-changed-title-field { 
     22        color: gray; 
     23} 
     24 
     25input.changed-title-field { 
     26        color: black; 
     27} 
     28 
    2129/*  
    2230  </dtml-with>  (end of loaded base_properties variables) 
Note: See TracChangeset for help on using the changeset viewer.