+++ /dev/null
-/*\r
- * Ext JS Library 0.30\r
- * Copyright(c) 2006-2009, Ext JS, LLC.\r
- * licensing@extjs.com\r
- * \r
- * http://extjs.com/license\r
- */\r
-\r
-// 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
-});
\ No newline at end of file