import { OnInit, OnChanges, SimpleChanges, Injector, ElementRef } from '@angular/core'; import { FrameContext } from '@farris/devkit'; import { FFilePreviewComponent, UploadAndPreviewComponent } from '@farris/extend-file-upload'; /** * 树表格绑定指令 */ declare class FarrisFilePreviewBindingDirective implements OnInit, OnChanges { private previewComponent; private frameContext; private uploadAndPreviewComponent; private injector; private elementRef; private __DATA__; /** * 未启用排序时默认按上传时间字段排序 */ private readonly DEFAULT_SORT_FIELD; /** * 启用排序时使用fileSortOrder做排序字段,与零代码的拖拽排序统一 */ private readonly SORT_FIELD_ON_SORTING; extendFileInfo: { key: string; path: any; }[]; /** * 排序方式 */ farrisOrderType: string; /** * 文件id字段路径 */ fileIdKey: string; /** * 排序字段,拖拽排序相关 */ fileSortOrderKey: string; /** * 文件name字段路径 */ fileNameKey: string; /** * 绑定数据 */ private readonly bindingData; /** * 绑定数据列表 */ private readonly bindingList; /** * 排序字段 * @description * 组件排序字段只有一个,不支持多个。 * 如果启用了拖拽排序,则为fileSortOrder,否则使用默认的createTime */ private readonly orderField; /** * 默认降序 */ private readonly orderType; /** * 构造函数 * @param previewComponent - 附件组件 * @param frameContext - 控制器上下文 * @param uploadAndPreviewComponent - 附件上传预览组件 * @param injector - injector * @TODO: 该指令被用于不同的组件中,因此uploadAndPreviewComponent可能为null */ constructor(previewComponent: FFilePreviewComponent, frameContext: FrameContext, uploadAndPreviewComponent: UploadAndPreviewComponent, injector: Injector, elementRef: ElementRef); /** * 指令初始化 */ ngOnInit(): void; /** * 指令输入变更 * @param changes -变更 */ ngOnChanges(changes: SimpleChanges): void; private shouldComponentUpdate; private registeValueChangeEvent; /** * 绑定数据 * @param change -变更 */ private bindData; private updateChecks; /** * 主动更新当前行 * @param data - 数据 * @param change - 变更 */ private changeCurrentRow; /** * 为控件设置当前行 * @param change - 控制器变更 * @returns */ private updateCurrentRow; /** * 获取附件信息列表 */ private getFileInfos; /** * 行数据转换为文件信息 * @param itemData - 行数据 * @returns */ private convertToFileInfo; /** * 设置控件的当前行 * @param id 主键 */ private selectComponentRow; /** * 根据字段路径获取值 * @param data - 数据源 * @param path - 字段路径 */ private getValueByPath; private getUdtPaths; private readonly fileSizeKey; private readonly fileCreateTimeKey; private readonly componentRef; private setChecks; /** * 清空组件勾选 */ private clearComponentChecks; sort(data: any[], fields: string | Array, directions: string | Array): void; private getValue; /** * 勾选变化事件 * @param event */ private checkedChanged; /** * 行切换事件 * @param event */ private selectChanged; } export { FarrisFilePreviewBindingDirective };