Class TextButton

TextButton

Um TextButton com um rótulo de texto. Você pode definir a cor do plano de fundo e desativar o botão quando necessário.

Disponível para complementos do Google Workspace e apps do 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 do plano de fundo do botão TextButtonStyle.FILLED.
setComposeAction(action, composedEmailType)TextButtonDefine uma ação que cria um rascunho de e-mail quando o objeto é clicado.
setDisabled(disabled)TextButtonDefine se o botão está desativado.
setIcon(icon)TextButtonDefine um Icon predefinido para mostrar 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 esse 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. Isso abre o URL em uma nova janela. Quando o usuário termina o fluxo de autorização e volta 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 esse elemento é clicado.

Retornar

TextButton: este objeto, para encadeamento.


setBackgroundColor(backgroundColor)

Define a cor do plano 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 cria um rascunho de e-mail quando o objeto é clicado. Um objeto de interface só pode ter um dos seguintes valores definidos: setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType).

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 esse elemento é clicado.
composedEmailTypeComposedEmailTypeUm valor de enumeração que especifica se o rascunho composto é um rascunho 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 mostrar no botão. É preciso usar este ou setIconUrl(url) para definir a imagem do botão.

Parâmetros

NomeTipoDescrição
iconIconUm dos valores Icon predefinidos.

Retornar

TextButton: este objeto, para encadeamento.


setIconUrl(url)

Define o URL de uma imagem a ser usada como ícone do botão. Este ou setIcon(icon) precisa ser usado para definir a imagem do botão.

Parâmetros

NomeTipoDescrição
urlStringO endereço URL de uma imagem hospedada a ser usada 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 seguintes valores definidos: setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType).

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 seguintes valores definidos: setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType).

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 é 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á for conhecido e só precisar ser aberto. Um objeto de interface só pode ter um dos seguintes valores definidos: setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) ou setComposeAction(action, composedEmailType).

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 no menu pode especificar uma ação a ser acionada quando clicado. Menus aninhados não são compatíveis, e as ações para itens de menu não devem 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.