/** * 实体扩展字段列转换工具 * 将后端 ABP 配置的扩展字段转换为 AG-Grid 列定义 * * @author nokecy */ import type { ExtendedColDef, EntityExtensionField, HostEntityExtensions } from '../types'; /** * 将单个扩展字段转换为列定义 * 使用 {extraPropertiesPath}.xxx 嵌套路径访问数据 * * @param field 扩展字段定义 * @param extraPropertiesPath 扩展属性的路径前缀,默认 'extraProperties'(保持向后兼容) * @returns AG-Grid 列定义 * @author nokecy * * @warning 请勿将此函数直接传给 Array.prototype.map()。 * Array.map 会将 (element, index, array) 全部传入,index(数字)会绑定到 * extraPropertiesPath,导致 field 路径变为 '0.foo'、'1.bar' 等非法值。 * 请始终用箭头函数包装:someArray.map((f) => fieldToColumnDef(f, path)) */ export declare function fieldToColumnDef(field: EntityExtensionField, extraPropertiesPath?: string): ExtendedColDef; /** * 获取指定实体的扩展列定义 * * @param entityType 实体类型全名 (如 "Burn.Product.Domain.Product") * @param extensions 实体扩展配置映射 * @param extraPropertiesPath 扩展属性的路径前缀,默认 'extraProperties'(保持向后兼容) * @returns 扩展列定义数组,按 sortOrder 排序 * @author nokecy */ export declare function getEntityExtensionColumns(entityType: string | undefined, extensions?: HostEntityExtensions, extraPropertiesPath?: string): ExtendedColDef[];