UNPKG

fox-block-builder

Version:

Maintainable code for loop slack-block-kit-like modal builder

53 lines (52 loc) 2.74 kB
import { IPluginFormBlock, PluginFormBlockDto } from './plugin-form-block.dto'; export declare class PluginFormBase { blocks: PluginFormBlockDto[]; private_metadata?: string; setBlocks(blocks: IPluginFormBlock[]): this; setBlockById(block: IPluginFormBlock): this; addBlocks(index?: number, del?: number, ...blocks: IPluginFormBlock[]): this; /** Получение блока по ID */ getBlockById(blockId: string): PluginFormBlockDto | undefined; /** Получение custom value блока */ getCustomBlock(id: number): PluginFormBlockDto | undefined; setBlockParam<T extends keyof IPluginFormBlock>(id: string, name: T, value: PluginFormBlockDto[T]): this; /** Установка label */ setBlockLabel(blockId: string, label: string): this; /** Установка value */ setBlockValue(blockId: string, value: string): this; /** Установка text */ setBlockText(blockId: string, text: string): this; /** Получение значений мультиселектов в виде массивов */ getMultiSelectBlock(blockId: string): { value: string; text?: string; }[]; /** Получение названия задачи из значения блока */ getTitleFromBlocks(title?: string): string; /** Получение значения блока "другое" из соотв. блока */ getBlockOtherText(blockId: string): PluginFormBlockDto | undefined; /** Получение обычных блоков */ getRegularBlocks(): PluginFormBlockDto[]; /** Получение custom value блоков */ getCustomBlocks(): PluginFormBlockDto[]; /** Получение custom value блоков с файлами */ getCustomFileBlocks(): PluginFormBlockDto[]; /** Получение обычных блоков с файлами */ getFileBlocks(): PluginFormBlockDto[]; /** Удаление блоков custom value */ removeCustomBlocks(): void; /** Удаление блоков с флагом exclude */ removeExcludedBlocks(): this; /** Форматирование в Fields c опцональным выбором блоков */ toFields(...includeIds: string[]): { title: string | null; value: string | undefined; }[]; /** Форматирование в строку markdown c опцональным выбором блоков */ asString({ includeIds, md, }: { includeIds?: string[]; md: boolean; }): string; /** Форматирование в строку markdown c опцональным выбором блоков */ toMarkdown(...includeIds: string[]): string; }