Свойства сущности, обернутой в компонент высшего порядка Предоставляется удобная абстракция

interface IManaged<Data = IAnything, Value = any> {
    autoFocus?: boolean;
    bottom?: string | ISizeCallback<Data>;
    buttonColor?:
        | "error"
        | "inherit"
        | "primary"
        | "secondary"
        | "success"
        | "info"
        | "warning";
    buttonSize?: "small"
    | "medium"
    | "large";
    buttonVariant?: "outlined" | "text" | "contained";
    child?: IField<Data, any>;
    choose?: (
        data: Data,
        payload: any,
    ) => null | string | string[] | Promise<null | string | string[]>;
    className?: string;
    click: (e: MouseEvent<any>) => void | Promise<void>;
    condition?:
        | (data: Data, payload: any) => boolean
        | (data: Data, payload: any) => Promise<boolean>;
    conditionElse?: any;
    conditionLoading?: any;
    customLayout?: (
        props: PropsWithChildren<
            Data & {
                _fieldData: Data;
                _fieldParams: IField;
                _payload: Payload;
                onChange: (data: Partial<Data>) => void;
            },
        >,
    ) => ReactElement;
    description?: string;
    desktopBottom?: string
    | ISizeCallback<Data>;
    desktopHeight?: string | ISizeCallback<Data>;
    desktopLeft?: string | ISizeCallback<Data>;
    desktopMaxHeight?: string | ISizeCallback<Data>;
    desktopMaxWidth?: string | ISizeCallback<Data>;
    desktopMinHeight?: string | ISizeCallback<Data>;
    desktopMinWidth?: string | ISizeCallback<Data>;
    desktopRight?: string | ISizeCallback<Data>;
    desktopTop?: string | ISizeCallback<Data>;
    desktopWidth?: string | ISizeCallback<Data>;
    dictCreateButton?: any;
    dictDelay?: number;
    dictLimit?: number;
    dictOnAppend?: (
        search: string,
        data: Data,
        payload: any,
        onValueChange: (value: null | string) => void,
        onChange: (value: Data) => void,
    ) => void;
    dictOnItem?: (
        value: null | string,
        data: Data,
        payload: any,
        onValueChange: (value: null | string) => void,
        onChange: (data: Data) => void,
    ) => void;
    dictOnText?: (
        text: string,
        data: Data,
        payload: any,
        onValueChange: (value: null | string) => void,
        onChange: (data: Data) => void,
    ) => void;
    dictSearch?: (
        dto: {
            data: Data;
            initial: boolean;
            limit: number;
            offset: number;
            payload: any;
            rows: ISearchItem<any>[];
            search: string;
        },
    ) => ISearchItem<any>[]
    | Promise<ISearchItem<any>[]>;
    dictSearchItem?: any;
    dictSearchText?: (data: Data, payload: any) => string | Promise<string>;
    dictValue?: (
        value: string,
        data: Data,
        payload: any,
    ) => ISearchItem<any> | Promise<ISearchItem<any>>;
    dirty: boolean;
    disabled: boolean;
    element?: any;
    expansionOpened?: boolean;
    fallback: (e: Error) => void;
    fieldReadonly: boolean;
    fields?: IField<Data, any>[];
    fileAccept?: string;
    freeSolo?: boolean;
    groupRef?: (element?: null | HTMLDivElement) => void;
    height?: string | ISizeCallback<Data>;
    heroInnerDesktopStyle?: any;
    heroInnerPhoneStyle?: any;
    heroInnerStyle?: any;
    heroInnerTabletStyle?: any;
    heroOuterDesktopStyle?: any;
    heroOuterPhoneStyle?: any;
    heroOuterStyle?: any;
    heroOuterTabletStyle?: any;
    icon?: any;
    iconBackground?:
        | "error"
        | "inherit"
        | "primary"
        | "secondary"
        | "success"
        | "info"
        | "warning";
    iconColor?: | "error"
    | "inherit"
    | "primary"
    | "secondary"
    | "success"
    | "info"
    | "warning"
    | "default";
    iconSize?: number;
    incorrect: null
    | string;
    innerPadding?: string;
    inputAutocomplete?: "new-password" | "on" | "off" | "false";
    inputFormatter?: (input: string) => string;
    inputFormatterAllowed?: RegExp | (char: string, idx: number) => boolean;
    inputFormatterReplace?: (char: string) => null | string;
    inputFormatterSymbol?: string;
    inputFormatterTemplate?: string;
    inputMode?:
        | "search"
        | "text"
        | "email"
        | "tel"
        | "url"
        | "none"
        | "numeric"
        | "decimal";
    inputPattern?: string;
    inputRef?: (element?: null | HTMLInputElement) => void;
    inputRows?: number;
    inputType?:
        | "number"
        | "color"
        | "search"
        | "text"
        | "date"
        | "email"
        | "month"
        | "password"
        | "tel"
        | "time"
        | "url"
        | "week";
    invalid: null
    | string;
    isBaselineAlign: boolean;
    itemList?:
        | string[]
        | (data: Data, payload: any) => string[]
        | (data: Data, payload: any) => Promise<string[]>;
    itemTree?:
        | ITreeNode[]
        | (data: Data, payload: any) => ITreeNode[]
        | (data: Data, payload: any) => Promise<ITreeNode[]>;
    keepRaw?: boolean;
    labelFormatSlider?: (v: number) => string | number;
    labelShrink?: boolean;
    leadingIcon?: any;
    leadingIconClick?: (
        value: Value,
        data: Data,
        payload: any,
        onValueChange: (v: Value) => void,
        onChange: (data: Data) => void,
    ) => void;
    leadingIconRipple?: boolean;
    leadingIconTabIndex?: number;
    left?: string | ISizeCallback<Data>;
    lineTransparent?: boolean;
    loading: boolean;
    maxHeight?: string | ISizeCallback<Data>;
    maxPercent?: number;
    maxSlider?: number;
    maxWidth?: string | ISizeCallback<Data>;
    minHeight?: string | ISizeCallback<Data>;
    minSlider?: number;
    minWidth?: string | ISizeCallback<Data>;
    name: string;
    noDeselect?: boolean;
    object: Data;
    onChange: (v: Value, config?: { skipReadonly?: boolean }) => void;
    outlined?: boolean;
    outlinePaper: boolean;
    phoneBottom?: string | ISizeCallback<Data>;
    phoneHeight?: string | ISizeCallback<Data>;
    phoneLeft?: string | ISizeCallback<Data>;
    phoneMaxHeight?: string | ISizeCallback<Data>;
    phoneMaxWidth?: string | ISizeCallback<Data>;
    phoneMinHeight?: string | ISizeCallback<Data>;
    phoneMinWidth?: string | ISizeCallback<Data>;
    phoneRight?: string | ISizeCallback<Data>;
    phoneTop?: string | ISizeCallback<Data>;
    phoneWidth?: string | ISizeCallback<Data>;
    placeholder?: string;
    prefix: string;
    progressBarColor?: (v: number) => string;
    progressColor?: (v: number) => string;
    radioValue?: string;
    readonly: boolean;
    right?: string | ISizeCallback<Data>;
    shouldCondition?: (prevData: Data, nextData: Data, payload: any) => boolean;
    showPercentLabel?: boolean;
    sliderRailColor?: (v: number) => string;
    sliderSteps?: { label: string; value: number }[];
    sliderThumbColor?: (v: number) => string;
    sliderTrackColor?: (v: number) => string;
    stepSlider?: number;
    style?: any;
    switchActiveLabel?: string;
    switchNoColor?: boolean;
    tabBackground?: boolean;
    tabChange?: (idx: number) => void;
    tabColor?: "primary" | "secondary";
    tabIndex?: number;
    tabKeepFlow?: boolean;
    tabletBottom?: string | ISizeCallback<Data>;
    tabletHeight?: string | ISizeCallback<Data>;
    tabletLeft?: string | ISizeCallback<Data>;
    tabletMaxHeight?: string | ISizeCallback<Data>;
    tabletMaxWidth?: string | ISizeCallback<Data>;
    tabletMinHeight?: string | ISizeCallback<Data>;
    tabletMinWidth?: string | ISizeCallback<Data>;
    tabletRight?: string | ISizeCallback<Data>;
    tabletTop?: string | ISizeCallback<Data>;
    tabletWidth?: string | ISizeCallback<Data>;
    tabLine?: boolean;
    tabList?: string[];
    tabVariant?: "fullWidth" | "standard" | "scrollable";
    tip?:
        | string[]
        | (
            value: string,
            data: Data,
            payload: any,
        ) => string[] | Promise<string[]>;
    tipSelect?: (
        value: string,
        data: Data,
        payload: any,
        onChange: (data: Data) => void,
    ) => void;
    title?: string;
    top?: string | ISizeCallback<Data>;
    tr?:
        | (s: string, data: Data, payload: any) => string
        | (s: string, data: Data, payload: any) => Promise<string>;
    trailingIcon?: any;
    trailingIconClick?: (
        value: Value,
        data: Data,
        payload: any,
        onValueChange: (v: Value) => void,
        onChange: (data: Data) => void,
    ) => void;
    trailingIconRipple?: boolean;
    trailingIconTabIndex?: number;
    transparentPaper: boolean;
    typoVariant?:
        | "h1"
        | "h2"
        | "h3"
        | "h4"
        | "h5"
        | "h6"
        | "subtitle1"
        | "subtitle2"
        | "body1"
        | "body2"
        | "caption";
    upload?: (file: File, data: Data, payload: any) => string | Promise<string>;
    validation?: IValidation;
    value: Value;
    view?: (file: string, data: Data, payload: any) => void | Promise<void>;
    virtualListBox?: boolean;
    watchItemList?: boolean;
    watchItemTree?: boolean;
    watchOneContext?: boolean;
    width?: string | ISizeCallback<Data>;
    withContextMenu: undefined | true;
}

