summaryrefslogtreecommitdiff
path: root/client/js/views/endless_page_view.js
diff options
context:
space:
mode:
authorrr- <rr-@sakuya.pl>2016-04-17 09:24:05 +0200
committerrr- <rr-@sakuya.pl>2016-04-17 09:24:05 +0200
commita197368bc54d0dab3db50cd8e05d15efebd58796 (patch)
tree7c731814f1f1f6a5f2c9ecc3fcdd90162d3a9ffc /client/js/views/endless_page_view.js
parent0bc45e9c45ec92192f23079a3a1a3cb6e8d8c9e8 (diff)
client/paging: fix endless pager issues
Diffstat (limited to 'client/js/views/endless_page_view.js')
-rw-r--r--client/js/views/endless_page_view.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/client/js/views/endless_page_view.js b/client/js/views/endless_page_view.js
index 84cc283..2b00fe8 100644
--- a/client/js/views/endless_page_view.js
+++ b/client/js/views/endless_page_view.js
@@ -17,6 +17,7 @@ class EndlessPageView {
const pagesHolder = source.querySelector('.pages-holder');
views.listenToMessages(target);
views.showView(target, source);
+ this.active = true;
let headerRendererCtx = ctx;
headerRendererCtx.target = pageHeaderHolder;
@@ -90,6 +91,7 @@ class EndlessPageView {
}
unrender() {
+ this.active = false;
window.removeEventListener('scroll', this.updater, true);
}
@@ -104,6 +106,9 @@ class EndlessPageView {
}
ctx.requestPage(pageNumber).then(response => {
+ if (!this.active) {
+ return;
+ }
this.totalPages = Math.ceil(response.total / response.pageSize);
if (response.total) {
const pageNode = this.pageTemplate({
@@ -132,7 +137,7 @@ class EndlessPageView {
}
this.fetching = false;
- this.updater();
+ window.setTimeout(() => { this.updater(); }, 10);
if (response.total <= (pageNumber - 1) * response.pageSize) {
events.notify(events.Info, 'No data to show');