07f4483f24091e1aa5946cdc8626c77bf7187a16
[roojs1] / docs2 / Roo.docs.init.js
1
2
3 Roo.docs.init = {
4     
5     onReady : function()
6     {
7        
8         //if (typeof(pagedata) == 'undefined') {
9         //    Site.onReady.defer(100, Roo.docs.init);
10         //    return;
11         //}
12         //Roo.debug = 1;
13         
14         Roo.XComponent.hideProgress = true;
15         Roo.XComponent.build();
16         
17         
18         
19         
20         Roo.XComponent.on('buildcomplete', function() {
21             
22             //Roo.XComponent.modules[0].el.fireEvent('render');
23              this.loadTree();
24         }, this);
25         
26       
27         
28     },
29     
30     loadTree: function()
31     {
32         Roo.docs.doc_body_content.hide();
33         
34         Roo.Ajax.request({
35             url : 'tree.json',
36             method : 'GET',
37             success : function(res, o)
38             {
39                 var d = Roo.decode(res.responseText);
40                 Roo.log(d);
41                 d.forEach(function(e) {
42                     if (e.cn.length) {
43                         this.addTreeItem(Roo.docs.navGroup, e, 'NavSidebarItem');
44                     }
45                 }, this);
46                 d.forEach(function(e) {
47                     if (!e.cn.length) {
48                         this.addTreeItem(Roo.docs.navGroup, e, 'NavSidebarItem');
49                     }
50                 }, this);
51                 var roo = Roo.docs.navGroup.items[1].menu;
52                 roo.show(roo.triggerEl, '?', false);
53                 
54             },
55             scope : this
56         });
57         
58         
59     },
60     addTreeItem : function(parent, e, type) {
61         // add a node..
62         var node = parent.addxtypeChild(Roo.factory({
63             html: e.name.split('.').pop(),
64             id : e.name,
65             xns : Roo.bootstrap,
66             xtype : type,
67             preventDefault : true,
68           //  cls : type == 'NavSidebarItem' ? 'open' : '',
69             listeners : {
70                 click : (function(mi,ev,c)
71                 {
72                     
73                     ev.stopPropagation();
74                      
75                     if (c.cn.length) {
76                         Roo.log(ev);
77                         if (mi.menu.el.hasClass('show')) {
78                             mi.menu.hide();
79                         } else {
80                             mi.menu.show(mi.menu.triggerEl,'?', false);
81                         }
82                         
83                     }
84                     
85                     Roo.docs.init.loadDoc(c);
86                     
87                 }).createDelegate(this,[e], true)
88                 
89             },
90             fa :  e.cn.length  ? 'chevron-right' : '',
91             menu : !e.cn.length ? false  : Roo.factory({
92                 type : 'treeview',
93                 xns: Roo.bootstrap,
94                 xtype : 'Menu',
95                 listeners : {
96                     beforehide : (function(mi,c)
97                     {
98                         if (c.name.split('.').length < 2) {
99                             return false;
100                         }
101                         return true;
102                         
103                     }).createDelegate(this,[e], true)
104                     
105                 }
106                 
107             })
108         }));
109         parent.items.push(node);
110         if (e.cn.length  && type == 'NavSidebarItem') {
111             this.topm = node.menu;
112         }
113         
114         
115         if (!e.cn.length) {
116             return;
117         }
118         e.cn.forEach(function(ec) {
119             var cn = ec.name.split('.').pop();
120             Roo.log(cn);
121             if (cn == cn.toLowerCase()) {
122                 this.addTreeItem(node.menu, ec,'MenuItem');
123             }
124             
125         }, this);
126         e.cn.forEach(function(ec) {
127             var cn = ec.name.split('.').pop();
128             if (cn != cn.toLowerCase()) {
129                 this.addTreeItem(node.menu, ec,'MenuItem');
130             }
131         }, this);
132         
133     },
134     loadDoc : function(cls)
135     {
136         Roo.docs.doc_body_content.hide();
137         this.currentClass = cls.name;
138         if (!cls.is_class) {
139             return;
140         }
141         Roo.docs.doc_body_content.show();
142         Roo.Ajax.request({
143             url : 'symbols/' + cls.name + '.json',
144             method : 'GET',
145             success : function(res, o)
146             {
147                 var d = Roo.decode(res.responseText);
148                 this.fillDoc(d);
149                 
150             },
151             scope : this
152         });
153         
154         
155     },
156     fillDoc : function(d)
157     {
158         /*{
159             "name" : "Roo.bootstrap.Progress",
160             "augments" : [
161               "Roo.bootstrap.Component",
162               "Roo.Component",
163               "Roo.util.Observable"
164             ],
165             "desc" : "Bootstrap Progress class",
166             "config" : [
167               {
168         */
169         document.body.scrollTop  = 0;
170         for (var k in d) {
171             if (typeof(Roo.docs['doc_' + k])  !=  'undefined') {
172                 Roo.docs['doc_' + k].el.dom.innerHTML = d[k].split("\n").join("<br/>");
173             }
174         }
175         Roo.docs.doc_extends.hide();
176         Roo.docs.doc_extends_sep.hide();
177         if (d.augments.length) {
178             Roo.docs.doc_extends.show();
179             Roo.docs.doc_extends_sep.show();
180             Roo.docs.doc_extends.el.dom.innerHTML = d.augments[0];
181         }
182         Roo.docs.doc_source.el.dom.innerHTML = d.name.replace(/\./g,"/") + ".js";
183         
184         if (d.augments.length) {
185             Roo.docs.augments.show();
186             Roo.docs.augments.bodyEl().dom.innerHTML = Roo.docs.template.augments(d);
187         } else {
188             Roo.docs.augments.hide();
189         }
190         
191         
192         
193         Roo.docs.configTableContainer.hide();
194         Roo.docs.methodsTableContainer.hide();
195         Roo.docs.eventsTableContainer.hide();
196         if (d.config.length) {
197             Roo.docs.configTableContainer.show();
198             Roo.docs.configTable.store.load( { params : { data : d.config.sort(Roo.docs.template.makeSortby("name")) }});
199         } 
200         
201         if (d.methods.length) {
202             Roo.docs.methodsTable.store.load( { params : { data : Roo.docs.template.methodsSort(d) }});
203             Roo.docs.methodsTableContainer.show();
204         }
205         if (d.events.length) {
206             Roo.docs.eventsTable.store.load( { params : { data : d.events.sort(Roo.docs.template.makeSortby("name")) }});
207             Roo.docs.eventsTableContainer.show();
208         }
209         
210         
211     }
212     
213     
214     
215     
216 };
217
218
219 Roo.onReady(Roo.docs.init.onReady, Roo.docs.init);
220     
221