Last change
on this file since 619 was
619,
checked in by ramonb, 15 years ago
|
lib/:
- added new AJAX dependancies: ExtJS, pChart, Lightbox2
|
File size:
1.2 KB
|
Line | |
---|
1 | /* |
---|
2 | * Ext JS Library 0.30 |
---|
3 | * Copyright(c) 2006-2009, Ext JS, LLC. |
---|
4 | * licensing@extjs.com |
---|
5 | * |
---|
6 | * http://extjs.com/license |
---|
7 | */ |
---|
8 | |
---|
9 | ListLoader = function(config){ |
---|
10 | Ext.apply(this, config); |
---|
11 | }; |
---|
12 | |
---|
13 | Ext.extend(ListLoader, Ext.util.Observable, { |
---|
14 | keyAttribute: 'id', |
---|
15 | keyField: 'parentId', |
---|
16 | |
---|
17 | load: function(node, callback){ |
---|
18 | var key = this.keyField; |
---|
19 | var v = node.attributes[this.keyAttribute]; |
---|
20 | var rs = this.store.queryBy(function(r){ |
---|
21 | return r.data[key] === v; |
---|
22 | }); |
---|
23 | node.beginUpdate(); |
---|
24 | for (var i = 0, d = rs.items, len = d.length; i < len; i++) { |
---|
25 | var n = this.createNode(d[i]); |
---|
26 | if (n) { |
---|
27 | node.appendChild(n); |
---|
28 | } |
---|
29 | } |
---|
30 | node.endUpdate(); |
---|
31 | if(typeof callback == "function"){ |
---|
32 | callback(this, node); |
---|
33 | } |
---|
34 | }, |
---|
35 | |
---|
36 | createNode : function(record){ |
---|
37 | var d = record.data, n; |
---|
38 | if(d.isFolder){ |
---|
39 | n = new Ext.tree.AsyncTreeNode({ |
---|
40 | loader: this, |
---|
41 | id: record.id, |
---|
42 | text: d.listName, |
---|
43 | leaf: false, |
---|
44 | iconCls: 'icon-folder', |
---|
45 | editable: true, |
---|
46 | expanded: true, |
---|
47 | isFolder: true |
---|
48 | }); |
---|
49 | }else{ |
---|
50 | n = new Ext.tree.TreeNode({ |
---|
51 | id: record.id, |
---|
52 | text: d.listName, |
---|
53 | leaf: true, |
---|
54 | iconCls: 'icon-list', |
---|
55 | editable: true |
---|
56 | }); |
---|
57 | } |
---|
58 | return n; |
---|
59 | } |
---|
60 | }); |
---|
Note: See
TracBrowser
for help on using the repository browser.