Changeset 1373 for mochikit

Show
Ignore:
Timestamp:
05/13/08 13:23:43 (5 months ago)
Author:
cederberg@gmail.com
Message:

Fixed getStyle() and setStyle() for CSS float property (see ticket #301).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • mochikit/trunk/MochiKit/Style.js

    r1355 r1373  
    104104            return 1.0; 
    105105        } 
     106        if (cssProperty == 'float' || cssProperty == 'cssFloat' || cssProperty == 'styleFloat') { 
     107            if (elem.style["float"]) { 
     108                return elem.style["float"]; 
     109            } else if (elem.style.cssFloat) { 
     110                return elem.style.cssFloat; 
     111            } else if (elem.style.styleFloat) { 
     112                return elem.style.styleFloat; 
     113            } else { 
     114                return "none"; 
     115            } 
     116        } 
    106117        var value = elem.style ? elem.style[cssProperty] : null; 
    107118        if (!value) { 
     
    132143        elem = MochiKit.DOM.getElement(elem); 
    133144        for (var name in style) { 
    134             if (name == 'opacity') { 
     145            switch (name) { 
     146            case 'opacity': 
    135147                MochiKit.Style.setOpacity(elem, style[name]); 
    136             } else { 
     148                break; 
     149            case 'float': 
     150            case 'cssFloat': 
     151            case 'styleFloat': 
     152                if (elem.style["float"]) { 
     153                    elem.style["float"] = style[name]; 
     154                } else if (elem.style.cssFloat) { 
     155                    elem.style.cssFloat = style[name]; 
     156                } else { 
     157                    elem.style.styleFloat = style[name]; 
     158                } 
     159                break; 
     160            default: 
    137161                elem.style[MochiKit.Base.camelize(name)] = style[name]; 
    138162            } 
  • mochikit/trunk/packed/MochiKit/MochiKit.js

    r1371 r1373  
    38723872return 1; 
    38733873} 
     3874if(_411=="float"||_411=="cssFloat"||_411=="styleFloat"){ 
     3875if(elem.style["float"]){ 
     3876return elem.style["float"]; 
     3877}else{ 
     3878if(elem.style.cssFloat){ 
     3879return elem.style.cssFloat; 
     3880}else{ 
     3881if(elem.style.styleFloat){ 
     3882return elem.style.styleFloat; 
     3883}else{ 
     3884return "none"; 
     3885} 
     3886} 
     3887} 
     3888} 
    38743889var _415=elem.style?elem.style[_411]:null; 
    38753890if(!_415){ 
     
    38963911elem=MochiKit.DOM.getElement(elem); 
    38973912for(var name in _418){ 
    3898 if(name=="opacity"){ 
     3913switch(name){ 
     3914case "opacity": 
    38993915MochiKit.Style.setOpacity(elem,_418[name]); 
    3900 }else{ 
     3916break; 
     3917case "float": 
     3918case "cssFloat": 
     3919case "styleFloat": 
     3920if(elem.style["float"]){ 
     3921elem.style["float"]=_418[name]; 
     3922}else{ 
     3923if(elem.style.cssFloat){ 
     3924elem.style.cssFloat=_418[name]; 
     3925}else{ 
     3926elem.style.styleFloat=_418[name]; 
     3927
     3928
     3929break; 
     3930default: 
    39013931elem.style[MochiKit.Base.camelize(name)]=_418[name]; 
    39023932} 
     
    67206750 
    67216751 
    6722  
  • mochikit/trunk/tests/test_MochiKit-Style.html

    r1366 r1373  
    1313<body style="border: 0; margin: 0; padding: 0;"> 
    1414 
    15 <div id="styleTest" style="position: absolute; left: 400px; top: 100px; width: 100px; height: 100px; background: rgb(255, 0, 0); opacity: 0.5; filter: alpha(opacity=50); font-size: 10px">TEST<span id="styleSubTest">SUB</span></div> 
     15<div id="styleTest" style="position: absolute; left: 400px; top: 100px; width: 100px; height: 100px; background: rgb(255, 0, 0); opacity: 0.5; filter: alpha(opacity=50); font-size: 10px">TEST<span id="styleSubTest">SUB</span><div id="floatTest" style="float: left;">Float</div></div> 
    1616 
    1717<pre id="test"> 
     
    9191    ok(t > 0.999 && t <= 1, 'test setOpacity'); 
    9292 
     93    is(getStyle('floatTest', 'float'), "left", 'getStyle of float'); 
     94    is(getStyle('floatTest', 'cssFloat'), "left", 'getStyle of cssFloat'); 
     95    is(getStyle('floatTest', 'styleFloat'), "left", 'getStyle of styleFloat'); 
     96    is(getStyle('styleTest', 'float'), "none", 'getStyle of float when unset'); 
     97 
     98    setStyle('floatTest', { "float": "right" }); 
     99    is(getStyle('floatTest', 'float'), "right", 'setStyle of CSS float'); 
     100    is(getStyle('floatTest', 'cssFloat'), "right", 'setStyle of CSS cssFloat'); 
     101    is(getStyle('floatTest', 'styleFloat'), "right", 'setStyle of CSS styleFloat'); 
     102 
    93103    var dims = getElementDimensions('styleTest'); 
    94104    is(dims.w, 100, 'getElementDimensions w ok');