Changeset 13802

Show
Ignore:
Timestamp:
05/26/08 08:47:45 (6 months ago)
Author:
bill
Message:

Notification when Tree node is opened/closed.
Fixes #5530.
!strict

Location:
dijit/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • dijit/trunk/tests/test_Tree.html

    r13735 r13802  
    4747                        alert("Execute of node " + continentStore.getLabel(item) 
    4848                                +", population=" + continentStore.getValue(item, "population")); 
     49                </script> 
     50                <script type="dojo/method" event="onOpen" args="item"> 
     51                        console.log("Open of node " + continentStore.getLabel(item)); 
     52                </script> 
     53                <script type="dojo/method" event="onClose" args="item"> 
     54                        console.log("Close of node " + continentStore.getLabel(item)); 
    4955                </script> 
    5056        </div> 
  • dijit/trunk/Tree.js

    r13798 r13802  
    700700                // summary: user overridable function for executing a tree item 
    701701        }, 
     702        onOpen: function(/* dojo.data */ item, /*TreeNode*/ node){ 
     703                // summary: callback when a node is opened 
     704        }, 
     705        onClose: function(/* dojo.data */ item, /*TreeNode*/ node){ 
     706                // summary: callback when a node is closed 
     707        }, 
    702708 
    703709        _getNextNode: function(node){ 
     
    735741 
    736742                        node.collapse(); 
     743                        this.onClose(node.item, node); 
     744 
    737745                        if(this.persist && node.item){ 
    738746                                delete this._openedItemIds[this.model.getIdentity(node.item)]; 
     
    774782                                // data is already loaded; just proceed 
    775783                                node.expand(); 
     784                                this.onOpen(node.item, node); 
     785 
    776786                                if(this.persist && item){ 
    777787                                        this._openedItemIds[model.getIdentity(item)] = true;