import { OnInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core'; import { PaginationItemsPerPageComponent } from './pagination-items-per-page/pagination-items-per-page.component'; import { Select } from '../../models'; import { UglaService } from '../../ugla.service'; /** * Component for pagination * * @example * * */ export declare class PaginationComponent implements OnInit, OnChanges { private ugla; /** * Internal property for limit interval */ private _limitInterval; /** * Internal property for visible pages */ private _visiblePages; /** * Property for first visible page */ private firstVisiblePage; /** * Property for first last page */ private lastVisiblePage; /** * Property for indicating if is next page */ private isNext; /** * The selected page. */ selectedPage: number; /** * Total pages of the pagination. */ totalPages: number; /** * Pagination size options. */ itemsPerPageRange: Select; /** * Selected pagination size. */ itemsPerPage: number; /** * Show text before select input. */ itemsPerPageBeforeText?: string; /** * Show text after select input. */ itemsPerPageAfterText?: string; /** * Component id. */ id: string; /** * Set a title to the first page button. */ firstPageButtonTitle?: string; /** * Set a title to the previous page button. */ previousPageButtonTitle?: string; /** * Set a title to the last page button. */ lastPageButtonTitle?: string; /** * Set a title to the next page button. */ nextPageButtonTitle?: string; /** * Set a title the item per page select. */ itemsPerPageTitle?: string; /** * Set a label for page number. */ labelPage?: string; /** * Items per page component. */ itemsPerPageComponent: PaginationItemsPerPageComponent; /** * Emitter for changed pagination size. */ changePaginationPageSize: EventEmitter; /** * Emitter for changed pagination page. */ changePaginationPage: EventEmitter; /** * Pages to be displayed */ pages: number[]; /** * Receives the theme's name */ theme: string; /** * Receives the component's name * @param ugla: UglaService */ constructor(ugla: UglaService); /** * Set initials configurations */ ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; /** * Set pagination length */ set visiblePages(visiblePages: number); /** * Get pagination length */ get visiblePages(): number; /** * Set limit interval to show pagination */ set limitInterval(limitInterval: number); /** * Get limit interval to show pagination */ get limitInterval(): number; /** * After fire pagination, update the visible pages. */ changePagination(): void; /** * Change navigation to previous page, and emit the selected page number. */ firePreviousPageEvent(): boolean; /** * Change navigation to first page, and emit the selected page number. */ fireFirstPageEvent(): boolean; /** * Change navigation to next page, and emit the selected page number. */ fireNextPageEvent(): boolean; /** * Change navigation to the last page, and emit the selected page number. */ fireLastPageEvent(): boolean; /** * Fire page navigation. * * @param page is a selected page */ fireNavigatePageEvent(page: number): boolean; /** * Return true if the previous page is enabled. */ isPreviousPageEnabled(): boolean; /** * Return true if the next page is enabled. */ isNextPageEnabled(): boolean; /** * Return true if the selected pages is the current. */ isCurrentPage(page: number): boolean; /** * Return true if the selected pages is the first page. */ isFirstPage(): boolean; /** * Return true if the selected pages is the last page. */ isLastPage(): boolean; /** * Fire update pagination. */ firePageEvent(): void; /** * Return true if the selected page is in left interval. * * @param leftInterval: number */ isLeftInterval(leftInterval: number): boolean; /** * Return true if the selected page is in right interval. * * @param rightInterval: number */ isRightInterval(rightInterval: number): boolean; /** * Validate if the current page is inside interval. * * @param finalinterval: number */ isInsideInterval(finalinterval: number): boolean; /** * Get last page from any select page. * * @param page page number * @param interval number of interval */ getNextLastPage(page: number, interval: number): number; /** * Get first page from last page. * * @param lastPage last page number */ getNextFirstPage(lastPage: number): number; }