Class TextButton

TextButton

Um TextButton com um rótulo de texto. É possível definir a cor do plano de fundo e desativar o botão quando necessário.

Disponível para os apps Google Workspace Add-ons e Google Chat.

const textButton = CardService.newTextButton()
                       .setText('Open Link')
                       .setOpenLink(CardService.newOpenLink().setUrl(
                           'https://www.google.com'));

Métodos

MétodoTipo de retornoBreve descrição
setAltText(altText)TextButtonDefine o texto alternativo do botão para acessibilidade.
setAuthorizationAction(action)TextButtonDefine uma ação de autorização que abre um URL para o fluxo de autorização quando o objeto é clicado.
setBackgroundColor(backgroundColor)TextButtonDefine a cor de fundo do botão TextButtonStyle.FILLED.
setComposeAction(action, composedEmailType)TextButtonDefine uma ação que compõe um e-mail de rascunho quando o objeto é clicado.
setDisabled(disabled)TextButtonDefine se o botão está desativado.
setIcon(icon)TextButtonDefine um Icon predefinido para exibição no botão.
setIconUrl(url)TextButtonDefine o URL de uma imagem a ser usada como ícone do botão.
setMaterialIcon(icon)TextButtonDefine o ícone do Material Design.
setOnClickAction(action)TextButtonDefine uma ação que é executada quando o objeto é clicado.
setOnClickOpenLinkAction(action)TextButtonDefine uma ação que abre um URL em uma guia quando o objeto é clicado.
setOpenLink(openLink)TextButtonDefine um URL para ser aberto quando o objeto é clicado.
setOverflowMenu(menu)TextButtonDefine um menu pop-up para ser aberto quando o objeto é clicado.
setText(text)TextButtonDefine o texto que aparece no botão.
setTextButtonStyle(textButtonStyle)TextButtonDefine o estilo do botão.

Documentação detalhada

setAltText(altText)

Define o texto alternativo do botão para acessibilidade. Se não for definido, o padrão será o texto que aparece no botão.

Parâmetros

NomeTipoDescrição
altTextStringO texto alternativo a ser atribuído a este botão.

Retornar

TextButton: este objeto, para encadeamento.


setAuthorizationAction(action)

Define uma ação de autorização que abre um URL para o fluxo de autorização quando o objeto é clicado. O URL será aberto em uma nova janela. Quando o usuário termina o fluxo de autorização e retorna ao aplicativo, o complemento é recarregado.

Um objeto de interface só pode ter um dos seguintes valores definidos: setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType).

// ...

const action = CardService.newAuthorizationAction().setAuthorizationUrl('url');
CardService.newTextButton().setText('Authorize').setAuthorizationAction(action);

Parâmetros

NomeTipoDescrição
actionAuthorizationActionO objeto que especifica a ação de autorização a ser realizada quando este elemento é clicado.

Retornar

TextButton: este objeto, para encadeamento.


setBackgroundColor(backgroundColor)

Define a cor de fundo do botão TextButtonStyle.FILLED. Se não for definido para um botão TextButtonStyle.FILLED, ele vai usar a cor secundária definida no manifesto do complemento. Esse método não faz nada para botões TextButtonStyle.OUTLINED.

Parâmetros

NomeTipoDescrição
backgroundColorStringA cor no formato #rgb.

Retornar

TextButton: este objeto, para encadeamento.


setComposeAction(action, composedEmailType)

Define uma ação que compõe um e-mail de rascunho quando o objeto é clicado. Um objeto de interface só pode ter um dos setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType) definidos.

O parâmetro Action precisa especificar uma função de callback que retorne um objeto ComposeActionResponse configurado usando ComposeActionResponseBuilder.setGmailDraft(draft).

// ...

const action = CardService.newAction().setFunctionName('composeEmailCallback');
CardService.newTextButton()
    .setText('Compose Email')
    .setComposeAction(action, CardService.ComposedEmailType.REPLY_AS_DRAFT);

// ...

function composeEmailCallback(e) {
  const thread = GmailApp.getThreadById(e.threadId);
  const draft = thread.createDraftReply('This is a reply');
  return CardService.newComposeActionResponseBuilder()
      .setGmailDraft(draft)
      .build();
}

Parâmetros

NomeTipoDescrição
actionActionO objeto que especifica a ação de composição a ser realizada quando este elemento é clicado.
composedEmailTypeComposedEmailTypeUm valor de tipo enumerado que especifica se o rascunho composto é independente ou de resposta.

Retornar

TextButton: este objeto, para encadeamento.


setDisabled(disabled)

Define se o botão está desativado. Um botão desativado fica esmaecido e não pode ser clicado.

Parâmetros

NomeTipoDescrição
disabledBooleanO estado desativado.

Retornar

TextButton: este objeto, para encadeamento.


setIcon(icon)

