[Dojo-checkins] [dojo] #9339: Tree: we need public functions to access a node from an item

dojo trac at dojotoolkit.org
Thu Jun 11 05:09:43 EDT 2009

#9339: Tree: we need public functions to access a node from an item
 Reporter:  quenenni                     |        Owner:       
     Type:  enhancement                  |       Status:  new  
 Priority:  normal                       |    Milestone:  1.4  
Component:  Dijit                        |      Version:  1.3.0
 Severity:  normal                       |   Resolution:       
 Keywords:  tree item node _itemNodeMap  |  

Comment(by alle):

 With #9631 there can be more than one node related to the same item so a
 read method ( getNodesByItem(<item>) ) have to return an array of
 That's not a problem but having different path in tree to different nodes
 related to same item can make selection persistence on tree reload a bit
 difficult. Same for some sort of tree selection syncing.[[BR]]
 There's a bigger problem when items and nodes are lazy-loaded so
 _itemsNodeMap change on tree reload and can change without store changes
 (so without notification too).[[BR]]
 Ex: we can try set old selection but there's no node related to that item
 because it will be a child node of a closed node that hasn't jet loaded
 its children.

 I think a better way to get/set selection based on item that support tree-
 reload and tree-selection-syncing is getting/setting full tree selection
 path mapped to related items. Creating an attr named "ItemSelectionPath"
 or something prettier which is an array of items starting from root item
 and ending to item related to selected node.[[BR]]
 This way a tree can load not already loaded children as needed (no lazy-
 loading problem on tree reload) and there's no problem about selecting
 right node too.

 AFAIKS the only remaining problem of the above solution is resetting
 perfect node selection when an item is child of an other more than once
 because we don't know which children related to same item select using
 ItemSelectionPath only.

Ticket URL: <http://trac.dojotoolkit.org/ticket/9339#comment:5>
dojo <http://dojotoolkit.org/>
The Dojo UI Toolkit

More information about the Dojo-checkins mailing list