Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1
    Ext JS Premium Member
    Join Date
    Aug 2009
    Posts
    92
    Vote Rating
    1
    Tom23 is on a distinguished road

      0  

    Default [OPEN-1420] Ext.TreePanel hovered node flickering

    [OPEN-1420] Ext.TreePanel hovered node flickering


    Ext version tested:
    3.2.1

    Adapter used:
    • ext

    css used:
    • only default ext-all.css

    Browser versions tested against:
    • IE8

    Operating System:
    • WinXP Pro

    Description:
    • Moving your mouse around inside a div.x-tree-node in an Ext.tree.TreePanel causes flickering, because the CSS class .x-tree-node-over is repeatedly removed and added.

    Test Case:
    Any Ext.tree.TreePanel

    Debugging already done:
    • Ext.tree.TreeNodeUI.onOver() and onOut() are called erroneously while mouse is moved around.
    • Reason: Ext.tree.TreeEventModel fails to detect wether the mouse is inside a tree node div.
    • Ext.tree.TreeEventModel.getNodeTarget() does not return the node target when hovering over the icon!?
    • Seems to me that Ext.tree.TreeEventModel.trackExit() is totally useless and appears to exist to "fix" this very bug.

    Possible fix:
    Code:
    Ext.override(Ext.tree.TreeEventModel, {
        getNodeTarget: function (e) {
            // why would we want to return the icon here ??
            return e.getTarget('.x-tree-node-el', 6);
        },
        delegateOver: function (e, t) {
            if (!this.beforeEvent(e)) {
                return;
            }
            /*if (Ext.isGecko && !this.trackingDoc) {
                Ext.getBody().on('mouseover', this.trackExit, this);
                this.trackingDoc = true;
            }*/ // huh?
            if (this.lastEcOver) {
                this.onIconOut(e, this.lastEcOver);
                delete this.lastEcOver;
            }
            if (e.getTarget('.x-tree-ec-icon', 1)) {
                this.lastEcOver = this.getNode(e);
                this.onIconOver(e, this.lastEcOver);
            }
            if (t = this.getNodeTarget(e)) {
                this.onNodeOver(e, this.getNode(e));
            }
        },
        delegateOut: function (e, t) {
            if (!this.beforeEvent(e)) {
                return;
            }
            if (e.getTarget('.x-tree-ec-icon', 1)) {
                var n = this.getNode(e);
                this.onIconOut(e, n);
                if (n == this.lastEcOver) {
                    delete this.lastEcOver;
                }
            }
            if ((t = this.getNodeTarget(e)) && !e.within(t, true, true)) {
                this.onNodeOut(e, this.getNode(e));
            }
        },
        onNodeOver: function (e, node) {
            if (node == this.lastOverNode) {
                return;
            }
            this.lastOverNode = node;
            node.ui.onOver(e);
        },
        onNodeOut: function (e, node) {
            delete this.lastOverNode;
            node.ui.onOut(e);
        }
    });
    Last edited by Tom23; 24 Nov 2010 at 4:42 AM. Reason: added onNodeOut

Similar Threads

  1. [FIXED] Animations on Android flickering
    By mherger in forum Sencha Touch 1.x: Bugs
    Replies: 27
    Last Post: 6 Jun 2013, 3:50 AM
  2. [OPEN-1103] IE8 TreePanel flashes when node clicked
    By aj3423 in forum Ext 3.x: Bugs
    Replies: 3
    Last Post: 18 Nov 2012, 11:08 PM
  3. Need to reload single treepanel node, and treepanel node checkbox error
    By sgdevteam in forum Ext 2.x: Help & Discussion
    Replies: 2
    Last Post: 10 Mar 2010, 5:46 PM
  4. [2.0.1] TreePanel IE6 flickers on node open and close
    By The_Jackal in forum Ext GWT: Bugs (2.x)
    Replies: 3
    Last Post: 30 Jul 2009, 5:09 PM
  5. Replies: 2
    Last Post: 3 May 2008, 8:47 AM

film izle

hd film izle

film sitesi

takipci kazanma sitesi

takipci kazanma sitesi

güzel olan herşey

takipci alma sitesi

komik eğlenceli videolar