mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 07:20:12 +01:00
38 lines
800 B
JavaScript
38 lines
800 B
JavaScript
|
|
var peakAnticipation = 200;
|
||
|
|
|
||
|
|
Mixins.InfiniteScrolling = BlazeComponent.extendComponent({
|
||
|
|
onCreated: function() {
|
||
|
|
this._nextPeak = Infinity;
|
||
|
|
},
|
||
|
|
|
||
|
|
setNextPeak: function(v) {
|
||
|
|
this._nextPeak = v;
|
||
|
|
},
|
||
|
|
|
||
|
|
getNextPeak: function() {
|
||
|
|
return this._nextPeak;
|
||
|
|
},
|
||
|
|
|
||
|
|
resetNextPeak: function() {
|
||
|
|
this._nextPeak = Infinity;
|
||
|
|
},
|
||
|
|
|
||
|
|
// To be overwritten by consumers of this mixin
|
||
|
|
reachNextPeak: function() {
|
||
|
|
|
||
|
|
},
|
||
|
|
|
||
|
|
events: function() {
|
||
|
|
return [{
|
||
|
|
scroll: function(evt) {
|
||
|
|
var domElement = evt.currentTarget;
|
||
|
|
var altitude = domElement.scrollTop + domElement.offsetHeight;
|
||
|
|
altitude += peakAnticipation;
|
||
|
|
if (altitude >= this.callFirstWith(null, 'getNextPeak')) {
|
||
|
|
this.callFirstWith(null, 'reachNextPeak');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}];
|
||
|
|
}
|
||
|
|
});
|