Class Action

Aktion

Eine Aktion, die Interaktivität innerhalb von UI-Elementen ermöglicht. Die Aktion wird nicht direkt auf dem Client ausgeführt, sondern ruft eine Apps Script-Callback-Funktion mit optionalen Parametern auf.

Verfügbar für Google Workspace-Add-ons und Google Chat-Apps.

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

Methoden

MethodeRückgabetypKurzbeschreibung
setFunctionName(functionName)ActionLegt den Namen der aufzurufenden Callback-Funktion fest.
setInteraction(interaction)ActionLegt die Interaktion mit einem Nutzer fest, ist nur beim Öffnen eines Dialogfelds erforderlich.
setLoadIndicator(loadIndicator)ActionLegt die Ladeanzeige fest, die angezeigt wird, während die Aktion ausgeführt wird.
setParameters(parameters)ActionErmöglicht die Übergabe benutzerdefinierter Parameter an die Callback-Funktion.
setPersistValues(persistValues)ActionGibt an, ob Formularwerte von den Werten des Clients oder den Werten des Servers bestimmt werden, nachdem die Card des Formulars durch eine Aktionsantwort aktualisiert wurde.

Detaillierte Dokumentation

setFunctionName(functionName)

Legt den Namen der aufzurufenden Callback-Funktion fest. Erforderlich.

Parameters

NameTypBeschreibung
functionNameStringDer Name der Funktion. Sie können Funktionen aus enthaltenen Bibliotheken verwenden, z. B. Library.libFunction1.

Return

Action: Dieses Objekt zur Verkettung.


setInteraction(interaction)

Legt die Interaktion mit einem Nutzer fest, ist nur beim Öffnen eines Dialogfelds erforderlich. Wenn keine Angabe erfolgt, führt die Anwendung wie gewohnt ein Action aus, z. B. das Öffnen eines Links oder das Ausführen einer Funktion.

Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.

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

Parameters

NameTypBeschreibung
interactionInteractionDie anzugebende Interaktion.

Return

Action: Dieses Objekt zur Verkettung.


setLoadIndicator(loadIndicator)

Legt die Ladeanzeige fest, die angezeigt wird, während die Aktion ausgeführt wird.

Parameters

NameTypBeschreibung
loadIndicatorLoadIndicatorDie anzuzeigende Anzeige.

Return

Action: Dieses Objekt zur Verkettung.


setParameters(parameters)

Ermöglicht die Übergabe benutzerdefinierter Parameter an die Callback-Funktion. Optional.

Parameters

NameTypBeschreibung
parametersObjectSowohl Schlüssel als auch Werte müssen Strings sein.

Return

Action: Dieses Objekt zur Verkettung.


setPersistValues(persistValues)

Gibt an, ob Formularwerte von den Werten des Clients oder den Werten des Servers bestimmt werden, nachdem die Card des Formulars durch eine Aktionsantwort aktualisiert wurde. Wenn true festgelegt ist, bleiben die Werte des Clients nach der Serverantwort erhalten. Wenn false festgelegt ist, überschreiben die Werte des Servers die Formularwerte. Die Standardeinstellung ist false.

Durch das Speichern der Clientwerte wird verhindert, dass sich ein Formular unerwartet ändert, nachdem ein Nutzer eine Änderung vorgenommen hat. Beispiel: Ein Nutzer nimmt eine Änderung an TextInput vor, nachdem ein Formular gesendet wurde, aber bevor der Server antwortet. Wenn die Werte beibehalten werden, bleibt die Änderung, die der Nutzer vorgenommen hat, nach der Aktualisierung von Card durch die Serverantwort. Andernfalls wird der Formularwert auf den Wert zurückgesetzt, den der Nutzer ursprünglich an das Formular gesendet hat.

Feste Clientwerte können das Script daran hindern, Formularfelder zu löschen oder Formularwerte zu überschreiben. Daher sollten Sie die Persistenz für diese Art von Funktion nicht aktivieren. Ohne Persistenz wird empfohlen, für Ereignisse LoadIndicator.SPINNER zu verwenden, da dies die UI sperrt und Nutzeränderungen verhindert, bevor der Server antwortet. Alternativ können Sie LoadIndicator.NONE verwenden und dafür sorgen, dass jedes Element im Formular eine onChange-Aktion hat.

// 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'));

Parameters

NameTypBeschreibung
persistValuesBooleanGibt an, ob Werte beibehalten werden sollen. Die Standardeinstellung ist false.

Return

Action: Dieses Objekt zur Verkettung.

Verworfene Methoden