Opened 15 years ago

Closed 14 years ago

#1672 closed defect (fixed)

TreeV3 Expand and Collapse All can run simultaneously causing partial expansion

Reported by: [email protected] Owned by: ilia
Priority: high Milestone: 0.9beta
Component: Dijit Version: 0.3
Keywords: Cc: [email protected]
Blocked By: Blocking:


The expand and collapse all methods for TreeV3 do not stop each other and can compete for the expand state of tree nodes. Selecting collapse all while an expand all is running will result in a tree that is partially expanded.

To test this:

  1. Open dojo estswidget reeV3largeNoWrap.html in a web browser
  2. Click on "Expand all with callback at finish"
  3. Immediately click on "Collapse all nodes"

The collapse operation will close nodes that were opened by step 2, and the expand will continue to open nodes.

Change History (5)

comment:1 Changed 15 years ago by dylan

Milestone: 0.5
Owner: changed from anonymous to ilia

comment:2 Changed 15 years ago by ilia

What about to consider it a 'feature' rather than 'bug' ? Any problems about it ?

comment:3 Changed 15 years ago by [email protected]

I don't think this can be considered a feature rather than a bug. In my opinion the last action that was chosen by the user should be the one that 'wins'. Let me use an example to illustrate this. If you are viewing JavaDoc?, which uses a frames layout, and you click rapidly on multiple classes in the left hand navigation, the one you click on last is the one that will eventually end up displayed in the right hand display area. You don't get half of one classes' documentation at the top of the display area and part of a different classes' documentation at the bottom of the display area. I think the same idea applies here: if the last thing the user clicked on was collapse all, they are expecting the tree to show up collapsed. If the last thing the user clicked on was expand all, they are expecting the tree to show up expanded.

comment:4 Changed 15 years ago by ilia

Yeah, its a bug..

When it is important/painful ?

comment:5 Changed 14 years ago by bill

Component: GeneralDijit
Milestone: 0.90.9beta
Resolution: fixed
Status: newclosed

The new code cancels the slideOut operation before starting slideIn, and vice/versa.

Note: See TracTickets for help on using tickets.