ngx-infinite-scroll
Version:
[](https://travis-ci.org/orizens/ngx-infinite-scroll) [](#backers) [![Sponso
62 lines (57 loc) • 3.04 kB
TypeScript
import * as i0 from '@angular/core';
import { ElementRef, OnDestroy, OnChanges, AfterViewInit, EventEmitter, NgZone, SimpleChanges } from '@angular/core';
type ContainerRef = Window | ElementRef | any;
interface IInfiniteScrollEvent {
currentScrollPosition: number;
}
interface IPositionElements {
windowElement: ContainerRef;
axis: any;
}
interface IPositionStats {
height: number;
scrolled: number;
totalToScroll: number;
isWindow?: boolean;
}
interface IResolver {
container: ContainerRef;
isWindow: boolean;
axis: any;
}
declare class InfiniteScrollDirective implements OnDestroy, OnChanges, AfterViewInit {
private element;
private zone;
scrolled: EventEmitter<IInfiniteScrollEvent>;
scrolledUp: EventEmitter<IInfiniteScrollEvent>;
infiniteScrollDistance: number;
infiniteScrollUpDistance: number;
infiniteScrollThrottle: number;
infiniteScrollDisabled: boolean;
infiniteScrollContainer: any;
scrollWindow: boolean;
immediateCheck: boolean;
horizontal: boolean;
alwaysCallback: boolean;
fromRoot: boolean;
private disposeScroller?;
constructor(element: ElementRef, zone: NgZone);
ngAfterViewInit(): void;
ngOnChanges({ infiniteScrollContainer, infiniteScrollDisabled, infiniteScrollDistance, }: SimpleChanges): void;
ngOnDestroy(): void;
private setup;
private handleOnScroll;
private destroyScroller;
static ɵfac: i0.ɵɵFactoryDeclaration<InfiniteScrollDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<InfiniteScrollDirective, "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", never, { "infiniteScrollDistance": { "alias": "infiniteScrollDistance"; "required": false; }; "infiniteScrollUpDistance": { "alias": "infiniteScrollUpDistance"; "required": false; }; "infiniteScrollThrottle": { "alias": "infiniteScrollThrottle"; "required": false; }; "infiniteScrollDisabled": { "alias": "infiniteScrollDisabled"; "required": false; }; "infiniteScrollContainer": { "alias": "infiniteScrollContainer"; "required": false; }; "scrollWindow": { "alias": "scrollWindow"; "required": false; }; "immediateCheck": { "alias": "immediateCheck"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "alwaysCallback": { "alias": "alwaysCallback"; "required": false; }; "fromRoot": { "alias": "fromRoot"; "required": false; }; }, { "scrolled": "scrolled"; "scrolledUp": "scrolledUp"; }, never, never, true, never>;
}
/**
* @deprecated Import InfiniteScrollDirective instead
*/
declare class InfiniteScrollModule {
static ɵfac: i0.ɵɵFactoryDeclaration<InfiniteScrollModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<InfiniteScrollModule, never, [typeof InfiniteScrollDirective], [typeof InfiniteScrollDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<InfiniteScrollModule>;
}
export { InfiniteScrollDirective, InfiniteScrollModule };
export type { ContainerRef, IInfiniteScrollEvent, IPositionElements, IPositionStats, IResolver };