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étodo | Tipo de datos que se muestra | Descripción breve |
---|---|---|
addRequiredWidget(requiredWidget) | Action | Agrega los nombres de los widgets que necesita esta acción para un envío válido. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | Indica si esta acción requiere entradas de todos los widgets. |
setFunctionName(functionName) | Action | Establece el nombre de la función de devolución de llamada que se llamará. |
setInteraction(interaction) | Action | Establece la interacción con un usuario, solo es necesario cuando se abre un diálogo. |
setLoadIndicator(loadIndicator) | Action | Establece el indicador de carga que se muestra mientras la acción está en curso. |
setParameters(parameters) | Action | Permite pasar parámetros personalizados a la función de devolución de llamada. |
setPersistValues(persistValues) | Action | 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 |
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
Nombre | Tipo | Descripción |
---|---|---|
requiredWidget | String | El 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
Nombre | Tipo | Descripción |
---|---|---|
allWidgetsAreRequired | Boolean | Indica 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
Nombre | Tipo | Descripción |
---|---|---|
functionName | String | Es 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
Nombre | Tipo | Descripción |
---|---|---|
interaction | Interaction | La 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
Nombre | Tipo | Descripción |
---|---|---|
loadIndicator | LoadIndicator | El 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
Nombre | Tipo | Descripción |
---|---|---|
parameters | Object | Tanto 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
Nombre | Tipo | Descripción |
---|---|---|
persistValues | Boolean | Establece si los valores se conservarán. La configuración predeterminada es false . |
Volver
Action
: Este objeto para el encadenamiento.