AJAX式多数据源及节点异步加载树_meetrice

预览:
AJAX式多数据源及节点异步加载树_meetrice
demo.html:

AJAX式多数据源及节点异步加载树_meetrice<script type="text/javascript" src="js/Ext.ux.MyTreeLoader/MyTreeLoader.js"></script>
AJAX式多数据源及节点异步加载树_meetrice
<script type="text/javascript" src="treeloader.js"></script>
AJAX式多数据源及节点异步加载树_meetrice
<div id="tree-ct"></div>

treeloader.js:

AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice/**//**
AJAX式多数据源及节点异步加载树_meetrice * @include "js/Ext.ux.MyTreeLoader/ColumnNodeUI.js"
AJAX式多数据源及节点异步加载树_meetrice * @include "js/Ext.ux.MyTreeLoader/MyTreeLoader.js"
AJAX式多数据源及节点异步加载树_meetrice * @include "js/Ext.ux.MyTreeLoader/TreeNodeProvider.js"
AJAX式多数据源及节点异步加载树_meetrice 
*/

AJAX式多数据源及节点异步加载树_meetriceExt.BLANK_IMAGE_URL 
= 'js/ext-2.0/resources/images/default/s.gif';
AJAX式多数据源及节点异步加载树_meetrice
var flag = true;// To toggle the refresh
AJAX式多数据源及节点异步加载树_meetrice

AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetriceExt.onReady(
function() AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var treeNodeProvider = AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        data : [],
// Property in which are set the data to elaborate
AJAX式多数据源及节点异步加载树_meetrice
        dataUrl : 'addressBook.do?dispatch=queryAddressBook',
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        getNodes : 
function() AJAX式多数据源及节点异步加载树_meetrice// Here you process your data
AJAX式多数据源及节点异步加载树_meetrice
            return Ext.decode(this.data);
AJAX式多数据源及节点异步加载树_meetrice        }
,
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        setData : 
function(data) AJAX式多数据源及节点异步加载树_meetrice{// Called internally by
AJAX式多数据源及节点异步加载树_meetrice
            // Ext.tree.MyTreeLoader by the method
AJAX式多数据源及节点异步加载树_meetrice
            // updateTreeNodeProvider
AJAX式多数据源及节点异步加载树_meetrice
            this.data = data;
AJAX式多数据源及节点异步加载树_meetrice        }
,
AJAX式多数据源及节点异步加载树_meetrice        scope : 
this
AJAX式多数据源及节点异步加载树_meetrice            
// Could be useful to use when you elaborates data to switch the
AJAX式多数据源及节点异步加载树_meetrice
            // contextAJAX式多数据源及节点异步加载树_meetricenot used in this example and it's not required
AJAX式多数据源及节点异步加载树_meetrice
    }
;
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var treeNodeProvider2 = AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        data : [],
// Property in which are set the data to elaborate
AJAX式多数据源及节点异步加载树_meetrice
        dataUrl : 'companyGroup.do?dispatch=queryGroup',
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        getNodes : 
function() AJAX式多数据源及节点异步加载树_meetrice// Here you process your data
AJAX式多数据源及节点异步加载树_meetrice
            return Ext.decode(this.data);
AJAX式多数据源及节点异步加载树_meetrice        }
,
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        setData : 
function(data) AJAX式多数据源及节点异步加载树_meetrice{// Called internally by
AJAX式多数据源及节点异步加载树_meetrice
            // Ext.tree.MyTreeLoader by the method
AJAX式多数据源及节点异步加载树_meetrice
            // updateTreeNodeProvider
AJAX式多数据源及节点异步加载树_meetrice
            this.data = data;
AJAX式多数据源及节点异步加载树_meetrice        }
,
AJAX式多数据源及节点异步加载树_meetrice        scope : 
this
AJAX式多数据源及节点异步加载树_meetrice            
// Could be useful to use when you elaborates data to switch the
AJAX式多数据源及节点异步加载树_meetrice
            // contextAJAX式多数据源及节点异步加载树_meetricenot used in this example and it's not required
