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 complementos do Google Workspace e apps do Google Chat.
var image = CardService.newImage() .setOnClickAction(CardService.newAction() .setFunctionName("handleImageClick") .setParameters({imageSrc: 'carImage'}));
Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
addRequiredWidget(requiredWidget) | Action | Adiciona os nomes dos widgets necessários para essa ação para um envio válido. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | Indica se essa ação requer entradas de todos os widgets. |
setFunctionName(functionName) | Action | Define o nome da função de retorno de chamada a ser chamada. |
setInteraction(interaction) | Action | Define a interação com um usuário, obrigatória apenas ao abrir uma caixa de diálogo. |
setLoadIndicator(loadIndicator) | Action | Define o indicador de carregamento que aparece enquanto a ação está em andamento. |
setParameters(parameters) | Action | Permite que parâmetros personalizados sejam transmitidos para a função de callback. |
setPersistValues(persistValues) | 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 necessários para essa ação 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á cancelado.
Disponível apenas nos apps do Google Chat. Indisponível para complementos do 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
Nome | Tipo | Descrição |
---|---|---|
requiredWidget | String | O nome do widget exigido pela ação. |
Retorno
Action
: este objeto para encadeamento.
setAllWidgetsAreRequired(allWidgetsAreRequired)
Indica se essa ação requer entradas de todos os widgets.
Disponível apenas nos apps do Google Chat. Indisponí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 |
---|---|---|
allWidgetsAreRequired | Boolean | Define se a ação requer entradas de todos os widgets. O padrão é false . |
Retorno
Action
: este objeto para encadeamento.
setFunctionName(functionName)
Define o nome da função de retorno de chamada a ser chamada. Obrigatório.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
functionName | String | O nome da função. Você pode usar funções de bibliotecas incluídas,
como Library.libFunction1 . |
Retorno
Action
: este objeto para encadeamento.
setInteraction(interaction)
Define a interação com um usuário, obrigatória apenas ao abrir uma caixa de diálogo. Se não for especificado, o app
responderá executando uma Action
, como abrir um link ou executar uma função, como de costume.
Disponível apenas nos apps do Google Chat. Indisponí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. |
Retorno
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 |
---|---|---|
loadIndicator | LoadIndicator | O indicador a ser exibido. |
Retorno
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 | Tanto as chaves quanto os valores precisam ser strings. |
Retorno
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 definidos 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
.
Manter os 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 do servidor responder. Se os valores forem mantidos, a edição feita pelo usuário permanecerá depois que a resposta do servidor atualizar o Card
. Caso contrário, o valor do formulário retornará ao valor que o usuário enviou originalmente ao formulário.
Manter valores de cliente pode interferir na capacidade do script de limpar campos de formulário ou
substituir valores de formulário. Portanto, 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 que o servidor responda. Também
é possível usar LoadIndicator.NONE
e conferir 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 |
---|---|---|
persistValues | Boolean | Define se os valores serão mantidos. O valor padrão é false . |
Retorno
Action
: este objeto para encadeamento.