Represents the interface for the public properties of the class IOnePublicProps.

interface IOnePublicProps<
    Data = IAnything,
    Payload = IAnything,
    Field = IField<Data>,
> {
    apiRef?: any;
    baseline?: boolean;
    blur?: (
        name: string,
        data: Data,
        payload: Payload,
        onValueChange: (value: Value) => void,
        onChange: (data: Data) => void,
    ) => void;
    change?: (Data: Data, initial: boolean) => void;
    changeSubject?: TSubject<Data>;
    className?: string;
    click?: (
        name: string,
        data: Data,
        payload: Payload,
        onValueChange: (value: Value) => void,
        onChange: (data: Data) => void,
        e: MouseEvent,
    ) => void | Promise<void>;
    context?: Record<string, any>;
    createField?: (entity: IEntity<Data>, currentPath: string) => ReactElement;
    createLayout?: (
        entity: IEntity<Data>,
        children: ReactNode,
        currentPath: string,
    ) => ReactElement;
    data?: null | Data;
    dirty?: boolean;
    disabled?: boolean;
    fallback?: (e: Error) => void;
    features?:
        | string[]
        | Record<string, Value>
        | () => string[] | Record<string, Value>;
    fieldDebounce?: number;
    fields: Field[];
    focus?: (
        name: string,
        data: Data,
        payload: Payload,
        onValueChange: (value: Value) => void,
        onChange: (data: Data) => void,
    ) => void;
    handler?: OneHandler<Data, Payload>;
    incomingTransform?: (data: any, payload: Payload) => Data;
    invalidity?: (name: string, msg: string, payload: Payload) => void;
    isBaseline?: (field: IField) => boolean;
    isBaselineForRoot?: (field: IField) => boolean;
    loadEnd?: (isOk: boolean, source: string) => void;
    loadStart?: (source: string) => void;
    menu?: (
        name: string,
        action: string,
        data: Data,
        payload: Payload,
        onValueChange: (value: Value) => void,
        onChange: (data: Data) => void,
    ) => void;
    noBaseline?: boolean;
    onBlur?: (
        name: string,
        data: Data,
        payload: Payload,
        onValueChange: (value: Value) => void,
        onChange: (data: Data) => void,
    ) => void;
    onChange?: (Data: Data, initial: boolean) => void;
    onClick?: (
        name: string,
        data: Data,
        payload: Payload,
        onValueChange: (value: Value) => void,
        onChange: (data: Data) => void,
        e: MouseEvent,
    ) => void | Promise<void>;
    onFocus?: (
        name: string,
        data: Data,
        payload: Payload,
        onValueChange: (value: Value) => void,
        onChange: (data: Data) => void,
    ) => void;
    onInvalid?: (name: string, msg: string, payload: Payload) => void;
    onLoadEnd?: (isOk: boolean, source: string) => void;
    onLoadStart?: (source: string) => void;
    onMenu?: (
        name: string,
        action: string,
        data: Data,
        payload: Payload,
        onValueChange: (value: Value) => void,
        onChange: (data: Data) => void,
    ) => void;
    onReady?: () => void;
    outgoingTransform?: (data: any, payload: Payload) => Data;
    outlinePaper?: boolean;
    payload?: Payload | () => Payload;
    prefix?: string;
    readonly?: boolean;
    readTransform?: (
        value: string | string[],
        name: string,
        data: Data,
        payload: Payload,
    ) => Value;
    ready?: () => void;
    reloadSubject?: TSubject<void>;
    slots?: Partial<ISlotFactoryContext>;
    style?: any;
    sx?: any;
    transparentPaper?: boolean;
    updateSubject?: TSubject<Data>;
    withNamedPlaceholders?: boolean;
    writeTransform?: (
        value: string | string[],
        name: string,
        data: Data,
        payload: Payload,
    ) => Value;
}

Type Parameters

Hierarchy

  • Omit<
        IOneProps<Data, Payload, Field>,
        keyof { features: never; readTransform: never; writeTransform: never },
    >
    • IOnePublicProps