AJAX式多数据源及节点异步加载树_meetrice
    }
;
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var myTreeLoader = new Ext.tree.MyTreeLoader(AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        treeNodeProvider : treeNodeProvider
AJAX式多数据源及节点异步加载树_meetrice    }
);
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var myTreeLoader2 = new Ext.tree.MyTreeLoader(AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        treeNodeProvider : treeNodeProvider2
AJAX式多数据源及节点异步加载树_meetrice    }
);
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    myTreeLoader.updateTreeNodeProvider(myTreeLoader);
// if you want to
AJAX式多数据源及节点异步加载树_meetrice
    // "preload"
AJAX式多数据源及节点异步加载树_meetrice
    // the TreePanel with this
AJAX式多数据源及节点异步加载树_meetrice
    // data
AJAX式多数据源及节点异步加载树_meetrice

AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var ajaxCallGetDataForTree = function(inputParameters) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        treePanel.body.mask(
"Loading dataAJAX式多数据源及节点异步加载树_meetrice");
AJAX式多数据源及节点异步加载树_meetrice        setTimeout(ajaxCallbackGetDataForTree, 
1000);
AJAX式多数据源及节点异步加载树_meetrice    }

AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var ajaxCallbackGetDataForTree = function() AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice        treePanel.body.unmask();
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        treePanel.body.highlight(
'#c3daf9'AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            block : 
true
AJAX式多数据源及节点异步加载树_meetrice        }
);
AJAX式多数据源及节点异步加载树_meetrice        
// Simulating that I have received the response that is treeData2 from
AJAX式多数据源及节点异步加载树_meetrice
        // the callback of the ajaxCall
AJAX式多数据源及节点异步加载树_meetrice
        var rootNode = treePanel.getRootNode();// get the rootnode
AJAX式多数据源及节点异步加载树_meetrice
        var loader = treePanel.getLoader();// Get the loader, note that is of
AJAX式多数据源及节点异步加载树_meetrice
        // type MyTreeLoader
AJAX式多数据源及节点异步加载树_meetrice
        loader.updateTreeNodeProvider(myTreeLoader);
AJAX式多数据源及节点异步加载树_meetrice        loader.load(rootNode);
AJAX式多数据源及节点异步加载树_meetrice    }

AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var ajaxCallGetDataForTree2 = function(inputParameters) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        treePanel.body.mask(
"Loading dataAJAX式多数据源及节点异步加载树_meetrice");
AJAX式多数据源及节点异步加载树_meetrice        setTimeout(ajaxCallbackGetDataForTree2, 
1000);
AJAX式多数据源及节点异步加载树_meetrice    }

AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var ajaxCallbackGetDataForTree2 = function() AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice        treePanel.body.unmask();
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        treePanel.body.highlight(
'#c3daf9'AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            block : 
true
AJAX式多数据源及节点异步加载树_meetrice        }
);
AJAX式多数据源及节点异步加载树_meetrice        
// Simulating that I have received the response that is treeData2 from
AJAX式多数据源及节点异步加载树_meetrice
        // the callback of the ajaxCall
AJAX式多数据源及节点异步加载树_meetrice
        var rootNode = treePanel.getRootNode();// get the rootnode
AJAX式多数据源及节点异步加载树_meetrice
        var loader = treePanel.getLoader();// Get the loader, note that is of
AJAX式多数据源及节点异步加载树_meetrice
        // type MyTreeLoader
AJAX式多数据源及节点异步加载树_meetrice
        loader.updateTreeNodeProvider(myTreeLoader2);
AJAX式多数据源及节点异步加载树_meetrice        loader.load(rootNode);
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    }

AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    
var flag = true;
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var basePanelCfg = AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        title : 
"AJAX式多数据源及节点异步加载",
AJAX式多数据源及节点异步加载树_meetrice        preloadChildren : 
true,
AJAX式多数据源及节点异步加载树_meetrice        lines : 
false,
AJAX式多数据源及节点异步加载树_meetrice        clearOnLoad : 
true,
AJAX式多数据源及节点异步加载树_meetrice        rootVisible : 
false,
AJAX式多数据源及节点异步加载树_meetrice        containerScroll : 
true,
AJAX式多数据源及节点异步加载树_meetrice        frame : 
false,
AJAX式多数据源及节点异步加载树_meetrice        collapsible : 
false,
AJAX式多数据源及节点异步加载树_meetrice        animate : 
true,
AJAX式多数据源及节点异步加载树_meetrice        loader : myTreeLoader,
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        tbar : [
AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            text : 
"加载通讯录",
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice            handler : 
function() AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice                
// Simulating change the treeNodeProvider of the loader
AJAX式多数据源及节点异步加载树_meetrice
                var rootNode = treePanel.getRootNode();// get the rootnode
AJAX式多数据源及节点异步加载树_meetrice
                var loader = treePanel.getLoader();// Get the loader, note that
AJAX式多数据源及节点异步加载树_meetrice
                // is of type MyTreeLoader
AJAX式多数据源及节点异步加载树_meetrice
                loader.setTreeNodeProvider(treeNodeProvider);
AJAX式多数据源及节点异步加载树_meetrice                
// Simulating an ajax call
AJAX式多数据源及节点异步加载树_meetrice
                ajaxCallGetDataForTree();
AJAX式多数据源及节点异步加载树_meetrice            }

AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        }
AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            text : 
"加载组织",
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice            handler : 
function() AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice                
// Simulating change the treeNodeProvider2 of the loader
AJAX式多数据源及节点异步加载树_meetrice
                var rootNode = treePanel.getRootNode();// get the rootnode
AJAX式多数据源及节点异步加载树_meetrice
                var loader = treePanel.getLoader();// Get the loader, note that
AJAX式多数据源及节点异步加载树_meetrice
                // is of type MyTreeLoader
AJAX式多数据源及节点异步加载树_meetrice
                loader.setTreeNodeProvider(treeNodeProvider2);
AJAX式多数据源及节点异步加载树_meetrice                
// Simulating a different ajax call
AJAX式多数据源及节点异步加载树_meetrice
                ajaxCallGetDataForTree2();
AJAX式多数据源及节点异步加载树_meetrice            }

AJAX式多数据源及节点异步加载树_meetrice        }
]
AJAX式多数据源及节点异步加载树_meetrice    }
;
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    
var treePanel = new Ext.tree.TreePanel(basePanelCfg);
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice    
var root = new Ext.tree.AsyncTreeNode(AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        text : 
'Root',
AJAX式多数据源及节点异步加载树_meetrice        draggable : 
false,
AJAX式多数据源及节点异步加载树_meetrice        id : 
'1'
AJAX式多数据源及节点异步加载树_meetrice    }
);
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    treePanel.setRootNode(root);
AJAX式多数据源及节点异步加载树_meetrice    treePanel.render(
'tree-ct');
AJAX式多数据源及节点异步加载树_meetrice}
);
AJAX式多数据源及节点异步加载树_meetrice

js/Ext.ux.MyTreeLoader/MyTreeLoader.js:

AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice/**//*
AJAX式多数据源及节点异步加载树_meetrice * Version 0.2.3
AJAX式多数据源及节点异步加载树_meetrice * 
AJAX式多数据源及节点异步加载树_meetrice * Ext.tree.MyTreeLoader
AJAX式多数据源及节点异步加载树_meetrice * 
AJAX式多数据源及节点异步加载树_meetrice * @author Dott. Ing. Marco Bellocchi @date 24. April 2008 @license
AJAX式多数据源及节点异步加载树_meetrice * Ext.tree.MyTreeLoader.js is licensed under the terms of the Open Source LGPL
AJAX式多数据源及节点异步加载树_meetrice * 3.0 license.
AJAX式多数据源及节点异步加载树_meetrice * 
AJAX式多数据源及节点异步加载树_meetrice * @include "js/Ext.ux.MyTreeLoader/ColumnNodeUI.js" @include
AJAX式多数据源及节点异步加载树_meetrice * "js/Ext.ux.MyTreeLoader/MyTreeLoader.js" @include
AJAX式多数据源及节点异步加载树_meetrice * "js/Ext.ux.MyTreeLoader/TreeNodeProvider.js"
AJAX式多数据源及节点异步加载树_meetrice * 
AJAX式多数据源及节点异步加载树_meetrice * License details: http://www.gnu.org/licenses/lgpl.html
AJAX式多数据源及节点异步加载树_meetrice 
*/

AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetriceExt.tree.MyTreeLoader 
= function(config) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice    
// @private
AJAX式多数据源及节点异步加载树_meetrice
    var canFireLoadEvent = true;// private
AJAX式多数据源及节点异步加载树_meetrice
    // @private
AJAX式多数据源及节点异步加载树_meetrice
    var treeNodeProvider = null;
AJAX式多数据源及节点异步加载树_meetrice    
// @private
AJAX式多数据源及节点异步加载树_meetrice
    var loading = false;
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    Ext.apply(
this, config);
AJAX式多数据源及节点异步加载树_meetrice    Ext.tree.MyTreeLoader.superclass.constructor.call(
this, config);
AJAX式多数据源及节点异步加载树_meetrice    
// TO FIX I need to do that for retro compatibility, but you MUST use
AJAX式多数据源及节点异步加载树_meetrice
    // getTreeNodeProvider to have access to it!
AJAX式多数据源及节点异步加载树_meetrice
    treeNodeProvider = this.treeNodeProvider;
AJAX式多数据源及节点异步加载树_meetrice    
// dataUrl = this.dataUrl;
AJAX式多数据源及节点异步加载树_meetrice

AJAX式多数据源及节点异步加载树_meetrice    
// @private
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
    var processResponse = function(o, node, callback) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        
try AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            node.beginUpdate();
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice            
for (var i = 0, len = o.length; i < len; i++AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice                
var n = this.createNode(o[i]);
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice                
if (n) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice                    node.appendChild(n);
AJAX式多数据源及节点异步加载树_meetrice                }

AJAX式多数据源及节点异步加载树_meetrice            }

AJAX式多数据源及节点异步加载树_meetrice            node.endUpdate();
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        }
 catch (e) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            canFireLoadEvent 
= false;
AJAX式多数据源及节点异步加载树_meetrice            
this.fireEvent("loadexception"this, node, treeNodeProvider.data);
AJAX式多数据源及节点异步加载树_meetrice        }

AJAX式多数据源及节点异步加载树_meetrice        
// make sure we notify
AJAX式多数据源及节点异步加载树_meetrice
        // the node that we finished
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
        if (typeof callback == "function"AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            callback();
AJAX式多数据源及节点异步加载树_meetrice        }

AJAX式多数据源及节点异步加载树_meetrice        
if (canFireLoadEvent === true)
AJAX式多数据源及节点异步加载树_meetrice            
this.fireEvent("load"this, node, treeNodeProvider.data);// Passing
AJAX式多数据源及节点异步加载树_meetrice
    }
.createDelegate(this);
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    
// @private
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
    var requestData = function(node, callback) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        
if (this.fireEvent("beforeload"this, node, callback) !== falseAJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice            
this.transId = Ext.Ajax.request(AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice                method : 
this.requestMethod,
AJAX式多数据源及节点异步加载树_meetrice                url : treeNodeProvider.dataUrl 
|| treeNodeProvider.url,
AJAX式多数据源及节点异步加载树_meetrice                
// success: this.handleResponse,
AJAX式多数据源及节点异步加载树_meetrice
                success : handleResponse,
AJAX式多数据源及节点异步加载树_meetrice                failure : 
this.fireEvent("loadexception"this, node,
AJAX式多数据源及节点异步加载树_meetrice                        treeNodeProvider.data),
AJAX式多数据源及节点异步加载树_meetrice                scope : 
this,
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice                argument : 
AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice                    callback : callback,
AJAX式多数据源及节点异步加载树_meetrice                    node : node
AJAX式多数据源及节点异步加载树_meetrice                }
,
AJAX式多数据源及节点异步加载树_meetrice                params : 
this.getParams(node)
AJAX式多数据源及节点异步加载树_meetrice            }
);
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        }
 else AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            canFireLoadEvent 
