Uma ação que permite a interatividade em elementos da interface. A ação não acontece diretamente no cliente, mas invoca uma função de callback do Apps Script com parâmetros opcionais.
Disponível para complementos do Google Workspace e apps do Google Chat.
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
Métodos
| Método | Tipo de retorno | Breve descrição |
|---|---|---|
add | Action | Adiciona os nomes dos widgets que essa ação precisa para um envio válido. |
set | Action | Indica se esta ação exige entradas de todos os widgets. |
set | Action | Define o nome da função de callback a ser chamada. |
set | Action | Define a interação com um usuário, necessária apenas ao abrir uma caixa de diálogo. |
set | Action | Define o indicador de carregamento que aparece enquanto a ação está em andamento. |
set | Action | Permite que parâmetros personalizados sejam transmitidos para a função de callback. |
set | Action | Indica se os valores do formulário são determinados pelos valores do cliente ou do servidor
depois que uma resposta de ação atualiza o Card do formulário. |
Documentação detalhada
addRequiredWidget(requiredWidget)
Adiciona os nomes dos widgets que essa ação precisa para um envio válido. Se os widgets nessa lista não tiverem um valor quando essa ação for invocada, o envio do formulário será cancelado.
Disponível para complementos do Google Workspace e apps do Google Chat.
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
| Nome | Tipo | Descrição |
|---|---|---|
required | String | O nome do widget exigido por esta ação. |
Retornar
Action: este objeto, para encadeamento.
setAllWidgetsAreRequired(allWidgetsAreRequired)
Indica se esta ação exige entradas de todos os widgets.
Disponível para complementos do Google Workspace e apps do Google Chat.
// 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
| Nome | Tipo | Descrição |
|---|---|---|
all | Boolean | Se a ação exige entradas de todos os widgets. O padrão é
false. |
Retornar
Action: este objeto, para encadeamento.
setFunctionName(functionName)
Define o nome da função de callback a ser chamada. Obrigatório.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
function | String | O nome da função. É possível usar funções de bibliotecas incluídas, como Library.libFunction1. |
Retornar
Action: este objeto, para encadeamento.
setInteraction(interaction)
Define a interação com um usuário, necessária apenas ao abrir uma caixa de diálogo. Se não for especificado, o app
vai responder executando um Action, como abrir um link ou executar uma função, normalmente.
Disponível apenas para apps do Google Chat. Não disponível para complementos do Google Workspace.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
interaction | Interaction | A interação a ser especificada. |
Retornar
Action: este objeto, para encadeamento.
setLoadIndicator(loadIndicator)
Define o indicador de carregamento que aparece enquanto a ação está em andamento.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
load | Load | O indicador a ser mostrado. |
Retornar
Action: este objeto, para encadeamento.
setParameters(parameters)
Permite que parâmetros personalizados sejam transmitidos para a função de callback. Opcional.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
parameters | Object | As chaves e os valores precisam ser strings. |
Retornar
Action: este objeto, para encadeamento.
setPersistValues(persistValues)
Indica se os valores do formulário são determinados pelos valores do cliente ou do servidor
depois que uma resposta de ação atualiza o Card do formulário. Quando definido como true, os valores do cliente persistem após a resposta do servidor. Quando definido como false, os valores do servidor substituem os valores do formulário. O padrão é false.
A persistência dos valores do cliente ajuda a evitar situações em que um formulário muda inesperadamente
depois que um usuário faz uma edição. Por exemplo, se um usuário fizer uma edição em um TextInput depois de enviar um formulário, mas antes que o servidor responda. Se os valores forem mantidos, a edição feita pelo usuário vai permanecer depois que a resposta do servidor atualizar o Card. Caso contrário, o valor do formulário vai voltar ao valor que o usuário enviou originalmente.
A persistência de valores do cliente pode interferir na capacidade do script de limpar campos de formulário ou substituir valores. Por isso, evite ativar a persistência para esse tipo de funcionalidade. Sem
persistência, é recomendável usar o LoadIndicator.SPINNER para eventos,
porque isso bloqueia a interface e impede edições do usuário antes da resposta do servidor. Como alternativa, use LoadIndicator.NONE e verifique se todos os elementos do formulário têm uma ação 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
| Nome | Tipo | Descrição |
|---|---|---|
persist | Boolean | Define se os valores serão mantidos. O valor padrão é false. |
Retornar
Action: este objeto, para encadeamento.