Properties

apiRef?: any

Ссылка на объект API

baseline?: boolean

Привязывет поля к нижнему краю

blur?: (
    name: string,
    data: Data,
    payload: Payload,
    onValueChange: (value: Value) => void,
    onChange: (data: Data) => void,
) => void
change?: (Data: Data, initial: boolean) => void

Вызывается после изменения и передает измененный объект прикладному программисту

changeSubject?: TSubject<Data>

Эмиттер для перезаписи данных. Вызывает change(data, true)

className?: string

Класс корневой группы

click?: (
    name: string,
    data: Data,
    payload: Payload,
    onValueChange: (value: Value) => void,
    onChange: (data: Data) => void,
    e: MouseEvent,
) => void | Promise<void>

Коллбек для перехвата клика по полю

context?: Record<string, any>

Контекст кастомных полей, в отличие от payload доступен к change detection

createField?: (entity: IEntity<Data>, currentPath: string) => ReactElement

Фабрика для создания полей пользователя

createLayout?: (
    entity: IEntity<Data>,
    children: ReactNode,
    currentPath: string,
) => ReactElement

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

data?: null | Data

Represents an alternative way to provide data into component except handler. The casual way more native to React developers

dirty?: boolean

Если флаг включен, показываем валидацию до фокусировки по полю

disabled?: boolean

Отключает поля ввода

fallback?: (e: Error) => void

Вызывается при ошибке в handler

features?:
    | string[]
    | Record<string, Value>
    | () => string[] | Record<string, Value>

Represents the features of a variable.

fieldDebounce?: number

Debounce для FieldType.Text

fields: Field[]

Массив полей, выводимый в компоненте

focus?: (
    name: string,
    data: Data,
    payload: Payload,
    onValueChange: (value: Value) => void,
    onChange: (data: Data) => void,
) => void

Вызываются при фокусировки по филду в компоненте и потере фокуса

handler?: OneHandler<Data, Payload>

Позволяет загружать данные в компонент

incomingTransform?: (data: any, payload: Payload) => Data

Методы для преобразования целевого объекта, например сериализации/десереализации, чтобы хранить в data страницы строку, синхронизируемую через AJAX

invalidity?: (name: string, msg: string, payload: Payload) => void

Коллбек, вызываемый при не прохождении валидации

isBaseline?: (field: IField) => boolean

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

isBaselineForRoot?: (field: IField) => boolean

Корневой компонент привязывает поля к нижнему краю только если нет ни одной компоновки

loadEnd?: (isOk: boolean, source: string) => void
loadStart?: (source: string) => void

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

menu?: (
    name: string,
    action: string,
    data: Data,
    payload: Payload,
    onValueChange: (value: Value) => void,
    onChange: (data: Data) => void,
) => void

Коллбек для управления контекстным меню

noBaseline?: boolean

Привязывает поля и компоновки к верхнему краю

onBlur?: (
    name: string,
    data: Data,
    payload: Payload,
    onValueChange: (value: Value) => void,
    onChange: (data: Data) => void,
) => void

Called when the blur event is triggered on the component.

Type declaration

    • (
          name: string,
          data: Data,
          payload: Payload,
          onValueChange: (value: Value) => void,
          onChange: (data: Data) => void,
      ): void
    • Parameters

      • name: string
      • data: Data

        The data related to the component.

      • payload: Payload

        The payload associated with the blur event.

      • onValueChange: (value: Value) => void
      • onChange: (data: Data) => void

      Returns void

onChange?: (Data: Data, initial: boolean) => void

The onChange function is an optional property of the IOneProps interface. It represents the callback function that is invoked when a change event occurs.

Type declaration

    • (Data: Data, initial: boolean): void
    • Parameters

      • Data: Data
      • initial: boolean

      Returns void

onClick?: (
    name: string,
    data: Data,
    payload: Payload,
    onValueChange: (value: Value) => void,
    onChange: (data: Data) => void,
    e: MouseEvent,
) => void | Promise<void>

