X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..530ef4b6c5b943cfa68b779d11cf7de29aa878bf:/docs/resources/docs.js diff --git a/docs/resources/docs.js b/docs/resources/docs.js index 0c15f186..7f120a2f 100644 --- a/docs/resources/docs.js +++ b/docs/resources/docs.js @@ -1,9 +1,3 @@ -/*! - * Ext JS Library 3.0.0 - * Copyright(c) 2006-2009 Ext JS, LLC - * licensing@extjs.com - * http://www.extjs.com/license - */ Ext.BLANK_IMAGE_URL = 'resources/s.gif'; Docs = {}; @@ -13,6 +7,7 @@ ApiPanel = function() { id:'api-tree', region:'west', split:true, + header: false, width: 280, minSize: 175, maxSize: 500, @@ -46,6 +41,69 @@ ApiPanel = function() { }; Ext.extend(ApiPanel, Ext.tree.TreePanel, { + initComponent: function(){ + this.hiddenPkgs = []; + Ext.apply(this, { + tbar:[ ' ', + new Ext.form.TextField({ + width: 200, + emptyText:'Find a Class', + enableKeyEvents: true, + listeners:{ + render: function(f){ + this.filter = new Ext.tree.TreeFilter(this, { + clearBlank: true, + autoClear: true + }); + }, + keydown: { + fn: this.filterTree, + buffer: 350, + scope: this + }, + scope: this + } + }), ' ', ' ', + { + iconCls: 'icon-expand-all', + tooltip: 'Expand All', + handler: function(){ this.root.expand(true); }, + scope: this + }, '-', { + iconCls: 'icon-collapse-all', + tooltip: 'Collapse All', + handler: function(){ this.root.collapse(true); }, + scope: this + }] + }) + ApiPanel.superclass.initComponent.call(this); + }, + filterTree: function(t, e){ + var text = t.getValue(); + Ext.each(this.hiddenPkgs, function(n){ + n.ui.show(); + }); + if(!text){ + this.filter.clear(); + return; + } + this.expandAll(); + + var re = new RegExp('^' + Ext.escapeRe(text), 'i'); + this.filter.filterBy(function(n){ + return !n.attributes.isClass || re.test(n.text); + }); + + // hide empty packages that weren't filtered + this.hiddenPkgs = []; + var me = this; + this.root.cascade(function(n){ + if(!n.attributes.isClass && n.ui.ctNode.offsetHeight < 3){ + n.ui.hide(); + me.hiddenPkgs.push(n); + } + }); + }, selectClass : function(cls){ if(cls){ var parts = cls.split('.'); @@ -75,19 +133,66 @@ Ext.extend(ApiPanel, Ext.tree.TreePanel, { DocPanel = Ext.extend(Ext.Panel, { closable: true, autoScroll:true, - + initComponent : function(){ var ps = this.cclass.split('.'); this.title = ps[ps.length-1]; - + Ext.apply(this,{ + tbar: ['->',{ + text: 'Config Options', + handler: this.scrollToMember.createDelegate(this, ['configs']), + iconCls: 'icon-config' + },'-',{ + text: 'Properties', + handler: this.scrollToMember.createDelegate(this, ['props']), + iconCls: 'icon-prop' + }, '-',{ + text: 'Methods', + handler: this.scrollToMember.createDelegate(this, ['methods']), + iconCls: 'icon-method' + }, '-',{ + text: 'Events', + handler: this.scrollToMember.createDelegate(this, ['events']), + iconCls: 'icon-event' + }, '-',{ + text: 'Direct Link', + handler: this.directLink, + scope: this, + iconCls: 'icon-fav' + }, '-',{ + tooltip:'Hide Inherited Members', + iconCls: 'icon-hide-inherited', + enableToggle: true, + scope: this, + toggleHandler : function(b, pressed){ + this.body[pressed ? 'addClass' : 'removeClass']('hide-inherited'); + } + }, '-', { + tooltip:'Expand All Members', + iconCls: 'icon-expand-members', + enableToggle: true, + scope: this, + toggleHandler : function(b, pressed){ + this.body[pressed ? 'addClass' : 'removeClass']('full-details'); + } + }] + }); DocPanel.superclass.initComponent.call(this); }, + directLink : function(){ + var link = String.format( + "{0}", + document.location.href+'?class='+this.cclass + ); + Ext.Msg.alert('Direct Link to ' + this.cclass,link); + }, + scrollToMember : function(member){ var el = Ext.fly(this.cclass + '-' + member); if(el){ var top = (el.getOffsetsTo(this.body)[1]) + this.body.dom.scrollTop; - this.body.scrollTo('top', top-25, {duration:.75, callback: this.hlMember.createDelegate(this, [member])}); + this.body.scrollTo('top', top-25, {duration:0.75, callback: this.hlMember.createDelegate(this, [member])}); } }, @@ -95,8 +200,8 @@ DocPanel = Ext.extend(Ext.Panel, { var el = Ext.getDom(id); if(el){ var top = (Ext.fly(el).getOffsetsTo(this.body)[1]) + this.body.dom.scrollTop; - this.body.scrollTo('top', top-25, {duration:.5, callback: function(){ - Ext.fly(el).next('h2').pause(.2).highlight('#8DB2E3', {attr:'color'}); + this.body.scrollTo('top', top-25, {duration:0.5, callback: function(){ + Ext.fly(el).next('h2').pause(0.2).highlight('#8DB2E3', {attr:'color'}); }}); } }, @@ -104,7 +209,9 @@ DocPanel = Ext.extend(Ext.Panel, { hlMember : function(member){ var el = Ext.fly(this.cclass + '-' + member); if(el){ - el.up('tr').highlight('#cadaf9'); + if (tr = el.up('tr')) { + tr.highlight('#cadaf9'); + } } } }); @@ -229,7 +336,7 @@ Ext.extend(MainPanel, Ext.TabPanel, { '', '
', '', - '{member}', + '{member}', ' ', '{cls}', '

{doc}

', @@ -280,59 +387,17 @@ Ext.onReady(function(){ api.selectClass(tab.cclass); }); - var hd = new Ext.Panel({ - border: false, - layout:'anchor', - region:'north', - cls: 'docs-header', - height:60, - items: [{ + var viewport = new Ext.Viewport({ + layout:'border', + items:[ { + cls: 'docs-header', + height: 36, + region:'north', xtype:'box', el:'header', border:false, - anchor: 'none -25' - }, - new Ext.Toolbar({ - cls:'top-toolbar', - items:[ ' ', - new Ext.form.TextField({ - width: 200, - emptyText:'Find a Class', - listeners:{ - render: function(f){ - f.el.on('keydown', filterTree, f, {buffer: 350}); - } - } - }), ' ', ' ', - { - iconCls: 'icon-expand-all', - tooltip: 'Expand All', - handler: function(){ api.root.expand(true); } - }, '-', { - iconCls: 'icon-collapse-all', - tooltip: 'Collapse All', - handler: function(){ api.root.collapse(true); } - }, '->', { - tooltip:'Hide Inherited Members', - iconCls: 'icon-hide-inherited', - enableToggle: true, - toggleHandler : function(b, pressed){ - mainPanel[pressed ? 'addClass' : 'removeClass']('hide-inherited'); - } - }, '-', { - tooltip:'Expand All Members', - iconCls: 'icon-expand-members', - enableToggle: true, - toggleHandler : function(b, pressed){ - mainPanel[pressed ? 'addClass' : 'removeClass']('full-details'); - } - }] - })] - }) - - var viewport = new Ext.Viewport({ - layout:'border', - items:[ hd, api, mainPanel ] + margins: '0 0 5 0' + }, api, mainPanel ] }); api.expandPath('/root/apidocs'); @@ -352,37 +417,6 @@ Ext.onReady(function(){ Ext.get('loading-mask').fadeOut({remove:true}); }, 250); - var filter = new Ext.tree.TreeFilter(api, { - clearBlank: true, - autoClear: true - }); - var hiddenPkgs = []; - function filterTree(e){ - var text = e.target.value; - Ext.each(hiddenPkgs, function(n){ - n.ui.show(); - }); - if(!text){ - filter.clear(); - return; - } - api.expandAll(); - - var re = new RegExp('^' + Ext.escapeRe(text), 'i'); - filter.filterBy(function(n){ - return !n.attributes.isClass || re.test(n.text); - }); - - // hide empty packages that weren't filtered - hiddenPkgs = []; - api.root.cascade(function(n){ - if(!n.attributes.isClass && n.ui.ctNode.offsetHeight < 3){ - n.ui.hide(); - hiddenPkgs.push(n); - } - }); - } - }); @@ -635,4 +669,4 @@ Ext.Ajax.on('requestcomplete', function(ajax, xhr, o){ if(typeof urchinTracker == 'function' && o && o.url){ urchinTracker(o.url); } -}); \ No newline at end of file +});