UNPKG

@notiz/ngx-tablo

Version:

JSON powered material table for Angular

79 lines (78 loc) 5.38 kB
import { DataSource } from '@angular/cdk/collections'; import { AfterViewInit, OnDestroy, OnInit } from '@angular/core'; import { PageEvent } from '@angular/material/paginator'; import { Sort, SortDirection } from '@angular/material/sort'; import { Observable } from 'rxjs'; import { TabloColumns } from './tablo-column'; import * as i0 from "@angular/core"; export declare class Tablo<T> implements OnInit, AfterViewInit, OnDestroy { tableClasses: import("@angular/core").InputSignal<string>; /** * Add custom dataSource. * * Default: MatTableDataSource */ dataSource: import("@angular/core").InputSignal<DataSource<T>>; data: import("@angular/core").ModelSignal<T[] | Observable<T[]> | undefined>; columns: import("@angular/core").InputSignal<TabloColumns<T>>; protected displayedColumns: import("@angular/core").Signal<string[]>; mode: import("@angular/core").InputSignal<"client" | "server">; /** * Sorting */ sortActive: import("@angular/core").ModelSignal<string>; sortDirection: import("@angular/core").ModelSignal<SortDirection>; /** * Custom sorting function for `MatTableDataSource`. * * Use this if data properties don't match column names or for complex data objects. * * Default expects column `xyz` to represent `data['xyz']`. * */ sortingDataAccessor: import("@angular/core").InputSignal<((data: T, sortHeaderId: string) => string | number) | undefined>; /** * Filter value for `MatTableDataSource`. */ filter: import("@angular/core").InputSignal<string | undefined>; /** * Custom filter function for `MatTableDataSource`. */ filterPredicate: import("@angular/core").InputSignal<((data: T, filter: string) => boolean) | undefined>; /** * Paging */ showPaging: import("@angular/core").ModelSignal<boolean>; pagingDisabled: import("@angular/core").ModelSignal<boolean>; hidePageSize: import("@angular/core").ModelSignal<boolean>; showFirstLastButtons: import("@angular/core").ModelSignal<boolean>; pageSize: import("@angular/core").ModelSignal<number>; pageIndex: import("@angular/core").ModelSignal<number>; length: import("@angular/core").ModelSignal<number>; pageSizeOptions: import("@angular/core").ModelSignal<number[]>; pageAriaLabel: import("@angular/core").ModelSignal<string>; /** * default to false */ resetPageOnSort: import("@angular/core").ModelSignal<boolean>; /** * Outputs */ rowClick: import("@angular/core").OutputEmitterRef<T>; pageChange: import("@angular/core").OutputEmitterRef<PageEvent>; sortChange: import("@angular/core").OutputEmitterRef<Sort>; private paginator; private sort; private destroy$; constructor(); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; firstPage(): void; lastPage(): void; clearFilter(): void; private fillData; private getMatTableDataSource; static ɵfac: i0.ɵɵFactoryDeclaration<Tablo<any>, never>; static ɵcmp: i0.ɵɵComponentDeclaration<Tablo<any>, "ngx-tablo", never, { "tableClasses": { "alias": "tableClasses"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "sortActive": { "alias": "sortActive"; "required": false; "isSignal": true; }; "sortDirection": { "alias": "sortDirection"; "required": false; "isSignal": true; }; "sortingDataAccessor": { "alias": "sortingDataAccessor"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPredicate": { "alias": "filterPredicate"; "required": false; "isSignal": true; }; "showPaging": { "alias": "showPaging"; "required": false; "isSignal": true; }; "pagingDisabled": { "alias": "pagingDisabled"; "required": false; "isSignal": true; }; "hidePageSize": { "alias": "hidePageSize"; "required": false; "isSignal": true; }; "showFirstLastButtons": { "alias": "showFirstLastButtons"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageIndex": { "alias": "pageIndex"; "required": false; "isSignal": true; }; "length": { "alias": "length"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "pageAriaLabel": { "alias": "pageAriaLabel"; "required": false; "isSignal": true; }; "resetPageOnSort": { "alias": "resetPageOnSort"; "required": false; "isSignal": true; }; }, { "data": "dataChange"; "sortActive": "sortActiveChange"; "sortDirection": "sortDirectionChange"; "showPaging": "showPagingChange"; "pagingDisabled": "pagingDisabledChange"; "hidePageSize": "hidePageSizeChange"; "showFirstLastButtons": "showFirstLastButtonsChange"; "pageSize": "pageSizeChange"; "pageIndex": "pageIndexChange"; "length": "lengthChange"; "pageSizeOptions": "pageSizeOptionsChange"; "pageAriaLabel": "pageAriaLabelChange"; "resetPageOnSort": "resetPageOnSortChange"; "rowClick": "rowClick"; "pageChange": "pageChange"; "sortChange": "sortChange"; }, never, never, true, never>; }