Represents a callback function that gets triggered when an onClick event occurs.

Type declaration

    • (
          name: string,
          data: Data,
          payload: Payload,
          onValueChange: (value: Value) => void,
          onChange: (data: Data) => void,
          e: MouseEvent,
      ): void | Promise<void>
    • Parameters

      • name: string
      • data: Data

        The data associated with the component.

      • payload: Payload

        The payload passed to the function.

      • onValueChange: (value: Value) => void
      • onChange: (data: Data) => void
      • e: MouseEvent

      Returns void | Promise<void>

onFocus?: (
    name: string,
    data: Data,
    payload: Payload,
    onValueChange: (value: Value) => void,
    onChange: (data: Data) => void,
) => void

Represents an optional onFocus event handler.

Type declaration

    • (
          name: string,
          data: Data,
          payload: Payload,
          onValueChange: (value: Value) => void,
          onChange: (data: Data) => void,
      ): void
    • Parameters

      • name: string
      • data: Data

        The current data of the component.

      • payload: Payload

        The event payload.

      • onValueChange: (value: Value) => void
      • onChange: (data: Data) => void

      Returns void

      • This function does not return any value.
onInvalid?: (name: string, msg: string, payload: Payload) => void

Represents the onInvalid callback function, an optional property of the IOneProps interface. This function is executed when the invalidity condition is met.

Type declaration

    • (name: string, msg: string, payload: Payload): void
    • Parameters

      • name: string
      • msg: string
      • payload: Payload

      Returns void

      void

onLoadEnd?: (isOk: boolean, source: string) => void

Represents the optional onLoadEnd property of the IOneProps interface.

This property defines a callback function that is invoked when the loading of data ends.

Type declaration

    • (isOk: boolean, source: string): void
    • Parameters

      • isOk: boolean
      • source: string

      Returns void

onLoadStart?: (source: string) => void

Represents the onLoadStart event handler of a component.

Type declaration

    • (source: string): void
    • Parameters

      • source: string

      Returns void

onMenu?: (
    name: string,
    action: string,
    data: Data,
    payload: Payload,
    onValueChange: (value: Value) => void,
    onChange: (data: Data) => void,
) => void

Represents the optional 'onMenu' property of type IOneProps<Data, Payload, Field>['menu']. This property is used to define the event handler function when a menu action is triggered. The event handler will receive three arguments: data, payload, and field.

Type declaration

    • (
          name: string,
          action: string,
          data: Data,
          payload: Payload,
          onValueChange: (value: Value) => void,
          onChange: (data: Data) => void,
      ): void
    • Parameters

      • name: string
      • action: string
      • data: Data

        The data associated with the menu.

      • payload: Payload

        The payload associated with the menu.

      • onValueChange: (value: Value) => void
      • onChange: (data: Data) => void

      Returns void

onReady?: () => void

Represents the onReady property of IOneProps.

outgoingTransform?: (data: any, payload: Payload) => Data
outlinePaper?: boolean

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

payload?: Payload | () => Payload

Объект, передающийся в пользовательские поля через контекст

prefix?: string

Префикс для формирования ключей элементов

readonly?: boolean

Блокирует ввод данных

readTransform?: (
    value: string | string[],
    name: string,
    data: Data,
    payload: Payload,
) => Value

Represents the field value transform factory

ready?: () => void

Вызывается, когда все поля успели отрисоваться в первый раз, после появления формы

reloadSubject?: TSubject<void>

Эмиттер для запроса данных

slots?: Partial<ISlotFactoryContext>

Слоты для полей ввода

style?: any

Стиль корневой группы

sx?: any

SX для корневой группы

transparentPaper?: boolean
updateSubject?: TSubject<Data>

Эмиттер для изменения данных. Вызывает change(data, false)

withNamedPlaceholders?: boolean

Генерирует плейсхолдеры согласно схеме полей целевого объекта

writeTransform?: (
    value: string | string[],
    name: string,
    data: Data,
    payload: Payload,
) => Value