import { RowDirective } from './datatable-row.component'; import { OnInit, ElementRef, OnChanges, SimpleChanges, TemplateRef, QueryList, AfterContentInit, AfterViewInit, EventEmitter, OnDestroy } from '@angular/core'; import { PerfectScrollbarComponent } from '../../perfect-scorll'; import { DataTableColumn } from './datatable-column'; import { ColumnDirective } from './datatable-column.component'; import { DataTableService } from './datatable.service'; import { PaginationInstance } from '../pagination/pagination-instance'; import { IdService } from '../../common'; import { DataTableHeaderComponent } from './table/datatable-header.component'; import { DataTableBodyComponent } from './table/datatable-body.component'; import { Subscription } from 'rxjs/Subscription'; import { PaginationControlsComponent } from '../pagination'; export declare class DataTableComponent implements OnInit, OnChanges, OnDestroy, AfterContentInit, AfterViewInit { private dataService; private idService; private el; searchButtonText: string; keydownEnterEdit: boolean; id: string; size: string; allColumnsTitle: string; width: any; height: any; tableHeight: number; fill: boolean; pagination: boolean; pageSize: number; pageIndex: number; private _pageList; pageList: number[]; total: number; columns: DataTableColumn[]; searchFields: { label: string; value: string; }[]; showFilterBar: boolean; _data: any[]; data: Array; copyData: any; remote: string; singleSelect: boolean; idField: string; hover: boolean; striped: boolean; bordered: boolean; rowClassName: (row: any, index: number) => string; cellClassName: (value: any, col: any) => string; scorllableBody: ElementRef; tableHeader: ElementRef; tablePager: ElementRef; dtHeader: DataTableHeaderComponent; dtBody: DataTableBodyComponent; dtLeftBody: DataTableBodyComponent; dtRightBody: DataTableBodyComponent; dtLeftFixed: ElementRef; dtRightFixed: ElementRef; pager: PaginationControlsComponent; pageChanged: EventEmitter<{}>; pageSizeChanged: EventEmitter<{}>; search: EventEmitter<{ field: string; value: string; }>; sortChange: EventEmitter; rowDblClick: EventEmitter; selectRows: EventEmitter; cellClick: EventEmitter; rowsRef: QueryList; columnsRef: QueryList; footer: TemplateRef; dragLine: ElementRef; resizableColumns: boolean; hasRowTepml: boolean; datatableContainer: HTMLDivElement; dragLineX: number; moveable: boolean; currentColumn: any; hasFixed: boolean; fixedLeftWidth: string; fixedRightWidth: string; searchData: { field: string; value: string; }; subscription: Subscription[]; headerTr: any; leftFixedHeaderTr: any; rightFixedHeaderTr: any; filter: string; maxSize: number; directionLinks: boolean; autoHide: boolean; responsive: boolean; paginationOptions: PaginationInstance; labels: any; private _currentRowIndex; readonly currentRowIndex: number; private _currentRow; readonly currentRow: any; readonly selections: any; perfectScrollbar: PerfectScrollbarComponent; scorllableBodyHeight: number; constructor(dataService: DataTableService, idService: IdService, el: ElementRef); private ps; ngOnInit(): void; private setBodyHeight(); ngOnChanges(changes: SimpleChanges): void; ngAfterContentInit(): void; ngOnDestroy(): void; ngAfterViewInit(): void; /** * 获取表格容器的位置 距离左边视口和上边视口的距离 如果页面有滚动条 需要加上滚动条滚动的数值 */ getContainerOffset(): { left: number; top: number; right: number; bottom: number; }; /** * 鼠标按下 开始记录拖拽线的位置 拖拽线到达当前鼠标位置 * @param {MouseEvent} 鼠标对象 */ beginDrag(e: any): void; /** * 鼠标移动 移动拖拽线位置变动 * @param {MouseEvent} 鼠标对象 */ moveDrag(e: any): void; /** * 鼠标抬起 重新计算单元格宽度 * @param {MouseEvent} 鼠标对象 * @param {Element} 要重新计算宽度的DOM对象 */ stopDrag(e: any, column: any): void; resizeColumn(e: any, column: any): void; resizeColGroup(table: any, resizeColumnIndex: any, newColumnWidth: any, nextColumnWidth: any): void; onScrollX(e: any): void; /** * 滚动条纵向滚动 */ onScrollY(e: any): void; onPageChange(page: { pageIndex: number; pageSize: number; }): void; onPageSizeChange(pageSize: number): void; onSearch(): void; onCheckAll(state: boolean): void; selectRow(row: any): void; resize(size: { width: number; height: number; }): void; loadData(data: { pageSize: number; total: number; data: any; pageIndex: number; }): void; onCellClick(e: any): void; onSelectRow(e: any): void; addRows(dataItem: any): void; removeRows(): void; }