UNPKG

fox-block-builder

Version:

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

131 lines (130 loc) 3.88 kB
type TMetaCustomValue = { id: number; value: any; }; export interface IPluginModalMeta { /** Номер шаблона планфикса */ template?: number; /** Заголовок */ title?: string; /** Кастомные поля для шаблонов */ customValue?: TMetaCustomValue[]; /** ID проекта планфикса */ projectId?: number; /** Статус задачи */ statusSet?: number; /** Ответственные */ workers?: { users?: { id: number[]; }; groups?: { id: number[]; }; }; /** Нужно ли установить ответственных */ setWorkers?: boolean; /** Статус задачи */ status?: string | number; /** General задачи */ general?: number; /** Родительская задача */ parentTask?: number; parentFieldId?: number; emailNameInBody?: boolean; tag?: string; subject?: string; isOwner?: boolean; stage?: string; /** Канал сообщения */ channelId?: string; /** ID сообщения */ postId?: string; /** Действия с описанием задачи, если оно уже есть */ descAction?: 'keep' | 'add' | 'set'; /** Отправка сообщений при сабмите формы */ postMessage?: string; /** Дата начала */ beginDateTime?: string; /** ФИО в названии задачи */ userInTitle?: boolean; /** Добавление полей в описание */ fields?: { label: string; value: string; }[]; /** Отправить ответ к сообщению с ID */ responsePostId?: string; /** Отправить ответ к сообщению в канал */ responseChannelId?: string; /** Задать параметры на основании значений блока */ setParams?: { blockId: string; values: (string | number)[]; params: Partial<Record<string, any>>; }[]; /** Параметры ОС */ feedback?: { authorPostId?: string; authorChannelId?: string; targetPostId?: string; targetChannelId?: string; }; [metaKey: string]: any; } /** Конструктор обьекта метаданных модалки */ export declare class PluginModalMetaBuilder implements IPluginModalMeta { template?: number; title?: string; customValue?: TMetaCustomValue[]; projectId?: number; statusSet?: number; workers?: { users?: { id: number[]; }; groups?: { id: number[]; }; }; setWorkers?: boolean; status?: string | number; general?: number; parentTask?: number; parentFieldId?: number; emailNameInBody?: boolean; tag?: string; subject?: string; isOwner?: boolean; stage?: string; channelId?: string; postId?: string; descAction?: 'keep' | 'add' | 'set'; postMessage?: string; beginDateTime?: string; userInTitle?: boolean; fields?: { label: string; value: string; }[]; responsePostId?: string; responseChannelId?: string; setParams?: { blockId: string; values: (string | number)[]; params: Partial<Record<string, any>>; }[]; feedback?: { authorPostId?: string; authorChannelId?: string; targetPostId?: string; targetChannelId?: string; }; [metaKey: string]: any; constructor(params?: IPluginModalMeta | string); addCustomValues(...values: TMetaCustomValue[]): this; addMeta(params: IPluginModalMeta): this; addString(metaString?: string): this; buildToJSON(): string; } export {};