You found a bug! We've classified it as a bug in our system. We encourage you to continue the discussion and to find an acceptable workaround while we work on a permanent fix.
  1. #1
    Sencha User
    Join Date
    Sep 2007
    Posts
    46
    Vote Rating
    1
    kavih7 is on a distinguished road

      0  

    Default [FIXED-256][3.??] Ext.ToolTip.showAt needs to show anchor element

    [FIXED-256][3.??] Ext.ToolTip.showAt needs to show anchor element


    Currently, calling the showAt() method off a ToolTip instance will not render the anchor element if the instance is hidden prior to calling showAt.

    It's easy to see in the source code that the showAt method doesn't even check for anchoring.

    Here's the patch in RED:

    Code:
    Ext.override(Ext.ToolTip, {
        showAt : function(xy){
            this.lastActive = new Date();
            this.clearTimers();
            Ext.ToolTip.superclass.showAt.call(this, xy);
            if(this.dismissDelay && this.autoHide !== false){
                this.dismissTimer = this.hide.defer(this.dismissDelay, this);
            }
            
            if(this.anchor && !this.anchorEl.isVisible()){
                this.syncAnchor();
                this.anchorEl.show();
            }
        }
    });
    Let me know if you need more data, but this is a pretty obvious piece of missing code.
    Kavih Williams
    CEO/Founder - Push Channels & Browser Not Included
    On Twitter

  2. #2
    Sencha - Ext JS Dev Team evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    16,664
    Vote Rating
    586
    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


    This may already be fixed, please post a test case:

    Code:
    Ext.onReady(function(){
        var t = new Ext.ToolTip({
            anchor: 't',
            html: 'foo'
        });
        t.showAt([100, 100]);
    });
    Shows the anchor as you would expect.
    Evan Trimboli
    Sencha Developer
    Twitter - @evantrimboli
    Don't be afraid of the source code!

  3. #3
    Sencha User
    Join Date
    Sep 2007
    Posts
    46
    Vote Rating
    1
    kavih7 is on a distinguished road

      0  

    Default Test case

    Test case


    It will show fine the first time. Any further calls to showAt() with the same instance (after it is first hidden), will not display the anchor el:

    http://www.kavih.com/misc/ext/tooltip_bug

    Test case code:
    Code:
    Ext.onReady(function(){
        var t = new Ext.ToolTip({
            anchor: 't',
            html: 'foo'
        });
        t.showAt([100, 100]);
        t.hide.defer(3000, t);
        t.showAt.defer(6000, t, [[100, 100]]);
    });
    Oh, and this is for ExtJS 3.0.0
    Kavih Williams
    CEO/Founder - Push Channels & Browser Not Included
    On Twitter

  4. #4
    Sencha - Ext JS Dev Team evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    16,664
    Vote Rating
    586
    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


    Fix applied to svn in rev #5388 for patch release 3.0.3.
    Evan Trimboli
    Sencha Developer
    Twitter - @evantrimboli
    Don't be afraid of the source code!

Thread Participants: 1