import { TemplateRef } from '@angular/core'; /** * State of the paginator. * @group Interface */ export interface DataViewPaginatorState { /** * Current page. */ page?: number; /** * First item in the current page. */ first?: number; /** * Row count. */ rows?: number; /** * Page count. */ pageCount?: number; } /** * Custom lazy load event. * @see {@link DataView.onLazyLoad} * @group Events */ export interface DataViewLazyLoadEvent { /** * Index of the first element. */ first: number; /** * Row count. */ rows: number; /** * Property name of data to use in sorting by default. */ sortField: string; /** * Order to sort the data by default. */ sortOrder: number; } /** * Custom page event. * @see {@link DataView.onPage} * @group Events */ export interface DataViewPageEvent { /** * Index of the first element. */ first: number; /** * Row count. */ rows: number; } /** * Custom sort event. * @see {@link DataView.onSort} * @group Events */ export interface DataViewSortEvent { /** * Sort field. */ sortField: string; /** * Sort order. */ sortOrder: number; } /** * Custom layout change. * @see {@link DataView.onChangeLayout} * @group Events */ export interface DataViewLayoutChangeEvent { /** * Layout of the component. */ layout: 'list' | 'grid'; } /** * Defines valid templates in DataView. * @group Templates */ export interface DataViewTemplates { /** * Custom list item template. * @param {Object} context - data of the item. */ listItem(context: { /** * Row data. */ $implicit: any; /** * Row index. */ rowIndex: number; }): TemplateRef<{ $implicit: any; rowIndex: number; }>; /** * Custom grid item template. * @param {Object} context - data of the item. */ gridItem(context: { /** * Row data. */ $implicit: any; /** * Row index. */ rowIndex: number; }): TemplateRef<{ $implicit: any; rowIndex: number; }>; /** * Custom paginator left template. * @param {Object} context - paginator state. */ paginatorleft(context: { /** * State of the paginator. */ $implicit: DataViewPaginatorState; }): TemplateRef; /** * Custom paginator right template. * @param {Object} context - paginator state. */ paginatorright(context: { /** * State of the paginator. */ $implicit: DataViewPaginatorState; }): TemplateRef; /** * Custom paginator dropdown template. * @param {Object} context - dropdown item. */ paginatordropdownitem(context: { /** * Dropdown item instance. */ $implicit: any; }): TemplateRef<{ $implicit: any; }>; /** * Custom empty message template. */ empty(): TemplateRef; /** * Custom header template. */ header(): TemplateRef; /** * Custom footer template. */ footer(): TemplateRef; /** * Custom loading icon template. */ loadingicon(): TemplateRef; /** * Custom list icon template. */ listicon(): TemplateRef; /** * Custom grid icon template. */ gridicon(): TemplateRef; }