Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#17303 closed defect (fixed)

[regression] Tree: drag can unexpectedly close subtree (IE)

Reported by: bill Owned by: bill
Priority: undecided Milestone: 1.8.6
Component: Dijit Version: 1.8.0
Keywords: Cc:
Blocked By: Blocking:

Description

if you use Internet Explorer (tried both v9 and v10) and go to:

http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/tree/test_Tree.html

You can reproduce the issue.

1) Expand "Continents -> Europe" node
2) Select one of the children of "Europe" (e.g.: "France")
3) Mouse-down on "France" and drag the pointer to Italy
4) Release the mouse pointer

You will notice that a "click" event is registering for the parent node "Europe". This only happens in Internet Explorer. This is likely because the "mouseDown" and "mouseUp" both occurred within the boundaries of the "Europe" DOM node.

Change History (4)

comment:1 Changed 6 years ago by bill

Milestone: tbd1.8.6
Owner: set to bill
Status: newassigned

Since 1.8, specifically #14896, the Tree is using event delegation, i.e. listening for click events on the Tree's root node:

on(this.containerNode, a11yclick, function(evt){
    var node = registry.getEnclosingWidget(evt.target);
    if(node.isInstanceOf(TreeNode)){
        self._onClick(node, evt);
    }
}),

That code should be more careful by ignoring clicks that don't occur on a TreeNode?.rowNode (CSS class = dijitTreeRow).

I'll check in a fix and backport to 1.8.6 and 1.9.2.

comment:2 Changed 6 years ago by Bill Keese <bill@…>

Resolution: fixed
Status: assignedclosed

In 50ab5342e090e9a6c03054e01ad2fc01ac0e6c1b/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:3 Changed 6 years ago by Bill Keese <bill@…>

In 709054a4a415314ad102858e3e9d14e11a103f38/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:4 Changed 6 years ago by Bill Keese <bill@…>

In 0f212ec839511767f18d6ead9f70c81ee8448cff/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 
Note: See TracTickets for help on using tickets.