import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, QueryList, Renderer2, SimpleChanges, TemplateRef } from '@angular/core'; import { Subscription } from 'rxjs'; import { DataTableHeadComponent } from './data-table-head.component'; import { CellSelectedEventArg, CheckableRelation, ColumnResizeEventArg, RowCheckChangeEventArg, RowSelectedEventArg, SortEventArg, TableCheckOptions, TableCheckStatusArg, TableExpandConfig, TableWidthConfig } from './data-table.model'; import { TableTbodyComponent } from './table/body/tbody.component'; import { TableThComponent } from './table/head/th/th.component'; import { TableTheadComponent } from './table/head/thead.component'; import { DataTableColumnTmplComponent } from './tmpl/data-table-column-tmpl.component'; import * as i0 from "@angular/core"; export declare class DataTableComponent implements OnDestroy, OnInit, OnChanges, AfterContentInit, AfterViewInit { private elementRef; private ngZone; private renderer; private cdr; private doc; /** * 【可选】Datatable是否提供勾选行的功能 */ checkable: boolean; /** * 【可选】表头checkbox是否disabled */ headerCheckDisabled: boolean; /** * 【可选】表头checkbox是否可见 */ headerCheckVisible: boolean; /** * 【可选】表头选中的下拉项及操作 */ checkOptions: TableCheckOptions[]; checkOptionsIndex: number; selectOptionOnCheckbox: boolean; /** * 【可选】是否提供显示行详情的功能 */ showExpandToggle: boolean; /** * 【可选】是否固定表头(在表格超过容器最大高度时,表格可滚动时生效) */ fixHeader: boolean; /** * 【可选】表格在超出容器时,是否可以通过滚动查看表格内容 */ scrollable: boolean; /** * 【可选】默认表格使用的表格类型,可选值为'cell' @deprecated */ editModel: string; /** * 【可选】限制表格最大宽度,默认撑满父容器 */ maxWidth: string; /** * 【可选】限制最大高度,默认 */ maxHeight: string; /** * 表格类型 @deprecated */ type: any; /** * 鼠标悬浮行时是否高亮 */ rowHoveredHighlight: boolean; /** * 鼠标悬浮行时$hovered是否记录到rowItem中 */ generalRowHoveredData: any; /** * 表格自定义样式 */ cssClass: string; /** * 表格宽度 */ tableWidth: string; /** * 表格高度 */ tableHeight: string; /** * 固定表头指定高度是否包含表头的高度,`tableHeight`设置的高度默认是表格body的高度 */ containFixHeaderHeight: boolean; /** * 【可选】是否限制多列排序的输出限制为一项 */ onlyOneColumnSort: boolean; /** * 【可选】多列选择数组,用来指导那几列会被排序 */ multiSort: SortEventArg[]; /** * 【可选】是否可以拖拽调整列宽 */ resizeable: boolean; /** * 【可选】用来自定义表格是否可以拖动 */ colDraggable: boolean; /** * 【可选】用来自定义不可拖拽的前几列 */ colDropFreezeTo: number; /** * 【可选】用来自定义详情页的模板 @deprecated */ detailTemplateRef: TemplateRef; /** * 【可选】同时绑定单击、双击事件时,用于区分点击的时间间隔,默认300ms,两个事件不同时使用可以指定为0 */ timeout: number; /** * 【可选】配置表头操作未激活状态下是否显示操作区域,默认不显示 */ showOperationArea: boolean; /** * 【可选】是否显示排序未激活图标,默认不显示, */ showSortIcon: boolean; /** * 【可选】是否显示筛选未激活图标,默认不显示, */ showFilterIcon: boolean; /** * 多列选择Change事件,用来更新多列选择数组, column param * */ multiSortChange: EventEmitter; /** * 表格单元格点击事件 */ cellClick: EventEmitter; /** * 表格单元格双击事件 */ cellDBClick: EventEmitter; /** * 表格行点击事件 */ rowClick: EventEmitter; /** * 表格行双击事件 */ rowDBClick: EventEmitter; /** * 行detail toggle事件 */ detialToggle: EventEmitter; /** * 表格单元格开始编辑前的拦截事件 */ beforeCellEdit: (rowItem: any, column: any) => Promise; /** * 表格单元格开始编辑后的拦截事件 */ beforeCellEditEnd: (rowItem: any, column: any) => boolean; /** * 表格单元格开始编辑事件 */ cellEditStart: EventEmitter; /** * 表格单元格结束编辑事件 */ cellEditEnd: EventEmitter; /** * 某行的勾选状态变化事件 */ rowCheckChange: EventEmitter; /** * 当前页码全勾选状态变化事件 */ checkAllChange: EventEmitter; /** * 延迟懒加载完成事件 */ loadMore: EventEmitter; /** * 列宽变化事件 */ resize: EventEmitter; /** * 当前表格层级,默认为0,在树形表格场景下自增长 * 内部嵌套使用,不对外暴露 */ tableLevel: number; /** * 配置树形表格的父子选中是否互相关联 * upward:选中子关联父 * downward: 选中父关联子 */ checkableRelation: CheckableRelation; /** * 异步加载子列表 */ loadChildrenTable: (rowItem: any) => Promise; /** * 异步加载全部子列表 */ loadAllChildrenTable: () => Promise; /** * 是否虚拟滚动 */ virtualScroll: any; /** * 配置header的展开内容 */ headerExpandConfig: TableExpandConfig; /** * 子列表关闭事件 */ childrenTableClose: EventEmitter; /** * 全部子列表关闭事件 */ allChildrenTableClose: EventEmitter; /** * 虚拟滚动配置 */ virtualItemSize: number; virtualMinBufferPx: number; virtualMaxBufferPx: number; /** * 懒加载 */ lazy: boolean; /** * 列宽配置 */ tableWidthConfig: TableWidthConfig[]; /** * 表头是否有背景色 */ headerBg: boolean; /** * 表格布局 */ tableLayout: 'fixed' | 'auto'; /** * 表格边框类型,默认有行边框,bordered:全边框,borderless:无边框 */ borderType: '' | 'bordered' | 'borderless'; /** * 表格是否展示为斑马纹间隔 */ striped: boolean; /** * 表格内部滚动事件 */ tableScrollEvent: EventEmitter; minHeight: string; columnDragEnd: EventEmitter; /** * 表格尺寸,sm对应行高40px, md对应行高48px,lg对应行高56px */ size: 'mini' | 'xs' | 'sm' | 'md' | 'lg'; shadowType: 'normal' | 'embed'; tableOverflowType: 'overlay' | 'auto'; columns: QueryList; innerHeader: TableTheadComponent; innerBody: TableTbodyComponent; thList: QueryList; noResultTemplate: TemplateRef; fixHeaderContainerRefElement: ElementRef; tableViewRefElement: ElementRef; virtualScrollViewport: CdkVirtualScrollViewport; normalScrollElement: ElementRef; vitualScrollElement: TemplateRef; columnHeaderComponent: DataTableHeadComponent; devuiNormalScrollBody: ElementRef; get hostHeight(): string; get hasShadow(): boolean; hasWidthScroll: boolean; hasHeightScroll: boolean; _dataSource: any[]; _pageAllChecked: boolean; selectable: boolean; allChecked: number[]; selectedRowItem: any; selectedColumnItem: any; isCellEdit: boolean; editRowItem: any; documentClickEvent: EventEmitter; cellEditorClickEvent: EventEmitter; _hideColumn: string[]; _columns: DataTableColumnTmplComponent[]; displayDataSource: any[]; headertoggleTableSubscription: Subscription; headerCheckStatusSubscription: Subscription; searchQueryChange: EventEmitter<{ [key: string]: any; }>; halfChecked: boolean; childrenTableOpen: boolean; private scrollY; BUILTIN_COL_WIDTH: string; BUILTIN_COL_WIDTH_EXTRA: string; tableBodyEl: ElementRef; onDocumentClickListen: any; _tableTotalWidth: number; _lastColSize: number; set content(content: ElementRef); set dataSource(dataSource: any[]); get dataSource(): any[]; set hideColumn(hideColumn: string[]); get hideColumn(): string[]; set pageAllChecked(pageAllChecked: boolean); get pageAllChecked(): boolean; virtualBodyHeight: any; document: Document; constructor(elementRef: ElementRef, ngZone: NgZone, renderer: Renderer2, cdr: ChangeDetectorRef, doc: any); initVirtualBodyHeight(): void; private getColumns; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; onDocumentClick($event: Event): void; ngAfterContentInit(): void; initScrollStatus(): void; ngAfterViewInit(): void; initScrollClass(): void; private resetThSortOrder; updateColumns(): void; ngOnDestroy(): void; onHandleSort(column: SortEventArg): void; onCellClick($event: CellSelectedEventArg): void; onCellEditStart($event: CellSelectedEventArg): void; onCellEditEnd($event: CellSelectedEventArg): void; onCellDBClick($event: CellSelectedEventArg): void; onRowClick($event: RowSelectedEventArg): void; onRowDBClick($event: RowSelectedEventArg): void; onDetailToggle($event: any): void; private hasChecked; private hasUnChecked; setRowCheckStatus($event: RowCheckChangeEventArg): void; private setParentCheckStatus; private findLastParent; private setSelfCheckStatus; private setCheckedStatus; onCheckAllChange($event: boolean): void; onSearchQueryChange($event: { [key: string]: any; }): void; getSelectedRowItem(): any[]; onLoadMore(event: any): void; private updateColumnsWidth; beginResizeHandlerEvent($event: any): void; onResizingFixedHandler({ field, width }: { field: any; width: any; }): void; onResizeHandler({ width, field }: { width: any; field: any; }): void; handleDragTable({ from, to }: { from: any; to: any; }): void; onBodyScroll(event: Event): void; private setScrollViewClass; private unSubscription; setRowChildToggleStatus(rowItem: any, open: boolean): void; setTableChildrenToggleStatus(open: boolean): void; private travelChildrenToggleStatus; onToggleAllChildrenTable(open: boolean): void; cancelEditingStatus(): void; private collectCheckedRows; getCheckedRows(): any[]; setTableCheckStatus(status: TableCheckStatusArg): void; updateVirtualScrollSize(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }