import type { PagedSortInput } from "../src/page.type"; import type { DefaultRow } from "../src/table.state"; import type { FaTableColumnCtx, FaTableEnumColumnCtx, FaTableEnumColumnType } from "../src/table.type"; /** * 表格工具类 */ export declare const tableUtil: { /** * 将非空数组连接为逗号分隔的文本,空数组返回 null;其他值原样返回。 * @param callValue - 需要处理的值 */ formatValue(callValue: unknown): unknown; /** * 按点分隔的属性路径读取行数据,例如 user.name。 * @param row - 当前行数据 * @param prop - 当前 prop * @returns 目标属性值;中间节点不是对象或属性不存在时返回 undefined。 */ handleRowAccordingToProp(row: DefaultRow, prop: string): unknown; /** * 返回点分隔属性路径的最后一级名称。 * @param prop - 当前 prop */ handleProp(prop: string): string; /** * 按值匹配枚举项,并读取指定的标签字段或 Tag 类型。 * @param callValue - 当前单元格值 * @param enumData - 字典列表 * @param fieldNames - 标签与值的字段名 * @param type - 过滤类型(目前只有 tag) * @returns 匹配项的标签;未匹配时返回 null。查询 Tag 类型时默认返回 info。 */ filterEnum(callValue: unknown, enumData: FaTableEnumColumnCtx[], fieldNames?: { label: string; value: string; }, type?: "tag"): unknown; /** * 创建按排序条件依次比较行数据的函数,支持点分隔的属性路径。 */ arrayDynamicSort(sortList: PagedSortInput[]): (a: DefaultRow, b: DefaultRow) => number; /** * 将静态枚举或同步枚举函数的返回值存入映射。 */ setEnumMap(columnEnum: FaTableEnumColumnType, prop: string, enumMap: Map): void; /** * 收集叶子列,并补齐列的 show 默认值与枚举映射。 * @remarks 会修改传入列的 show 属性;嵌套子列不继承本次枚举映射参数。 */ flatColumns(columns: FaTableColumnCtx[], enumMap?: Map): FaTableColumnCtx[]; };