Action qui permet l'interactivité au sein des éléments de l'interface utilisateur. L'action ne se produit pas directement sur le client, mais appelle une fonction de rappel Apps Script avec des paramètres facultatifs.
Disponible avec les modules complémentaires Google Workspace et les applications Google Chat
var image = CardService.newImage() .setOnClickAction(CardService.newAction() .setFunctionName("handleImageClick") .setParameters({imageSrc: 'carImage'}));
Méthodes
Méthode | Type renvoyé | Brève description |
---|---|---|
addRequiredWidget(requiredWidget) | Action | Ajoute les noms des widgets dont cette action a besoin pour une soumission valide. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | Indique si cette action nécessite des entrées de tous les widgets. |
setFunctionName(functionName) | Action | Définit le nom de la fonction de rappel à appeler. |
setInteraction(interaction) | Action | Définit l'interaction avec un utilisateur, obligatoire uniquement lors de l'ouverture d'une boîte de dialogue. |
setLoadIndicator(loadIndicator) | Action | Définit l'indicateur de chargement qui s'affiche pendant l'action. |
setParameters(parameters) | Action | Permet de transmettre des paramètres personnalisés à la fonction de rappel. |
setPersistValues(persistValues) | Action | Indique si les valeurs du formulaire sont déterminées par les valeurs du client ou par celles du serveur une fois qu'une réponse d'action a mis à jour le Card du formulaire. |
Documentation détaillée
addRequiredWidget(requiredWidget)
Ajoute les noms des widgets dont cette action a besoin pour une soumission valide. Si les widgets de cette liste ne comportent pas de valeur lorsque cette action est appelée, l'envoi du formulaire est annulé.
Disponible uniquement pour les applications Google Chat. Non disponible pour les modules complémentaires Google Workspace.
var textInput = CardService.newTextInput() .setFieldName("text_input_1") .setTitle("Text input title") // Creates a footer button that requires an input from the above TextInput Widget. var action = CardService.newAction() .setFunctionName("notificationCallback") .addRequiredWidget("text_input_1"); var fixedFooter = CardService .newFixedFooter() .setPrimaryButton( CardService .newTextButton() .setText("help") .setOnClickAction(action));
Paramètres
Nom | Type | Description |
---|---|---|
requiredWidget | String | Nom du widget requis par cette action. |
Renvois
Action
: objet pour le chaînage.
setAllWidgetsAreRequired(allWidgetsAreRequired)
Indique si cette action nécessite des entrées de tous les widgets.
Disponible uniquement pour les applications Google Chat. Non disponible pour les modules complémentaires Google Workspace.
// Creates a button with an action that requires inputs from all widgets. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setAllWidgetsAreRequired(true));
Paramètres
Nom | Type | Description |
---|---|---|
allWidgetsAreRequired | Boolean | Indique si l'action nécessite des entrées de tous les widgets. La valeur par défaut est false . |
Renvois
Action
: objet pour le chaînage.
setFunctionName(functionName)
Définit le nom de la fonction de rappel à appeler. Obligatoire.
Paramètres
Nom | Type | Description |
---|---|---|
functionName | String | Nom de la fonction. Vous pouvez utiliser les fonctions des bibliothèques incluses, telles que Library.libFunction1 . |
Renvois
Action
: objet pour le chaînage.
setInteraction(interaction)
Définit l'interaction avec un utilisateur, obligatoire uniquement lors de l'ouverture d'une boîte de dialogue. Si ce paramètre n'est pas spécifié, l'application répond en exécutant un Action
, comme ouvrir un lien ou exécuter une fonction, normalement.
Disponible uniquement pour les applications Google Chat. Non disponible pour les modules complémentaires Google Workspace.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
Paramètres
Nom | Type | Description |
---|---|---|
interaction | Interaction | Interaction à spécifier. |
Renvois
Action
: objet pour le chaînage.
setLoadIndicator(loadIndicator)
Définit l'indicateur de chargement qui s'affiche pendant l'action.
Paramètres
Nom | Type | Description |
---|---|---|
loadIndicator | LoadIndicator | Indicateur à afficher. |
Renvois
Action
: objet pour le chaînage.
setParameters(parameters)
Permet de transmettre des paramètres personnalisés à la fonction de rappel. Facultatif.
Paramètres
Nom | Type | Description |
---|---|---|
parameters | Object | Les clés et les valeurs doivent être des chaînes. |
Renvois
Action
: objet pour le chaînage.
setPersistValues(persistValues)
Indique si les valeurs du formulaire sont déterminées par les valeurs du client ou par celles du serveur une fois qu'une réponse d'action a mis à jour le Card
du formulaire. Lorsque ce paramètre est défini sur true
, les valeurs du client sont conservées après la réponse du serveur. Lorsque ce paramètre est défini sur false
, les valeurs du serveur écrasent les valeurs du formulaire. La valeur par défaut est false
.
La persistance des valeurs du client permet d'éviter les situations où un formulaire change de manière inattendue après qu'un utilisateur a apporté une modification. (par exemple, si un utilisateur modifie un élément TextInput
après avoir envoyé un formulaire, mais avant que le serveur ne réponde). Si les valeurs sont conservées, la modification effectuée par l'utilisateur reste une fois que la réponse du serveur a mis à jour le Card
. Sinon, la valeur du formulaire est renvoyée à la valeur initialement envoyée par l'utilisateur au formulaire.
La persistance des valeurs client peut interférer avec la capacité de votre script à effacer les champs de formulaire ou à remplacer les valeurs de formulaire. Par conséquent, évitez d'activer la persistance pour ce type de fonctionnalité. Sans persistance, il est recommandé d'utiliser LoadIndicator.SPINNER
pour les événements, car cela verrouille l'interface utilisateur et empêche les modifications des utilisateurs avant que le serveur ne réponde. Vous pouvez également utiliser LoadIndicator.NONE
et vous assurer que chaque élément du formulaire comporte une action onChange.
// Creates a button with an action that persists the client's values as the on-click action. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setPersistValues(true) .setFunctionName('functionName'));
Paramètres
Nom | Type | Description |
---|---|---|
persistValues | Boolean | Indique si les valeurs doivent être conservées. La valeur par défaut est false . |
Renvois
Action
: objet pour le chaînage.