Try to fix afterwards loading of cards by adding

fallback when requestIdleCallback is not available.

Thanks to xet7 !

Closes #2878,
closes #2250
reviewable/pr2948/r1
Lauri Ojansivu 5 years ago
parent 906c25d5e8
commit 2b9540ce02
  1. 18
      client/components/lists/listBody.js

@ -743,9 +743,25 @@ BlazeComponent.extendComponent({
},
updateList() {
// Use fallback when requestIdleCallback is not available on iOS and Safari
// https://www.afasterweb.com/2017/11/20/utilizing-idle-moments/
checkIdleTime =
window.requestIdleCallback ||
function(handler) {
const startTime = Date.now();
return setTimeout(function() {
handler({
didTimeout: false,
timeRemaining() {
return Math.max(0, 50.0 - (Date.now() - startTime));
},
});
}, 1);
};
if (this.spinnerInView()) {
this.cardlimit.set(this.cardlimit.get() + InfiniteScrollIter);
window.requestIdleCallback(() => this.updateList());
checkIdleTime(() => this.updateList());
}
},

Loading…
Cancel
Save