import { EventEmitter, OnInit, TemplateRef } from '@angular/core'; import { Table, TableFilterEvent, TableLazyLoadEvent } from 'primeng/table'; import { Observable } from 'rxjs'; import { TranslocoService } from '@jsverse/transloco'; import { PaginatedResult } from '../../entities/paginated-result'; import { Filter } from '../../entities/filter'; import { Action } from '../spiderly-data-table/spiderly-data-table.component'; import { SelectItem } from 'primeng/api'; import { BaseEntity } from '../../entities/base-entity'; import { PrimengOption } from '../../entities/primeng-option'; import * as i0 from "@angular/core"; export declare class SpiderlyDataViewComponent implements OnInit { private translocoService; private locale; table: Table; /** * List of items in the table. * Should be provided only when `hasLazyLoad === false`. */ items: T[]; rows: number; filters: DataViewFilter[]; totalRecords: number; onLazyLoad: EventEmitter; showCardWrapper: boolean; /** * Whether to display additional data on the right side of the paginator. * Defaults to `false`. */ showPaginatorRightData: boolean; showTotalRecordsNumber: boolean; applyFiltersIcon: string; clearFiltersIcon: string; getPaginatedListObservableMethod: (filter: Filter) => Observable; lastLazyLoadEvent: TableLazyLoadEvent; loading: boolean; matchModeDateOptions: SelectItem[]; matchModeNumberOptions: SelectItem[]; cardBody: TemplateRef; constructor(translocoService: TranslocoService, locale: string); ngOnInit(): void; lazyLoad(event: TableLazyLoadEvent): void; filter(event: TableFilterEvent): void; getDefaultMatchMode(filterType: string): any; getMatchModeOptions(filterType: string): SelectItem[]; reload(): void; colTrackByFn(index: any, item: any): any; actionTrackByFn(index: any, item: Action): string; applyFilters: () => void; clearFilters(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "spiderly-data-view", never, { "items": { "alias": "items"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "showCardWrapper": { "alias": "showCardWrapper"; "required": false; }; "showPaginatorRightData": { "alias": "showPaginatorRightData"; "required": false; }; "showTotalRecordsNumber": { "alias": "showTotalRecordsNumber"; "required": false; }; "applyFiltersIcon": { "alias": "applyFiltersIcon"; "required": false; }; "clearFiltersIcon": { "alias": "clearFiltersIcon"; "required": false; }; "getPaginatedListObservableMethod": { "alias": "getPaginatedListObservableMethod"; "required": false; }; }, { "onLazyLoad": "onLazyLoad"; }, ["cardBody"], ["[PAGINATORRIGHT]"], true, never>; } export interface DataViewCardBody { $implicit: T; item: T; index: number; } export interface DataViewFilter { label?: string; field?: string & keyof T; filterField?: string & keyof T; type?: 'text' | 'date' | 'multiselect' | 'boolean' | 'numeric' | 'blob'; placeholder?: string; showMatchModes?: boolean; dropdownOrMultiselectValues?: PrimengOption[]; }