Class Action

Action

Action qui permet l'interactivité dans les éléments d'interface utilisateur. L'action ne se produit pas directement sur le client, mais elle appelle une fonction de rappel Apps Script avec des paramètres facultatifs.

Disponible pour les modules complémentaires Google Workspace et les applications Google Chat.

const image = CardService.newImage().setOnClickAction(
    CardService.newAction().setFunctionName('handleImageClick').setParameters({
      imageSrc: 'carImage'
    }),
);

Méthodes

MéthodeType renvoyéBrève description
addRequiredWidget(requiredWidget)ActionAjoute les noms des widgets dont cette action a besoin pour une soumission valide.
setAllWidgetsAreRequired(allWidgetsAreRequired)ActionIndique si cette action nécessite des entrées de tous les widgets.
setFunctionName(functionName)ActionDéfinit le nom de la fonction de rappel à appeler.
setInteraction(interaction)ActionDéfinit l'interaction avec un utilisateur. N'est requis que lors de l'ouverture d'une boîte de dialogue.
setLoadIndicator(loadIndicator)ActionDéfinit l'indicateur de chargement qui s'affiche pendant l'action.
setParameters(parameters)ActionPermet de transmettre des paramètres personnalisés à la fonction de rappel.
setPersistValues(persistValues)ActionIndique si les valeurs du formulaire sont déterminées par les valeurs du client ou du serveur après 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 n'ont pas de valeur lorsque cette action est appelée, l'envoi du formulaire est interrompu.

Disponible uniquement pour les applications Google Chat. Non disponible pour les modules complémentaires Google Workspace.

const textInput = CardService.newTextInput()
                      .setFieldName('text_input_1')
                      .setTitle('Text input title');

// Creates a footer button that requires an input from the above TextInput
// Widget.
const action = CardService.newAction()
                   .setFunctionName('notificationCallback')
                   .addRequiredWidget('text_input_1');
const fixedFooter = CardService.newFixedFooter().setPrimaryButton(
    CardService.newTextButton().setText('help').setOnClickAction(action),
);

Paramètres

NomTypeDescription
requiredWidgetStringNom du widget requis par cette action.

Renvois

Action : cet 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

NomTypeDescription
allWidgetsAreRequiredBooleanIndique si l'action nécessite des entrées de tous les widgets. La valeur par défaut est false.

Renvois

Action : cet objet, pour le chaînage.


setFunctionName(functionName)

Définit le nom de la fonction de rappel à appeler. Obligatoire.

Paramètres

NomTypeDescription
functionNameStringNom de la fonction. Vous pouvez utiliser des fonctions de bibliothèques incluses, telles que Library.libFunction1.

Renvois

Action : cet objet, pour le chaînage.


setInteraction(interaction)

Définit l'interaction avec un utilisateur. N'est requis que lors de l'ouverture d'une boîte de dialogue. Si elle n'est pas spécifiée, l'application répond en exécutant une Action, comme ouvrir un lien ou exécuter une fonction, comme d'habitude.

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

NomTypeDescription
interactionInteractionInteraction à spécifier.

Renvois

Action : cet objet, pour le chaînage.


setLoadIndicator(loadIndicator)

Définit l'indicateur de chargement qui s'affiche pendant l'action.

Paramètres

NomTypeDescription
loadIndicatorLoadIndicatorIndicateur à afficher.

Renvois

Action : cet objet, pour le chaînage.


setParameters(parameters)

Permet de transmettre des paramètres personnalisés à la fonction de rappel. Facultatif.

Paramètres

NomTypeDescription
parametersObjectLes clés et les valeurs doivent être des chaînes.

Renvois

Action : cet objet, pour le chaînage.


setPersistValues(persistValues)

Indique si les valeurs du formulaire sont déterminées par les valeurs du client ou du serveur après 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 persistent 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 client permet d'éviter que le formulaire ne change de manière inattendue après qu'un utilisateur a effectué une modification. Par exemple, si un utilisateur modifie un TextInput après avoir envoyé un formulaire, mais avant que le serveur ne réponde. Si les valeurs sont conservées, la modification apportée par l'utilisateur reste après la mise à jour de Card par la réponse du serveur. Sinon, la valeur du formulaire revient à celle que l'utilisateur a initialement envoyée 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. Évitez donc d'activer la persistance pour ce type de fonctionnalité. Sans persistance, nous vous recommandons d'utiliser LoadIndicator.SPINNER pour les événements, car cela verrouille l'interface utilisateur et empêche les modifications de l'utilisateur avant que le serveur ne réponde. Vous pouvez également utiliser LoadIndicator.NONE et vous assurer que chaque élément du formulaire dispose d'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

NomTypeDescription
persistValuesBooleanIndique si les valeurs doivent être conservées. La valeur par défaut est false.

Renvois

Action : cet objet, pour le chaînage.

Méthodes obsolètes