UNPKG

ng-masonry-grid

Version:

Angular 6+ masonry grid component with CSS3 animations on scroll.

113 lines (112 loc) 3.53 kB
/** * Shailendra Kumar <shailu.snist@gmail.com> * @ignore */ import { MasonryOptions, Masonry as IMasonry, AnimationOptions, ImagesLoadedConstructor, MasonryGridItem } from './ng-masonry-grid.interface'; import { Observable } from 'rxjs'; export declare class NgMasonryGridService { private _platformId; el: any; masonryOptions: MasonryOptions; animationOptions: AnimationOptions; items: Array<any>; itemsCount: number; itemsRenderedCount: number; didScroll: boolean; resizeTimeout: any; useAnimation: boolean; isAnimate: boolean; _msnry: IMasonry; _onScrollHandler: any; _onResizeHandler: any; useImagesLoaded: boolean; imagesLoaded: ImagesLoadedConstructor; docElem: HTMLElement; /** * Default animation options of grid items on scroll */ animationDefaults: AnimationOptions; /** * Default masonry options */ masonryDefaults: MasonryOptions; constructor(_platformId: any); getViewportH(): number; scrollY(): number; getOffset(el: any): { top: number; left: number; }; inViewport(el: any, h?: number): boolean; extend(a: any, b: any): any; /** * Initialize and extend all options * @param el: Masonry Container DOM Element * @param masonryOptions: User defined Masonry Options * @param useAnimation: User defined Animation (Boolean) * @param animationOptions: User defined Animation options * @param useImagesLoaded: User defined imagesloaded (Boolean) */ init(el: any, masonryOptions: MasonryOptions, useAnimation?: boolean, animationOptions?: AnimationOptions, useImagesLoaded?: boolean): IMasonry; initializeMasonry(_element: any, options: MasonryOptions): IMasonry; private _init; private _initMasonry; private _onScrollFn; private _scrollPage; private _resizeHandler; /** * Check if total grid items are redered in the DOM */ private _checkTotalRendered; /** * On Destroy remove Scroll and Resize event Listeners */ onDestory(): void; /** * Remove scroll animations */ removeAnimation(): void; /** * Add Each grid item to Masonry based on Masony addStatus property * @param element Element - Grid item */ add(element: any): void; /** * TODO: reorder masonry items on load * @param element */ addOrderItem(element: any): void; /** * Re order Masonry items to original order */ reorderMasonryItems(): void; /** * Set add status to Masonry before adding or appending * @param value 'append' or 'prepend' or 'add' */ setAddStatus(value: string): void; /** * Remove grid item from Masonry * @param item Element: Removed Grid Item DOM */ removeItem(item: any): Observable<MasonryGridItem>; /** * Remove first grid item from the Masonry List */ removeFirstItem(): Observable<MasonryGridItem>; /** * Empty the Masonry list */ removeAllItems(): Observable<MasonryGridItem>; /** * Add transition effect on DOM Node removal * @param elem: Grid item DOM element */ addTransition(elem: any): void; /** * On transition End, remove eventListener * @param observer Subscriber<MasonryGridItem> * @param elem: Grid item DOM element */ private _onTransitionEnd; }