Type Parameters

Hierarchy

Properties

autoFocus? bottom? buttonColor? buttonSize? buttonVariant? child? choose? className? click condition? conditionElse? conditionLoading? customLayout? description? desktopBottom? desktopHeight? desktopLeft? desktopMaxHeight? desktopMaxWidth? desktopMinHeight? desktopMinWidth? desktopRight? desktopTop? desktopWidth? dictCreateButton? dictDelay? dictLimit? dictOnAppend? dictOnItem? dictOnText? dictSearch? dictSearchItem? dictSearchText? dictValue? dirty disabled element? expansionOpened? fallback fieldReadonly fields? fileAccept? freeSolo? groupRef? height? heroInnerDesktopStyle? heroInnerPhoneStyle? heroInnerStyle? heroInnerTabletStyle? heroOuterDesktopStyle? heroOuterPhoneStyle? heroOuterStyle? heroOuterTabletStyle? icon? iconBackground? iconColor? iconSize? incorrect innerPadding? inputAutocomplete? inputFormatter? inputFormatterAllowed? inputFormatterReplace? inputFormatterSymbol? inputFormatterTemplate? inputMode? inputPattern? inputRef? inputRows? inputType? invalid isBaselineAlign itemList? itemTree? keepRaw? labelFormatSlider? labelShrink? leadingIcon? leadingIconClick? leadingIconRipple? leadingIconTabIndex? left? lineTransparent? loading maxHeight? maxPercent? maxSlider? maxWidth? minHeight? minSlider? minWidth? name noDeselect? object onChange outlined? outlinePaper phoneBottom? phoneHeight? phoneLeft? phoneMaxHeight? phoneMaxWidth? phoneMinHeight? phoneMinWidth? phoneRight? phoneTop? phoneWidth? placeholder? prefix progressBarColor? progressColor? radioValue? readonly right? shouldCondition? showPercentLabel? sliderRailColor? sliderSteps? sliderThumbColor? sliderTrackColor? stepSlider? style? switchActiveLabel? switchNoColor? tabBackground? tabChange? tabColor? tabIndex? tabKeepFlow? tabletBottom? tabletHeight? tabletLeft? tabletMaxHeight? tabletMaxWidth? tabletMinHeight? tabletMinWidth? tabletRight? tabletTop? tabletWidth? tabLine? tabList? tabVariant? tip? tipSelect? title? top? tr? trailingIcon? trailingIconClick? trailingIconRipple? trailingIconTabIndex? transparentPaper typoVariant? upload? validation? value view? virtualListBox? watchItemList? watchItemTree? watchOneContext? width? withContextMenu