= false;
AJAX式多数据源及节点异步加载树_meetrice        }

AJAX式多数据源及节点异步加载树_meetrice    }
.createDelegate(this);
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    
// @private
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
    var handleResponse = function(response) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        
var a = response.argument;
AJAX式多数据源及节点异步加载树_meetrice        
this.processResponse(response, a.node, a.callback);
AJAX式多数据源及节点异步加载树_meetrice        
this.fireEvent("load"this, a.node, response);
AJAX式多数据源及节点异步加载树_meetrice    }
.createDelegate(this);
AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    
// @public
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
    this.load = function(node, callback) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        canFireLoadEvent 
= true;// Reset the flag
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
        if (this.clearOnLoad) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice            
while (node.firstChild) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice                
var tmpNode = node.firstChild;
AJAX式多数据源及节点异步加载树_meetrice                node.removeChild(tmpNode);
AJAX式多数据源及节点异步加载树_meetrice                tmpNode.destroy();
// Destroy actually cascades, see,
AJAX式多数据源及节点异步加载树_meetrice
                // http://extjs.com/forum/showthread.php?t=14993
AJAX式多数据源及节点异步加载树_meetrice
            }

AJAX式多数据源及节点异步加载树_meetrice        }

AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        
if (this.doPreload(node)) AJAX式多数据源及节点异步加载树_meetrice// preloaded json children
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
            if (typeof callback == "function"AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice                callback();
AJAX式多数据源及节点异步加载树_meetrice            }

AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        }
 else if (treeNodeProvider) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            requestData(node, callback);
AJAX式多数据源及节点异步加载树_meetrice        }

AJAX式多数据源及节点异步加载树_meetrice    }

AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    
// @public
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
    this.isLoading = function() AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        
return loading;
AJAX式多数据源及节点异步加载树_meetrice    }

AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    
// @public
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
    this.updateTreeNodeProvider = function(obj) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice        
if (treeNodeProvider) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice            treeNodeProvider.setData(obj);
AJAX式多数据源及节点异步加载树_meetrice        }

AJAX式多数据源及节点异步加载树_meetrice    }

AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice    
// @public
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
    this.getTreeNodeProvider = function() AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        
return treeNodeProvider;
AJAX式多数据源及节点异步加载树_meetrice    }

AJAX式多数据源及节点异步加载树_meetrice    
// Set a new treeNodeProvider
AJAX式多数据源及节点异步加载树_meetrice
    // @public
AJAX式多数据源及节点异步加载树_meetriceAJAX式多数据源及节点异步加载树_meetrice
    this.setTreeNodeProvider = function(newTreeNodeProvider) AJAX式多数据源及节点异步加载树_meetrice{
AJAX式多数据源及节点异步加载树_meetrice        
if (newTreeNodeProvider == null
AJAX式多数据源及节点异步加载树_meetrice                
|| (typeof newTreeNodeProvider == 'undefined'))
AJAX式多数据源及节点异步加载树_meetrice            
throw 'setTreeNodeProvider, newTreeNodeProvider == null || (typeof newTreeNodeProvider == undefined)';
AJAX式多数据源及节点异步加载树_meetrice        treeNodeProvider 
= newTreeNodeProvider;
AJAX式多数据源及节点异步加载树_meetrice    }

AJAX式多数据源及节点异步加载树_meetrice
AJAX式多数据源及节点异步加载树_meetrice}
;
AJAX式多数据源及节点异步加载树_meetriceExt.tree.MyTreeLoader 
= Ext.extend(Ext.tree.MyTreeLoader, Ext.tree.TreeLoader);
AJAX式多数据源及节点异步加载树_meetrice
上一篇:Exchange Server 2013 配置客户端访问


下一篇:我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。