Поля ввода и их использованиеBETA
inputFields — это поля ввода, которые позволяют пользователю задавать параметры для блоков интеграции. Они используются для настройки поведения блока и передачи данных, необходимых при его выполнении.
Поля для блоков интеграции
Каждое поле ввода имеет набор базовых атрибутов, которые определяют его поведение, внешний вид и способ использования в коде. Эти параметры применимы ко всем типам полей, независимо от их назначения.
| Атрибут | Тип | Описание |
|---|---|---|
default | Any | Значение по умолчанию, если пользователь не ввел данные |
hint | String | Подсказка под полем. Поддерживает Markdown |
key | String | Уникальный идентификатор поля. Используется для доступа к значению через bundle.inputData[key] |
label | String | Текст метки поля |
mappable | Boolean | Разрешает использовать переменные из других блоков. По умолчанию true |
placeholder | String | Текст-заполнитель внутри поля |
readOnly | Boolean | Поле нельзя редактировать. По умолчанию false |
required | Boolean | Обязательно ли поле для заполнения. По умолчанию false |
type | String | Тип поля |
Параметры поля array
Поле массива используется, когда требуется ввод списка однотипных элементов. Используется для передачи наборов параметров, повторяющихся структур или множественных значений.
type ArrayBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "array";
properties: (
| TextBlockInputField
| NumberBlockInputField
| SelectBlockInputField
| KeyValueBlockInputField
| BooleanBlockInputField
| CodeBlockInputField
| DateBlockInputField
| DateTimeBlockInputField
| StreamBlockInputField
| IntegerBlockInputField
)[];
};
Параметры поля boolean
Булево поле представляет собой переключатель «включено/выключено». Используется для управления логикой выполнения блока, например для включения или отключения дополнительных условий.
/**
* @template Key
*/
export type BooleanBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "boolean";
};
Где:
@template Key— тип ключа поля
Параметры поля code
Поле code предназначено для ввода текстовых данных с подсветкой синтаксиса. Используется для скриптов, SQL-запросов, конфигураций и других сценариев, где нужно сохранить форматирование и восприятие кода.
type SqlDialect =
| "cassandra"
| "clickhouse"
| "greenplum"
| "hive"
| "mariadb"
| "mssql"
| "mysql"
| "plsql"
| "postgresql"
| "sqlite"
| "standard";
type CodeBlockEditorType =
| "python"
| "sql"
| "html"
| "yaml"
| "javascript"
| "json";
type CodeBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "code";
} & (
| {
editor: "sql";
sqlDialect?: SqlDialect;
default?: string;
typeOptions?: {
minLength?: number;
maxLength?: number;
pattern?: string;
errorMessage?: string;
};
}
| {
editor: Exclude<CodeBlockEditorType, "sql">;
default?: string;
typeOptions?: {
minLength?: number;
maxLength?: number;
pattern?: string;
errorMessage?: string;
};
}
);
Параметры поля date
Поле даты применяется для выбора конкретной календарной даты. Используется в фильтрах, временных условиях или при работе с периодами, где не требуется указание времени.
/**
* @template Key
*/
export type DateBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "date";
typeOptions?: {
min?: number;
max?: number;
disabledDate: number[];
};
};
Где:
@template Key— тип ключа поляmin— минимальная дата (timestamp)max— максимальная дата (timestamp)disabledDate— отключенные даты (timestamp)
Параметры поля datetime
Поле даты и времени позволяет указать точный момент во времени. Используется в сценариях, где нужно учитывать не только дату, но и время события — например, при планировании или синхронизации данных.
/**
* @template Key
*/
export type DateTimeBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "datetime";
typeOptions?: {
min?: number;
max?: number;
disabledDate: number[];
};
};
Где:
@template Key— тип ключа поляmin— минимальные дата и время (timestamp)max— максимальные дата и время (timestamp)disabledDate— отключенные даты (timestamp)
Параметры поля integer
Целочисленное поле используется, когда необходимо строгое ограничение на ввод целых чисел. Подходит для передачи счетчиков, идентификаторов или других параметров, где дробные значения недопустимы.
/**
* @template Key
*/
export type IntegerBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "integer";
typeOptions?: {
min?: number;
max?: number;
};
};
Где:
@template Key— тип ключа поляmin— минимальное значениеmax— максимальное значение
Параметры поля group
Групповое поле позволяет логически объединять несколько связанных полей.
type GroupBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "group";
properties: (
| TextBlockInputField
| NumberBlockInputField
| SelectBlockInputField
| KeyValueBlockInputField
| BooleanBlockInputField
| CodeBlockInputField
| DateBlockInputField
| DateTimeBlockInputField
| StreamBlockInputField
| IntegerBlockInputField
)[];
};
Параметры поля keyValue
Поле ввода пар «ключ–значение» удобно для динамических параметров, таких как HTTP-заголовки, параметры запроса или произвольные настройки, количество и состав которых заранее неизвестны.
/**
* @template Key
*/
export type KeyValueBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "keyValue";
typeOptions?: {
sortable?: boolean;
};
};
Где:
@template Key— тип ключа поляsortable— возможность сортировки элементов
Параметры поля number
Числовое поле предназначено для ввода чисел с плавающей точкой. Применяется для передачи количественных параметров, лимитов или пороговых значений, где важен числовой диапазон.
export type NumberBlockInputField = CommonBlockInputField & {
type: "number";
typeOptions?: {
min?: number;
max?: number;
};
};
Где:
min— минимальное значениеmax— максимальное значение
Параметры поля select
Поле выбора предназначено для выбора одного значения из заранее определенного списка. Оно помогает ограничить ввод пользователя допустимыми вариантами и снизить вероятность ошибок конфигурации.
/**
* @template Key
*/
export type SelectBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "select";
options: SelectOptions;
};
Где:
@template Key— тип ключа поляoptions— опции для выбора
Параметры поля stream
Поле stream применяется для передачи бинарных данных и файлов. Используется в сценариях загрузки, передачи или обработки файловых данных.
type StreamBlockInputField<Key extends string = string> =
CommonBlockInputField<Key> & {
type: "stream";
};
Параметры поля text
Текстовое поле используется для ввода строковых значений — например, имен, идентификаторов, URL или произвольных текстовых параметров. Поддерживает ограничения на длину и валидацию данных, что позволяет определять некорректный ввод.
type CommonConnectionInputField<Key = string> = {
key: Key;
type: "text" | "password" | "number" | "button";
label: string;
};
Поля для подключений
Поля подключений используются для настройки соединения с внешними системами. Они содержат учетные данные, параметры доступа и вспомогательные элементы для получения или обновления данных аутентификации.
| Атрибут | Тип | Описание |
|---|---|---|
button | Any | Поле для запросов во внешнюю систему |
number | Number | Числовое поле |
password | String | Текстовое поле,которое скрывается после сохранения |
text | String | Однострочное текстовое поле для ввода строковых значений |
Параметры поля button
Кнопка применяется для выполнения дополнительных действий в процессе настройки подключения — например, для запуска OAuth-авторизации, получения токенов или запроса данных из внешнего API.
type ButtonInputFieldConnection<AuthData extends AnyRecord, AdditionalAuthData extends AnyRecord = {}> = CommonConnectionInputField<string> & {
type: "button";
typeOptions: {
redirect?: (service: ExecuteService, bundle: ConnectionExecuteBundle<AuthData>) => void;
saveFields?: (service: ExecuteService, bundle: ConnectionExecuteBundle<AuthData>) => Partial<AdditionalAuthData>;
message?: (service: ExecuteService, bundle: ConnectionExecuteBundle<AuthData & AdditionalAuthData>) => void | string;
};
};
Где:
redirect— выполняет перенаправление пользователяsaveFields— возвращает часть данных, которые будут автоматически сохранены в настройках подключенияmessage— выводит уведомление для пользователя после выполнения действия
Параметры поля password
Поле password предназначено для ввода чувствительных данных, таких как пароли или API-ключи. Значение скрывается после сохранения и используется только во время выполнения подключения.
{
type: "password",
key: "apikey",
label: "Ключ API",
required: true,
hint: "Ищите в настройках платформы",
}
Параметры поля text
Текстовое поле используется для ввода строковых значений. В зависимости от сценария, поле может быть дополнительно настроено с помощью параметров, которые позволяют управлять режимом ввода, ограничениями и валидацией данных.
type CommonConnectionInputField<Key = string> = {
key: Key;
type: "text" | "password" | "number" | "button";
label: string;
};
Была ли статья полезна?