Administrator
2023-04-21 195945efc5db921a4c9eb8cf9421c172273293f5
提交 | 用户 | 时间
58d006 1 var DataSourceTree = function(options) {
A 2     this._data     = options.data;
3     this._delay = options.delay;
4 }
5
6 DataSourceTree.prototype.data = function(options, callback) {
7     var self = this;
8     var $data = null;
9
10     if(!("name" in options) && !("type" in options)){
11         $data = this._data;//the root tree
12         callback({ data: $data });
13         return;
14     }
15     else if("type" in options && options.type == "folder") {
16         if("additionalParameters" in options && "children" in options.additionalParameters)
17             $data = options.additionalParameters.children;
18         else $data = {}//no data
19     }
20     
21     if($data != null)//this setTimeout is only for mimicking some random delay
22         setTimeout(function(){callback({ data: $data });} , parseInt(Math.random() * 500) + 200);
23
24     //we have used static data here
25     //but you can retrieve your data dynamically from a server using ajax call
26     //checkout examples/treeview.html and examples/treeview.js for more info
27 };
28
29 var tree_data = {
30     'for-sale' : {name: 'For Sale', type: 'folder'}    ,
31     'vehicles' : {name: 'Vehicles', type: 'folder'}    ,
32     'rentals' : {name: 'Rentals', type: 'folder'}    ,
33     'real-estate' : {name: 'Real Estate', type: 'folder'}    ,
34     'pets' : {name: 'Pets', type: 'folder'}    ,
35     'tickets' : {name: 'Tickets', type: 'item'}    ,
36     'services' : {name: 'Services', type: 'item'}    ,
37     'personals' : {name: 'Personals', type: 'item'}
38 }
39 tree_data['for-sale']['additionalParameters'] = {
40     'children' : {
41         'appliances' : {name: 'Appliances', type: 'item'},
42         'arts-crafts' : {name: 'Arts & Crafts', type: 'item'},
43         'clothing' : {name: 'Clothing', type: 'item'},
44         'computers' : {name: 'Computers', type: 'item'},
45         'jewelry' : {name: 'Jewelry', type: 'item'},
46         'office-business' : {name: 'Office & Business', type: 'item'},
47         'sports-fitness' : {name: 'Sports & Fitness', type: 'item'}
48     }
49 }
50 tree_data['vehicles']['additionalParameters'] = {
51     'children' : {
52         'cars' : {name: 'Cars', type: 'folder'},
53         'motorcycles' : {name: 'Motorcycles', type: 'item'},
54         'boats' : {name: 'Boats', type: 'item'}
55     }
56 }
57 tree_data['vehicles']['additionalParameters']['children']['cars']['additionalParameters'] = {
58     'children' : {
59         'classics' : {name: 'Classics', type: 'item'},
60         'convertibles' : {name: 'Convertibles', type: 'item'},
61         'coupes' : {name: 'Coupes', type: 'item'},
62         'hatchbacks' : {name: 'Hatchbacks', type: 'item'},
63         'hybrids' : {name: 'Hybrids', type: 'item'},
64         'suvs' : {name: 'SUVs', type: 'item'},
65         'sedans' : {name: 'Sedans', type: 'item'},
66         'trucks' : {name: 'Trucks', type: 'item'}
67     }
68 }
69
70 tree_data['rentals']['additionalParameters'] = {
71     'children' : {
72         'apartments-rentals' : {name: 'Apartments', type: 'item'},
73         'office-space-rentals' : {name: 'Office Space', type: 'item'},
74         'vacation-rentals' : {name: 'Vacation Rentals', type: 'item'}
75     }
76 }
77 tree_data['real-estate']['additionalParameters'] = {
78     'children' : {
79         'apartments' : {name: 'Apartments', type: 'item'},
80         'villas' : {name: 'Villas', type: 'item'},
81         'plots' : {name: 'Plots', type: 'item'}
82     }
83 }
84 tree_data['pets']['additionalParameters'] = {
85     'children' : {
86         'cats' : {name: 'Cats', type: 'item'},
87         'dogs' : {name: 'Dogs', type: 'item'},
88         'horses' : {name: 'Horses', type: 'item'},
89         'reptiles' : {name: 'Reptiles', type: 'item'}
90     }
91 }
92
93 var treeDataSource = new DataSourceTree({data: tree_data});
94
95
96
97
98
99
100
101
102
103
104
105 var tree_data_2 = {
106     'pictures' : {name: 'Pictures', type: 'folder', 'icon-class':'red'}    ,
107     'music' : {name: 'Music', type: 'folder', 'icon-class':'orange'}    ,
108     'video' : {name: 'Video', type: 'folder', 'icon-class':'blue'}    ,
109     'documents' : {name: 'Documents', type: 'folder', 'icon-class':'green'}    ,
110     'backup' : {name: 'Backup', type: 'folder'}    ,
111     'readme' : {name: '<i class="icon-file-text grey"></i> ReadMe.txt', type: 'item'},
112     'manual' : {name: '<i class="icon-book blue"></i> Manual.html', type: 'item'}
113 }
114 tree_data_2['music']['additionalParameters'] = {
115     'children' : [
116         {name: '<i class="icon-music blue"></i> song1.ogg', type: 'item'},
117         {name: '<i class="icon-music blue"></i> song2.ogg', type: 'item'},
118         {name: '<i class="icon-music blue"></i> song3.ogg', type: 'item'},
119         {name: '<i class="icon-music blue"></i> song4.ogg', type: 'item'},
120         {name: '<i class="icon-music blue"></i> song5.ogg', type: 'item'}
121     ]
122 }
123 tree_data_2['video']['additionalParameters'] = {
124     'children' : [
125         {name: '<i class="icon-film blue"></i> movie1.avi', type: 'item'},
126         {name: '<i class="icon-film blue"></i> movie2.avi', type: 'item'},
127         {name: '<i class="icon-film blue"></i> movie3.avi', type: 'item'},
128         {name: '<i class="icon-film blue"></i> movie4.avi', type: 'item'},
129         {name: '<i class="icon-film blue"></i> movie5.avi', type: 'item'}
130     ]
131 }
132 tree_data_2['pictures']['additionalParameters'] = {
133     'children' : {
134         'wallpapers' : {name: 'Wallpapers', type: 'folder', 'icon-class':'pink'},
135         'camera' : {name: 'Camera', type: 'folder', 'icon-class':'pink'}
136     }
137 }
138 tree_data_2['pictures']['additionalParameters']['children']['wallpapers']['additionalParameters'] = {
139     'children' : [
140         {name: '<i class="icon-picture green"></i> wallpaper1.jpg', type: 'item'},
141         {name: '<i class="icon-picture green"></i> wallpaper2.jpg', type: 'item'},
142         {name: '<i class="icon-picture green"></i> wallpaper3.jpg', type: 'item'},
143         {name: '<i class="icon-picture green"></i> wallpaper4.jpg', type: 'item'}
144     ]
145 }
146 tree_data_2['pictures']['additionalParameters']['children']['camera']['additionalParameters'] = {
147     'children' : [
148         {name: '<i class="icon-picture green"></i> photo1.jpg', type: 'item'},
149         {name: '<i class="icon-picture green"></i> photo2.jpg', type: 'item'},
150         {name: '<i class="icon-picture green"></i> photo3.jpg', type: 'item'},
151         {name: '<i class="icon-picture green"></i> photo4.jpg', type: 'item'},
152         {name: '<i class="icon-picture green"></i> photo5.jpg', type: 'item'},
153         {name: '<i class="icon-picture green"></i> photo6.jpg', type: 'item'}
154     ]
155 }
156
157
158 tree_data_2['documents']['additionalParameters'] = {
159     'children' : [
160         {name: '<i class="icon-file-text red"></i> document1.pdf', type: 'item'},
161         {name: '<i class="icon-file-text grey"></i> document2.doc', type: 'item'},
162         {name: '<i class="icon-file-text grey"></i> document3.doc', type: 'item'},
163         {name: '<i class="icon-file-text red"></i> document4.pdf', type: 'item'},
164         {name: '<i class="icon-file-text grey"></i> document5.doc', type: 'item'}
165     ]
166 }
167
168 tree_data_2['backup']['additionalParameters'] = {
169     'children' : [
170         {name: '<i class="icon-archive brown"></i> backup1.zip', type: 'item'},
171         {name: '<i class="icon-archive brown"></i> backup2.zip', type: 'item'},
172         {name: '<i class="icon-archive brown"></i> backup3.zip', type: 'item'},
173         {name: '<i class="icon-archive brown"></i> backup4.zip', type: 'item'}
174     ]
175 }
176 var treeDataSource2 = new DataSourceTree({data: tree_data_2});