API методы для работы с блоками
createBlockblockBuilder.createBlock(block: ICreateBlockDto): Promise<IBlockDto>Создает новый блок с указанными параметрами
getBlockblockBuilder.getBlock(id: string): Promise<IBlockDto | null>Возвращает блок по идентификатору
getAllBlocksblockBuilder.getAllBlocks(): Promise<IBlockDto[]>Возвращает список всех созданных блоков
updateBlockblockBuilder.updateBlock(id: string, updates: IUpdateBlockDto): Promise<IBlockDto | null>Обновляет существующий блок по идентификатору
deleteBlockblockBuilder.deleteBlock(id: string): Promise<boolean>Удаляет блок по идентификатору
setBlockVisibleblockBuilder.setBlockVisible(id: string, visible: boolean): Promise<IBlockDto | null>Устанавливает флаг visible у блока
reorderBlocksblockBuilder.reorderBlocks(blockIds: string[]): Promise<boolean>Меняет порядок блоков по массиву id
duplicateBlockblockBuilder.duplicateBlock(id: string): Promise<IBlockDto | null>Дублирует блок
getBlocksCountblockBuilder.getBlocksCount(): Promise<number>Возвращает количество блоков
getBlocksByTypeblockBuilder.getBlocksByType(type: string): Promise<IBlockDto[]>Возвращает блоки по типу
clearAllBlocksblockBuilder.clearAllBlocks(): Promise<void>Удаляет все блоки из репозитория
exportBlocksblockBuilder.exportBlocks(): Promise<string>Экспортирует блоки в форматированную JSON-строку (async)
importBlocksblockBuilder.importBlocks(json: string): Promise<boolean>Заменяет все блоки из JSON (async). Возвращает false при невалидных данных
getBlockConfigsblockBuilder.getBlockConfigs(): Record<string, IBlockTypeConfig>Возвращает копию всех blockConfigs, переданных в конструктор
getBlockConfigblockBuilder.getBlockConfig(type: string): IBlockTypeConfig | undefinedВозвращает конфиг одного типа блока
hasBlockTypeblockBuilder.hasBlockType(type: string): booleanПроверяет наличие типа блока в blockConfigs
getAvailableBlockTypesblockBuilder.getAvailableBlockTypes(): string[]Возвращает все ключи типов из blockConfigs
registerComponentblockBuilder.registerComponent(name: string, component: unknown): voidРегистрирует компонент рендера по имени
registerComponentsblockBuilder.registerComponents(components: Record<string, unknown>): voidМассовая регистрация компонентов рендера
getComponentblockBuilder.getComponent(name: string): unknown | nullВозвращает зарегистрированный компонент по имени
hasComponentblockBuilder.hasComponent(name: string): booleanПроверяет наличие компонента в реестре
getAllComponentsblockBuilder.getAllComponents(): Record<string, unknown>Возвращает все зарегистрированные компоненты
unregisterComponentblockBuilder.unregisterComponent(name: string): booleanУдаляет компонент из реестра
registerCustomFieldRendererblockBuilder.registerCustomFieldRenderer(renderer: ICustomFieldRenderer): voidРегистрирует кастомный рендерер поля.
registerCustomFieldRenderersblockBuilder.registerCustomFieldRenderers(renderers: ICustomFieldRenderer[]): voidМассовая регистрация нескольких кастомных рендереров полей.
getCustomFieldRendererblockBuilder.getCustomFieldRenderer(id: string): ICustomFieldRenderer | nullПолучает кастомный рендерер по ID.
hasCustomFieldRendererblockBuilder.hasCustomFieldRenderer(id: string): booleanПроверяет наличие кастомного рендерера.
getAllCustomFieldRenderersblockBuilder.getAllCustomFieldRenderers(): Map<string, ICustomFieldRenderer>Возвращает все зарегистрированные кастомные рендереры.
unregisterCustomFieldRendererblockBuilder.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 компонентов.