UNPKG

ng-devui

Version:

DevUI components based on Angular

375 lines (374 loc) 15.9 kB
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<any>; /** * 【可选】同时绑定单击、双击事件时,用于区分点击的时间间隔,默认300ms,两个事件不同时使用可以指定为0 */ timeout: number; /** * 【可选】配置表头操作未激活状态下是否显示操作区域,默认不显示 */ showOperationArea: boolean; /** * 【可选】是否显示排序未激活图标,默认显示, */ showSortIcon: boolean; /** * 【可选】是否显示筛选未激活图标,默认显示, */ showFilterIcon: boolean; /** * 多列选择Change事件,用来更新多列选择数组, column param * */ multiSortChange: EventEmitter<SortEventArg[]>; /** * 表格单元格点击事件 */ cellClick: EventEmitter<CellSelectedEventArg>; /** * 表格单元格双击事件 */ cellDBClick: EventEmitter<CellSelectedEventArg>; /** * 表格行点击事件 */ rowClick: EventEmitter<RowSelectedEventArg>; /** * 表格行双击事件 */ rowDBClick: EventEmitter<RowSelectedEventArg>; /** * 行detail toggle事件 */ detialToggle: EventEmitter<any>; /** * 表格单元格开始编辑前的拦截事件 */ beforeCellEdit: (rowItem: any, column: any) => Promise<any>; /** * 表格单元格开始编辑后的拦截事件 */ beforeCellEditEnd: (rowItem: any, column: any) => boolean; /** * 表格单元格开始编辑事件 */ cellEditStart: EventEmitter<CellSelectedEventArg>; /** * 表格单元格结束编辑事件 */ cellEditEnd: EventEmitter<CellSelectedEventArg>; /** * 某行的勾选状态变化事件 */ rowCheckChange: EventEmitter<RowCheckChangeEventArg>; /** * 当前页码全勾选状态变化事件 */ checkAllChange: EventEmitter<boolean>; /** * 延迟懒加载完成事件 */ loadMore: EventEmitter<any>; /** * 列宽变化事件 */ resize: EventEmitter<ColumnResizeEventArg>; /** * 当前表格层级,默认为0,在树形表格场景下自增长 * 内部嵌套使用,不对外暴露 */ tableLevel: number; /** * 配置树形表格的父子选中是否互相关联 * upward:选中子关联父 * downward: 选中父关联子 */ checkableRelation: CheckableRelation; /** * 异步加载子列表 */ loadChildrenTable: (rowItem: any) => Promise<any>; /** * 异步加载全部子列表 */ loadAllChildrenTable: () => Promise<any>; /** * 是否虚拟滚动 */ virtualScroll: any; /** * 配置header的展开内容 */ headerExpandConfig: TableExpandConfig; /** * 子列表关闭事件 */ childrenTableClose: EventEmitter<any>; /** * 全部子列表关闭事件 */ allChildrenTableClose: EventEmitter<any>; /** * 虚拟滚动配置 */ virtualItemSize: number; virtualMinBufferPx: number; virtualMaxBufferPx: number; /** * 懒加载 */ lazy: boolean; /** * 列宽配置 */ tableWidthConfig: TableWidthConfig[]; /** * 表头是否有背景色 */ headerBg: boolean; /** * 表格布局 */ tableLayout: 'fixed' | 'auto'; /** * 表格边框类型,默认有行边框,bordered:全边框,borderless:无边框 */ borderType: '' | 'bordered' | 'borderless'; /** * 表格是否展示为斑马纹间隔 */ striped: boolean; /** * 表格内部滚动事件 */ tableScrollEvent: EventEmitter<Event>; minHeight: string; columnDragEnd: EventEmitter<any>; /** * 表格尺寸,sm对应行高40px, md对应行高48px,lg对应行高56px */ size: 'mini' | 'xs' | 'sm' | 'md' | 'lg'; shadowType: 'normal' | 'embed'; tableOverflowType: 'overlay' | 'auto'; columns: QueryList<DataTableColumnTmplComponent>; innerHeader: TableTheadComponent; innerBody: TableTbodyComponent; thList: QueryList<TableThComponent>; noResultTemplate: TemplateRef<any>; fixHeaderContainerRefElement: ElementRef; tableViewRefElement: ElementRef; virtualScrollViewport: CdkVirtualScrollViewport; normalScrollElement: ElementRef; vitualScrollElement: TemplateRef<any>; 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<any>; cellEditorClickEvent: EventEmitter<Event>; _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<DataTableComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "d-data-table", ["dataTable"], { "checkable": { "alias": "checkable"; "required": false; }; "headerCheckDisabled": { "alias": "headerCheckDisabled"; "required": false; }; "headerCheckVisible": { "alias": "headerCheckVisible"; "required": false; }; "checkOptions": { "alias": "checkOptions"; "required": false; }; "checkOptionsIndex": { "alias": "checkOptionsIndex"; "required": false; }; "selectOptionOnCheckbox": { "alias": "selectOptionOnCheckbox"; "required": false; }; "showExpandToggle": { "alias": "showExpandToggle"; "required": false; }; "fixHeader": { "alias": "fixHeader"; "required": false; }; "scrollable": { "alias": "scrollable"; "required": false; }; "editModel": { "alias": "editModel"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "type": { "alias": "type"; "required": false; }; "rowHoveredHighlight": { "alias": "rowHoveredHighlight"; "required": false; }; "generalRowHoveredData": { "alias": "generalRowHoveredData"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "tableWidth": { "alias": "tableWidth"; "required": false; }; "tableHeight": { "alias": "tableHeight"; "required": false; }; "containFixHeaderHeight": { "alias": "containFixHeaderHeight"; "required": false; }; "onlyOneColumnSort": { "alias": "onlyOneColumnSort"; "required": false; }; "multiSort": { "alias": "multiSort"; "required": false; }; "resizeable": { "alias": "resizeable"; "required": false; }; "colDraggable": { "alias": "colDraggable"; "required": false; }; "colDropFreezeTo": { "alias": "colDropFreezeTo"; "required": false; }; "detailTemplateRef": { "alias": "detailTemplateRef"; "required": false; }; "timeout": { "alias": "timeout"; "required": false; }; "showOperationArea": { "alias": "showOperationArea"; "required": false; }; "showSortIcon": { "alias": "showSortIcon"; "required": false; }; "showFilterIcon": { "alias": "showFilterIcon"; "required": false; }; "beforeCellEdit": { "alias": "beforeCellEdit"; "required": false; }; "beforeCellEditEnd": { "alias": "beforeCellEditEnd"; "required": false; }; "tableLevel": { "alias": "tableLevel"; "required": false; }; "checkableRelation": { "alias": "checkableRelation"; "required": false; }; "loadChildrenTable": { "alias": "loadChildrenTable"; "required": false; }; "loadAllChildrenTable": { "alias": "loadAllChildrenTable"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "headerExpandConfig": { "alias": "headerExpandConfig"; "required": false; }; "virtualItemSize": { "alias": "virtualItemSize"; "required": false; }; "virtualMinBufferPx": { "alias": "virtualMinBufferPx"; "required": false; }; "virtualMaxBufferPx": { "alias": "virtualMaxBufferPx"; "required": false; }; "lazy": { "alias": "lazy"; "required": false; }; "tableWidthConfig": { "alias": "tableWidthConfig"; "required": false; }; "headerBg": { "alias": "headerBg"; "required": false; }; "tableLayout": { "alias": "tableLayout"; "required": false; }; "borderType": { "alias": "borderType"; "required": false; }; "striped": { "alias": "striped"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "size": { "alias": "size"; "required": false; }; "shadowType": { "alias": "shadowType"; "required": false; }; "tableOverflowType": { "alias": "tableOverflowType"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "hideColumn": { "alias": "hideColumn"; "required": false; }; "pageAllChecked": { "alias": "pageAllChecked"; "required": false; }; }, { "multiSortChange": "multiSortChange"; "cellClick": "cellClick"; "cellDBClick": "cellDBClick"; "rowClick": "rowClick"; "rowDBClick": "rowDBClick"; "detialToggle": "detialToggle"; "cellEditStart": "cellEditStart"; "cellEditEnd": "cellEditEnd"; "rowCheckChange": "rowCheckChange"; "checkAllChange": "checkAllChange"; "loadMore": "loadMore"; "resize": "resize"; "childrenTableClose": "childrenTableClose"; "allChildrenTableClose": "allChildrenTableClose"; "tableScrollEvent": "tableScrollEvent"; "columnDragEnd": "columnDragEnd"; }, ["innerHeader", "innerBody", "noResultTemplate", "columns", "thList"], ["thead"], false, never>; }