ngxsmk-datatable
Version:
A powerful, feature-rich Angular datatable component with virtual scrolling, built for Angular 17+
40 lines (39 loc) • 1.87 kB
TypeScript
import { EventEmitter, OnInit, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core';
import { PaginationConfig, PageEvent } from '../../interfaces/pagination.interface';
import * as i0 from "@angular/core";
export declare class NgxsmkPagerComponent implements OnInit, OnChanges {
private cdr;
config: PaginationConfig | null;
currentPage: number;
pageSize: number;
totalItems: number;
showRefreshButton: boolean;
pageChange: EventEmitter<PageEvent>;
refresh: EventEmitter<void>;
totalPages: number;
startIndex: number;
endIndex: number;
hasNextPage: boolean;
hasPreviousPage: boolean;
pageNumbers: number[];
constructor(cdr: ChangeDetectorRef);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
private calculatePagination;
private generatePageNumbers;
onPageChange(page: number): void;
onPageSizeChange(newPageSize: number | string): void;
goToFirstPage(): void;
goToLastPage(): void;
onRefresh(): void;
goToPreviousPage(): void;
goToNextPage(): void;
getPageSizeOptions(): number[];
getRangeLabel(): string;
getTotalItemsLabel(): string;
isPageNumberVisible(page: number): boolean;
shouldShowEllipsisBefore(): boolean;
shouldShowEllipsisAfter(): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxsmkPagerComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NgxsmkPagerComponent, "ngxsmk-pager", never, { "config": { "alias": "config"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "totalItems": { "alias": "totalItems"; "required": false; }; "showRefreshButton": { "alias": "showRefreshButton"; "required": false; }; }, { "pageChange": "pageChange"; "refresh": "refresh"; }, never, never, true, never>;
}