Class DecoratedText

DecoratedText

A widget that displays text with optional decorations. Possible keys include an icon, a label above and a label below. Setting the text content and one of the keys is required using setText(text) and one of DecoratedText , DecoratedText , setTopLabel(text) , or setBottomLabel(text) . This class is intended to replace KeyValue .

Available for Google Workspace Add-ons and Google Chat apps.

var decoratedText = CardService.newDecoratedText()
    .setText("Text")
    .setTopLabel("TopLabel");

var multilineDecoratedText = CardService.newDecoratedText()
    .setText("Text")
    .setTopLabel("TopLabel")
    .setWrapText(true)
    .setBottomLabel("BottomLabel");

Methods

Method Return type Brief description
DecoratedText Sets an authorization action that opens a URL to the authorization flow when the object is clicked.
DecoratedText Sets the label text to be used as the key and is displayed below the text content.
DecoratedText Sets the Button that is displayed to the right of the text.
DecoratedText Sets an action that composes a draft email when the object is clicked.
DecoratedText Sets the optional IconImage that is displayed to the right of the content.
DecoratedText Sets an action that executes when the object is clicked.
DecoratedText Sets an action that opens a URL in a tab when the object is clicked.
DecoratedText Sets a URL to be opened when the object is clicked.
DecoratedText Sets the optional IconImage to display before the text content.
DecoratedText Sets the Switch that is displayed to the right of the content.
DecoratedText Sets the text to be used as the value.
DecoratedText Sets the label text to be used as the key and is displayed above the text content.
DecoratedText Sets whether the value text should be displayed on a single line or multiple lines.

Detailed documentation

setAuthorizationAction(action)

Sets an authorization action that opens a URL to the authorization flow when the object is clicked. This opens the URL in a new window. When the user finishes the authorization flow and returns to the application, the add-on reloads.

A UI object can only have one of setOpenLink(openLink) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

// ...

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

Parameters

Name Type Description
action
AuthorizationAction The object that specifies the authorization action to take when this element is clicked.

Return

DecoratedText — This object, for chaining.


setBottomLabel(text)

Sets the label text to be used as the key and is displayed below the text content.

Parameters

Name Type Description
text
String The label text.

Return

DecoratedText — This object, for chaining.


setButton(button)

Sets the Button that is displayed to the right of the text. A DecoratedText can only support one button or one switch.

Parameters

Name Type Description
button
Button The button to add.

Return

DecoratedText — This object, for chaining.


setComposeAction(action, composedEmailType)

Sets an action that composes a draft email when the object is clicked. A UI object can only have one of setOpenLink(openLink) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

The Action parameter must specify a callback function that returns a ComposeActionResponse object configured using ComposeActionResponseBuilder.setGmailDraft(draft) .

// ...

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

// ...

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

Parameters

Name Type Description
action
Action The object that specifies the compose action to take when this element is clicked.
composedEmailType
ComposedEmailType An enum value that specifies whether the composed draft is a standalone or reply draft.

Return

DecoratedText — This object, for chaining.


setEndIcon(endIcon)

Sets the optional IconImage that is displayed to the right of the content. A DecoratedText can only support one button, one switch or one icon.

Parameters

Name Type Description
endIcon
IconImage The icon to add.

Return

DecoratedText — This object, for chaining.


setOnClickAction(action)

Sets an action that executes when the object is clicked. A UI object can only have one of setOpenLink(openLink) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

The Action parameter must specify a callback function that returns a ActionResponse object.

// ...

var 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();
}

Parameters

Name Type Description
action
Action The action to take when this element is clicked.

Return

DecoratedText — This object, for chaining.


setOnClickOpenLinkAction(action)

Sets an action that opens a URL in a tab when the object is clicked. Use this function when the URL needs to be built or when you need to take other actions in additon to creating the OpenLink object. A UI object can only have one of setOpenLink(openLink) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

The Action parameter must specify a callback function that returns a ActionResponse object configured using ActionResponseBuilder.setOpenLink(openLink) .

// ...

var 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();
}

Parameters

Name Type Description
action
Action The object that specifies the open link action to take when this element is clicked.

Return

DecoratedText — This object, for chaining.


Sets a URL to be opened when the object is clicked. Use this function when the URL is already known and only needs to be opened. A UI object can only have one of setOpenLink(openLink) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

Parameters

Name Type Description
openLink
OpenLink An OpenLink object describing the URL to open.

Return

DecoratedText — This object, for chaining.


setStartIcon(startIcon)

Sets the optional IconImage to display before the text content.

Parameters

Name Type Description
startIcon
IconImage The icon to display.

Return

DecoratedText — This object, for chaining.


setSwitchControl(switchToSet)

Sets the Switch that is displayed to the right of the content. A DecoratedText can only support one button or one switch.

Parameters

Name Type Description
switchToSet
Switch The switch to add.

Return

DecoratedText — This object, for chaining.


setText(text)

Sets the text to be used as the value. Supports basic HTML formatting . Required.

Parameters

Name Type Description
text
String The text content for this widget.

Return

DecoratedText — This object, for chaining.


setTopLabel(text)

Sets the label text to be used as the key and is displayed above the text content.

Parameters

Name Type Description
text
String The label text.

Return

DecoratedText — This object, for chaining.


setWrapText(wrapText)

Sets whether the value text should be displayed on a single line or multiple lines.

Parameters

Name Type Description
wrapText
Boolean If true , the text is wrapped and displayed on multiple lines. Otherwise the text is truncated.

Return

DecoratedText — This object, for chaining.