Class Action

Azione

Un'azione che consente l'interattività all'interno degli elementi dell'interfaccia utente. L'azione non viene eseguita 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.

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

Metodi

MetodoTipo restituitoBreve descrizione
setFunctionName(functionName)ActionImposta il nome della funzione di callback da chiamare.
setInteraction(interaction)ActionImposta l'interazione con un utente. Questa operazione è obbligatoria solo quando si apre una finestra di dialogo.
setLoadIndicator(loadIndicator)ActionImposta l'indicatore di caricamento che viene visualizzato mentre l'azione è in corso.
setParameters(parameters)ActionConsente il trasferimento di parametri personalizzati alla funzione di callback.
setPersistValues(persistValues)ActionIndica se i valori del modulo sono determinati dai valori del client o dai valori del server dopo che una risposta di azione aggiorna il valore Card del modulo.

Documentazione dettagliata

setFunctionName(functionName)

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

Parametri

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

Ritorni

Action: questo oggetto per il concatenamento.


setInteraction(interaction)

Imposta l'interazione con un utente. Questa operazione è obbligatoria solo quando si apre una finestra di dialogo. Se non specificati, 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.

Ritorni

Action: questo oggetto per il concatenamento.


setLoadIndicator(loadIndicator)

Imposta l'indicatore di caricamento che viene visualizzato mentre l'azione è in corso.

Parametri

NomeTipoDescrizione
loadIndicatorLoadIndicatorL'indicatore da visualizzare.

Ritorni

Action: questo oggetto per il concatenamento.


setParameters(parameters)

Consente il trasferimento di parametri personalizzati alla funzione di callback. Campo facoltativo.

Parametri

NomeTipoDescrizione
parametersObjectSia le chiavi che i valori devono essere stringhe.

Ritorni

Action: questo oggetto per il concatenamento.


setPersistValues(persistValues)

Indica se i valori del modulo sono determinati dai valori del client o dai valori del server dopo che una risposta di azione aggiorna il valore Card del modulo. Se impostato su true, i valori del client vengono mantenuti dopo la risposta del server. Se il criterio è 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 che un modulo cambi inaspettatamente dopo che un utente ha apportato una modifica. Ad esempio, se un utente apporta una modifica a TextInput dopo aver inviato un modulo, ma prima che il server risponda. Se i valori sono mantenuti, la modifica apportata dall'utente rimane dopo che la risposta del server aggiorna Card; in caso contrario, il valore del modulo restituisce il valore originariamente inviato 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 sostituire i valori del modulo, quindi evita di attivare la persistenza per questo tipo di funzionalità. Senza persistenza, ti consigliamo di utilizzare LoadIndicator.SPINNER per gli eventi, poiché in questo modo l'interfaccia utente viene bloccata e l'utente non esegue modifiche 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
persistValuesBooleanSe mantenere i valori. Il valore predefinito è false.

Ritorni

Action: questo oggetto per il concatenamento.

Metodi deprecati