Class Action

Działanie

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

MetodaZwracany typKrótki opis
addRequiredWidget(requiredWidget)ActionDodaje nazwy widżetów, które są wymagane do prawidłowego przesłania tego działania.
setAllWidgetsAreRequired(allWidgetsAreRequired)ActionOkreśla, czy to działanie wymaga danych wejściowych ze wszystkich widżetów.
setFunctionName(functionName)ActionUstawia nazwę funkcji wywołania zwrotnego, która ma zostać wywołana.
setInteraction(interaction)ActionUstawia interakcję z użytkownikiem. Jest to wymagane tylko podczas otwierania okna.
setLoadIndicator(loadIndicator)ActionUstawia wskaźnik ładowania, który jest wyświetlany podczas wykonywania działania.
setParameters(parameters)ActionUmożliwia przekazywanie niestandardowych parametrów do funkcji wywołania zwrotnego.
setPersistValues(persistValues)ActionOkreś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

NazwaTypOpis
requiredWidgetStringNazwa 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

NazwaTypOpis
allWidgetsAreRequiredBooleanOkreś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

NazwaTypOpis
functionNameStringNazwa 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

NazwaTypOpis
interactionInteractionInterakcja 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

NazwaTypOpis
loadIndicatorLoadIndicatorWskaź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

NazwaTypOpis
parametersObjectZaró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

NazwaTypOpis
persistValuesBooleanOkreśla, czy wartości mają być zachowywane. Domyślna wartość to false.

Powrót

Action – ten obiekt do łączenia.

Wycofane metody