Class Action

Azione

Un'azione che consente l'interattività all'interno degli elementi UI. 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.

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

Metodi

MetodoTipo restituitoBreve descrizione
addRequiredWidget(requiredWidget)ActionAggiunge i nomi dei widget necessari per l'invio valido di questa azione.
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, necessaria solo quando si apre una finestra di dialogo.
setLoadIndicator(loadIndicator)ActionImposta l'indicatore di caricamento visualizzato mentre l'azione è in corso.
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 necessari per l'invio valido di questa azione. Se i widget in questo elenco non hanno un valore quando viene richiamata questa azione, l'invio del modulo viene interrotto.

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

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.

Indietro

Action: questo oggetto, per il concatenamento.


setAllWidgetsAreRequired(allWidgetsAreRequired)

Indica se questa azione richiede input da tutti i widget.

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

// 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.

Indietro

Action: questo oggetto, per il concatenamento.


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.

Indietro

Action: questo oggetto, per il concatenamento.


setInteraction(interaction)

Imposta l'interazione con un utente, necessaria 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 Google Workspace.

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

Parametri

NomeTipoDescrizione
interactionInteractionL'interazione da specificare.

Indietro

Action: questo oggetto, per il concatenamento.


setLoadIndicator(loadIndicator)

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

Parametri

NomeTipoDescrizione
loadIndicatorLoadIndicatorL'indicatore da visualizzare.

Indietro

Action: questo oggetto, per il concatenamento.


setParameters(parameters)

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

Parametri

NomeTipoDescrizione
parametersObjectSia le chiavi che i valori devono essere stringhe.

Indietro

Action: questo oggetto, per il concatenamento.


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 vengono mantenuti dopo la risposta del server. Se impostato su false, i valori del server sovrascrivono i valori del modulo. Il valore predefinito è false.

Il mantenimento dei valori del cliente 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 modifica 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 che la risposta del server aggiorna Card; in caso contrario, il valore del modulo torna al valore che l'utente ha inviato originariamente 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, perché blocca la UI 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.

Indietro

Action: questo oggetto, per il concatenamento.

Metodi ritirati