import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit, TemplateRef } from '@angular/core'; import { NzMessageService } from 'ng-zorro-antd'; import { Observable } from 'rxjs'; import { ADSTColumn, ADSTColumnBtn, ADSTData, ADSTReqParams, ADSTReqReName, ADSTResReName } from './ad-st.interface'; import { HttpService } from '@ang-kit/http'; import { ADSTConfig } from './ad-st.config'; export declare class ADSTComponent implements OnInit, OnChanges { private msgService; private cdr; private httpService; private config; /** * 是否初始化完成 */ private initComplete; /** * 页面变化数据流 */ private pageChanges$; /** * 表格真正的数据源 */ _data: ADSTData[]; /** * 是否显示加载动画 */ loading: boolean; /** * 当前页码 */ pageIndex: number; /** * 每页数量 */ pageSize: number; /** * 当前选中的数据,外部直接获取,不能修改,只能读取 */ checkedData: ADSTData[]; /** * 是否勾选了全部 */ allChecked: boolean; /** * 是否有选中,但不是全选 */ indeterminate: boolean; /** * 表头tr */ headTrs: [ADSTColumn[]]; /** * 最大跨行数 */ maxRowSpan: number; /** * 数据源 */ data: string | ADSTData[] | Observable; /** * 数据源索引 */ dataKey: string; /** * 请求方式 */ reqMethod: 'GET' | 'POST' | 'DELETE' | 'PUT'; /** * 请求头 */ reqHeader: any; /** * 初始化的时候是否加载数据 */ initLoadData: boolean; /** * 额外参数 */ extraParams: any; /** * 重命名请求参数 */ reqReName: ADSTReqReName; resReName: ADSTResReName; /** * 列描述 */ columns: ADSTColumn[]; /** * 头部 */ header: string | TemplateRef; /** * 尾部 */ footer: string | TemplateRef; /** * 无数据时显示内容 */ noResult: string | TemplateRef; /** * table大小 */ size: 'small' | 'middle' | 'default'; /** * 延迟显示加载效果的时间(防止闪烁) */ loadingDelay: number; /** * 是否展示边框 */ showBordered: boolean; /** * 横向或纵向滚动 */ scroll: { y?: string; x?: string; }; /** * 显示为简单分页 */ simple: boolean; /** * 只有一页时是否隐藏分页器 */ hideOnSinglePage: boolean; /** * 是否可以快速跳转至某页 */ showQuickJumper: boolean; /** * 是否可以改变每页大小 */ showSizeChanger: boolean; /** * 是否显示分页 */ showPagination: boolean; /** * 是否前端分页 */ isFrontPagination: boolean; /** * 总数 */ total: number; /** * 当前列是否包含展开按钮 */ expand: TemplateRef<{ $implicit: any; }>; /** * 是否显示序号 */ showNumber: boolean; /** * 是否显示勾选框 */ showCheckBox: boolean; /** * 最大checked数量 */ maxCheckedCount: number; /** * 是否显示radio */ showRadio: boolean; /** * 是否单列排序 */ isSingleSort: boolean; /** * 是否是异步树形类型数据 */ asyncTreeData: boolean; /** * 数据处理前回调 */ preDataChange: (data: ADSTData[]) => ADSTData[]; /** * 如果需要从外部改变数据的时候调用 */ preResponseDataChange: (data: any) => any; /** * 请求数据的回调,传出请求参数 */ requestDataEmitter: EventEmitter; /** * 请求子数据的回调,传出请求参数 */ requestChildrenDataEmitter: EventEmitter<[ADSTData, ADSTReqParams]>; constructor(msgService: NzMessageService, cdr: ChangeDetectorRef, httpService: HttpService, config: ADSTConfig); ngOnInit(): void; ngOnChanges(changes: any): void; /** * 设置 column 或者 Group 的 样式 和 class */ private setColumnOrGroupStylesAndClass; /** * 重置表格的缓存 */ private resetColumnsCache; /** * 加工数据 */ private processData; /** * 处理选中数据 */ private processCheckedData; /** * 处理树形数据 */ private processTreeData; /** * 树形结构子数据加载完成 */ treeChildrenDataLoadComplete(): void; /** * 当前页码改变时的回调函数 */ pageIndexChange(pageIndex: number): void; /** * 页数改变时的回调函数 */ pageSizeChange(pageSize: number): void; /** * 获取深层数据 */ private deepGet; /** * 生成公共参数 */ private generateCommonParams; /** * 当前页面展示数据改变的回调函数 */ currentPageDataChange(event: any): void; /** * 勾选/取消勾选所有事件 */ checkAllChange(checked: boolean): void; /** * 勾选/取消勾选单个事件 */ checkSingleChange(checked: boolean, data: ADSTData): void; /** * 将树形结构数组转换成数组 */ private convertTreeToArray; /** * 改变当前保存选中的数据 */ private changeCheckedData; /** * 请求数据 */ private requestData; /** * 排序改变事件 */ sortChange(column: ADSTColumn, value: any): void; /** * 多列排序触发事件 */ theadSortChange(sortValue: { key: string; value: 'ascend' | 'descend' | null; }): void; /** * 过滤改变 */ filterChange(column: ADSTColumn, filterValues: any[]): void; /** * 是否展开 */ expandChange(value: boolean): void; treeExpandChange(value: boolean, data: ADSTData): void; /** * 格式化th的内容 */ formatTheadContent(column: ADSTColumn): any; /** * 格式化文字 */ formatText(data: ADSTData, column: ADSTColumn, dataIndex: number): any; /** * 格式化Src */ formatSrc(data: ADSTData, column: ADSTColumn): any; /** * 格式化按钮是否显示 */ formatBtnShow(data: ADSTData, btn: ADSTColumnBtn): boolean; /** * td className 格式化 */ tdClassNameFormat(data: ADSTData, column: ADSTColumn): string; /** * td 样式 格式化 */ tdStylesFormat(data: ADSTData, column: ADSTColumn): {}; /** * 计算可展开的间距 */ calIndentSize(data: ADSTData, i: number): number; /** * 点击按钮事件 */ btnClick(event: any, btn: ADSTColumnBtn, data: ADSTData): void; /** * 计算当前序列号 * @param index 当前页数的index */ calculateOrderNumber(index: any): any; /** * 加载数据 */ loadData(): void; /** * 清空所有选择的数据 */ clearChecked(): void; /** * 删除选中的数据 */ deleteCheckedData(): void; /** * 获取所有选中的数据 */ getCheckedData(): ADSTData[]; /** * 删除刷新 * @param deleteCount 删除数量-默认是1 */ deleteAndLoadData(deleteCount?: number): void; }