Działanie, które umożliwia interaktywność w elementach interfejsu. Działanie nie jest wykonywane bezpośrednio na kliencie, ale wywołuje funkcję wywołania zwrotnego Apps Script z opcjonalnymi parametrami.
Dostępne w przypadku dodatków do Google Workspace i aplikacji Google Chat.
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
Metody
| Metoda | Zwracany typ | Krótki opis |
|---|---|---|
add | Action | Dodaje nazwy widżetów, które są wymagane do prawidłowego przesłania tego działania. |
set | Action | Określa, czy to działanie wymaga danych wejściowych ze wszystkich widżetów. |
set | Action | Ustawia nazwę funkcji wywołania zwrotnego, która ma zostać wywołana. |
set | Action | Ustawia interakcję z użytkownikiem. Jest to wymagane tylko podczas otwierania okna. |
set | Action | Ustawia wskaźnik ładowania, który jest wyświetlany podczas wykonywania działania. |
set | Action | Umożliwia przekazywanie niestandardowych parametrów do funkcji wywołania zwrotnego. |
set | Action | Określa, czy wartości formularza są określane przez wartości klienta czy serwera po tym, jak odpowiedź na działanie zaktualizuje Card formularza. |
Szczegółowa dokumentacja
addRequiredWidget(requiredWidget)
Dodaje nazwy widżetów, które są wymagane do prawidłowego przesłania tego działania. Jeśli widżety na tej liście nie mają wartości, gdy to działanie jest wywoływane, przesyłanie formularza zostaje przerwane.
Dostępne w przypadku dodatków do Google Workspace i aplikacji 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), );
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
required | String | Nazwa widżetu wymaganego przez to działanie. |
Powrót
Action – ten obiekt do łączenia.
setAllWidgetsAreRequired(allWidgetsAreRequired)
Określa, czy to działanie wymaga danych wejściowych ze wszystkich widżetów.
Dostępne w przypadku dodatków do Google Workspace i aplikacji 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));
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
all | Boolean | Określa, czy działanie wymaga danych wejściowych ze wszystkich widżetów. Domyślna wartość to
false. |
Powrót
Action – ten obiekt do łączenia.
setFunctionName(functionName)
Ustawia nazwę funkcji wywołania zwrotnego, która ma zostać wywołana. Wymagane.
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
function | String | Nazwa funkcji. Możesz używać funkcji z dołączonych bibliotek,
takich jak Library.libFunction1. |
Powrót
Action – ten obiekt do łączenia.
setInteraction(interaction)
Ustawia interakcję z użytkownikiem. Jest to wymagane tylko podczas otwierania okna. Jeśli nie zostanie określona, aplikacja odpowie, wykonując Action, np. otwierając link lub uruchamiając funkcję, jak zwykle.
Dostępne tylko w przypadku aplikacji Google Chat. Niedostępne w przypadku dodatków do Google Workspace.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
interaction | Interaction | Interakcja do określenia. |
Powrót
Action – ten obiekt do łączenia.
setLoadIndicator(loadIndicator)
Ustawia wskaźnik ładowania, który jest wyświetlany podczas wykonywania działania.
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
load | Load | Wskaźnik do wyświetlenia. |
Powrót
Action – ten obiekt do łączenia.
setParameters(parameters)
Umożliwia przekazywanie niestandardowych parametrów do funkcji wywołania zwrotnego. Opcjonalnie.
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
parameters | Object | Zarówno klucze, jak i wartości muszą być ciągami znaków. |
Powrót
Action – ten obiekt do łączenia.
setPersistValues(persistValues)
Określa, czy wartości formularza są określane przez wartości klienta czy serwera po tym, jak odpowiedź na działanie zaktualizuje Card formularza. Gdy ta opcja jest ustawiona na true, wartości klienta są zachowywane po otrzymaniu odpowiedzi z serwera. Gdy ta opcja jest ustawiona na false, wartości serwera zastępują wartości formularza. Domyślna wartość to false.
Zachowywanie wartości klienta pomaga zapobiegać sytuacjom, w których formularz zmienia się nieoczekiwanie po wprowadzeniu zmian przez użytkownika. Na przykład jeśli użytkownik wprowadzi zmiany w TextInput po przesłaniu formularza, ale zanim serwer odpowie. Jeśli wartości są zachowywane, zmiany wprowadzone przez użytkownika pozostają po tym, jak odpowiedź serwera zaktualizuje Card. W przeciwnym razie wartość formularza wraca do wartości, którą użytkownik pierwotnie przesłał w formularzu.
Zachowywanie wartości klienta może zakłócać możliwość wyczyszczenia pól formularza lub zastąpienia wartości formularza przez skrypt, dlatego unikaj włączania zachowywania wartości w przypadku tego typu funkcji. Bez zachowywania wartości zalecamy używanie LoadIndicator.SPINNER w przypadku zdarzeń, ponieważ blokuje to interfejs i uniemożliwia użytkownikowi wprowadzanie zmian przed odpowiedzią serwera. Możesz też użyć LoadIndicator.NONE i upewnić się, że każdy element w formularzu ma działanie 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'), );
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
persist | Boolean | Określa, czy wartości mają być zachowywane. Domyślna wartość to false. |
Powrót
Action – ten obiekt do łączenia.