Un'azione che consente l'interattività all'interno degli elementi dell'interfaccia utente. L'azione non avviene direttamente sul 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
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
addRequiredWidget(requiredWidget) | Action | Aggiunge i nomi dei widget necessari all'azione per un invio valido. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | Indica se questa azione richiede input da tutti i widget. |
setFunctionName(functionName) | Action | Imposta il nome della funzione di callback da chiamare. |
setInteraction(interaction) | Action | Imposta l'interazione con un utente, obbligatoria solo all'apertura di una finestra di dialogo. |
setLoadIndicator(loadIndicator) | Action | Imposta l'indicatore di caricamento che viene visualizzato mentre l'azione è in corso. |
setParameters(parameters) | Action | Consente di passare parametri personalizzati alla funzione callback. |
setPersistValues(persistValues) | Action | Indica se i valori del modulo sono determinati dai valori del client o del server
Dopo che la risposta di un'azione aggiorna l'Card del modulo. |
Documentazione dettagliata
addRequiredWidget(requiredWidget)
Aggiunge i nomi dei widget necessari all'azione per un invio valido. Se i widget in questo elenco non ha un valore quando questa azione viene richiamata, l'invio del modulo viene interrotto.
Disponibile solo per le app Google Chat. Non disponibile per i componenti aggiuntivi di 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));
Parametri
Nome | Tipo | Descrizione |
---|---|---|
requiredWidget | String | Il nome del widget richiesto da questa azione. |
Invio
Action
: oggetto per il collegamento.
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
Nome | Tipo | Descrizione |
---|---|---|
allWidgetsAreRequired | Boolean | Indica se l'azione richiede input da tutti i widget. Il valore predefinito è
false . |
Invio
Action
: oggetto per il collegamento.
setFunctionName(functionName)
Imposta il nome della funzione di callback da chiamare. Obbligatorio.
Parametri
Nome | Tipo | Descrizione |
---|---|---|
functionName | String | Il nome della funzione. Puoi usare le funzioni delle librerie incluse,
ad esempio Library.libFunction1 . |
Invio
Action
: oggetto per il collegamento.
setInteraction(interaction)
Imposta l'interazione con un utente, obbligatoria solo all'apertura di 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
Nome | Tipo | Descrizione |
---|---|---|
interaction | Interaction | L'interazione da specificare. |
Invio
Action
: oggetto per il collegamento.
setLoadIndicator(loadIndicator)
Imposta l'indicatore di caricamento che viene visualizzato mentre l'azione è in corso.
Parametri
Nome | Tipo | Descrizione |
---|---|---|
loadIndicator | LoadIndicator | L'indicatore da visualizzare. |
Invio
Action
: oggetto per il collegamento.
setParameters(parameters)
Consente di passare parametri personalizzati alla funzione callback. (Facoltativo)
Parametri
Nome | Tipo | Descrizione |
---|---|---|
parameters | Object | Le chiavi e i valori devono essere stringhe. |
Invio
Action
: oggetto per il collegamento.
setPersistValues(persistValues)
Indica se i valori del modulo sono determinati dai valori del client o del server
Dopo che la risposta di un'azione aggiorna l'Card
del modulo. Se impostato su true
, il valore
i valori del client vengono mantenuti dopo la risposta del server. Se impostato su false
, lo stato del server
sovrascrivono quelli del modulo. Il valore predefinito è false
.
La persistenza dei valori del client aiuta a evitare situazioni in cui un modulo cambia inaspettatamente
dopo che un utente ha apportato una modifica. Ad esempio, se un utente apporta una modifica a TextInput
dopo
inviando un modulo, ma prima che il server risponda. Se i valori sono persistenti, è necessario
eseguita dall'utente rimane dopo che la risposta del server aggiorna Card
; altrimenti il valore del modulo
torna al valore inviato inizialmente dall'utente nel modulo.
I valori persistenti dei client possono interferire con la capacità dello script di cancellare i campi del modulo o
eseguire l'override dei valori del modulo, quindi evita di attivare la persistenza per quel tipo di funzionalità. Senza
persistenza, ti consigliamo di usare LoadIndicator.SPINNER
per eventi,
poiché in questo modo la UI viene bloccata e non è possibile apportare modifiche da parte dell'utente prima che il server risponda. In alternativa,
puoi utilizzare LoadIndicator.NONE
e assicurarti che ogni elemento del modulo abbia un'etichetta onChange
un'azione.
// 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
Nome | Tipo | Descrizione |
---|---|---|
persistValues | Boolean | Indica se mantenere i valori. Il valore predefinito è false . |
Invio
Action
: oggetto per il collegamento.