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'); } }, }, ]; }, });