UNPKG

fox-block-builder

Version:

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

28 lines (27 loc) 1.22 kB
import { ModalView } from '@slack/web-api'; import { DividerBlockRdo, HeaderBlockRdo, InputBlockRdo, SectionBlockRdo } from './modal-block.rdo'; import { PlainTextObject, TPluginModalMapValues } from '../../internal'; import { LoopPluginModalType } from '../../internal/enum'; type TUsedBlock = InputBlockRdo | SectionBlockRdo | DividerBlockRdo | HeaderBlockRdo; export declare class ViewRdo implements ModalView { modalName: string; type: 'modal'; title: PlainTextObject; submit: PlainTextObject; close: PlainTextObject; blocks: TUsedBlock[]; callback_id?: string; private_metadata?: string; filterBlocks(filterFn?: (b: TUsedBlock) => boolean): this; /** Получение блока по айди */ getBlock(blockId: string, params?: Pick<InputBlockRdo, 'forTeams' | 'customField' | 'access'>): TUsedBlock | undefined; /** Убираем блоки по (части) ID и параметрам */ removeBlocksById(blockIdOrPart: string, params?: Pick<InputBlockRdo, 'forTeams' | 'customField' | 'access'>): this; } export declare class ModalRdo { name: string; type: LoopPluginModalType; map: TPluginModalMapValues | null; view: ViewRdo; } export {};