UNPKG

4.56 kBTypeScriptView Raw
1import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit, Provider, TemplateRef } from '@angular/core';
2import { ControlValueAccessor } from '@angular/forms';
3import { ConfigModel, PagesModel, PaginationLinkContext, PaginationNumberLinkContext } from './models';
4import { PaginationConfig } from './pagination.config';
5import * as ɵngcc0 from '@angular/core';
6export interface PageChangedEvent {
7 itemsPerPage: number;
8 page: number;
9}
10export declare const PAGINATION_CONTROL_VALUE_ACCESSOR: Provider;
11export declare class PaginationComponent implements ControlValueAccessor, OnInit {
12 private elementRef;
13 private changeDetection;
14 config?: Partial<ConfigModel>;
15 /** if `true` aligns each link to the sides of pager */
16 align: boolean;
17 /** limit number for page links in pager */
18 maxSize?: number;
19 /** if false first and last buttons will be hidden */
20 boundaryLinks: boolean;
21 /** if false previous and next buttons will be hidden */
22 directionLinks: boolean;
23 /** first button text */
24 firstText: string;
25 /** previous button text */
26 previousText: string;
27 /** next button text */
28 nextText: string;
29 /** last button text */
30 lastText: string;
31 /** if true current page will in the middle of pages list */
32 rotate: boolean;
33 /** add class to <code><li\></code> */
34 pageBtnClass: string;
35 /** if true pagination component will be disabled */
36 disabled: boolean;
37 /** custom template for page link */
38 customPageTemplate?: TemplateRef<PaginationNumberLinkContext>;
39 /** custom template for next link */
40 customNextTemplate?: TemplateRef<PaginationLinkContext>;
41 /** custom template for previous link */
42 customPreviousTemplate?: TemplateRef<PaginationLinkContext>;
43 /** custom template for first link */
44 customFirstTemplate?: TemplateRef<PaginationLinkContext>;
45 /** custom template for last link */
46 customLastTemplate?: TemplateRef<PaginationLinkContext>;
47 /** fired when total pages count changes, $event:number equals to total pages count */
48 numPages: EventEmitter<number>;
49 /** fired when page was changed, $event:{page, itemsPerPage} equals to object
50 * with current page index and number of items per page
51 */
52 pageChanged: EventEmitter<PageChangedEvent>;
53 onChange: Function;
54 onTouched: Function;
55 classMap: string;
56 pages?: PagesModel[];
57 protected inited: boolean;
58 constructor(elementRef: ElementRef, paginationConfig: PaginationConfig, changeDetection: ChangeDetectorRef);
59 protected _itemsPerPage: number;
60 /** maximum number of items per page. If value less than 1 will display all items on one page */
61 get itemsPerPage(): number;
62 set itemsPerPage(v: number);
63 protected _totalItems: number;
64 /** total number of items in all pages */
65 get totalItems(): number;
66 set totalItems(v: number);
67 protected _totalPages: number;
68 get totalPages(): number;
69 set totalPages(v: number);
70 protected _page: number;
71 get page(): number;
72 set page(value: number);
73 configureOptions(config: Partial<ConfigModel>): void;
74 ngOnInit(): void;
75 writeValue(value: number): void;
76 getText(key: string): string;
77 noPrevious(): boolean;
78 noNext(): boolean;
79 registerOnChange(fn: () => void): void;
80 registerOnTouched(fn: () => void): void;
81 selectPage(page: number, event?: Event): void;
82 protected makePage(num: number, text: string, active: boolean): {
83 number: number;
84 text: string;
85 active: boolean;
86 };
87 protected getPages(currentPage: number, totalPages: number): PagesModel[];
88 protected calculateTotalPages(): number;
89 static ɵfac: ɵngcc0.ɵɵFactoryDef<PaginationComponent, never>;
90 static ɵcmp: ɵngcc0.ɵɵComponentDefWithMeta<PaginationComponent, "pagination", never, { "align": "align"; "boundaryLinks": "boundaryLinks"; "directionLinks": "directionLinks"; "firstText": "firstText"; "previousText": "previousText"; "nextText": "nextText"; "lastText": "lastText"; "rotate": "rotate"; "pageBtnClass": "pageBtnClass"; "disabled": "disabled"; "itemsPerPage": "itemsPerPage"; "totalItems": "totalItems"; "maxSize": "maxSize"; "customPageTemplate": "customPageTemplate"; "customNextTemplate": "customNextTemplate"; "customPreviousTemplate": "customPreviousTemplate"; "customFirstTemplate": "customFirstTemplate"; "customLastTemplate": "customLastTemplate"; }, { "numPages": "numPages"; "pageChanged": "pageChanged"; }, never, never>;
91}
92
93//# sourceMappingURL=pagination.component.d.ts.map
\No newline at end of file