+++ /dev/null
-<html>\r
-<head>\r
- <title>The source code</title>\r
- <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
- <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
-</head>\r
-<body onload="prettyPrint();">\r
- <pre class="prettyprint lang-js">// Implementation class for created the tree powered form field\r
-ListSelector = Ext.extend(Ext.ux.TreeSelector, {\r
- maxHeight:200,\r
- listenForLoad: false,\r
- initComponent : function(){\r
- \r
- this.tree = new Ext.tree.TreePanel({\r
- animate:false,\r
- border:false,\r
- width: this.treeWidth || 180,\r
- autoScroll:true,\r
- useArrows:true,\r
- selModel: new Ext.tree.ActivationModel(),\r
- loader : new ListLoader({store: this.store}) \r
- });\r
- \r
- var root = new Ext.tree.AsyncTreeNode({\r
- text: 'All Lists',\r
- id: 'root',\r
- leaf: false,\r
- iconCls: 'icon-folder',\r
- expanded: true,\r
- isFolder: true\r
- });\r
- this.tree.setRootNode(root);\r
-\r
- this.tree.on('render', function(){\r
- this.store.bindTree(this.tree);\r
- }, this);\r
- \r
- ListSelector.superclass.initComponent.call(this);\r
- \r
- // selecting folders is not allowed, so filter them\r
- this.tree.getSelectionModel().on('beforeselect', this.beforeSelection, this);\r
- \r
- // if being rendered before the store is loaded, reload when it is loaded\r
- if(this.listenForLoad) {\r
- this.store.on('load', function(){\r
- root.reload();\r
- }, this, {\r
- single: true\r
- });\r
- }\r
- },\r
- \r
- beforeSelection : function(tree, node){\r
- if(node && node.attributes.isFolder){\r
- node.toggle();\r
- return false;\r
- }\r
- }\r
-});</pre> \r
-</body>\r
-</html>
\ No newline at end of file