BlockBuilder Logo/
Документация/Типы
Быстрый стартAPIVueReactДемоИстория изменений
GitHub

Начало работы

Быстрый стартИстория изменений

Справочник API

Обзор APIМетодыСвойстваПоля формТемизация и локализацияУтилитыТипы

Vue 3

Быстрый стартКомпонентыСобытияNuxt (SSR)

React

Быстрый стартКомпонентыКолбэкиNext.js (SSR)
Следующая страница
Vue — Быстрый старт
→

Типы

TypeScript типы и интерфейсы для работы с BlockBuilder

IBlockBuilderOptions

Опции конструктора core BlockBuilder. Не включает theme и locale — это props BlockBuilderComponent.

IBlock

Основной интерфейс блока (доменная модель)

IBlockDto

DTO для передачи данных блока (без бизнес-логики)

ICreateBlockDto

DTO для создания блока (без ID и метаданных)

IUpdateBlockDto

DTO для обновления блока

IBlockMetadata

Метаданные блока

IFormFieldConfig

Конфигурация поля формы

IRepeaterFieldConfig

Конфигурация для поля типа repeater. Свойство countLabelVariants позволяет локализовать счётчик элементов. maxNestingDepth ограничивает глубину вложенности. defaultExpandFirstOnly (по умолчанию true) — при открытии формы развёрнут только первый item (рекурсивно для вложенных repeater); item с ошибкой валидации раскрывается автоматически.

По умолчанию UI показывает только число. Если указать countLabelVariants, будет показано «число + слово». Заголовок item и chevron toggles accordion (aria-expanded). Чтобы вернуть поведение «все item развёрнуты»: defaultExpandFirstOnly: false.

IRepeaterItemFieldConfig

Конфигурация одного поля в массиве repeaterConfig.fields. Те же свойства, что у IFormFieldConfig, но type не может быть 'spacing' или 'matrix-table'.

Вложенный repeater: type: 'repeater' + repeaterConfig. Остальные типы полей (select, image, custom…) настраиваются так же, как в корневом fields блока.

IFormGenerationConfig

Конфигурация для генерации форм

TFieldType

Типы полей форм

IValidationRule

Правило валидации поля. В TypeScript-интерфейсе свойство field обязательно; в примерах конфигурации блоков его часто опускают — валидатор на runtime берёт ключ из родительского field.

IApiSelectItem

Элемент списка из API для api-select поля

IApiSelectResponse

Ответ от API для api-select поля

IApiRequestParams

Параметры для HTTP запроса к API

THttpMethod

Метод HTTP запроса

IFieldValidationConfig

Конфигурация поля с расширенной валидацией

IValidationResult

Результат валидации

IApiSelectConfig

Конфигурация для api-select поля. debounceMs по умолчанию 0 (запрос сразу при вводе).

IBlockAnchorConfig

Конфигурация для поля block-anchor. Форма сохраняет #block-id или URL в props; скролл к якорю и обработка клика — в компонентах блоков пользователя.

IDependsOnConfig

Конфигурация условного отображения поля на основе значения другого поля

Операторы:

  • equals (по умолчанию) - поле видимо, если значение равно value
  • notEquals - поле видимо, если значение не равно value
  • in - поле видимо, если значение содержится в массиве value
  • notIn - поле видимо, если значение не содержится в массиве value

ICustomFieldFormScope

Контекст формы в ICustomFieldContext.formScope и в fileImportConfig.onImport.

IOptionsFromConfig

IFileImportConfig

IBlockTypeConfig

Конфигурация одного типа блока. В Vue/React — элемент availableBlockTypes[] (там же тип IBlockType). В core blockConfigs — тот же набор полей, но ключ Record = type; часто используют title вместо label.

Поле formHooks — см. IBlockFormHooks. Поля формы — IFormFieldConfig[]. Доп. ключи вроде description — через index signature.

IBlockFormHooks

Lifecycle-хуки модалки create/edit блока. Указываются в конфиге типа блока (formHooks в IBlockTypeConfig / IBlockType).

TBlockId

Тип ID блока