Properties

autoFocus?: boolean

Автофокус и постоянное отключение поля

bottom?: string | ISizeCallback<Data>
buttonColor?:
    | "error"
    | "inherit"
    | "primary"
    | "secondary"
    | "success"
    | "info"
    | "warning"

Тип цвета кнопки для FieldType.Button

buttonSize?: "small" | "medium" | "large"

Тип размера кнопки для FieldType.Button

buttonVariant?: "outlined" | "text" | "contained"

Тип заливки кнопки для FieldType.Button

child?: IField<Data, any>
choose?: (
    data: Data,
    payload: any,
) => null | string | string[] | Promise<null | string | string[]>

Функция для выбора документа из справочника для useSearchModal

className?: string

Наименование класса для корневого элемента поля (опционально)

click: (e: MouseEvent<any>) => void | Promise<void>
condition?:
    | (data: Data, payload: any) => boolean
    | (data: Data, payload: any) => Promise<boolean>

Предикат для компоновки Condition

conditionElse?: any

Компонент отображения else для condition

conditionLoading?: any

Компонент отображения загрузки condition

customLayout?: (
    props: PropsWithChildren<
        Data & {
            _fieldData: Data;
            _fieldParams: IField;
            _payload: Payload;
            onChange: (data: Partial<Data>) => void;
        },
    >,
) => ReactElement

Коллбек, позволяющий применить собственную компоновку

description?: string
desktopBottom?: string | ISizeCallback<Data>
desktopHeight?: string | ISizeCallback<Data>
desktopLeft?: string | ISizeCallback<Data>
desktopMaxHeight?: string | ISizeCallback<Data>
desktopMaxWidth?: string | ISizeCallback<Data>
desktopMinHeight?: string | ISizeCallback<Data>
desktopMinWidth?: string | ISizeCallback<Data>
desktopRight?: string | ISizeCallback<Data>
desktopTop?: string | ISizeCallback<Data>
desktopWidth?: string | ISizeCallback<Data>
dictCreateButton?: any

Функция позволяет переопределить компонент создание записи в словарь из модалки

dictDelay?: number

Позволяет задать задержку для api запросов поля справочника

dictLimit?: number

Позволяет задать limit для поля справочника

dictOnAppend?: (
    search: string,
    data: Data,
    payload: any,
    onValueChange: (value: null | string) => void,
    onChange: (value: Data) => void,
) => void

Поле справочника позволяет создавать новые записи, если поиск не дал результата

dictOnItem?: (
    value: null | string,
    data: Data,
    payload: any,
    onValueChange: (value: null | string) => void,
    onChange: (data: Data) => void,
) => void

Функция вызывается на каждый выбор из модалки. Подразумевается запись в целевой объект. Для контекстного поиска по label, value можно записать в другое поле

dictOnText?: (
    text: string,
    data: Data,
    payload: any,
    onValueChange: (value: null | string) => void,
    onChange: (data: Data) => void,
) => void

Функция вызывается на каждое изменение текста. Подразумевается запись в целевой объект. Для контекстного поиска по label, value можно записать в другое поле

dictSearch?: (
    dto: {
        data: Data;
        initial: boolean;
        limit: number;
        offset: number;
        payload: any;
        rows: ISearchItem<any>[];
        search: string;
    },
) => ISearchItem<any>[]
| Promise<ISearchItem<any>[]>

Обработчик запроса справочника. Если число объектов меньше dictLimit, подразумевается, что все данные выгружены на фронт и новые запросы не выполняются

dictSearchItem?: any

Функция позволяет переопределить компонент элемента списка из модалки

dictSearchText?: (data: Data, payload: any) => string | Promise<string>

Функция позволяет загрузить searchText для выбранного элемента асинхронно

dictValue?: (
    value: string,
    data: Data,
    payload: any,
) => ISearchItem<any> | Promise<ISearchItem<any>>

Функция позволяет загрузить label для выбранного элемента асинхронно

dirty: boolean
disabled: boolean
element?: any

Инъекция JSX для ComponentField

expansionOpened?: boolean

Поле для ExpansionLayout

fallback: (e: Error) => void
fieldReadonly: boolean
fields?: IField<Data, any>[]

Дочерние поля для групп

fileAccept?: string

mime тип выбираемого файла

freeSolo?: boolean

Поле, позволяющее передавать собственные значения в FieldType.Items и FieldType.Combo

groupRef?: (element?: null | HTMLDivElement) => void

Передает ссылку при перерисовках

height?: string | ISizeCallback<Data>
heroInnerDesktopStyle?: any
heroInnerPhoneStyle?: any
heroInnerStyle?: any
heroInnerTabletStyle?: any
heroOuterDesktopStyle?: any
heroOuterPhoneStyle?: any
heroOuterStyle?: any
heroOuterTabletStyle?: any
icon?: any

Иконка для FieldType.Button и FieldType.Icon

iconBackground?:
    | "error"
    | "inherit"
    | "primary"
    | "secondary"
    | "success"
    | "info"
    | "warning"

