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
Method | Return type | Brief description |
---|---|---|
setAuthorizationAction(action) | KeyValue | Sets an authorization action that opens a URL to the authorization flow when the object is clicked. |
setBottomLabel(text) | KeyValue | Sets the label text to be used as the key. |
setButton(button) | KeyValue | Sets the Button that is displayed to the right of the context. |
setComposeAction(action, composedEmailType) | KeyValue | Sets an action that composes a draft email when the object is clicked. |
setContent(text) | KeyValue | Sets the text to be used as the value. |
setIcon(icon) | KeyValue | Sets the icon to be used as the key. |
setIconAltText(altText) | KeyValue | Sets the alternative text for the icon. |
setIconUrl(url) | KeyValue | Sets the URL of the icon to be used as the key. |
setMultiline(multiline) | KeyValue | Sets whether the value text should be displayed on a single line or multiple lines. |
setOnClickAction(action) | KeyValue | Sets an action that executes when the object is clicked. |
setOnClickOpenLinkAction(action) | KeyValue | Sets an action that opens a URL in a tab when the object is clicked. |
setOpenLink(openLink) | KeyValue | Sets a URL to be opened when the object is clicked. |
setSwitch(switchToSet) | KeyValue | Sets the Switch that is displayed to the right of the content. |
setTopLabel(text) | KeyValue | Sets 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 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
KeyValue
— This object, for chaining.
setBottomLabel(text)
Sets the label text to be used as the key. Displayed below the text-content.
Parameters
Name | Type | Description |
---|---|---|
text | String | The label text. Note: It doesn't support basic HTML formatting. |
Return
KeyValue
— This object, for chaining.
setButton(button)
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
KeyValue
— This object, for chaining.
setContent(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
KeyValue
— This object, for chaining.
setIcon(icon)
setIconAltText(altText)
Sets the alternative text for the icon.
Parameters
Name | Type | Description |
---|---|---|
altText | String | The 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
Name | Type | Description |
---|---|---|
url | String | The 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
Name | Type | Description |
---|---|---|
multiline | Boolean | The 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() .setText("Some info to display to user")) .build(); }
Parameters
Name | Type | Description |
---|---|---|
action | Action | The 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 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
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
Name | Type | Description |
---|---|---|
openLink | OpenLink | An OpenLink object describing the URL to open. |
Return
KeyValue
— This object, for chaining.
setSwitch(switchToSet)
setTopLabel(text)
Sets the label text to be used as the key. Displayed above the text-content.
Parameters
Name | Type | Description |
---|---|---|
text | String | The label text. Note: It doesn't support basic HTML formatting. |
Return
KeyValue
— This object, for chaining.