Interface FieldConfig

Resolved metadata for a single field, used by the list, form and detail renderers and by the filter bar.

interface FieldConfig {
    autocomplete?: "text" | "token" | "email" | "phone";
    defaultValue?: any;
    description: string;
    discriminatorProperty?: string;
    editAs?: string;
    enumValues?: string[];
    filterable: boolean;
    fk?: FKFieldConfig;
    format?: string;
    hidden: { detail?: boolean; form?: boolean; list?: boolean };
    inlineDisplayFormat?: string;
    isArray: boolean;
    label: string;
    name: string;
    oneOfOptions?: OneOfOption[];
    order: number;
    readOnly: boolean;
    refSchema?: string;
    required: boolean;
    sortable: boolean;
    type: string;
    uiType?: string;
    upload?: { type: string; url: string };
    uploadUrl?: string;
}

Properties

autocomplete?: "text" | "token" | "email" | "phone"

Server-side filter widget hint (text/token/email/phone).

defaultValue?: any

Schema-level default used to seed create-form state.

description: string

Description, if provided in the schema.

discriminatorProperty?: string

Property name that discriminates a oneOf field.

editAs?: string

x-edit-as: date - edit a date-time field with a plain date input; submits midnight.

enumValues?: string[]

Allowed values for enum fields.

filterable: boolean

Whether the field can be filtered (x-filterable).

Foreign-key relationship, if this field references another resource.

format?: string

OpenAPI format ("date", "date-time", "email", ...).

hidden: { detail?: boolean; form?: boolean; list?: boolean }

Where the field is hidden.

inlineDisplayFormat?: string

Display template for inline references.

isArray: boolean

Whether the value is an array.

label: string

Display label (x-label).

name: string

Property name in the schema.

oneOfOptions?: OneOfOption[]

Branches for discriminated-union fields.

order: number

Sort order (x-order).

readOnly: boolean

Whether the field is read-only.

refSchema?: string

Schema name for inline (non-FK) object references.

required: boolean

Whether the field is required.

sortable: boolean

Whether the list can be sorted by this field.

type: string

OpenAPI type ("string", "integer", "object", ...).

uiType?: string

UI-type override such as "currency" or "image".

upload?: { type: string; url: string }

Parsed upload config ({ type, url }).

uploadUrl?: string

Upload endpoint for file/image fields.