Цвет фона иконки для FieldType.Icon

iconColor?:
    | "error"
    | "inherit"
    | "primary"
    | "secondary"
    | "success"
    | "info"
    | "warning"
    | "default"

Цвет иконки для FieldType.Icon

iconSize?: number

Размер иконки для FieldType.Icon

incorrect: null | string
innerPadding?: string

Внутренние отступы для Paper

inputAutocomplete?: "new-password" | "on" | "off" | "false"
inputFormatter?: (input: string) => string

Форматтер, преобразующий пользовательский ввод к нужному шаблону

inputFormatterAllowed?: RegExp | (char: string, idx: number) => boolean

Разрешенные к вводу символы

inputFormatterReplace?: (char: string) => null | string

Замена символов для форматерра, например запятую на точку в числе

inputFormatterSymbol?: string

Разделитель шаблона форматтера, по дефолту 0

inputFormatterTemplate?: string

Шаблонов для форматтера

inputMode?:
    | "search"
    | "text"
    | "email"
    | "tel"
    | "url"
    | "none"
    | "numeric"
    | "decimal"

Поле inputmode для MatTextField

inputPattern?: string

Паттерн для MatTextField (inputmode: 'decimal' и pattern: '[0-9.,]+' добавят запятую на iOS клавиатуре)

inputRef?: (element?: null | HTMLInputElement) => void
inputRows?: number

Делает TextField многострочным, если inputRows больше единицы

inputType?:
    | "number"
    | "color"
    | "search"
    | "text"
    | "date"
    | "email"
    | "month"
    | "password"
    | "tel"
    | "time"
    | "url"
    | "week"

Поле type для MatTextField

invalid: null | string
isBaselineAlign: boolean
itemList?:
    | string[]
    | (data: Data, payload: any) => string[]
    | (data: Data, payload: any) => Promise<string[]>

Варианты выбора для ComboField и ItemsField

itemTree?:
    | ITreeNode[]
    | (data: Data, payload: any) => ITreeNode[]
    | (data: Data, payload: any) => Promise<ITreeNode[]>

Вариант выбора для TreeField

keepRaw?: boolean

Отключает fulltext фильтр для FieldType.Complete

labelFormatSlider?: (v: number) => string | number
labelShrink?: boolean

Флаг, удерживающий подпись текстового поля при пустом значении

leadingIcon?: any

Иконки для MatTextField

leadingIconClick?: (
    value: Value,
    data: Data,
    payload: any,
    onValueChange: (v: Value) => void,
    onChange: (data: Data) => void,
) => void

При клике на иконку мы можем запросить данные из модального окна, расположенного в коде прикладного программиста. Коллбек получает на вход текущее значение поля и функцию onChange...

leadingIconRipple?: boolean

Ripple эффект для иконок

leadingIconTabIndex?: number

Если нужно убрать фокус после нажатия tab

left?: string | ISizeCallback<Data>
lineTransparent?: boolean

Отключает отчерк у линии

loading: boolean
maxHeight?: string | ISizeCallback<Data>
maxPercent?: number

Максимальное число для высчитывания процента (минимальное число всегда ноль)

maxSlider?: number
maxWidth?: string | ISizeCallback<Data>
minHeight?: string | ISizeCallback<Data>
minSlider?: number

Поля, специфичные для SliderField

minWidth?: string | ISizeCallback<Data>
name: string
noDeselect?: boolean

Отключает возможность сброса выбора значения для Items и Combo

object: Data
onChange: (v: Value, config?: { skipReadonly?: boolean }) => void
outlined?: boolean
outlinePaper: boolean

Превращает FieldType.Paper в FieldType.Outline

phoneBottom?: string | ISizeCallback<Data>
phoneHeight?: string | ISizeCallback<Data>
phoneLeft?: string | ISizeCallback<Data>
phoneMaxHeight?: string | ISizeCallback<Data>
phoneMaxWidth?: string | ISizeCallback<Data>
phoneMinHeight?: string | ISizeCallback<Data>
phoneMinWidth?: string | ISizeCallback<Data>
phoneRight?: string | ISizeCallback<Data>
phoneTop?: string | ISizeCallback<Data>
phoneWidth?: string | ISizeCallback<Data>
placeholder?: string

placeholder для TextField, ComboField, ItemsField

