<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FExt_JS%2FTree</id>
		<title>JavaScript DHTML/Ext JS/Tree - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FExt_JS%2FTree"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Tree&amp;action=history"/>
		<updated>2026-04-04T11:33:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Tree&amp;diff=2382&amp;oldid=prev</id>
		<title> в 09:59, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Tree&amp;diff=2382&amp;oldid=prev"/>
				<updated>2010-05-26T09:59:51Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:59, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Tree&amp;diff=2383&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/Tree&amp;diff=2383&amp;oldid=prev"/>
				<updated>2010-05-26T07:21:21Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Check Tree==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!-- Revised from Ext JS Library 3.0.0 --&amp;gt; &lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Hello World Window&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;ext-3.0.0/resources/css/ext-all.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/adapter/ext/ext-base.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/ext-all.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
Ext.onReady(function(){&lt;br /&gt;
    var tree = new Ext.tree.TreePanel({&lt;br /&gt;
        renderTo:&amp;quot;tree-div&amp;quot;,&lt;br /&gt;
        title: &amp;quot;My Task List&amp;quot;,&lt;br /&gt;
        height: 300,&lt;br /&gt;
        width: 400,&lt;br /&gt;
        useArrows:true,&lt;br /&gt;
        autoScroll:true,&lt;br /&gt;
        animate:true,&lt;br /&gt;
        enableDD:true,&lt;br /&gt;
        containerScroll: true,&lt;br /&gt;
        rootVisible: false,&lt;br /&gt;
        frame: true,&lt;br /&gt;
        root: {&lt;br /&gt;
            nodeType: &amp;quot;async&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        // auto create TreeLoader&lt;br /&gt;
        dataUrl: &amp;quot;ext-3.0.0/examples/tree/check-nodes.json&amp;quot;,&lt;br /&gt;
        &lt;br /&gt;
        listeners: {&lt;br /&gt;
            &amp;quot;checkchange&amp;quot;: function(node, checked){&lt;br /&gt;
                if(checked){&lt;br /&gt;
                    node.getUI().addClass(&amp;quot;complete&amp;quot;);&lt;br /&gt;
                }else{&lt;br /&gt;
                    node.getUI().removeClass(&amp;quot;complete&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        &lt;br /&gt;
        buttons: [{&lt;br /&gt;
            text: &amp;quot;Get Completed Tasks&amp;quot;,&lt;br /&gt;
            handler: function(){&lt;br /&gt;
                var msg = &amp;quot;&amp;quot;, selNodes = tree.getChecked();&lt;br /&gt;
                Ext.each(selNodes, function(node){&lt;br /&gt;
                    if(msg.length &amp;gt; 0){&lt;br /&gt;
                        msg += &amp;quot;, &amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                    msg += node.text;&lt;br /&gt;
                });&lt;br /&gt;
                Ext.Msg.show({&lt;br /&gt;
                    title: &amp;quot;Completed Tasks&amp;quot;, &lt;br /&gt;
                    msg: msg.length &amp;gt; 0 ? msg : &amp;quot;None&amp;quot;,&lt;br /&gt;
                    icon: Ext.Msg.INFO,&lt;br /&gt;
                    minWidth: 200,&lt;br /&gt;
                    buttons: Ext.Msg.OK&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }]&lt;br /&gt;
    });&lt;br /&gt;
    tree.getRootNode().expand(true);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;tree-div&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Column tree==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!-- Revised from Ext JS Library 3.0.0 --&amp;gt; &lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Hello World Window&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;ext-3.0.0/resources/css/ext-all.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/adapter/ext/ext-base.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/ext-all.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;ext-3.0.0/examples/ux/css/ColumnNodeUI.css&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/examples/ux/ColumnNodeUI.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
Ext.onReady(function(){&lt;br /&gt;
    var tree = new Ext.ux.tree.ColumnTree({&lt;br /&gt;
        width: 550,&lt;br /&gt;
        height: 300,&lt;br /&gt;
        rootVisible:false,&lt;br /&gt;
        autoScroll:true,&lt;br /&gt;
        title: &amp;quot;Example Tasks&amp;quot;,&lt;br /&gt;
        renderTo: Ext.getBody(),&lt;br /&gt;
        columns:[{&lt;br /&gt;
            header:&amp;quot;Task&amp;quot;,&lt;br /&gt;
            width:330,&lt;br /&gt;
            dataIndex:&amp;quot;task&amp;quot;&lt;br /&gt;
        },{&lt;br /&gt;
            header:&amp;quot;Duration&amp;quot;,&lt;br /&gt;
            width:100,&lt;br /&gt;
            dataIndex:&amp;quot;duration&amp;quot;&lt;br /&gt;
        },{&lt;br /&gt;
            header:&amp;quot;Assigned To&amp;quot;,&lt;br /&gt;
            width:100,&lt;br /&gt;
            dataIndex:&amp;quot;user&amp;quot;&lt;br /&gt;
        }],&lt;br /&gt;
        loader: new Ext.tree.TreeLoader({&lt;br /&gt;
            dataUrl:&amp;quot;ext-3.0.0/examples/tree/column-data.json&amp;quot;,&lt;br /&gt;
            uiProviders:{&lt;br /&gt;
                &amp;quot;col&amp;quot;: Ext.ux.tree.ColumnNodeUI&lt;br /&gt;
            }&lt;br /&gt;
        }),&lt;br /&gt;
        root: new Ext.tree.AsyncTreeNode({&lt;br /&gt;
            text:&amp;quot;Tasks&amp;quot;&lt;br /&gt;
        })&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;ColumnTree Example&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Drop anything into the tree==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Hello World Window&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;ext-3.0.0/resources/css/ext-all.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/adapter/ext/ext-base.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/ext-all.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/examples/ux/DataView-more.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;!-- Revised from demo code in ext3.0.0 --&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
Ext.onReady(function(){&lt;br /&gt;
    Ext.QuickTips.init();&lt;br /&gt;
    // Album toolbar&lt;br /&gt;
    var newIndex = 3;&lt;br /&gt;
    var tb = new Ext.Toolbar({&lt;br /&gt;
        items:[{&lt;br /&gt;
            text: &amp;quot;New Album&amp;quot;,&lt;br /&gt;
            iconCls: &amp;quot;album-btn&amp;quot;,&lt;br /&gt;
            handler: function(){&lt;br /&gt;
                var node = root.appendChild(new Ext.tree.TreeNode({&lt;br /&gt;
                    text:&amp;quot;Album &amp;quot; + (++newIndex),&lt;br /&gt;
                    cls:&amp;quot;album-node&amp;quot;,&lt;br /&gt;
                    allowDrag:false&lt;br /&gt;
                }));&lt;br /&gt;
                tree.getSelectionModel().select(node);&lt;br /&gt;
                setTimeout(function(){&lt;br /&gt;
                    ge.editNode = node;&lt;br /&gt;
                    ge.startEdit(node.ui.textNode);&lt;br /&gt;
                }, 10);&lt;br /&gt;
            }&lt;br /&gt;
        }]&lt;br /&gt;
    });&lt;br /&gt;
    // set up the Album tree&lt;br /&gt;
    var tree = new Ext.tree.TreePanel({&lt;br /&gt;
         // tree&lt;br /&gt;
         animate:true,&lt;br /&gt;
         enableDD:true,&lt;br /&gt;
         containerScroll: true,&lt;br /&gt;
         ddGroup: &amp;quot;organizerDD&amp;quot;,&lt;br /&gt;
         rootVisible:false,&lt;br /&gt;
         // layout&lt;br /&gt;
         region:&amp;quot;west&amp;quot;,&lt;br /&gt;
         width:200,&lt;br /&gt;
         split:true,&lt;br /&gt;
         // panel&lt;br /&gt;
         title:&amp;quot;My Albums&amp;quot;,&lt;br /&gt;
         autoScroll:true,&lt;br /&gt;
         tbar: tb,&lt;br /&gt;
         margins: &amp;quot;5 0 5 5&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    var root = new Ext.tree.TreeNode({&lt;br /&gt;
        text: &amp;quot;Albums&amp;quot;,&lt;br /&gt;
        allowDrag:false,&lt;br /&gt;
        allowDrop:false&lt;br /&gt;
    });&lt;br /&gt;
    tree.setRootNode(root);&lt;br /&gt;
    root.appendChild(&lt;br /&gt;
        new Ext.tree.TreeNode({text:&amp;quot;Album 1&amp;quot;, cls:&amp;quot;album-node&amp;quot;, allowDrag:false}),&lt;br /&gt;
        new Ext.tree.TreeNode({text:&amp;quot;Album 2&amp;quot;, cls:&amp;quot;album-node&amp;quot;, allowDrag:false}),&lt;br /&gt;
        new Ext.tree.TreeNode({text:&amp;quot;Album 3&amp;quot;, cls:&amp;quot;album-node&amp;quot;, allowDrag:false})&lt;br /&gt;
    );&lt;br /&gt;
    // add an inline editor for the nodes&lt;br /&gt;
    var ge = new Ext.tree.TreeEditor(tree, {/* fieldconfig here */ }, {&lt;br /&gt;
        allowBlank:false,&lt;br /&gt;
        blankText:&amp;quot;A name is required&amp;quot;,&lt;br /&gt;
        selectOnFocus:true&lt;br /&gt;
    });&lt;br /&gt;
    // Set up images view&lt;br /&gt;
    var view = new Ext.DataView({&lt;br /&gt;
        itemSelector: &amp;quot;div.thumb-wrap&amp;quot;,&lt;br /&gt;
        style:&amp;quot;overflow:auto&amp;quot;,&lt;br /&gt;
        multiSelect: true,&lt;br /&gt;
        plugins: new Ext.DataView.DragSelector({dragSafe:true}),&lt;br /&gt;
        store: new Ext.data.JsonStore({&lt;br /&gt;
            url: &amp;quot;../view/get-images.php&amp;quot;,&lt;br /&gt;
            autoLoad: true,&lt;br /&gt;
            root: &amp;quot;images&amp;quot;,&lt;br /&gt;
            id:&amp;quot;name&amp;quot;,&lt;br /&gt;
            fields:[&lt;br /&gt;
                &amp;quot;name&amp;quot;, &amp;quot;url&amp;quot;,&lt;br /&gt;
                {name: &amp;quot;shortName&amp;quot;, mapping: &amp;quot;name&amp;quot;, convert: shortName}&lt;br /&gt;
            ]&lt;br /&gt;
        }),&lt;br /&gt;
        tpl: new Ext.XTemplate(&lt;br /&gt;
            &amp;quot;&amp;lt;tpl for=&amp;quot;.&amp;quot;&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;&amp;lt;div class=&amp;quot;thumb-wrap&amp;quot; id=&amp;quot;{name}&amp;quot;&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;../view/{url}&amp;quot; class=&amp;quot;thumb-img&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;&amp;lt;span&amp;gt;{shortName}&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;&amp;lt;/tpl&amp;gt;&amp;quot;&lt;br /&gt;
        )&lt;br /&gt;
    });&lt;br /&gt;
    var images = new Ext.Panel({&lt;br /&gt;
        id:&amp;quot;images&amp;quot;,&lt;br /&gt;
        title:&amp;quot;My Images&amp;quot;,&lt;br /&gt;
        region:&amp;quot;center&amp;quot;,&lt;br /&gt;
        margins: &amp;quot;5 5 5 0&amp;quot;,&lt;br /&gt;
        layout:&amp;quot;fit&amp;quot;,&lt;br /&gt;
        &lt;br /&gt;
        items: view&lt;br /&gt;
    });&lt;br /&gt;
    var layout = new Ext.Panel({&lt;br /&gt;
        layout: &amp;quot;border&amp;quot;,&lt;br /&gt;
        width:650,&lt;br /&gt;
        height:400,&lt;br /&gt;
        items: [tree, images]&lt;br /&gt;
    });&lt;br /&gt;
    layout.render(&amp;quot;layout&amp;quot;);&lt;br /&gt;
    var dragZone = new ImageDragZone(view, {containerScroll:true,&lt;br /&gt;
        ddGroup: &amp;quot;organizerDD&amp;quot;});&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Create a DragZone instance for our JsonView&lt;br /&gt;
 */&lt;br /&gt;
ImageDragZone = function(view, config){&lt;br /&gt;
    this.view = view;&lt;br /&gt;
    ImageDragZone.superclass.constructor.call(this, view.getEl(), config);&lt;br /&gt;
};&lt;br /&gt;
Ext.extend(ImageDragZone, Ext.dd.DragZone, {&lt;br /&gt;
    // We don&amp;quot;t want to register our image elements, so let&amp;quot;s &lt;br /&gt;
    // override the default registry lookup to fetch the image &lt;br /&gt;
    // from the event instead&lt;br /&gt;
    getDragData : function(e){&lt;br /&gt;
        var target = e.getTarget(&amp;quot;.thumb-wrap&amp;quot;);&lt;br /&gt;
        if(target){&lt;br /&gt;
            var view = this.view;&lt;br /&gt;
            if(!view.isSelected(target)){&lt;br /&gt;
                view.onClick(e);&lt;br /&gt;
            }&lt;br /&gt;
            var selNodes = view.getSelectedNodes();&lt;br /&gt;
            var dragData = {&lt;br /&gt;
                nodes: selNodes&lt;br /&gt;
            };&lt;br /&gt;
            if(selNodes.length == 1){&lt;br /&gt;
                dragData.ddel = target;&lt;br /&gt;
                dragData.single = true;&lt;br /&gt;
            }else{&lt;br /&gt;
                var div = document.createElement(&amp;quot;div&amp;quot;); // create the multi element drag &amp;quot;ghost&amp;quot;&lt;br /&gt;
                div.className = &amp;quot;multi-proxy&amp;quot;;&lt;br /&gt;
                for(var i = 0, len = selNodes.length; i &amp;lt; len; i++){&lt;br /&gt;
                    div.appendChild(selNodes[i].firstChild.firstChild.cloneNode(true)); // image nodes only&lt;br /&gt;
                    if((i+1) % 3 == 0){&lt;br /&gt;
                        div.appendChild(document.createElement(&amp;quot;br&amp;quot;));&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
                var count = document.createElement(&amp;quot;div&amp;quot;); // selected image count&lt;br /&gt;
                count.innerHTML = i + &amp;quot; images selected&amp;quot;;&lt;br /&gt;
                div.appendChild(count);&lt;br /&gt;
                &lt;br /&gt;
                dragData.ddel = div;&lt;br /&gt;
                dragData.multi = true;&lt;br /&gt;
            }&lt;br /&gt;
            return dragData;&lt;br /&gt;
        }&lt;br /&gt;
        return false;&lt;br /&gt;
    },&lt;br /&gt;
    // this method is called by the TreeDropZone after a node drop&lt;br /&gt;
    // to get the new tree node (there are also other way, but this is easiest)&lt;br /&gt;
    getTreeNode : function(){&lt;br /&gt;
        var treeNodes = [];&lt;br /&gt;
        var nodeData = this.view.getRecords(this.dragData.nodes);&lt;br /&gt;
        for(var i = 0, len = nodeData.length; i &amp;lt; len; i++){&lt;br /&gt;
            var data = nodeData[i].data;&lt;br /&gt;
            treeNodes.push(new Ext.tree.TreeNode({&lt;br /&gt;
                text: data.name,&lt;br /&gt;
                icon: &amp;quot;../view/&amp;quot;+data.url,&lt;br /&gt;
                data: data,&lt;br /&gt;
                leaf:true,&lt;br /&gt;
                cls: &amp;quot;image-node&amp;quot;&lt;br /&gt;
            }));&lt;br /&gt;
        }&lt;br /&gt;
        return treeNodes;&lt;br /&gt;
    },&lt;br /&gt;
    &lt;br /&gt;
    // the default action is to &amp;quot;highlight&amp;quot; after a bad drop&lt;br /&gt;
    // but since an image can&amp;quot;t be highlighted, let&amp;quot;s frame it &lt;br /&gt;
    afterRepair:function(){&lt;br /&gt;
        for(var i = 0, len = this.dragData.nodes.length; i &amp;lt; len; i++){&lt;br /&gt;
            Ext.fly(this.dragData.nodes[i]).frame(&amp;quot;#8db2e3&amp;quot;, 1);&lt;br /&gt;
        }&lt;br /&gt;
        this.dragging = false;    &lt;br /&gt;
    },&lt;br /&gt;
    &lt;br /&gt;
    // override the default repairXY with one offset for the margins and padding&lt;br /&gt;
    getRepairXY : function(e){&lt;br /&gt;
        if(!this.dragData.multi){&lt;br /&gt;
            var xy = Ext.Element.fly(this.dragData.ddel).getXY();&lt;br /&gt;
            xy[0]+=3;xy[1]+=3;&lt;br /&gt;
            return xy;&lt;br /&gt;
        }&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
// Utility functions&lt;br /&gt;
function shortName(name){&lt;br /&gt;
    if(name.length &amp;gt; 15){&lt;br /&gt;
        return name.substr(0, 12) + &amp;quot;...&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    return name;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;layout&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Two trees==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
--&amp;gt; &lt;br /&gt;
&amp;lt;!-- Revised from Ext JS Library 3.0.0 --&amp;gt; &lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Hello World Window&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;ext-3.0.0/resources/css/ext-all.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/adapter/ext/ext-base.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/ext-all.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
var TreeTest = function(){&lt;br /&gt;
    // shorthand&lt;br /&gt;
    var Tree = Ext.tree;&lt;br /&gt;
    &lt;br /&gt;
    return {&lt;br /&gt;
        init : function(){&lt;br /&gt;
            // yui-ext tree&lt;br /&gt;
            var tree = new Tree.TreePanel({&lt;br /&gt;
                animate:true, &lt;br /&gt;
                autoScroll:true,&lt;br /&gt;
                loader: new Tree.TreeLoader({dataUrl:&amp;quot;get-nodes.php&amp;quot;}),&lt;br /&gt;
                enableDD:true,&lt;br /&gt;
                containerScroll: true,&lt;br /&gt;
                border: false,&lt;br /&gt;
                dropConfig: {appendOnly:true}&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            // add a tree sorter in folder mode&lt;br /&gt;
            new Tree.TreeSorter(tree, {folderSort:true});&lt;br /&gt;
            &lt;br /&gt;
            // set the root node&lt;br /&gt;
            var root = new Tree.AsyncTreeNode({&lt;br /&gt;
                text: &amp;quot;Ext JS&amp;quot;, &lt;br /&gt;
                draggable:false, // disable root node dragging&lt;br /&gt;
                id:&amp;quot;src&amp;quot;&lt;br /&gt;
            });&lt;br /&gt;
            tree.setRootNode(root);&lt;br /&gt;
            &lt;br /&gt;
            // render the tree&lt;br /&gt;
            tree.render(&amp;quot;tree&amp;quot;);&lt;br /&gt;
            &lt;br /&gt;
            root.expand(false, /*no anim*/ false);&lt;br /&gt;
            &lt;br /&gt;
            //-------------------------------------------------------------&lt;br /&gt;
            &lt;br /&gt;
            // YUI tree            &lt;br /&gt;
            var tree2 = new Tree.TreePanel({&lt;br /&gt;
                animate:true,&lt;br /&gt;
                autoScroll:true,&lt;br /&gt;
                //rootVisible: false,&lt;br /&gt;
                loader: new Ext.tree.TreeLoader({&lt;br /&gt;
                    dataUrl:&amp;quot;get-nodes.php&amp;quot;,&lt;br /&gt;
                    baseParams: {lib:&amp;quot;yui&amp;quot;} // custom http params&lt;br /&gt;
                }),&lt;br /&gt;
                containerScroll: true,&lt;br /&gt;
                border: false,&lt;br /&gt;
                enableDD:true,&lt;br /&gt;
                dropConfig: {appendOnly:true}&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            // add a tree sorter in folder mode&lt;br /&gt;
            new Tree.TreeSorter(tree2, {folderSort:true});&lt;br /&gt;
            &lt;br /&gt;
            // add the root node&lt;br /&gt;
            var root2 = new Tree.AsyncTreeNode({&lt;br /&gt;
                text: &amp;quot;My Files&amp;quot;, &lt;br /&gt;
                draggable:false, &lt;br /&gt;
                id:&amp;quot;yui&amp;quot;&lt;br /&gt;
            });&lt;br /&gt;
            tree2.setRootNode(root2);&lt;br /&gt;
            tree2.render(&amp;quot;tree2&amp;quot;);&lt;br /&gt;
            &lt;br /&gt;
            root2.expand(false, /*no anim*/ false);&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
}();&lt;br /&gt;
Ext.EventManager.onDocumentReady(TreeTest.init, TreeTest, true);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>