X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=docs%2FRoo.docs.init.js;h=87a02040e5cea28cbc84598ed49bd8bd87be9f5d;hb=75cbc4ce04c9c01ac47671cb01320ce699128d00;hp=b315fb87e5d758a4b4b190609ec17bdcc1284f79;hpb=d199aa8ed399874c753aa414c52dc3819a24e6de;p=roojs1 diff --git a/docs/Roo.docs.init.js b/docs/Roo.docs.init.js index b315fb87e5..87a02040e5 100644 --- a/docs/Roo.docs.init.js +++ b/docs/Roo.docs.init.js @@ -3,39 +3,35 @@ Roo.docs.init = { classes : false, // flat version of list of classes - currentClass : '', // currently viewed class name + currentClass : '--none--', // currently viewed class name + prefix : '', hash : '', onReady : function() { - //if (typeof(pagedata) == 'undefined') { - // Site.onReady.defer(100, Roo.docs.init); - // return; - //} - //Roo.debug = 1; Roo.XComponent.hideProgress = true; Roo.XComponent.build(); - - - + Roo.XComponent.on('buildcomplete', function() { //Roo.XComponent.modules[0].el.fireEvent('render'); this.loadTree(); + if (window.location.search.length > 0) { + Roo.docs.roo_title.el.dom.innerHTML = "Flutter Documentation"; + } + }, this); - + if (window.location.search.length > 0) { + this.prefix = "/flutter/"; + + } window.onhashchange = function() { Roo.docs.init.onHashChange(); } - - - - - //Roo.get(document.body).on('click', this.onClick, this); - + }, @@ -44,28 +40,50 @@ Roo.docs.init = { Roo.docs.doc_body_content.hide(); Roo.Ajax.request({ - url : 'tree.json', + url : this.prefix + 'tree.json', method : 'GET', success : function(res, o) { var d = Roo.decode(res.responseText); - Roo.log(d); + //Roo.log(d); this.classes = {}; + + d = d.sort(Roo.docs.template.makeSortby("name")); + // our classes witch children first.. d.forEach(function(e) { if (e.cn.length) { - this.addTreeItem(Roo.docs.navGroup, e, 'NavSidebarItem'); + this.addTreeItem(Roo.docs.navGroup, e, 'NavSidebarItem', true ); + + } + }, this); + + d.forEach(function(e) { + if (!e.cn.length) { + this.addTreeItem(Roo.docs.navGroup, e, 'NavSidebarItem' ,true); + } + }, this); + + // mobile.... + + d.forEach(function(e) { + if (e.cn.length) { + this.addTreeItem(Roo.docs.mobileNavGroup, e, 'NavSidebarItem', false); } }, this); d.forEach(function(e) { if (!e.cn.length) { - this.addTreeItem(Roo.docs.navGroup, e, 'NavSidebarItem'); + this.addTreeItem(Roo.docs.mobileNavGroup, e, 'NavSidebarItem', false); } }, this); + var roo = Roo.docs.navGroup.items[1].menu; - roo.show(roo.triggerEl, '?', false); + if (!Roo.docs.init.prefix.length) { + roo.show(roo.triggerEl, '?', false); + } + if (location.hash.length) { this.loadHash(); return; @@ -106,13 +124,12 @@ Roo.docs.init = { preventDefault : true, // cls : type == 'NavSidebarItem' ? 'open' : '', listeners : { - click : (function(mi,ev,c) + click : (function(mi,ev, c) { - - ev.stopPropagation(); + ev.stopEvent(); - if (c.cn.length) { - Roo.log(ev); + if (c.cn.length && mi.xtype == 'MenuItem') { + //Roo.log(ev); if (mi.menu.el.hasClass('show')) { this.hideChildren(c); //mi.menu.hide(); // collapse children.. @@ -136,9 +153,13 @@ Roo.docs.init = { xns: Roo.bootstrap, xtype : 'Menu', listeners : { - beforehide : (function(mi,c) + beforehide : (function(mi, c) { - if (c.name.split('.').length < 2) { + if (Roo.docs.init.prefix.length) { + return; + } + + if ( c.name.split('.').length < 2) { return false; } return true; @@ -149,9 +170,20 @@ Roo.docs.init = { }) })); - e.node = node; - e.parent_menu = parent; - e.parent = parent_e; + + // mobile nodes..? + + + + + + + if (parent_e !== false) { + e.node = node; + e.parent_menu = parent; + e.parent = parent_e == true ? null : parent_e; + } + parent.items.push(node); if (e.cn.length && type == 'NavSidebarItem') { this.topm = node.menu; @@ -163,16 +195,16 @@ Roo.docs.init = { } e.cn.forEach(function(ec) { var cn = ec.name.split('.').pop(); - Roo.log(cn); + //Roo.log(cn); if (cn == cn.toLowerCase()) { - this.addTreeItem(node.menu, ec,'MenuItem', e); + this.addTreeItem(node.menu, ec,'MenuItem', parent_e !== false ? e : false); } }, this); e.cn.forEach(function(ec) { var cn = ec.name.split('.').pop(); if (cn != cn.toLowerCase()) { - this.addTreeItem(node.menu, ec,'MenuItem', e); + this.addTreeItem(node.menu, ec,'MenuItem', parent_e !== false ? e : false); } }, this); @@ -211,7 +243,13 @@ Roo.docs.init = { loadDoc : function(cls) { + if (this.currentClass == cls.name) { + return; + } + //Roo.docs.mobileNavGroup.hide(); + Roo.log("loadDoc?"); Roo.docs.doc_body_content.hide(); + Roo.docs.navHeaderBar.collapse(); this.currentClass = cls.name; if (!cls ) { Roo.docs.introBody.show(); @@ -234,20 +272,103 @@ Roo.docs.init = { Roo.docs.introBody.hide(); Roo.docs.doc_body_content.show(); Roo.Ajax.request({ - url : 'symbols/' + cls.name + '.json', + url : this.prefix + 'symbols/' + cls.name + '.json', method : 'GET', success : function(res, o) { + var d = Roo.decode(res.responseText); + + if (typeof(d.augments) == 'undefined') { + d.augments = []; + d.config = []; // props for ctor? + d.isFlutter = true; + d.config= d.props; // hack.. + Roo.docs.init.n = 0; + this.fillAugments(d, d.extends, Roo.docs.init.fillDoc); + return; + } this.fillDoc(d); + + }, scope : this }); + }, + n : 0, + fillAugments : function(d, ext, cb ) + { + Roo.docs.init.n++; + if (Roo.docs.init.n > 20) { + return; + } + if (!ext.length) { + cb(d); + return; + } + var next = ext.shift(); + d.augments.push(next); + var ax = new Roo.data.Connection({}); + ax.request({ + url : this.prefix + 'symbols/' + next + '.json', + method : 'GET', + success : function(res, o) + { + + var r = Roo.decode(res.responseText); + + + // copy methods that are not constructors.. + + r.methods.forEach(function(m) { + + if (d.methods.find(function(e) { + return e.name == m.name; + })) { + return; + } + if (m.isConstructor || m.static) { + return; + } + d.methods.push(m); + }); + + r.props.forEach(function(m) { + if (m.isConstant) { + return; + } + if (d.props.find(function(e) { + return e.name == m.name; + })) { + return; + } + + d.props.push(m); + }); + + r.events.forEach(function(m) { + if (d.events.find(function(e) { + return e.name == m.name; + })) { + return; + } + d.events.push(m); + }); + + + + this.fillAugments(d,ext, cb) + + }, + scope : this + }); }, + + fillDoc : function(d) { /*{ @@ -261,20 +382,33 @@ Roo.docs.init = { "config" : [ { */ - document.body.scrollTop = 0; - for (var k in d) { - if (typeof(Roo.docs['doc_' + k]) != 'undefined') { - Roo.docs['doc_' + k].el.dom.innerHTML = Roo.docs.template.resolveLinks(d[k]);; - } + + Roo.docs.classType.el.dom.firstChild.textContent = 'Class '; + if (d.isAbstract) { + Roo.docs.classType.el.dom.firstChild.textContent = 'abstract class '; + } + if (d.is_enum) { + Roo.docs.classType.el.dom.firstChild.textContent = 'enum '; } + if (d.is_mixin) { + Roo.docs.classType.el.dom.firstChild.textContent = 'mixin '; + } + document.body.scrollTop = 0; + Roo.docs.doc_name.el.dom.innerHTML = Roo.docs.template.resolveLinks(d.name); + Roo.docs.doc_desc.el.dom.innerHTML = Roo.docs.template.summary(d); Roo.docs.doc_extends.hide(); Roo.docs.doc_extends_sep.hide(); if (d.augments.length) { Roo.docs.doc_extends.show(); Roo.docs.doc_extends_sep.show(); Roo.docs.doc_extends.el.dom.innerHTML = d.augments[0]; + Roo.docs.doc_extends.el.dom.href= '#' + d.augments[0]; } Roo.docs.doc_source.el.dom.innerHTML = d.name.replace(/\./g,"/") + ".js"; + if (Roo.docs.init.prefix.length) { + Roo.docs.doc_source_row.hide(); + } + if (d.augments.length) { Roo.docs.augments.show(); @@ -283,6 +417,19 @@ Roo.docs.init = { Roo.docs.augments.hide(); } + if (d.childClasses && typeof(d.childClasses[d.name]) != 'undefined') { + Roo.docs.implementors.show(); + Roo.docs.implementors.bodyEl().dom.innerHTML = Roo.docs.template.implementors(d); + } else { + Roo.docs.implementors.hide(); + } + + if (d.tree_children && d.tree_children.length > 0) { + Roo.docs.doc_children.show(); + Roo.docs.doc_children.bodyEl().dom.innerHTML = Roo.docs.template.doc_children(d); + } else { + Roo.docs.doc_children.hide(); + } Roo.docs.configTableContainer.hide(); @@ -329,7 +476,7 @@ Roo.docs.init = { loadHash : function() { if (location.hash.length < 2) { - this.loadClass(''); + this.loadDoc(false); } this.loadClass(location.hash.substring(1)); this.hash = location.hash; @@ -372,14 +519,14 @@ Roo.docs.init = { var sm = line.match(/^(\s+)(.*)/); var sml = sm ? sm[1].length: 0; - Roo.log(sml); + //Roo.log(sml); sml = sml / 4; // 4 spaces indent? var add = { name : sm ? sm[2] : line, cn : [] }; state[sml].cn.push(add); state[sml+1] = add; } - Roo.log(tree); + //Roo.log(tree); for(var i = 0; i < tree.cn.length; i++) { // make a container.. @@ -426,7 +573,7 @@ Roo.docs.init = { if (treeiii.name == 'Examples') { for (var j =0;j< treeiii.cn.length; j++) { var exs = treeiii.cn[j].name.match(/^\[([^\]]+)\](.*)$/); - footer += '
  • '+exs[2] + '
  • '; + footer += '
  • '+exs[2] + '
  • '; } continue; @@ -444,7 +591,7 @@ Roo.docs.init = { xtype : 'Link', href : '#' + ( ll ? ll[1] : treeiii.name ) , html : ll ? ll[1] : treeiii.name, - target : "_new", + xns : Roo.bootstrap }, { @@ -462,7 +609,7 @@ Roo.docs.init = { } if (footer.length) { - Roo.log("footer:"+ footer); + //Roo.log("footer:"+ footer); ctreei.footer = '
    Examples:
    '; }