12345678910111213141516171819202122232425262728293031323334353637 |
- const peakAnticipation = 200;
- Mixins.InfiniteScrolling = BlazeComponent.extendComponent({
- onCreated() {
- this._nextPeak = Infinity;
- },
- setNextPeak(v) {
- this._nextPeak = v;
- },
- getNextPeak() {
- return this._nextPeak;
- },
- resetNextPeak() {
- this._nextPeak = Infinity;
- },
- // To be overwritten by consumers of this mixin
- reachNextPeak() {
- },
- events() {
- return [{
- scroll(evt) {
- const domElement = evt.currentTarget;
- let altitude = domElement.scrollTop + domElement.offsetHeight;
- altitude += peakAnticipation;
- if (altitude >= this.callFirstWith(null, 'getNextPeak')) {
- this.callFirstWith(null, 'reachNextPeak');
- }
- },
- }];
- },
- });
|