Loading template/app/Application.js +4 −4 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ Ext.define('Docs.Application', { Docs.App = this; Docs.Favorites.init(); Docs.Settings.init(); Docs.classState = {}; Docs.contentState = {}; Ext.create('Docs.view.Viewport'); Loading @@ -46,9 +46,9 @@ Ext.define('Docs.Application', { Docs.initEventTracking(); } setInterval(function(){ Ext.DomQuery.select('link')[4].href = "resources/css/viewport.css?" + Math.ceil(Math.random() * 100000000) }, 1000) // setInterval(function(){ // Ext.DomQuery.select('link')[4].href = "resources/css/viewport.css?" + Math.ceil(Math.random() * 100000000) // }, 1000) } }); template/app/Renderer.js +3 −3 Original line number Diff line number Diff line Loading @@ -187,8 +187,8 @@ Ext.define('Docs.Renderer', { var memberName = member.tagname + '-' + member.name, open; if (Docs.classState && Docs.classState['/api/' + this.cls.name] && Docs.classState['/api/' + this.cls.name][memberName]) { open = Docs.classState['/api/' + this.cls.name][memberName].expanded; if (Docs.contentState && Docs.contentState['/api/' + this.cls.name] && Docs.contentState['/api/' + this.cls.name][memberName]) { open = Docs.contentState['/api/' + this.cls.name][memberName].expanded; } return this.memberTpl.apply(Ext.apply({ Loading template/app/controller/Classes.js +19 −13 Original line number Diff line number Diff line /** * Controller responsible for loading classes, guides, and switching * between pages. * Controller responsible for loading classes */ Ext.define('Docs.controller.Classes', { extend: 'Docs.controller.Content', Loading Loading @@ -103,13 +102,13 @@ Ext.define('Docs.controller.Classes', { memberName = member.getAttribute('id'), baseUrl = '/api/' + this.currentCls.name; Docs.classState[baseUrl] = Docs.classState[baseUrl] || {}; Docs.classState[baseUrl][memberName] = Docs.classState[baseUrl][memberName] || {}; Docs.contentState[baseUrl] = Docs.contentState[baseUrl] || {}; Docs.contentState[baseUrl][memberName] = Docs.contentState[baseUrl][memberName] || {}; if (member.hasCls('open')) { Docs.classState[baseUrl][memberName].expanded = false; Docs.contentState[baseUrl][memberName].expanded = false; } else { Docs.classState[baseUrl][memberName].expanded = true; Docs.contentState[baseUrl][memberName].expanded = true; this.fireEvent('showMember', clsName, memberName); } member.toggleCls('open'); Loading @@ -126,8 +125,8 @@ Ext.define('Docs.controller.Classes', { cmp.body.addListener('scroll', function(cmp, el) { var baseUrl = '/api/' + this.currentCls.name; Docs.classState[baseUrl] = Docs.classState[baseUrl] || {}; Docs.classState[baseUrl]['scrollOffset'] = el.scrollTop; Docs.contentState[baseUrl] = Docs.contentState[baseUrl] || {}; Docs.contentState[baseUrl]['scrollOffset'] = el.scrollTop; }, this); } } Loading Loading @@ -180,7 +179,10 @@ Ext.define('Docs.controller.Classes', { Ext.getCmp('tree-container').show(); Ext.getCmp('tree-container').layout.setActiveItem(0); if (this.activeUrl === url) return; if (this.activeUrl === url) { this.scrollContent(); return; } this.activeUrl = url; if (!noHistory) { Loading Loading @@ -228,16 +230,20 @@ Ext.define('Docs.controller.Classes', { this.fireEvent('showClass', cls.name); } this.currentCls = cls; if (anchor) { this.getOverview().scrollToEl("#" + anchor); this.fireEvent('showMember', cls.name, anchor); } else { var baseUrl = '/api/' + cls.name, offset = (Docs.classState[baseUrl] && Docs.classState[baseUrl].scrollOffset) || 0; this.getOverview().getEl().down('.x-panel-body').scrollTo('top', offset); this.scrollContent(); } }, this.currentCls = cls; scrollContent: function() { var baseUrl = '/api/' + this.currentCls.name, offset = (Docs.contentState[baseUrl] && Docs.contentState[baseUrl].scrollOffset) || 0; this.getOverview().getEl().down('.x-panel-body').scrollTo('top', offset); } }); template/app/controller/Examples.js +1 −1 Original line number Diff line number Diff line /** * Controller for inline examples. * Controller for Examples showcase */ Ext.define('Docs.controller.Examples', { extend: 'Ext.app.Controller', Loading template/app/controller/Guides.js +39 −17 Original line number Diff line number Diff line /** * Controller for Welcome page * Guides Controller */ Ext.define('Docs.controller.Guides', { extend: 'Docs.controller.Content', Loading @@ -15,6 +15,8 @@ Ext.define('Docs.controller.Guides', { } ], cache: {}, init: function() { this.addEvents( /** Loading Loading @@ -59,6 +61,9 @@ Ext.define('Docs.controller.Guides', { } }, /** * Loads the guides index */ loadIndex: function() { Ext.getCmp('doctabs').activateTab('#/guide'); Ext.getCmp('card-panel').layout.setActiveItem('guides'); Loading @@ -73,6 +78,7 @@ Ext.define('Docs.controller.Guides', { * @param {Boolean} noHistory true to disable adding entry to browser history */ loadGuide: function(url, noHistory) { Ext.getCmp('card-panel').layout.setActiveItem('guide'); Ext.getCmp('tree-container').show(); Ext.getCmp('tree-container').layout.setActiveItem(2); Loading @@ -84,16 +90,15 @@ Ext.define('Docs.controller.Guides', { var name = url.match(/^\/guide\/(.*)$/); if (name) { if (this.cache[name[1]]) { this.showGuide(this.cache[name[1]], url, name[1]); } else { Ext.data.JsonP.request({ url: this.getBaseUrl() + "/guides/" + name[1] + "/README.js", callbackName: name[1], success: function(json) { this.getViewport().setPageTitle(json.guide.match(/<h1>(.*)<\/h1>/)[1]); Ext.getCmp("guide").update(json.guide); Docs.Syntax.highlight(Ext.get("guide")); this.fireEvent('showGuide', name[1]); this.getTree().selectUrl(url); this.cache[name[1]] = json; this.showGuide(json, url, name[1]); }, failure: function(response, opts) { this.getController('Index').showFailure("Guide <b>"+name[1]+"</b> was not found."); Loading @@ -102,5 +107,22 @@ Ext.define('Docs.controller.Guides', { }); } } }, /** * Shows guide. * * @param {Object} json Guide json * @param {String} url URL of the guide * @param {Boolean} name Name of the guide */ showGuide: function(json, url, name) { this.getViewport().setPageTitle(json.guide.match(/<h1>(.*)<\/h1>/)[1]); Ext.getCmp("guide").update(json.guide); Docs.Syntax.highlight(Ext.get("guide")); this.fireEvent('showGuide', name); this.getTree().selectUrl(url); } }); Loading
template/app/Application.js +4 −4 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ Ext.define('Docs.Application', { Docs.App = this; Docs.Favorites.init(); Docs.Settings.init(); Docs.classState = {}; Docs.contentState = {}; Ext.create('Docs.view.Viewport'); Loading @@ -46,9 +46,9 @@ Ext.define('Docs.Application', { Docs.initEventTracking(); } setInterval(function(){ Ext.DomQuery.select('link')[4].href = "resources/css/viewport.css?" + Math.ceil(Math.random() * 100000000) }, 1000) // setInterval(function(){ // Ext.DomQuery.select('link')[4].href = "resources/css/viewport.css?" + Math.ceil(Math.random() * 100000000) // }, 1000) } });
template/app/Renderer.js +3 −3 Original line number Diff line number Diff line Loading @@ -187,8 +187,8 @@ Ext.define('Docs.Renderer', { var memberName = member.tagname + '-' + member.name, open; if (Docs.classState && Docs.classState['/api/' + this.cls.name] && Docs.classState['/api/' + this.cls.name][memberName]) { open = Docs.classState['/api/' + this.cls.name][memberName].expanded; if (Docs.contentState && Docs.contentState['/api/' + this.cls.name] && Docs.contentState['/api/' + this.cls.name][memberName]) { open = Docs.contentState['/api/' + this.cls.name][memberName].expanded; } return this.memberTpl.apply(Ext.apply({ Loading
template/app/controller/Classes.js +19 −13 Original line number Diff line number Diff line /** * Controller responsible for loading classes, guides, and switching * between pages. * Controller responsible for loading classes */ Ext.define('Docs.controller.Classes', { extend: 'Docs.controller.Content', Loading Loading @@ -103,13 +102,13 @@ Ext.define('Docs.controller.Classes', { memberName = member.getAttribute('id'), baseUrl = '/api/' + this.currentCls.name; Docs.classState[baseUrl] = Docs.classState[baseUrl] || {}; Docs.classState[baseUrl][memberName] = Docs.classState[baseUrl][memberName] || {}; Docs.contentState[baseUrl] = Docs.contentState[baseUrl] || {}; Docs.contentState[baseUrl][memberName] = Docs.contentState[baseUrl][memberName] || {}; if (member.hasCls('open')) { Docs.classState[baseUrl][memberName].expanded = false; Docs.contentState[baseUrl][memberName].expanded = false; } else { Docs.classState[baseUrl][memberName].expanded = true; Docs.contentState[baseUrl][memberName].expanded = true; this.fireEvent('showMember', clsName, memberName); } member.toggleCls('open'); Loading @@ -126,8 +125,8 @@ Ext.define('Docs.controller.Classes', { cmp.body.addListener('scroll', function(cmp, el) { var baseUrl = '/api/' + this.currentCls.name; Docs.classState[baseUrl] = Docs.classState[baseUrl] || {}; Docs.classState[baseUrl]['scrollOffset'] = el.scrollTop; Docs.contentState[baseUrl] = Docs.contentState[baseUrl] || {}; Docs.contentState[baseUrl]['scrollOffset'] = el.scrollTop; }, this); } } Loading Loading @@ -180,7 +179,10 @@ Ext.define('Docs.controller.Classes', { Ext.getCmp('tree-container').show(); Ext.getCmp('tree-container').layout.setActiveItem(0); if (this.activeUrl === url) return; if (this.activeUrl === url) { this.scrollContent(); return; } this.activeUrl = url; if (!noHistory) { Loading Loading @@ -228,16 +230,20 @@ Ext.define('Docs.controller.Classes', { this.fireEvent('showClass', cls.name); } this.currentCls = cls; if (anchor) { this.getOverview().scrollToEl("#" + anchor); this.fireEvent('showMember', cls.name, anchor); } else { var baseUrl = '/api/' + cls.name, offset = (Docs.classState[baseUrl] && Docs.classState[baseUrl].scrollOffset) || 0; this.getOverview().getEl().down('.x-panel-body').scrollTo('top', offset); this.scrollContent(); } }, this.currentCls = cls; scrollContent: function() { var baseUrl = '/api/' + this.currentCls.name, offset = (Docs.contentState[baseUrl] && Docs.contentState[baseUrl].scrollOffset) || 0; this.getOverview().getEl().down('.x-panel-body').scrollTo('top', offset); } });
template/app/controller/Examples.js +1 −1 Original line number Diff line number Diff line /** * Controller for inline examples. * Controller for Examples showcase */ Ext.define('Docs.controller.Examples', { extend: 'Ext.app.Controller', Loading
template/app/controller/Guides.js +39 −17 Original line number Diff line number Diff line /** * Controller for Welcome page * Guides Controller */ Ext.define('Docs.controller.Guides', { extend: 'Docs.controller.Content', Loading @@ -15,6 +15,8 @@ Ext.define('Docs.controller.Guides', { } ], cache: {}, init: function() { this.addEvents( /** Loading Loading @@ -59,6 +61,9 @@ Ext.define('Docs.controller.Guides', { } }, /** * Loads the guides index */ loadIndex: function() { Ext.getCmp('doctabs').activateTab('#/guide'); Ext.getCmp('card-panel').layout.setActiveItem('guides'); Loading @@ -73,6 +78,7 @@ Ext.define('Docs.controller.Guides', { * @param {Boolean} noHistory true to disable adding entry to browser history */ loadGuide: function(url, noHistory) { Ext.getCmp('card-panel').layout.setActiveItem('guide'); Ext.getCmp('tree-container').show(); Ext.getCmp('tree-container').layout.setActiveItem(2); Loading @@ -84,16 +90,15 @@ Ext.define('Docs.controller.Guides', { var name = url.match(/^\/guide\/(.*)$/); if (name) { if (this.cache[name[1]]) { this.showGuide(this.cache[name[1]], url, name[1]); } else { Ext.data.JsonP.request({ url: this.getBaseUrl() + "/guides/" + name[1] + "/README.js", callbackName: name[1], success: function(json) { this.getViewport().setPageTitle(json.guide.match(/<h1>(.*)<\/h1>/)[1]); Ext.getCmp("guide").update(json.guide); Docs.Syntax.highlight(Ext.get("guide")); this.fireEvent('showGuide', name[1]); this.getTree().selectUrl(url); this.cache[name[1]] = json; this.showGuide(json, url, name[1]); }, failure: function(response, opts) { this.getController('Index').showFailure("Guide <b>"+name[1]+"</b> was not found."); Loading @@ -102,5 +107,22 @@ Ext.define('Docs.controller.Guides', { }); } } }, /** * Shows guide. * * @param {Object} json Guide json * @param {String} url URL of the guide * @param {Boolean} name Name of the guide */ showGuide: function(json, url, name) { this.getViewport().setPageTitle(json.guide.match(/<h1>(.*)<\/h1>/)[1]); Ext.getCmp("guide").update(json.guide); Docs.Syntax.highlight(Ext.get("guide")); this.fireEvent('showGuide', name); this.getTree().selectUrl(url); } });