Champ de saisie permettant de choisir parmi un ensemble d'options prédéfinies.
Compatible avec la validation de l'envoi de formulaires pour les menus SelectionInputType.DROP_DOWN et SelectionInputType.MULTI_SELECT uniquement. Lorsque Action.setAllWidgetsAreRequired(allWidgetsAreRequired) est défini sur true ou que ce widget est spécifié via Action.addRequiredWidget(requiredWidget), l'action d'envoi est bloquée, sauf si une valeur est sélectionnée.
Disponible pour les modules complémentaires Google Workspace et les applications 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éthodes
| Méthode | Type renvoyé | Brève description |
|---|---|---|
add | Selection | Définit les configurations de source de données pour le contrôle de sélection. |
add | Widget | Ajoute l'action d'événement pouvant être effectuée sur le widget. |
add | Selection | Ajoute un élément pouvant être sélectionné. |
add | Selection | Ajoute un nouvel élément pouvant être sélectionné pour les menus à sélection multiple. |
set | Selection | Définit une source de données externe, telle qu'une base de données relationnelle. |
set | Selection | Définit la clé qui identifie cette entrée de sélection dans l'objet d'événement généré en cas d'interaction avec l'UI. |
set | Widget | Définit l'ID unique attribué qui est utilisé pour identifier le widget à modifier. |
set | Selection | Définit le nombre maximal d'éléments qu'un utilisateur peut sélectionner. |
set | Selection | Définit le nombre de caractères de texte qu'un utilisateur saisit avant que l'application interroge la saisie semi-automatique et affiche les éléments suggérés sur la fiche. |
set | Selection | Définit une Action à exécuter chaque fois que l'entrée de sélection change. |
set | Selection | Définit une source de données à partir de Google Workspace. |
set | Selection | Définit le titre à afficher avant le champ de saisie. |
set | Selection | Définit le type de cette entrée. |
set | Widget | Définit la visibilité du widget. |
Documentation détaillée
addDataSourceConfig(dataSourceConfig)
Définit les configurations de source de données pour le contrôle de sélection. Ce champ permet de contrôler plus précisément la source de données. Ce champ est facultatif.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .setDataSourceConfig( CardService.newDataSourceConfig().setPlatformDataSource( CardService.newPlatformDataSource().setCommonDataSource( CardService.CommonDataSource.USER, ) ) );
Paramètres
| Nom | Type | Description |
|---|---|---|
data | Data | Configuration de la source de données à appliquer à l'entrée de sélection. |
Renvois
SelectionInput : cet objet, pour le chaînage.
addEventAction(eventAction)
Ajoute l'action d'événement pouvant être effectuée sur le widget.
Paramètres
| Nom | Type | Description |
|---|---|---|
event | Event | Event à ajouter. |
Renvois
Widget : objet pour le chaînage.
addItem(text, value, selected)
Ajoute un élément pouvant être sélectionné.
Paramètres
| Nom | Type | Description |
|---|---|---|
text | Object | Texte à afficher pour cet élément. Les arguments primitifs non string sont automatiquement convertis en chaînes. |
value | Object | Valeur d'entrée du formulaire envoyée via le rappel. Les arguments primitifs non-string sont automatiquement convertis en chaînes. |
selected | Boolean | Indique si l'élément est sélectionné par défaut. Si la saisie de sélection n'accepte qu'une seule valeur (comme pour les boutons radio ou un menu déroulant), ne définissez ce champ que pour un seul élément. |
Renvois
SelectionInput : cet objet, pour le chaînage.
addMultiSelectItem(text, value, selected, startIconUri, bottomText)
Ajoute un nouvel élément pouvant être sélectionné pour les menus à sélection multiple.
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', );
Paramètres
| Nom | Type | Description |
|---|---|---|
text | Object | Texte à afficher pour cet élément. Les arguments primitifs non string sont automatiquement convertis en chaînes. |
value | Object | Valeur d'entrée du formulaire envoyée via le rappel. Les arguments primitifs non-string sont automatiquement convertis en chaînes. |
selected | Boolean | Indique si l'élément est sélectionné par défaut. Si la saisie de sélection n'accepte qu'une seule valeur (comme pour les boutons radio ou un menu déroulant), ne définissez ce champ que pour un seul élément. |
start | Object | Pour les menus à sélection multiple, il s'agit de l'URL de l'icône affichée à côté du champ de texte de l'élément. Compatible avec les fichiers PNG et JPEG. |
bottom | Object | Pour les menus à sélection multiple, il s'agit d'une description ou d'un libellé textuel qui s'affiche sous le champ de texte de l'élément. |
Renvois
SelectionInput : cet objet, pour le chaînage.
setExternalDataSource(action)
Définit une source de données externe, telle qu'une base de données relationnelle.
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'), );
Paramètres
| Nom | Type | Description |
|---|---|---|
action | Action | Source de données externe. |
Renvois
SelectionInput : cet objet, pour le chaînage.
setFieldName(fieldName)
Définit la clé qui identifie cette entrée de sélection dans l'objet d'événement généré en cas d'interaction avec l'UI. Non visible par l'utilisateur. Obligatoire, doit être unique.
Paramètres
| Nom | Type | Description |
|---|---|---|
field | String | Nom à attribuer à cette entrée. |
Renvois
SelectionInput : cet objet, pour le chaînage.
setId(id)
Définit l'ID unique attribué qui est utilisé pour identifier le widget à modifier. La mutation de widget n'est disponible que dans les modules complémentaires.
Paramètres
| Nom | Type | Description |
|---|---|---|
id | String | ID du widget, limité à 64 caractères et au format `[a-zA-Z0-9-]+`. |
Renvois
Widget : cet objet, pour le chaînage.
setMultiSelectMaxSelectedItems(maxSelectedItems)
Définit le nombre maximal d'éléments qu'un utilisateur peut sélectionner.
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', );
Paramètres
| Nom | Type | Description |
|---|---|---|
max | Integer | Nombre maximal d'éléments. |
Renvois
SelectionInput : cet objet, pour le chaînage.
setMultiSelectMinQueryLength(queryLength)
Définit le nombre de caractères de texte qu'un utilisateur saisit avant que l'application interroge la saisie semi-automatique et affiche les éléments suggérés sur la fiche.
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', );
Paramètres
| Nom | Type | Description |
|---|---|---|
query | Integer | Nombre de caractères textuels. |
Renvois
SelectionInput : cet objet, pour le chaînage.
setOnChangeAction(action)
Définit une Action à exécuter chaque fois que l'entrée de sélection change.
Paramètres
| Nom | Type | Description |
|---|---|---|
action | Action | Action à effectuer. |
Renvois
SelectionInput : cet objet, pour le chaînage.
setPlatformDataSource(platformDataSource)
Définit une source de données à partir de Google Workspace. Permet de remplir les éléments d'un menu à sélection multiple.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .setPlatformDataSource( CardService.newPlatformDataSource().setCommonDataSource( CardService.CommonDataSource.USER, ), );
Paramètres
| Nom | Type | Description |
|---|---|---|
platform | Platform | Source de données. |
Renvois
SelectionInput : cet objet, pour le chaînage.
setTitle(title)
Définit le titre à afficher avant le champ de saisie.
Paramètres
| Nom | Type | Description |
|---|---|---|
title | String | Titre du champ de saisie. |
Renvois
SelectionInput : cet objet, pour le chaînage.
setType(type)
Définit le type de cette entrée. La valeur par défaut est CHECKBOX.
Paramètres
| Nom | Type | Description |
|---|---|---|
type | Selection | Type de sélection. |
Renvois
SelectionInput : cet objet, pour le chaînage.
setVisibility(visibility)
Définit la visibilité du widget. La valeur par défaut est "VISIBLE".
Paramètres
| Nom | Type | Description |
|---|---|---|
visibility | Visibility | Le Visibility du widget. |
Renvois
Widget : objet pour le chaînage.