commit extjs-2.2.1
[extjs.git] / examples / tree / check-tree.js
1 /*\r
2  * Ext JS Library 2.2.1\r
3  * Copyright(c) 2006-2009, Ext JS, LLC.\r
4  * licensing@extjs.com\r
5  * \r
6  * http://extjs.com/license\r
7  */\r
8 \r
9 \r
10 Ext.onReady(function(){\r
11     var tree = new Ext.tree.TreePanel({\r
12         renderTo:'tree-div',\r
13         title: 'My Task List',\r
14         height: 300,\r
15         width: 400,\r
16         useArrows:true,\r
17         autoScroll:true,\r
18         animate:true,\r
19         enableDD:true,\r
20         containerScroll: true,\r
21         rootVisible: false,\r
22         frame: true,\r
23         root: {\r
24             nodeType: 'async'\r
25         },\r
26         \r
27         // auto create TreeLoader\r
28         dataUrl: 'check-nodes.json',\r
29         \r
30         listeners: {\r
31             'checkchange': function(node, checked){\r
32                 if(checked){\r
33                     node.getUI().addClass('complete');\r
34                 }else{\r
35                     node.getUI().removeClass('complete');\r
36                 }\r
37             }\r
38         },\r
39         \r
40         buttons: [{\r
41             text: 'Get Completed Tasks',\r
42             handler: function(){\r
43                 var msg = '', selNodes = tree.getChecked();\r
44                 Ext.each(selNodes, function(node){\r
45                     if(msg.length > 0){\r
46                         msg += ', ';\r
47                     }\r
48                     msg += node.text;\r
49                 });\r
50                 Ext.Msg.show({\r
51                     title: 'Completed Tasks', \r
52                     msg: msg.length > 0 ? msg : 'None',\r
53                     icon: Ext.Msg.INFO,\r
54                     minWidth: 200,\r
55                     buttons: Ext.Msg.OK\r
56                 });\r
57             }\r
58         }]\r
59     });\r
60 \r
61     tree.getRootNode().expand(true);\r
62 });