Fix scroll check in infinite scroller directive
This commit is contained in:
parent
6cddd97d1d
commit
617f4f5cb2
|
@ -1,11 +1,11 @@
|
||||||
import { fromEvent, Observable, Subscription } from 'rxjs'
|
import { fromEvent, Observable, Subscription } from 'rxjs'
|
||||||
import { distinctUntilChanged, filter, map, share, startWith, throttleTime } from 'rxjs/operators'
|
import { distinctUntilChanged, filter, map, share, startWith, throttleTime } from 'rxjs/operators'
|
||||||
import { AfterContentChecked, Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'
|
import { AfterViewChecked, Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'
|
||||||
|
|
||||||
@Directive({
|
@Directive({
|
||||||
selector: '[myInfiniteScroller]'
|
selector: '[myInfiniteScroller]'
|
||||||
})
|
})
|
||||||
export class InfiniteScrollerDirective implements OnInit, OnDestroy, AfterContentChecked {
|
export class InfiniteScrollerDirective implements OnInit, OnDestroy, AfterViewChecked {
|
||||||
@Input() percentLimit = 70
|
@Input() percentLimit = 70
|
||||||
@Input() autoInit = false
|
@Input() autoInit = false
|
||||||
@Input() onItself = false
|
@Input() onItself = false
|
||||||
|
@ -24,13 +24,14 @@ export class InfiniteScrollerDirective implements OnInit, OnDestroy, AfterConten
|
||||||
this.decimalLimit = this.percentLimit / 100
|
this.decimalLimit = this.percentLimit / 100
|
||||||
}
|
}
|
||||||
|
|
||||||
ngAfterContentChecked () {
|
ngAfterViewChecked () {
|
||||||
if (this.checkScroll) {
|
if (this.checkScroll) {
|
||||||
this.checkScroll = false
|
this.checkScroll = false
|
||||||
|
|
||||||
console.log('Checking if the initial state has a scroll.')
|
// Wait HTML update
|
||||||
|
setTimeout(() => {
|
||||||
if (this.hasScroll() === false) this.nearOfBottom.emit()
|
if (this.hasScroll() === false) this.nearOfBottom.emit()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue