pager.component.d.ts 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit, Provider } from '@angular/core';
  2. import { ControlValueAccessor } from '@angular/forms';
  3. import { PageChangedEvent } from './pagination.component';
  4. import { PaginationConfig } from './pagination.config';
  5. import { ConfigModel, PagesModel } from './models';
  6. export declare const PAGER_CONTROL_VALUE_ACCESSOR: Provider;
  7. export declare class PagerComponent implements ControlValueAccessor, OnInit {
  8. private elementRef;
  9. private changeDetection;
  10. config: ConfigModel;
  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 <code><li\></code> */
  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
  36. * object with current page index and number of items per page
  37. */
  38. pageChanged: EventEmitter<PageChangedEvent>;
  39. /** maximum number of items per page. If value less than 1 will display all items on one page */
  40. itemsPerPage: number;
  41. /** total number of items in all pages */
  42. totalItems: number;
  43. totalPages: number;
  44. page: number;
  45. onChange: Function;
  46. onTouched: Function;
  47. classMap: string;
  48. pages: PagesModel[];
  49. protected _itemsPerPage: number;
  50. protected _totalItems: number;
  51. protected _totalPages: number;
  52. protected inited: boolean;
  53. protected _page: number;
  54. constructor(elementRef: ElementRef, paginationConfig: PaginationConfig, changeDetection: ChangeDetectorRef);
  55. configureOptions(config: ConfigModel): void;
  56. ngOnInit(): void;
  57. writeValue(value: number): void;
  58. getText(key: string): string;
  59. noPrevious(): boolean;
  60. noNext(): boolean;
  61. registerOnChange(fn: () => {}): 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): PagesModel[];
  70. protected calculateTotalPages(): number;
  71. }