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

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

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

Справочник API

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

Vue 3

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

React

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

Методы

API методы для работы с блоками

CRUD операции

createBlock

blockBuilder.createBlock(block: ICreateBlockDto): Promise<IBlockDto>

Создает новый блок с указанными параметрами

getBlock

blockBuilder.getBlock(id: string): Promise<IBlockDto | null>

Возвращает блок по идентификатору

getAllBlocks

blockBuilder.getAllBlocks(): Promise<IBlockDto[]>

Возвращает список всех созданных блоков

updateBlock

blockBuilder.updateBlock(id: string, updates: IUpdateBlockDto): Promise<IBlockDto | null>

Обновляет существующий блок по идентификатору

deleteBlock

blockBuilder.deleteBlock(id: string): Promise<boolean>

Удаляет блок по идентификатору

Состояние и порядок блоков

setBlockVisible

blockBuilder.setBlockVisible(id: string, visible: boolean): Promise<IBlockDto | null>

Устанавливает флаг visible у блока

reorderBlocks

blockBuilder.reorderBlocks(blockIds: string[]): Promise<boolean>

Меняет порядок блоков по массиву id

Работа с данными

duplicateBlock

blockBuilder.duplicateBlock(id: string): Promise<IBlockDto | null>

Дублирует блок

getBlocksCount

blockBuilder.getBlocksCount(): Promise<number>

Возвращает количество блоков

getBlocksByType

blockBuilder.getBlocksByType(type: string): Promise<IBlockDto[]>

Возвращает блоки по типу

clearAllBlocks

blockBuilder.clearAllBlocks(): Promise<void>

Удаляет все блоки из репозитория

exportBlocks

blockBuilder.exportBlocks(): Promise<string>

Экспортирует блоки в форматированную JSON-строку (async)

importBlocks

blockBuilder.importBlocks(json: string): Promise<boolean>

Заменяет все блоки из JSON (async). Возвращает false при невалидных данных

Конфиг типов блоков

getBlockConfigs

blockBuilder.getBlockConfigs(): Record<string, IBlockTypeConfig>

Возвращает копию всех blockConfigs, переданных в конструктор

getBlockConfig

blockBuilder.getBlockConfig(type: string): IBlockTypeConfig | undefined

Возвращает конфиг одного типа блока

hasBlockType

blockBuilder.hasBlockType(type: string): boolean

Проверяет наличие типа блока в blockConfigs

getAvailableBlockTypes

blockBuilder.getAvailableBlockTypes(): string[]

Возвращает все ключи типов из blockConfigs

Реестр компонентов

registerComponent

blockBuilder.registerComponent(name: string, component: unknown): void

Регистрирует компонент рендера по имени

registerComponents

blockBuilder.registerComponents(components: Record<string, unknown>): void

Массовая регистрация компонентов рендера

getComponent

blockBuilder.getComponent(name: string): unknown | null

Возвращает зарегистрированный компонент по имени

hasComponent

blockBuilder.hasComponent(name: string): boolean

Проверяет наличие компонента в реестре

getAllComponents

blockBuilder.getAllComponents(): Record<string, unknown>

Возвращает все зарегистрированные компоненты

unregisterComponent

blockBuilder.unregisterComponent(name: string): boolean

Удаляет компонент из реестра

Кастомные рендереры

registerCustomFieldRenderer

blockBuilder.registerCustomFieldRenderer(renderer: ICustomFieldRenderer): void

Регистрирует кастомный рендерер поля.

registerCustomFieldRenderers

blockBuilder.registerCustomFieldRenderers(renderers: ICustomFieldRenderer[]): void

Массовая регистрация нескольких кастомных рендереров полей.

getCustomFieldRenderer

blockBuilder.getCustomFieldRenderer(id: string): ICustomFieldRenderer | null

Получает кастомный рендерер по ID.

hasCustomFieldRenderer

blockBuilder.hasCustomFieldRenderer(id: string): boolean

Проверяет наличие кастомного рендерера.

getAllCustomFieldRenderers

blockBuilder.getAllCustomFieldRenderers(): Map<string, ICustomFieldRenderer>

Возвращает все зарегистрированные кастомные рендереры.

unregisterCustomFieldRenderer

blockBuilder.unregisterCustomFieldRenderer(id: string): boolean

Удаляет кастомный рендерер.

Режим редактирования/просмотра

У core BlockBuilder нет методов setIsEdit/getIsEdit. Режим редактирования доступен только в BlockBuilderComponent (Vue/React) через prop isEdit.

В режиме редактирования (isEdit: true) на body добавляется CSS-класс bb-is-edit-mode; в режиме просмотра (isEdit: false) класс снимается, контролы редактирования, добавления и управления блоками скрыты. Остаётся только ваша вёрстка блоков в обёртке BlockBuilder. См. документацию Vue и React компонентов.