summaryrefslogtreecommitdiff
path: root/client/js/controllers/page_controller.js
diff options
context:
space:
mode:
authorrr- <rr-@sakuya.pl>2016-06-12 22:02:15 +0200
committerrr- <rr-@sakuya.pl>2016-06-12 22:02:15 +0200
commit0547ec5aa2be7bfc90fe67a31b72951324c95cb5 (patch)
tree70c41cda287b4f620420a6346041cee362bc7967 /client/js/controllers/page_controller.js
parent95b3b09cbc7e0b75a136f45d8ed285b3b86753b4 (diff)
client/paging: remember results in history
Diffstat (limited to 'client/js/controllers/page_controller.js')
-rw-r--r--client/js/controllers/page_controller.js16
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();
}