diff --git a/template/app/controller/Classes.js b/template/app/controller/Classes.js index e3a9d68f1b05e3b2e120e906bdd8e1a31b7425a2..b6a2728c0ee88fd63fc74f6bbf4a3da2a99ef9a8 100644 --- a/template/app/controller/Classes.js +++ b/template/app/controller/Classes.js @@ -140,6 +140,12 @@ Ext.define('Docs.controller.Classes', { preventDefault: true, delegate: '.not-expandable' }); + + 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; + }, this); } } }); @@ -249,7 +255,9 @@ Ext.define('Docs.controller.Classes', { this.getOverview().scrollToEl("#" + anchor); this.fireEvent('showMember', cls.name, anchor); } else { - this.getOverview().getEl().down('.x-panel-body').scrollTo('top', 0); + 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.currentCls = cls; diff --git a/template/app/view/Tabs.js b/template/app/view/Tabs.js index ab6e95057bb7a68f09bc1f97325aa0b449fe022a..887b06aec76d4b5df7e80a85c01107d0dcd9e151 100644 --- a/template/app/view/Tabs.js +++ b/template/app/view/Tabs.js @@ -100,7 +100,7 @@ Ext.define('Docs.view.Tabs', { } if (idx == this.activeTab) { if (this.openTabs.length == 0) { - // Go to home screen + Docs.App.getController('Classes').loadIndex(); } else { if (idx == this.openTabs.length) idx -= 1; Docs.App.getController('Classes').handleUrlClick(this.openTabs[idx], {});