Es una acción que habilita la interactividad dentro de los elementos de la IU. La acción no se realiza directamente en el cliente, sino que invoca una función de devolución de llamada de Apps Script con parámetros opcionales.
Disponible para los complementos de Google Workspace y las apps de Google Chat.
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
---|---|---|
add | Action | Agrega los nombres de los widgets que esta Acción necesita para que el envío sea válido. |
set | Action | Indica si esta acción requiere entradas de todos los widgets. |
set | Action | Establece el nombre de la función de devolución de llamada a la que se llamará. |
set | Action | Establece la interacción con un usuario, solo es obligatorio cuando se abre un diálogo. |
set | Action | Establece el indicador de carga que se muestra mientras la acción está en curso. |
set | Action | Permite que se pasen parámetros personalizados a la función de devolución de llamada. |
set | Action | Indica si los valores del formulario se determinan según los valores del cliente o del servidor después de que una respuesta de acción actualiza el Card del formulario. |
Documentación detallada
add Required Widget(requiredWidget)
Agrega los nombres de los widgets que esta Acción necesita para que el envío sea válido. Si los widgets de esta lista no tienen un valor cuando se invoca esta acción, se aborta el envío del formulario.
Solo está disponible para las apps de Google Chat. No está disponible para complementos de Google Workspace.
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), );
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
required | String | Es el nombre del widget que requiere esta acción. |
Volver
Action
: Este objeto, para encadenar.
set All Widgets Are Required(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 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 |
---|---|---|
all | Boolean | Indica si la acción requiere entradas de todos los widgets. La configuración predeterminada es false . |
Volver
Action
: Este objeto, para encadenar.
set Function Name(functionName)
Establece el nombre de la función de devolución de llamada a la que se llamará. Obligatorio.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
function | String | Es el nombre de la función. Puedes usar funciones de las bibliotecas incluidas, como Library.libFunction1 . |
Volver
Action
: Este objeto, para encadenar.
set Interaction(interaction)
Establece la interacción con un usuario, solo es obligatorio cuando se abre un diálogo. Si no se especifica, la app responde ejecutando 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 complementos de Google Workspace.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
interaction | Interaction | Es la interacción que se debe especificar. |
Volver
Action
: Este objeto, para encadenar.
set Load Indicator(loadIndicator)
Establece el indicador de carga que se muestra mientras la acción está en curso.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
load | Load | El indicador que se mostrará. |
Volver
Action
: Este objeto, para encadenar.
set Parameters(parameters)
Permite que se pasen 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 encadenar.
set Persist Values(persistValues)
Indica si los valores del formulario se determinan según los valores del cliente o del servidor después de que una respuesta de acción actualiza el Card
del formulario. Cuando se establece en true
, los valores del cliente persisten 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
.
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 realiza una edición. Por ejemplo, si un usuario edita un Text
después de enviar un formulario, pero antes de que el servidor responda. Si los valores se conservan, la edición que hizo el usuario permanece después de que la respuesta del servidor actualiza el Card
. De lo contrario, el valor del formulario vuelve al valor que el usuario envió originalmente al formulario.
La persistencia de los valores del cliente puede interferir en la capacidad de tu secuencia de comandos para borrar campos de formulario o reemplazar valores de formulario, por lo que debes evitar activar la persistencia para ese tipo de funcionalidad. Sin persistencia, se recomienda que uses Load
para los eventos, ya que esto bloquea la IU y evita que el usuario realice ediciones antes de que responda el servidor. Como alternativa, puedes usar Load
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
Nombre | Tipo | Descripción |
---|---|---|
persist | Boolean | Indica si se deben conservar los valores. La configuración predeterminada es false . |
Volver
Action
: Este objeto, para encadenar.