Uma ação que permite a interatividade nos 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 os apps do Google Workspace Add-ons e 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 necessários para um envio válido. |
set | Action | Indica se essa 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
add Required Widget(requiredWidget)
Adiciona os nomes dos widgets necessários para um envio válido. Se os widgets dessa lista não tiverem um valor quando essa ação for invocada, o envio do formulário será interrompido.
Disponível apenas para apps do Google Chat. Não disponível para complementos do 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
Nome | Tipo | Descrição |
---|---|---|
required | String | O nome do widget necessário para essa ação. |
Retornar
Action
: este objeto, para encadeamento.
set All Widgets Are Required(allWidgetsAreRequired)
Indica se essa ação exige entradas de todos os widgets.
Disponível apenas para apps do Google Chat. Não disponível para complementos do 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
Nome | Tipo | Descrição |
---|---|---|
all | Boolean | Indica se a ação requer entradas de todos os widgets. O padrão é
false . |
Retornar
Action
: este objeto, para encadeamento.
set Function Name(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.
set Interaction(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 uma 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.
set Load Indicator(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.
set Parameters(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.
set Persist Values(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 Text
após
enviar um formulário, mas antes que o servidor responda. Se os valores forem mantidos, a edição feita pelo
usuário permanecerá após a resposta do servidor atualizar o Card
. Caso contrário, o valor do formulário
voltará para o 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 de formulário. Evite ativar a persistência para esse tipo de funcionalidade. Sem
persistência, é recomendável usar o Load
para eventos,
porque isso bloqueia a interface e impede as edições do usuário antes que o servidor responda. Como alternativa,
é possível usar Load
e garantir que cada elemento no formulário tenha 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 | Se os valores serão mantidos. O valor padrão é false . |
Retornar
Action
: este objeto, para encadeamento.