diff options
| author | rr- <rr-@sakuya.pl> | 2016-06-12 22:02:15 +0200 |
|---|---|---|
| committer | rr- <rr-@sakuya.pl> | 2016-06-12 22:02:15 +0200 |
| commit | 0547ec5aa2be7bfc90fe67a31b72951324c95cb5 (patch) | |
| tree | 70c41cda287b4f620420a6346041cee362bc7967 /client/js/controllers/page_controller.js | |
| parent | 95b3b09cbc7e0b75a136f45d8ed285b3b86753b4 (diff) | |
client/paging: remember results in history
Diffstat (limited to 'client/js/controllers/page_controller.js')
| -rw-r--r-- | client/js/controllers/page_controller.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/client/js/controllers/page_controller.js b/client/js/controllers/page_controller.js index 9f3b51d..2047484 100644 --- a/client/js/controllers/page_controller.js +++ b/client/js/controllers/page_controller.js @@ -37,6 +37,22 @@ class PageController { this._pageView.render(ctx); } + createHistoryCacheProxy(routerCtx, requestPage) { + return page => { + if (routerCtx.state.response) { + return new Promise((resolve, reject) => { + resolve(routerCtx.state.response); + }); + } + const promise = requestPage(page); + promise.then(response => { + routerCtx.state.response = response; + routerCtx.save(); + }); + return promise; + }; + } + stop() { this._pageView.unrender(); } |