UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

165 lines (164 loc) 5.82 kB
import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core"; import { Subject } from "rxjs"; import { IPaginatorItem } from "./public-api"; import { IFilter, IFilterPub, IRange } from "../../services/data-source/public-api"; import { LoggerService } from "../../services/log-service"; import { PopupContainerService } from "../popup/popup-container.service"; import { ISelectChangedEvent } from "../select/public-api"; import { InputValueTypes } from "../select-v2/types"; import * as i0 from "@angular/core"; export declare const defaultPageSizeSet: number[]; /** * Component used for pagination of data * <example-url>./../examples/index.html#/paginator</example-url> */ export declare class PaginatorComponent implements OnInit, OnChanges, OnDestroy, IFilterPub { private logger; private popupContainer; private cd; itemsList: Array<IPaginatorItem>; /** * Current page number */ page: number; /** * Size of the page. For example: 10, 25, 50, 100; */ pageSize: number; /** * Array of page numbers */ pageSizeSet: number[]; /** * Total number of items */ total: number; /** * Paginator separator symbol. */ dots: string; /** * Hide paginator if all items of data can be displayed on one page */ hideIfEmpty: boolean; /** * Make paginator hidden */ hide: boolean; /** * Paginator active item class */ activeClass: string; /** * Paginator disabled item class */ disabledClass: string; /** * Number of items displayed before separator */ adjacent: number; /** * Maximum number of items in paginator */ maxElements: number; /** * Show previous and next buttons */ showPrevNext: boolean; /** * Display popup above paginator if equals to 'true' */ popupDirectionTop: boolean; /** * Popup parent element css class used determining of popup direction */ popupBaseElementSelector: string; /** * inner nui-select appendToBody input */ appendToBody: boolean; /** * Action occurs on page change */ pagerAction: EventEmitter<any>; pageChange: EventEmitter<number>; onDestroy$: Subject<void>; private selectComponent; private virtualScrollViewport; private _dotsPagesPerRow; get dotsPagesPerRow(): number; private mainRangeStart; private mainRangeEnd; constructor(logger: LoggerService, popupContainer: PopupContainerService, cd: ChangeDetectorRef); /** * Component initialization */ ngOnInit(): void; /** * Redraw component when 'total' or 'page' propery was changed * @param changes Changed properties */ ngOnChanges(changes: SimpleChanges): void; /** * Initialize set of pages */ initPageSizeSet(): void; getFilters(): IFilter<IRange<number>>; resetFilter(): void; /** * Change page number * @param page Page number */ goToPage(page: number): void; /** * @deprecated - remove in v12. Needs only for backward compatibility - Removal: NUI-5837 */ onPageSizeChange(value: InputValueTypes): void; /** * Set items per page that should displayed * @param changedEvent select change event */ setItemsPerPage(changedEvent: ISelectChangedEvent<number>): void; /** * Get number of pages */ getPageCount(): number; /** * Display paginator component */ showPaginator(): boolean; /** * Get sequence number of first item of currently displayed paginated list */ getFirstItemOnPage(): number; /** * Get sequence number of last item of currently displayed paginated repeat */ getLastItemOnPage(): number | undefined; /** * Return range for info section */ getRange(total: number): string; /** * Re-renders the virtual scroll viewport to properly display items within the virtual scroll viewport */ handleDotsClick(): void; /** * Add items to paginator component */ private assemble; /** * Fills mainRangeStart and mainRangeEnd properties with proper values. Those properties * are used for displaying of page numbers between 'dots' separators. */ private prepareSeparators; private addSeparator; private addPrev; private addNext; private addItem; private add; private addRange; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "nui-paginator", never, { "itemsList": { "alias": "itemsList"; "required": false; }; "page": { "alias": "page"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "pageSizeSet": { "alias": "pageSizeSet"; "required": false; }; "total": { "alias": "total"; "required": false; }; "dots": { "alias": "dots"; "required": false; }; "hideIfEmpty": { "alias": "hideIfEmpty"; "required": false; }; "hide": { "alias": "hide"; "required": false; }; "activeClass": { "alias": "activeClass"; "required": false; }; "disabledClass": { "alias": "disabledClass"; "required": false; }; "adjacent": { "alias": "adjacent"; "required": false; }; "maxElements": { "alias": "maxElements"; "required": false; }; "showPrevNext": { "alias": "showPrevNext"; "required": false; }; "popupDirectionTop": { "alias": "popupDirectionTop"; "required": false; }; "popupBaseElementSelector": { "alias": "popupBaseElementSelector"; "required": false; }; "appendToBody": { "alias": "appendToBody"; "required": false; }; }, { "pagerAction": "pagerAction"; "pageChange": "pageChange"; }, never, never, false, never>; }