import { DATE_TIME_COMPONENT_TYPES, NUMBER_COMPONENT_TYPES, TEXT_COMPONENT_TYPES, } from '../../../../../cn-ai-table/view/constants/component-types';
import { isAiFormulaOrLookupColumnDef, } from '../../../../../cn-ai-table/view/utils/table-column-feature-utils';
/**
 * 判断字段是否可排序（时间日期类、数值类；AI/公式/引用列按文本排序）
 * @param field 字段配置
 * @param columnDef 列定义，用于识别 AI/公式/引用列
 * @returns true 表示可排序，false 表示不可排序
 */
export function isSortableField(field, columnDef) {
    if (columnDef && isAiFormulaOrLookupColumnDef(columnDef)) {
        return true;
    }
    if (!field)
        return false;
    const componentType = field['x-component'] || 'Input';
    // 检查是否是日期时间类型
    if (DATE_TIME_COMPONENT_TYPES.includes(componentType)) {
        return true;
    }
    // 检查是否是数值类型
    if (NUMBER_COMPONENT_TYPES.includes(componentType)) {
        return true;
    }
    // 检查是否是文本类型
    if (TEXT_COMPONENT_TYPES.includes(componentType)) {
        return true;
    }
    return false;
}
