Class Action

Acción

Es una acción que habilita la interactividad dentro de los elementos de la IU. La acción no ocurre directamente en sino que invoca una función de devolución de llamada de Apps Script con parámetros opcionales.

Está disponible para los complementos de Google Workspace y las apps de Google Chat.

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

Métodos

MétodoTipo de datos que se muestraDescripción breve
addRequiredWidget(requiredWidget)ActionAgrega los nombres de los widgets que necesita esta acción para un envío válido.
setAllWidgetsAreRequired(allWidgetsAreRequired)ActionIndica si esta acción requiere entradas de todos los widgets.
setFunctionName(functionName)ActionEstablece el nombre de la función de devolución de llamada que se llamará.
setInteraction(interaction)ActionEstablece la interacción con un usuario, solo es necesario cuando se abre un diálogo.
setLoadIndicator(loadIndicator)ActionEstablece el indicador de carga que se muestra mientras la acción está en curso.
setParameters(parameters)ActionPermite pasar parámetros personalizados a la función de devolución de llamada.
setPersistValues(persistValues)ActionIndica si los valores del formulario están determinados por los valores del cliente o los valores del servidor. Después de que la respuesta de una acción actualiza el Card del formulario

Documentación detallada

addRequiredWidget(requiredWidget)

Agrega los nombres de los widgets que necesita esta acción para un envío válido. Si los widgets de Esta lista no tiene un valor cuando se invoca esta acción, se anula el envío del formulario.

Solo está disponible para las apps de Google Chat. No está disponible para los complementos de 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));

Parámetros

NombreTipoDescripción
requiredWidgetStringEl nombre del widget que requiere esta acción.

Volver

Action: Este objeto para el encadenamiento.


setAllWidgetsAreRequired(allWidgetsAreRequired)

Indica si esta acción requiere entradas de todos los widgets.

Solo está disponible para las apps de Google Chat. No está disponible para los complementos de 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));

Parámetros

NombreTipoDescripción
allWidgetsAreRequiredBooleanIndica si la acción requiere entradas de todos los widgets. La configuración predeterminada es false

Volver

Action: Este objeto para el encadenamiento.


setFunctionName(functionName)

Establece el nombre de la función de devolución de llamada que se llamará. Obligatorio.

Parámetros

NombreTipoDescripción
functionNameStringEs el nombre de la función. Puedes usar funciones de las bibliotecas incluidas, como Library.libFunction1.

Volver

Action: Este objeto para el encadenamiento.


setInteraction(interaction)

Establece la interacción con un usuario, solo es necesario cuando se abre un diálogo. Si no se especifica, la app responde con la ejecución de un Action, como abrir un vínculo o ejecutar una función, como de costumbre.

Solo está disponible para las apps de Google Chat. No está disponible para los complementos de Google Workspace.

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

Parámetros

NombreTipoDescripción
interactionInteractionLa interacción que se especificará.

Volver

Action: Este objeto para el encadenamiento.


setLoadIndicator(loadIndicator)

Establece el indicador de carga que se muestra mientras la acción está en curso.

Parámetros

NombreTipoDescripción
loadIndicatorLoadIndicatorEl indicador que se mostrará.

Volver

Action: Este objeto para el encadenamiento.


setParameters(parameters)

Permite pasar parámetros personalizados a la función de devolución de llamada. Opcional.

Parámetros

NombreTipoDescripción
parametersObjectTanto las claves como los valores deben ser cadenas.

Volver

Action: Este objeto para el encadenamiento.


setPersistValues(persistValues)

Indica si los valores del formulario están determinados por los valores del cliente o los valores del servidor. Después de que la respuesta de una acción actualiza el Card del formulario Cuando se establece en true, el se conservan los valores del cliente después de la respuesta del servidor. Cuando se establece en false, la propiedad reemplaza los valores del formulario. La configuración predeterminada es false.

La persistencia de los valores del cliente ayuda a evitar situaciones en las que un formulario cambia de forma inesperada después de que un usuario hace una edición. Por ejemplo, si un usuario edita una TextInput después de enviar un formulario, pero antes de que el servidor responda. Si los valores persisten, puedes editar que hizo el usuario permanece después de que la respuesta del servidor actualiza el Card. De lo contrario, el valor del formulario devuelve el valor que el usuario envió originalmente al formulario.

La persistencia de valores de cliente puede interferir en la capacidad de la secuencia de comandos de borrar campos de formularios o anular los valores del formulario, de modo que no se active la persistencia para ese tipo de funcionalidad. Sin persistencia, se recomienda que uses LoadIndicator.SPINNER para eventos, ya que bloquea la IU y evita las ediciones del usuario antes de que responda el servidor. Por otro lado, Puedes usar LoadIndicator.NONE y asegurarte de que cada elemento del formulario tenga un onChange acción.

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

Parámetros

NombreTipoDescripción
persistValuesBooleanEstablece si los valores se conservarán. La configuración predeterminada es false.

Volver

Action: Este objeto para el encadenamiento.

Métodos obsoletos