Class KeyValue

KeyValue

A widget that displays one or more "keys" around a text "value". The possible keys include an icon, a label above and a label below. Setting the text content and one of the keys is required using setContent(text) and one of setIcon(icon), setIconUrl(url), setTopLabel(text), or setBottomLabel(text).


 var imageKeyValue = CardService.newKeyValue()
     .setIconUrl("https://icon.png")
     .setContent("KeyValue widget with an image on the left and text on the right");

 var textKeyValue = CardService.newKeyValue()
     .setTopLabel("Text key")
     .setContent("KeyValue widget with text key on top and cotent below");

 var multilineKeyValue = CardService.newKeyValue()
     .setTopLabel("Top label - single line)")
     .setContent("Content can be multiple lines")
 .setMultiline(true)
     .setBottomLabel("Bottom label - single line");
 

Methods

MethodReturn typeBrief description
setAuthorizationAction(action)KeyValueSets an authorization action that opens a URL to the authorization flow when the object is clicked.
setBottomLabel(text)KeyValueSets the label text to be used as the key.
setButton(button)KeyValueSets the Button that is displayed to the right of the context.
setComposeAction(action, composedEmailType)KeyValueSets an action that composes a draft email when the object is clicked.
setContent(text)KeyValueSets the text to be used as the value.
setIcon(icon)KeyValueSets the icon to be used as the key.
setIconAltText(altText)KeyValueSets the alternative text for the icon.
setIconUrl(url)KeyValueSets the URL of the icon to be used as the key.
setMultiline(multiline)KeyValueSets whether the value text should be displayed on a single line or multiple lines.
setOnClickAction(action)KeyValueSets an action that executes when the object is clicked.
setOnClickOpenLinkAction(action)KeyValueSets an action that opens a URL in a tab when the object is clicked.
setOpenLink(openLink)KeyValueSets a URL to be opened when the object is clicked.
setSwitch(switchToSet)KeyValueSets the Switch that is displayed to the right of the content.
setTopLabel(text)KeyValueSets the label text to be used as the key.

Detailed documentation

setAuthorizationAction(action)

Sets an authorization action that opens a URL to the authorization flow when the object is clicked. This will open the URL in a new window and when the user finishes the authorization flow and returns to the application, the addon will reload.

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

NameTypeDescription
actionAuthorizationActionthe object that specifies the authorization action to take when this element is clicked.

Return

KeyValue — this object, for chaining.


setBottomLabel(text)

Sets the label text to be used as the key. Displayed below the text-content and supports basic HTML formatting

Parameters

NameTypeDescription
textStringthe label text.

Return

KeyValue — this object, for chaining.


setButton(button)

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

Parameters

NameTypeDescription
buttonButtonthe button to add.

Return

KeyValue — 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

NameTypeDescription
actionActionthe object that specifies the compose action to take when this element is clicked.
composedEmailTypeComposedEmailTypean enum value that specifies whether the composed draft is a standalone or reply draft.

Return

KeyValue — this object, for chaining.


setContent(text)

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

Parameters

NameTypeDescription
textStringthe text content for this widget.

Return

KeyValue — this object, for chaining.


setIcon(icon)

Sets the icon to be used as the key.

Parameters

NameTypeDescription
iconIconone of the predefined Icon values.

Return

KeyValue — this object, for chaining.


setIconAltText(altText)

Sets the alternative text for the icon.

Parameters

NameTypeDescription
altTextStringthe alternative text for the icon.

Return

KeyValue — this object, for chaining.


setIconUrl(url)

Sets the URL of the icon to be used as the key.

Parameters

NameTypeDescription
urlStringthe URL address of a hosted image to use as an icon.

Return

KeyValue — this object, for chaining.


setMultiline(multiline)

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

Parameters

NameTypeDescription
multilineBooleanthe multiline setting.

Return

KeyValue — 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()
           .setType(CardService.Notification.INFO)
           .setText("Some info to display to user"))
       .build();
 }
 

Parameters

NameTypeDescription
actionActionthe action to take when this element is clicked.

Return

KeyValue — 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 addiiton 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

NameTypeDescription
actionActionthe object that specifies the open link action to take when this element is clicked.

Return

KeyValue — this object, for chaining.


setOpenLink(openLink)

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

NameTypeDescription
openLinkOpenLinkan OpenLink object describing the URL to open.

Return

KeyValue — this object, for chaining.


setSwitch(switchToSet)

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

Parameters

NameTypeDescription
switchToSetSwitchthe switch to add.

Return

KeyValue — this object, for chaining.


setTopLabel(text)

Sets the label text to be used as the key. Displayed above the text-content and supports basic HTML formatting.

Parameters

NameTypeDescription
textStringthe label text.

Return

KeyValue — this object, for chaining.

Send feedback about...

Apps Script
Apps Script