Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1
    Sencha User
    Join Date
    Dec 2008
    Location
    Munich (Bavaria/Germany)
    Posts
    291
    Vote Rating
    1
    defcon1 is on a distinguished road

      0  

    Default [FIXED] [3.0rc1.1]Ext.Element.hide(true) doesn´t work properly in FF

    [FIXED] [3.0rc1.1]Ext.Element.hide(true) doesn´t work properly in FF


    Hi,

    I am using the RC1.1 and now if I use Ext.Element.hide(true) in Firefox,
    the element fades out und appears again.

    Regards
    d1

  2. #2
    Sencha - Community Support Team VinylFox's Avatar
    Join Date
    Mar 2007
    Location
    Baltimore, MD
    Posts
    1,501
    Vote Rating
    8
    VinylFox will become famous soon enough VinylFox will become famous soon enough

      0  

    Default


    Verified in rc1.1

    In core/core/Element.fx.js on line 237 its setting the element to full opacity (visible) again.

    Test case: http://extjs.com/deploy/ext-3.0-rc1....spotlight.html

    Code:
    Ext.get('demo-ct').hide(true);
    Hope that helps to narrow down the problem.

  3. #3
    Sencha - Ext JS Dev Team evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    16,909
    Vote Rating
    626
    evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute

      0  

    Default


    Try this override, I've included the constants as well so everything works:

    Code:
    Ext.override(Ext.Element, {
        setVisible : function(visible, animate){
            var VISIBILITY = "visibility",
            DISPLAY = "display",
            HIDDEN = "hidden",
            NONE = "none",      
            ELDISPLAY = Ext.Element.DISPLAY;
                var me = this,
                    dom = me.dom,
                    isDisplay = (me.visibilityMode == ELDISPLAY);
                    
                if (!animate || !me.anim) {
                    if(isDisplay){
                        me.setDisplayed(visible);
                    }else{
                        me.fixDisplay();
                        dom.style.visibility = visible ? "visible" : HIDDEN;
                    }
                }else{
                    // closure for composites            
                    if(visible){
                        me.setOpacity(.01);
                        me.setVisible(true);
                    }
                    me.anim({opacity: { to: (visible?1:0) }},
                            me.preanim(arguments, 1),
                            null,
                            .35,
                            'easeIn',
                            function(){
                                 if(!visible){
                                     dom.style[isDisplay ? DISPLAY : VISIBILITY] = (isDisplay) ? NONE : HIDDEN;                     
                                     Ext.fly(dom).setOpacity(1);
                                 }
                            });
                }
                return me;
            }
    });
    Evan Trimboli
    Sencha Developer
    Twitter - @evantrimboli
    Don't be afraid of the source code!

  4. #4
    Sencha - Community Support Team VinylFox's Avatar
    Join Date
    Mar 2007
    Location
    Baltimore, MD
    Posts
    1,501
    Vote Rating
    8
    VinylFox will become famous soon enough VinylFox will become famous soon enough

      0  

    Default


    Just tested a few different scenarios and that seems to work fine.

Thread Participants: 2