cocoon.ajax.Fader runtime error when style uses abreviated form #ccc in IE6.0sp2
--------------------------------------------------------------------------------

         Key: COCOON-1771
         URL: http://issues.apache.org/jira/browse/COCOON-1771
     Project: Cocoon
        Type: Bug
  Components: Blocks: Ajax  
    Versions: 2.1.8    
    Reporter: Eric Meyer
 Attachments: cocoon-ajax.js.patch

In cocoon.ajax.Fader

  this.toColor = 
cocoon.ajax.Fader.colorToRgb(cocoon.ajax.Fader.getBgColor(this.element));

getBgColor will return '#fff'

/** Converts a "#RRGGBB" color as an array of 3 ints */
cocoon.ajax.Fader.colorToRgb = function(hex) {
    return [
        parseInt(hex.substr(1,2),16),
        parseInt(hex.substr(3,2),16),
        parseInt(hex.substr(5,2),16) ];
}

Assumes that hex starts with a '#' and has 6 additional hex characters.

The corrected implementation is

/** Converts a "#RRGGBB" color as an array of 3 ints */
cocoon.ajax.Fader.colorToRgb = function(hex) {
        var r = 255; // defaults if no match
        var g = 255;
        var b = 255;
        var i=-1;
        var colors = hex.match(/^#(\d{2})(\d{2})(\d{2})$/);
        if (colors) {
                r = parseInt(colors[++i]);
                g = parseInt(colors[++i]);
                b = parseInt(colors[++i]);
        } else if (colors = hex.match(/^#(\d)(\d)(\d)$/)) {
                r = parseInt(colors[++i] + colors[i]);
                g = parseInt(colors[++i] + colors[i]);
                b = parseInt(colors[++i] + colors[i]);
        }
    return [r,g,b];
}

Patch attached.

Regards,
Eric Meyer, VP, Quoin, Inc.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to