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