Class Action

Ação

Uma ação que permite interatividade nos elementos da interface. A ação não ocorre diretamente o cliente, mas invoca uma função de callback do Apps Script com parâmetros opcionais.

Disponível nos complementos do Google Workspace e nos apps do Google Chat.

var image = CardService.newImage()
    .setOnClickAction(CardService.newAction()
        .setFunctionName("handleImageClick")
        .setParameters({imageSrc: 'carImage'}));

Métodos

MétodoTipo de retornoBreve descrição
addRequiredWidget(requiredWidget)ActionAdiciona os nomes dos widgets necessários para essa ação para um envio válido.
setAllWidgetsAreRequired(allWidgetsAreRequired)ActionIndica se essa ação requer entradas de todos os widgets.
setFunctionName(functionName)ActionDefine o nome da função de callback a ser chamada.
setInteraction(interaction)ActionDefine a interação com um usuário, necessária apenas ao abrir uma caixa de diálogo.
setLoadIndicator(loadIndicator)ActionDefine o indicador de carregamento que aparece enquanto a ação está em andamento.
setParameters(parameters)ActionPermite que parâmetros personalizados sejam transmitidos para a função de callback.
setPersistValues(persistValues)ActionIndica 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 essa lista não tiverem um valor quando esta ação for invocada, o envio do formulário será cancelado.

Disponível apenas nos apps do Google Chat. Não disponí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

NomeTipoDescrição
requiredWidgetStringO nome do widget exigido por esta ação.

Retornar

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. 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

NomeTipoDescrição
allWidgetsAreRequiredBooleanIndica 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

NomeTipoDescrição
functionNameStringO 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, obrigatória apenas ao abrir uma caixa de diálogo. Se não for especificado, o app responde executando um Action, como abrir um link ou executar uma função, como de costume.

Disponível apenas nos 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

NomeTipoDescrição
interactionInteractionA 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

NomeTipoDescrição
loadIndicatorLoadIndicatorIndicador a ser exibido.

Retornar

Action: este objeto, para encadeamento.


setParameters(parameters)

Permite que parâmetros personalizados sejam transmitidos para a função de callback. Opcional.

Parâmetros

NomeTipoDescrição
parametersObjectAs 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, o os valores do cliente persistem após a resposta do servidor. Quando definido como false, o servidor valores 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 editar um TextInput depois enviar um formulário, mas antes de o servidor responder. Se os valores persistirem, edite o o usuário fez permanece depois que a resposta do servidor atualiza o Card; caso contrário, o valor do formulário retorna ao valor enviado originalmente pelo usuário ao formulário.

Manter os valores do 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 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 um onChange à ação.

// 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

NomeTipoDescrição
persistValuesBooleanDefine se os valores serão mantidos. O valor padrão é false.

Retornar

Action: este objeto, para encadeamento.

Métodos obsoletos