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 el cliente, sino que invoca una función de devolución de llamada de Apps Script con parámetros opcionales.

Está disponible para complementos de Google Workspace y 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
setFunctionName(functionName)ActionEstablece el nombre de la función de devolución de llamada a la que se llamará.
setInteraction(interaction)ActionConfigura la interacción con un usuario; solo es necesaria 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 que los parámetros personalizados se pasen 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 del servidor después de que una respuesta de acción actualiza el Card del formulario.

Documentación detallada

setFunctionName(functionName)

Establece el nombre de la función de devolución de llamada a la 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.

Devolvedor

Action: Este objeto se usa para encadenar.


setInteraction(interaction)

Configura la interacción con un usuario; solo es necesaria cuando se abre un diálogo. Si no se especifica, la app ejecuta un Action, como abrir un vínculo o ejecutar una función, como siempre.

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á.

Devolvedor

Action: Este objeto se usa para encadenar.


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á.

Devolvedor

Action: Este objeto se usa para encadenar.


setParameters(parameters)

Permite que los parámetros personalizados se pasen a la función de devolución de llamada. Opcional.

Parámetros

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

Devolvedor

Action: Este objeto se usa para encadenar.


setPersistValues(persistValues)

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

Conservar los valores de cliente ayuda a evitar situaciones en las que un formulario cambia de forma inesperada después de que un usuario realiza una edición. Por ejemplo, si un usuario edita un TextInput después de enviar un formulario, pero antes de que el servidor responda. Si los valores se mantienen, la edición que realizó el usuario se mantiene después de que la respuesta del servidor actualiza el Card. De lo contrario, el valor del formulario muestra el valor que el usuario envió originalmente al formulario.

Los valores de cliente persistentes pueden interferir en la capacidad de tu secuencia de comandos de borrar campos del formulario o anular valores de formulario. Por lo tanto, evita activar la persistencia para ese tipo de funcionalidad. Sin persistencia, te recomendamos que uses LoadIndicator.SPINNER para eventos, ya que esto bloquea la IU y evita que el usuario realice ediciones antes de que el servidor responda. Como alternativa, puedes usar LoadIndicator.NONE y asegurarte de que cada elemento del formulario tenga una acción 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'));

Parámetros

NombreTipoDescripción
persistValuesBooleanSi se deben conservar los valores. La configuración predeterminada es false.

Devolvedor

Action: Este objeto se usa para encadenar.

Métodos obsoletos