import { ResourceField, SelectOption } from "../types/config"; export function getFieldOptions(field: ResourceField, relationData?: any[]): SelectOption[] { if (field.type === 'enum' && field.options) { return field.options.map(opt => ({ key: opt, value: field.enumLabels?.[opt] ?? opt, })); } if (field.relation) { const data = relationData ?? []; const enumOption = field.enumOption ?? { key: 'id', value: 'name' }; return data.map(item => ({ key: String(item[enumOption.key] ?? ''), value: Array.isArray(enumOption.value) ? enumOption.value.map(k => item[k]).filter(v => v != null).join(' ') : String(item[enumOption.value] ?? ''), })); } return []; } export function toGridValueOptions(options: SelectOption[]): { value: string; label: string }[] { return options.map(opt => ({ value: opt.key, label: opt.value })); }