prefix: string
progressBarColor?: (v: number) => string
progressColor?: (v: number) => string
  • Коллбеки, позволяющие перекрасить ProgressField. Работают только если заданы все вместе
  • ВНИМАНИЕ! Потенциально возможна просадка производительности, так как осуществляет рекомпиляцию стилей material-ui
radioValue?: string

Поле, специфичное для RadioField и позволяющее задать значение при выборе элемента кликом

readonly: boolean

Флаг только на чтение и "круглой окаймовки"

right?: string | ISizeCallback<Data>
shouldCondition?: (prevData: Data, nextData: Data, payload: any) => boolean

Позволяет мемоизировать вызов condition

showPercentLabel?: boolean

Показывает процент числом слева

sliderRailColor?: (v: number) => string
sliderSteps?: { label: string; value: number }[]

Шаги для слайдера

sliderThumbColor?: (v: number) => string
  • Коллбеки, позволяющий перекрасить SliderField. Работают только если заданы все вместе
  • ВНИМАНИЕ! Потенциально возможна просадка производительности, так как осуществляет рекомпиляцию стилей material-ui
sliderTrackColor?: (v: number) => string
stepSlider?: number
style?: any

Стиль корневого элемента для поля (опционально)

switchActiveLabel?: string

Применяет к Switch второй title

switchNoColor?: boolean

Отключает цвет для Switch

tabBackground?: boolean

Закрашивает фон TabLayout в темный цвет

tabChange?: (idx: number) => void

Событие изменения вкладки

tabColor?: "primary" | "secondary"

Цвет вкладок для TabLayout

tabIndex?: number

Номер активной вкладки по-умолчанию

tabKeepFlow?: boolean

Позволяет содержимому растягивать высоту блока у TabLayout

tabletBottom?: string | ISizeCallback<Data>
tabletHeight?: string | ISizeCallback<Data>
tabletLeft?: string | ISizeCallback<Data>
tabletMaxHeight?: string | ISizeCallback<Data>
tabletMaxWidth?: string | ISizeCallback<Data>
tabletMinHeight?: string | ISizeCallback<Data>
tabletMinWidth?: string | ISizeCallback<Data>
tabletRight?: string | ISizeCallback<Data>
tabletTop?: string | ISizeCallback<Data>
tabletWidth?: string | ISizeCallback<Data>
tabLine?: boolean

Отделяет табы отчерком у TabLayout

tabList?: string[]

Список вкладок для TabLayout

tabVariant?: "fullWidth" | "standard" | "scrollable"

Вариант вывода вкладок для TabLayout

tip?:
    | string[]
    | (value: string, data: Data, payload: any) => string[] | Promise<string[]>

Подсказки для CompleteField

tipSelect?: (
    value: string,
    data: Data,
    payload: any,
    onChange: (data: Data) => void,
) => void

Коллбек выбора элемента из CompleteField

title?: string

Заголовок и описание, если возможен вывод у поля

top?: string | ISizeCallback<Data>

Свойства для компоновки Hero - инструмента настройки отступов

tr?:
    | (s: string, data: Data, payload: any) => string
    | (s: string, data: Data, payload: any) => Promise<string>

Позволяет перевести значения у ComboField и ItemsField из поле itemList на человеческий, если используются константы

trailingIcon?: any
trailingIconClick?: (
    value: Value,
    data: Data,
    payload: any,
    onValueChange: (v: Value) => void,
    onChange: (data: Data) => void,
) => void
trailingIconRipple?: boolean
trailingIconTabIndex?: number
transparentPaper: boolean
typoVariant?:
    | "h1"
    | "h2"
    | "h3"
    | "h4"
    | "h5"
    | "h6"
    | "subtitle1"
    | "subtitle2"
    | "body1"
    | "body2"
    | "caption"

Шрифт для поля Typography

upload?: (file: File, data: Data, payload: any) => string | Promise<string>

Функция для загрузки файла на сервер

validation?: IValidation

Параметры фабрики для создания коллбека isInvalid

value: Value
view?: (file: string, data: Data, payload: any) => void | Promise<void>
virtualListBox?: boolean

Позволяет включить виртуализацию для FieldType.List и FieldType.Combo

watchItemList?: boolean

Включает change-detection для выпадающих меню. По умолчанию выключено

watchItemTree?: boolean

Включает change-detection для выпадающих меню. По умолчанию выключено

watchOneContext?: boolean

Включает change-detection для поля компонента. По умолчанию выключено

width?: string | ISizeCallback<Data>
withContextMenu: undefined | true