610c87f6270fff62b2eb003ccce174ed248f96f9
[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                         this.menu.show(this.menu.triggerEl,'?', false);
78                     }
79                     
80                     Roo.docs.init.loadDoc(c);
81                     
82                 }).createDelegate(this,[e], true)
83                 
84             },
85             fa :  e.cn.length  ? 'chevron-right' : '',
86             menu : !e.cn.length ? false  : Roo.factory({
87                 type : 'treeview',
88                 xns: Roo.bootstrap,
89                 xtype : 'Menu',
90                 listeners : {
91                     beforehide : (function(mi,ev,c)
92                     {
93                         
94                          return false;
95                         
96                     }).createDelegate(this,[e], true)
97                     
98                 }
99                 
100             })
101         }));
102         parent.items.push(node);
103         if (e.cn.length  && type == 'NavSidebarItem') {
104             this.topm = node.menu;
105         }
106         
107         
108         if (!e.cn.length) {
109             return;
110         }
111         e.cn.forEach(function(ec) {
112             var cn = ec.name.split('.').pop();
113             Roo.log(cn);
114             if (cn == cn.toLowerCase()) {
115                 this.addTreeItem(node.menu, ec,'MenuItem');
116             }
117             
118         }, this);
119         e.cn.forEach(function(ec) {
120             var cn = ec.name.split('.').pop();
121             if (cn != cn.toLowerCase()) {
122                 this.addTreeItem(node.menu, ec,'MenuItem');
123             }
124         }, this);
125         
126     },
127     loadDoc : function(cls)
128     {
129         Roo.docs.doc_body_content.hide();
130         this.currentClass = cls.name;
131         if (!cls.is_class) {
132             return;
133         }
134         Roo.docs.doc_body_content.show();
135         Roo.Ajax.request({
136             url : 'symbols/' + cls.name + '.json',
137             method : 'GET',
138             success : function(res, o)
139             {
140                 var d = Roo.decode(res.responseText);
141                 this.fillDoc(d);
142                 
143             },
144             scope : this
145         });
146         
147         
148     },
149     fillDoc : function(d)
150     {
151         /*{
152             "name" : "Roo.bootstrap.Progress",
153             "augments" : [
154               "Roo.bootstrap.Component",
155               "Roo.Component",
156               "Roo.util.Observable"
157             ],
158             "desc" : "Bootstrap Progress class",
159             "config" : [
160               {
161         */
162         document.body.scrollTop  = 0;
163         for (var k in d) {
164             if (typeof(Roo.docs['doc_' + k])  !=  'undefined') {
165                 Roo.docs['doc_' + k].el.dom.innerHTML = d[k].split("\n").join("<br/>");
166             }
167         }
168         Roo.docs.doc_extends.hide();
169         Roo.docs.doc_extends_sep.hide();
170         if (d.augments.length) {
171             Roo.docs.doc_extends.show();
172             Roo.docs.doc_extends_sep.show();
173             Roo.docs.doc_extends.el.dom.innerHTML = d.augments[0];
174         }
175         Roo.docs.doc_source.el.dom.innerHTML = d.name.replace(/\./g,"/") + ".js";
176         
177         if (d.augments.length) {
178             Roo.docs.augments.show();
179             Roo.docs.augments.bodyEl().dom.innerHTML = Roo.docs.template.augments(d);
180         } else {
181             Roo.docs.augments.hide();
182         }
183         
184         
185         
186         Roo.docs.configTableContainer.hide();
187         Roo.docs.methodsTableContainer.hide();
188         Roo.docs.eventsTableContainer.hide();
189         if (d.config.length) {
190             Roo.docs.configTableContainer.show();
191             Roo.docs.configTable.store.load( { params : { data : d.config.sort(Roo.docs.template.makeSortby("name")) }});
192         } 
193         
194         if (d.methods.length) {
195             Roo.docs.methodsTable.store.load( { params : { data : Roo.docs.template.methodsSort(d) }});
196             Roo.docs.methodsTableContainer.show();
197         }
198         if (d.events.length) {
199             Roo.docs.eventsTable.store.load( { params : { data : d.events.sort(Roo.docs.template.makeSortby("name")) }});
200             Roo.docs.eventsTableContainer.show();
201         }
202         
203         
204     }
205     
206     
207     
208     
209 };
210
211
212 Roo.onReady(Roo.docs.init.onReady, Roo.docs.init);
213     
214