Поле ввода, позволяющее выбирать из набора предопределенных вариантов.
Поддерживается проверка данных при отправке формы только для меню SelectionInputType.DROP_DOWN и SelectionInputType.MULTI_SELECT . Если Action.setAllWidgetsAreRequired(allWidgetsAreRequired) установлено в true или этот виджет указан через Action.addRequiredWidget(requiredWidget) , отправка формы блокируется, если не выбрано значение.
Доступно для дополнений Google Workspace и приложений Google Chat.
const checkboxGroup = CardService.newSelectionInput() .setType(CardService.SelectionInputType.CHECK_BOX) .setTitle('A group of checkboxes. Multiple selections are allowed.') .setFieldName('checkbox_field') .addItem('checkbox one title', 'checkbox_one_value', false) .addItem('checkbox two title', 'checkbox_two_value', true) .addItem('checkbox three title', 'checkbox_three_value', true) .setOnChangeAction( CardService.newAction().setFunctionName('handleCheckboxChange'), ); const radioGroup = CardService.newSelectionInput() .setType(CardService.SelectionInputType.RADIO_BUTTON) .setTitle( 'A group of radio buttons. Only a single selection is allowed.') .setFieldName('checkbox_field') .addItem('radio button one title', 'radio_one_value', true) .addItem('radio button two title', 'radio_two_value', false) .addItem('radio button three title', 'radio_three_value', false); const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('multiselect') .setTitle('A multi select input example.') .addMultiSelectItem( 'Contact 1', 'contact-1', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact one description', ) .addMultiSelectItem( 'Contact 2', 'contact-2', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact two description', ) .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .addMultiSelectItem( 'Contact 4', 'contact-4', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact four description', ) .addMultiSelectItem( 'Contact 5', 'contact-5', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact five description', ) .setMultiSelectMaxSelectedItems(3) .setMultiSelectMinQueryLength(1);
Методы
| Метод | Тип возвращаемого значения | Краткое описание |
|---|---|---|
add Data Source Config(dataSourceConfig) | Selection Input | Задает параметры источника данных для элемента управления выбором. |
add Event Action(eventAction) | Widget | Добавляет действие события, которое можно выполнить с виджетом. |
add Item(text, value, selected) | Selection Input | Добавляет новый элемент, который можно выбрать. |
add Multi Select Item(text, value, selected, startIconUri, bottomText) | Selection Input | Добавляет новый элемент, который можно выбрать для создания меню с множественным выбором. |
set External Data Source(action) | Selection Input | Указывает внешний источник данных, например, реляционную базу данных. |
set Field Name(fieldName) | Selection Input | Устанавливает ключ, идентифицирующий этот выбранный элемент в объекте события, генерируемом при взаимодействии с пользовательским интерфейсом. |
set Id(id) | Widget | Задает уникальный идентификатор, используемый для идентификации виджета, подлежащего изменению. |
set Multi Select Max Selected Items(maxSelectedItems) | Selection Input | Устанавливает максимальное количество элементов, которые может выбрать пользователь. |
set Multi Select Min Query Length(queryLength) | Selection Input | Устанавливает количество символов текста, которое пользователь вводит до того, как приложение запросит автозаполнение и отобразит предлагаемые варианты на карточке. |
set On Change Action(action) | Selection Input | Задает Action , которое будет выполняться при изменении выбранного значения. |
set Platform Data Source(platformDataSource) | Selection Input | Задает источник данных из Google Workspace. |
set Title(title) | Selection Input | Задает заголовок, который будет отображаться перед полем ввода. |
set Type(type) | Selection Input | Задает тип данного поля ввода. |
set Visibility(visibility) | Widget | Задает видимость виджета. |
Подробная документация
addDataSourceConfig(dataSourceConfig)
Задает параметры конфигурации источника данных для элемента управления выбором. Это поле обеспечивает более точный контроль над источником данных. Это необязательное поле.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .setDataSourceConfig( CardService.newDataSourceConfig().setPlatformDataSource( CardService.newPlatformDataSource().setCommonDataSource( CardService.CommonDataSource.USER, ) ) );
Параметры
| Имя | Тип | Описание |
|---|---|---|
data Source Config | Data Source Config | Конфигурация источника данных, которая будет применена к входным данным для выбора. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
addEventAction(eventAction)
Добавляет действие события, которое можно выполнить с виджетом.
Параметры
| Имя | Тип | Описание |
|---|---|---|
event Action | Event Action | Необходимо добавить Event Action . |
Возвращаться
Widget — Объект для создания цепочек.
addItem(text, value, selected)
Добавляет новый элемент, который можно выбрать.
Параметры
| Имя | Тип | Описание |
|---|---|---|
text | Object | Текст, который будет отображаться для этого элемента. Нестроковые примитивные аргументы автоматически преобразуются в строки. |
value | Object | Значение поля ввода формы, передаваемое через функцию обратного вызова. Нестроковые примитивные аргументы автоматически преобразуются в строки. |
selected | Boolean | Указывает, выбран ли элемент по умолчанию. Если поле выбора принимает только одно значение (например, для переключателей или выпадающего меню), задайте это поле только для одного элемента. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
addMultiSelectItem(text, value, selected, startIconUri, bottomText)
Добавляет новый элемент, который можно выбрать для создания меню с множественным выбором.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('multiselect') .setTitle('A multi select input example.') .addMultiSelectItem( 'Contact 1', 'contact-1', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact one description', ) .addMultiSelectItem( 'Contact 2', 'contact-2', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact two description', ) .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .addMultiSelectItem( 'Contact 4', 'contact-4', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact four description', ) .addMultiSelectItem( 'Contact 5', 'contact-5', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact five description', );
Параметры
| Имя | Тип | Описание |
|---|---|---|
text | Object | Текст, который будет отображаться для этого элемента. Нестроковые примитивные аргументы автоматически преобразуются в строки. |
value | Object | Значение поля ввода формы, передаваемое через функцию обратного вызова. Нестроковые примитивные аргументы автоматически преобразуются в строки. |
selected | Boolean | Указывает, выбран ли элемент по умолчанию. Если поле выбора принимает только одно значение (например, для переключателей или выпадающего меню), задайте это поле только для одного элемента. |
start Icon Uri | Object | В меню с множественным выбором URL-адрес значка отображается рядом с текстовым полем элемента. Поддерживаются файлы PNG и JPEG. |
bottom Text | Object | В меню с множественным выбором текстовое описание или метка отображается под текстовым полем элемента. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
setExternalDataSource(action)
Указывает внешний источник данных, например, реляционную базу данных.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .setMultiSelectMaxSelectedItems(5) .setMultiSelectMinQueryLength(2) .setExternalDataSource( CardService.newAction().setFunctionName('getContacts'), );
Параметры
| Имя | Тип | Описание |
|---|---|---|
action | Action | Внешний источник данных. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
setFieldName(fieldName)
Задает ключ, идентифицирующий этот выбранный элемент в объекте события, генерируемом при взаимодействии с пользовательским интерфейсом. Не виден пользователю. Обязателен, должен быть уникальным.
Параметры
| Имя | Тип | Описание |
|---|---|---|
field Name | String | Имя, которое следует присвоить этому полю ввода. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
setId(id)
Задает уникальный идентификатор, используемый для идентификации виджета, который необходимо изменить. Изменение виджетов поддерживается только в дополнениях.
Параметры
| Имя | Тип | Описание |
|---|---|---|
id | String | Идентификатор виджета, ограниченный 64 символами и в формате `[a-zA-Z0-9-]+`. |
Возвращаться
Widget — этот объект используется для создания цепочек вызовов.
setMultiSelectMaxSelectedItems(maxSelectedItems)
Устанавливает максимальное количество элементов, которые может выбрать пользователь.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('multiselect') .setTitle('A multi select input example.') .setMultiSelectMaxSelectedItems(3) .addMultiSelectItem( 'Contact 1', 'contact-1', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact one description', ) .addMultiSelectItem( 'Contact 2', 'contact-2', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact two description', ) .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .addMultiSelectItem( 'Contact 4', 'contact-4', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact four description', ) .addMultiSelectItem( 'Contact 5', 'contact-5', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact five description', );
Параметры
| Имя | Тип | Описание |
|---|---|---|
max Selected Items | Integer | Максимальное количество товаров. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
setMultiSelectMinQueryLength(queryLength)
Устанавливает количество символов текста, которое пользователь вводит до того, как приложение запросит автозаполнение и отобразит предлагаемые варианты на карточке.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('multiselect') .setTitle('A multi select input example.') .setMultiSelectMinQueryLength(1) .addMultiSelectItem( 'Contact 1', 'contact-1', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact one description', ) .addMultiSelectItem( 'Contact 2', 'contact-2', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact two description', ) .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .addMultiSelectItem( 'Contact 4', 'contact-4', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact four description', ) .addMultiSelectItem( 'Contact 5', 'contact-5', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact five description', );
Параметры
| Имя | Тип | Описание |
|---|---|---|
query Length | Integer | Количество символов текста. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
setOnChangeAction(action)
Задает Action , которое будет выполняться при изменении выбранного значения.
Параметры
| Имя | Тип | Описание |
|---|---|---|
action | Action | Действие, которое необходимо предпринять. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
setPlatformDataSource(platformDataSource)
Задает источник данных из Google Workspace. Используется для заполнения элементов в меню с множественным выбором.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .setPlatformDataSource( CardService.newPlatformDataSource().setCommonDataSource( CardService.CommonDataSource.USER, ), );
Параметры
| Имя | Тип | Описание |
|---|---|---|
platform Data Source | Platform Data Source | Источник данных. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
setTitle(title)
Задает заголовок, который будет отображаться перед полем ввода.
Параметры
| Имя | Тип | Описание |
|---|---|---|
title | String | Заголовок поля ввода. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
setType(type)
Задает тип этого поля ввода. По умолчанию — CHECKBOX .
Параметры
| Имя | Тип | Описание |
|---|---|---|
type | Selection Input Type | Тип выбора. |
Возвращаться
SelectionInput — Этот объект используется для создания цепочек.
setVisibility(visibility)
Задает видимость виджета. Значение по умолчанию — `VISIBLE`.
Параметры
| Имя | Тип | Описание |
|---|---|---|
visibility | Visibility | Visibility виджета. |
Возвращаться
Widget — Объект для создания цепочек.