UNPKG

@pascalhonegger/ng-datatable

Version:
48 lines (47 loc) 2 kB
import { EventEmitter, OnChanges, DoCheck, SimpleChanges } from "@angular/core"; import { ReplaySubject } from "rxjs"; import * as i0 from "@angular/core"; export type SortOrder = "asc" | "desc"; export type SortByFunction<T = any> = (data: T) => any; export type SortBy<T = any> = string | SortByFunction<T> | (string | SortByFunction<T>)[]; export interface SortEvent { sortBy: SortBy; sortOrder: string; } export interface PageEvent { activePage: number; rowsOnPage: number; dataLength: number; } export interface DataEvent { length: number; } export declare class DataTable<T = any> implements OnChanges, DoCheck { private diff; inputData: T[]; sortBy: SortBy<T>; sortOrder: SortOrder; sortByChange: EventEmitter<SortBy<T>>; sortOrderChange: EventEmitter<SortOrder>; rowsOnPage: number; activePage: number; private mustRecalculateData; data: T[]; onSortChange: ReplaySubject<SortEvent>; onPageChange: EventEmitter<PageEvent>; constructor(); getSort(): SortEvent; setSort(sortBy: SortBy<T>, sortOrder: SortOrder): void; getPage(): PageEvent; setPage(activePage: number, rowsOnPage: number): void; private calculateNewActivePage; private recalculatePage; ngOnChanges(changes: SimpleChanges): any; ngDoCheck(): any; private fillData; private caseInsensitiveIteratee; private compare; private sorter; static ɵfac: i0.ɵɵFactoryDeclaration<DataTable<any>, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DataTable<any>, "table[mfData]", ["mfDataTable"], { "inputData": { "alias": "mfData"; "required": false; }; "sortBy": { "alias": "mfSortBy"; "required": false; }; "sortOrder": { "alias": "mfSortOrder"; "required": false; }; "rowsOnPage": { "alias": "mfRowsOnPage"; "required": false; }; "activePage": { "alias": "mfActivePage"; "required": false; }; }, { "sortByChange": "mfSortByChange"; "sortOrderChange": "mfSortOrderChange"; }, never, never, true, never>; }