Define um Icon predefinido para exibição no botão. É necessário usar esse valor ou setIconUrl(url) para definir a imagem do botão.

Parâmetros

NomeTipoDescrição
iconIconUm dos valores predefinidos de Icon.

Retornar

TextButton: este objeto, para encadeamento.


setIconUrl(url)

Define o URL de uma imagem a ser usada como ícone do botão. É necessário usar este ou setIcon(icon) para definir a imagem do botão.

Parâmetros

NomeTipoDescrição
urlStringO endereço URL de uma imagem hospedada para usar como ícone do botão.

Retornar

TextButton: este objeto, para encadeamento.


setMaterialIcon(icon)

Define o ícone do Material Design.

const textButton = CardService.newTextButton().setMaterialIcon(
    CardService.newMaterialIcon().setName('search'),
);

Parâmetros

NomeTipoDescrição
iconMaterialIconO ícone do Material Design.

Retornar

TextButton: este objeto, para encadeamento.


setOnClickAction(action)

Define uma ação que é executada quando o objeto é clicado. Um objeto de interface só pode ter um dos setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType) definidos.

O parâmetro Action precisa especificar uma função de callback que retorne um objeto ActionResponse.

// ...

const action = CardService.newAction().setFunctionName('notificationCallback');
CardService.newTextButton()
    .setText('Create notification')
    .setOnClickAction(action);

// ...

function notificationCallback() {
  return CardService.newActionResponseBuilder()
      .setNotification(
          CardService.newNotification().setText('Some info to display to user'),
          )
      .build();
}

Parâmetros

NomeTipoDescrição
actionActionA ação a ser realizada quando esse elemento for clicado.

Retornar

TextButton: este objeto, para encadeamento.


setOnClickOpenLinkAction(action)

Define uma ação que abre um URL em uma guia quando o objeto é clicado. Use essa função quando o URL precisar ser criado ou quando você precisar realizar outras ações além de criar o objeto OpenLink. Um objeto de interface só pode ter um dos setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType) definidos.

O parâmetro Action precisa especificar uma função de callback que retorne um objeto ActionResponse configurado usando ActionResponseBuilder.setOpenLink(openLink).

// ...

const action = CardService.newAction().setFunctionName('openLinkCallback');
CardService.newTextButton()
    .setText('Open Link')
    .setOnClickOpenLinkAction(action);

// ...

function openLinkCallback() {
  return CardService.newActionResponseBuilder()
      .setOpenLink(CardService.newOpenLink().setUrl('https://www.google.com'))
      .build();
}

Parâmetros

NomeTipoDescrição
actionActionO objeto que especifica a ação de abrir link a ser realizada quando este elemento for clicado.

Retornar

TextButton: este objeto, para encadeamento.


Define um URL para ser aberto quando o objeto é clicado. Use essa função quando o URL já é conhecido e só precisa ser aberto. Um objeto de interface só pode ter um dos setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType) definidos.

Parâmetros

NomeTipoDescrição
openLinkOpenLinkUm objeto OpenLink que descreve o URL a ser aberto.

Retornar

TextButton: este objeto, para encadeamento.


setOverflowMenu(menu)

Define um menu pop-up para ser aberto quando o objeto é clicado. Cada item do menu pode especificar uma ação a ser acionada quando clicado. Menus aninhados não são aceitos. As ações para itens de menu não podem especificar um menu flutuante.

Disponível para apps do Google Chat. Na prévia para desenvolvedores dos complementos do Google Workspace.

const overflowMenuItem =
    CardService.newOverflowMenuItem()
        .setStartIcon(
            CardService.newIconImage().setIconUrl(
                'https://www.google.com/images/branding/googleg/1x/googleg_standard_color_64dp.png',
                ),
            )
        .setText('Open Link')
        .setOpenLink(
            CardService.newOpenLink().setUrl('https://www.google.com'));

const overflowMenu =
    CardService.newOverflowMenu().addMenuItem(overflowMenuItem).build();

Parâmetros

NomeTipoDescrição
menuOverflowMenuO objeto que especifica o menu flutuante a ser mostrado quando esse elemento é clicado.

Retornar

TextButton: este objeto, para encadeamento.


setText(text)

Define o texto que aparece no botão.

Parâmetros

NomeTipoDescrição
textStringO texto que aparece no botão.

Retornar

TextButton: este objeto, para encadeamento.


setTextButtonStyle(textButtonStyle)

Define o estilo do botão. Se não for definido, o padrão será o botão TextButtonStyle.OUTLINED.

const button =
    CardService.newTextButton()
        .setText('Filled')
        .setTextButtonStyle(CardService.TextButtonStyle.FILLED)
        .setOpenLink(CardService.newOpenLink().setUrl('www.google.com'));

Parâmetros

NomeTipoDescrição
textButtonStyleTextButtonStyleO estilo do botão.

Retornar

TextButton: este objeto, para encadeamento.