Class Action

Azione

Un'azione che consente l'interattività all'interno degli elementi dell'interfaccia utente. L'azione non avviene direttamente sul client, ma richiama una funzione di callback di Apps Script con parametri facoltativi.

Disponibile per i componenti aggiuntivi di Google Workspace e le app Google Chat.

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

Metodi

MetodoTipo restituitoBreve descrizione
addRequiredWidget(requiredWidget)ActionAggiunge i nomi dei widget di cui questa azione ha bisogno per un invio valido.
setAllWidgetsAreRequired(allWidgetsAreRequired)ActionIndica se questa azione richiede input da tutti i widget.
setFunctionName(functionName)ActionImposta il nome della funzione di callback da chiamare.
setInteraction(interaction)ActionImposta l'interazione con un utente, obbligatoria solo quando si apre una finestra di dialogo.
setLoadIndicator(loadIndicator)ActionImposta l'indicatore di caricamento visualizzato durante l'esecuzione dell'azione.
setParameters(parameters)ActionConsente di passare parametri personalizzati alla funzione di callback.
setPersistValues(persistValues)ActionIndica se i valori del modulo sono determinati dai valori del client o del server dopo che una risposta all'azione aggiorna Card del modulo.

Documentazione dettagliata

addRequiredWidget(requiredWidget)

Aggiunge i nomi dei widget di cui questa azione ha bisogno per un invio valido. Se i widget in questo elenco non hanno un valore quando viene invocata questa azione, l'invio del modulo viene interrotto.

Disponibile solo per le app Google Chat. Non disponibile per i componenti aggiuntivi di 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),
);

Parametri

NomeTipoDescrizione
requiredWidgetStringIl nome del widget richiesto da questa azione.

Invio

Action: questo oggetto, per l'accodamento.


setAllWidgetsAreRequired(allWidgetsAreRequired)

Indica se questa azione richiede input da tutti i widget.

Disponibile solo per le app Google Chat. Non disponibile per i componenti aggiuntivi di 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));

Parametri

NomeTipoDescrizione
allWidgetsAreRequiredBooleanIndica se l'azione richiede input da tutti i widget. Il valore predefinito è false.

Invio

Action: questo oggetto, per l'accodamento.


setFunctionName(functionName)

Imposta il nome della funzione di callback da chiamare. Obbligatorio.

Parametri

NomeTipoDescrizione
functionNameStringIl nome della funzione. Puoi utilizzare le funzioni delle librerie incluse, come Library.libFunction1.

Invio

Action: questo oggetto, per l'accodamento.


setInteraction(interaction)

Imposta l'interazione con un utente, obbligatoria solo quando si apre una finestra di dialogo. Se non specificato, l'app risponde eseguendo un Action, ad esempio aprendo un link o eseguendo una funzione, come di consueto.

Disponibile solo per le app Google Chat. Non disponibile per i componenti aggiuntivi di Google Workspace.

const action = CardService.newAction()
                   .setFunctionName('handleDialog')
                   .setInteraction(CardService.Interaction.OPEN_DIALOG);

Parametri

NomeTipoDescrizione
interactionInteractionL'interazione da specificare.

Invio

Action: questo oggetto, per l'accodamento.


setLoadIndicator(loadIndicator)

Imposta l'indicatore di caricamento visualizzato durante l'esecuzione dell'azione.

Parametri

NomeTipoDescrizione
loadIndicatorLoadIndicatorL'indicatore da visualizzare.

Invio

Action: questo oggetto, per l'accodamento.


setParameters(parameters)

Consente di passare parametri personalizzati alla funzione di callback. Facoltativo.

Parametri

NomeTipoDescrizione
parametersObjectSia le chiavi che i valori devono essere stringhe.

Invio

Action: questo oggetto, per l'accodamento.


setPersistValues(persistValues)

Indica se i valori del modulo sono determinati dai valori del client o del server dopo che una risposta all'azione aggiorna Card del modulo. Se impostato su true, i valori del client rimangono invariati dopo la risposta del server. Se impostato su false, i valori del server sovrascrivono i valori del modulo. Il valore predefinito è false.

La persistenza dei valori del client consente di evitare situazioni in cui un modulo cambia in modo imprevisto dopo che un utente ha apportato una modifica. Ad esempio, se un utente apporta una modifica a un TextInput dopo aver inviato un modulo, ma prima che il server risponda. Se i valori vengono mantenuti, la modifica apportata dall'utente rimane dopo l'aggiornamento di Card da parte della risposta del server; in caso contrario, il valore del modulo viene ripristinato al valore inviato inizialmente dall'utente al modulo.

La persistenza dei valori del client può interferire con la capacità dello script di cancellare i campi del modulo o di eseguire l'override dei valori del modulo, quindi evita di attivare la persistenza per questo tipo di funzionalità. Senza la persistenza, ti consigliamo di utilizzare LoadIndicator.SPINNER per gli eventi, perché blocca l'interfaccia utente e impedisce le modifiche dell'utente prima che il server risponda. In alternativa, puoi utilizzare LoadIndicator.NONE e assicurarti che ogni elemento del modulo abbia un'azione 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'),
        );

Parametri

NomeTipoDescrizione
persistValuesBooleanIndica se mantenere i valori. Il valore predefinito è false.

Invio

Action: questo oggetto, per l'accodamento.

Metodi ritirati