Es un campo de entrada que permite elegir entre un conjunto de opciones predefinidas.
Solo admite la validación del envío de formularios para los menús Selection y Selection. Cuando Action.setAllWidgetsAreRequired(allWidgetsAreRequired) se establece en true o este widget se especifica a través de Action.addRequiredWidget(requiredWidget), la acción de envío se bloquea, a menos que se seleccione un valor.
Está disponible para los complementos de Google Workspace y las apps de 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);
Métodos
| Método | Tipo de datos que se muestra | Descripción breve |
|---|---|---|
add | Selection | Establece la configuración de la fuente de datos para el control de selección. |
add | Widget | Agrega la acción del evento que se puede realizar en el widget. |
add | Selection | Agrega un nuevo elemento que se puede seleccionar. |
add | Selection | Agrega un nuevo elemento que se puede seleccionar para los menús de selección múltiple. |
set | Selection | Establece la fuente de datos externa, como una base de datos relacional. |
set | Selection | Establece la clave que identifica esta entrada de selección en el objeto de evento que se genera cuando hay una interacción de la IU. |
set | Widget | Establece el ID único asignado que se usa para identificar el widget que se modificará. |
set | Selection | Establece la cantidad máxima de elementos que puede seleccionar un usuario. |
set | Selection | Establece la cantidad de caracteres de texto que ingresa un usuario antes de que la app consulte el autocompletado y muestre los elementos sugeridos en la tarjeta. |
set | Selection | Establece un objeto Action para que se ejecute cada vez que cambie la entrada de selección. |
set | Selection | Establece una fuente de datos de Google Workspace. |
set | Selection | Establece el título que se mostrará antes del campo de entrada. |
set | Selection | Establece el tipo de esta entrada. |
set | Widget | Establece la visibilidad del widget. |
Documentación detallada
add Data Source Config(dataSourceConfig)
Establece la configuración de la fuente de datos para el control de selección. Este campo proporciona un control más detallado sobre la fuente de datos. Este paso es opcional,
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .setDataSourceConfig( CardService.newDataSourceConfig().setPlatformDataSource( CardService.newPlatformDataSource().setCommonDataSource( CardService.CommonDataSource.USER, ) ) );
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
data | Data | Es la configuración de la fuente de datos que se aplicará a la entrada de selección. |
Volver
Selection: Este objeto, para encadenar.
add Event Action(eventAction)
Agrega la acción del evento que se puede realizar en el widget.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
event | Event | Es el Event que se agregará. |
Volver
Widget: El objeto, para encadenar.
add Item(text, value, selected)
Agrega un nuevo elemento que se puede seleccionar.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
text | Object | Es el texto que se mostrará para este elemento. Los argumentos primitivos que no son cadenas se convierten automáticamente en cadenas. |
value | Object | Es el valor de entrada del formulario que se envía a través de la devolución de llamada. Los argumentos primitivos que no son cadenas se convierten automáticamente en cadenas. |
selected | Boolean | Indica si el elemento está seleccionado de forma predeterminada. Si la entrada de selección solo acepta un valor (como en el caso de los botones de selección o un menú desplegable), solo establece este campo para un elemento. |
Volver
Selection: Este objeto, para encadenar.
add Multi Select Item(text, value, selected, startIconUri, bottomText)
Agrega un elemento nuevo que se puede seleccionar para los menús de selección múltiple.
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', );
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
text | Object | Es el texto que se mostrará para este elemento. Los argumentos primitivos que no son cadenas se convierten automáticamente en cadenas. |
value | Object | Es el valor de entrada del formulario que se envía a través de la devolución de llamada. Los argumentos primitivos que no son cadenas se convierten automáticamente en cadenas. |
selected | Boolean | Indica si el elemento está seleccionado de forma predeterminada. Si la entrada de selección solo acepta un valor (como en el caso de los botones de selección o un menú desplegable), solo establece este campo para un elemento. |
start | Object | En el caso de los menús de selección múltiple, es la URL del ícono que se muestra junto al campo de texto del elemento. Admite archivos PNG y JPEG. |
bottom | Object | En el caso de los menús de selección múltiple, es una descripción o etiqueta de texto que se muestra debajo del campo de texto del elemento. |
Volver
Selection: Este objeto, para encadenar.
set External Data Source(action)
Establece la fuente de datos externa, como una base de datos relacional.
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'), );
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
action | Action | Es la fuente de datos externa. |
Volver
Selection: Este objeto, para encadenar.
set Field Name(fieldName)
Establece la clave que identifica esta entrada de selección en el objeto de evento que se genera cuando hay una interacción de la IU. No es visible para el usuario. Es obligatorio y debe ser único.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
field | String | Nombre que se asignará a esta entrada. |
Volver
Selection: Este objeto, para encadenar.
set Id(id)
Establece el ID único asignado que se usa para identificar el widget que se modificará. La mutación de widgets solo se admite en complementos.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
id | String | Es el ID del widget, con un límite de 64 caracteres y en formato de `[a-zA-Z0-9-]+`. |
Volver
Widget: Este objeto, para encadenar.
set Multi Select Max Selected Items(maxSelectedItems)
Establece la cantidad máxima de elementos que puede seleccionar un usuario.
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', );
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
max | Integer | Es la cantidad máxima de elementos. |
Volver
Selection: Este objeto, para encadenar.
set Multi Select Min Query Length(queryLength)
Establece la cantidad de caracteres de texto que ingresa un usuario antes de que la app consulte el autocompletado y muestre los elementos sugeridos en la tarjeta.
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', );
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
query | Integer | Es la cantidad de caracteres de texto. |
Volver
Selection: Este objeto, para encadenar.
set On Change Action(action)
Establece un objeto Action para que se ejecute cada vez que cambie la entrada de selección.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
action | Action | La acción por realizar. |
Volver
Selection: Este objeto, para encadenar.
set Platform Data Source(platformDataSource)
Establece una fuente de datos de Google Workspace. Se usa para completar elementos en un menú de selección múltiple.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .setPlatformDataSource( CardService.newPlatformDataSource().setCommonDataSource( CardService.CommonDataSource.USER, ), );
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
platform | Platform | Es la fuente de datos. |
Volver
Selection: Este objeto, para encadenar.
set Title(title)
Establece el título que se mostrará antes del campo de entrada.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
title | String | Es el título del campo de entrada. |
Volver
Selection: Este objeto, para encadenar.
set Type(type)
Establece el tipo de esta entrada. La configuración predeterminada es CHECKBOX.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
type | Selection | Es el tipo de selección. |
Volver
Selection: Este objeto, para encadenar.
set Visibility(visibility)
Establece la visibilidad del widget. El valor predeterminado es "VISIBLE".
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
visibility | Visibility | Es el Visibility del widget. |
Volver
Widget: El objeto, para encadenar.