pagination.component.d.ts 2.8 KB

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