UNPKG

2.73 kBTypeScriptView Raw
1import { ElementRef, EventEmitter, OnInit, Renderer } from '@angular/core';
2import { ControlValueAccessor } from '@angular/forms';
3import { PaginationConfig } from './pagination.config';
4export interface PageChangedEvent {
5 itemsPerPage: number;
6 page: number;
7}
8export declare const PAGINATION_CONTROL_VALUE_ACCESSOR: any;
9export declare class PaginationComponent implements ControlValueAccessor, OnInit {
10 config: any;
11 /** if `true` aligns each link to the sides of pager */
12 align: boolean;
13 /** limit number for page links in pager */
14 maxSize: number;
15 /** if false first and last buttons will be hidden */
16 boundaryLinks: boolean;
17 /** if false previous and next buttons will be hidden */
18 directionLinks: boolean;
19 /** first button text */
20 firstText: string;
21 /** previous button text */
22 previousText: string;
23 /** next button text */
24 nextText: string;
25 /** last button text */
26 lastText: string;
27 /** if true current page will in the middle of pages list */
28 rotate: boolean;
29 /** add class to <li> */
30 pageBtnClass: string;
31 /** if true pagination component will be disabled */
32 disabled: boolean;
33 /** fired when total pages count changes, $event:number equals to total pages count */
34 numPages: EventEmitter<number>;
35 /** fired when page was changed, $event:{page, itemsPerPage} equals to object with current page index and number of items per page */
36 pageChanged: EventEmitter<PageChangedEvent>;
37 /** maximum number of items per page. If value less than 1 will display all items on one page */
38 itemsPerPage: number;
39 /** total number of items in all pages */
40 totalItems: number;
41 totalPages: number;
42 page: number;
43 onChange: any;
44 onTouched: any;
45 renderer: Renderer;
46 elementRef: ElementRef;
47 classMap: string;
48 pages: any[];
49 protected _itemsPerPage: number;
50 protected _totalItems: number;
51 protected _totalPages: number;
52 protected inited: boolean;
53 protected _page: number;
54 constructor(renderer: Renderer, elementRef: ElementRef, paginationConfig: PaginationConfig);
55 configureOptions(config: any): void;
56 ngOnInit(): void;
57 writeValue(value: number): void;
58 getText(key: string): string;
59 noPrevious(): boolean;
60 noNext(): boolean;
61 registerOnChange(fn: (_: any) => {}): void;
62 registerOnTouched(fn: () => {}): void;
63 selectPage(page: number, event?: Event): void;
64 protected makePage(num: number, text: string, active: boolean): {
65 number: number;
66 text: string;
67 active: boolean;
68 };
69 protected getPages(currentPage: number, totalPages: number): any[];
70 protected calculateTotalPages(): number;
71}