Interface WidgetOrBuilder (2.40.0)

public interface WidgetOrBuilder extends MessageOrBuilder

Implements

MessageOrBuilder

Methods

getButtonList()

public abstract ButtonList getButtonList()

A list of buttons.

For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: <code><code> "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, "alpha": 1 }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } </code></code>

.google.apps.card.v1.ButtonList button_list = 4;

Returns
Type Description
ButtonList

The buttonList.

getButtonListOrBuilder()

public abstract ButtonListOrBuilder getButtonListOrBuilder()

A list of buttons.

For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: <code><code> "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, "alpha": 1 }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } </code></code>

.google.apps.card.v1.ButtonList button_list = 4;

Returns
Type Description
ButtonListOrBuilder

getColumns()

public abstract Columns getColumns()

Displays up to 2 columns.

To include more than 2 columns, or to use rows, use the Grid widget.

For example, the following JSON creates 2 columns that each contain text paragraphs:

<code><code> "columns": { "columnItems": [ { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "First column text paragraph" } } ] }, { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "Second column text paragraph" } } ] } ] } </code></code>

.google.apps.card.v1.Columns columns = 11;

Returns
Type Description
Columns

The columns.

getColumnsOrBuilder()

public abstract ColumnsOrBuilder getColumnsOrBuilder()

Displays up to 2 columns.

To include more than 2 columns, or to use rows, use the Grid widget.

For example, the following JSON creates 2 columns that each contain text paragraphs:

<code><code> "columns": { "columnItems": [ { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "First column text paragraph" } } ] }, { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "Second column text paragraph" } } ] } ] } </code></code>

.google.apps.card.v1.Columns columns = 11;

Returns
Type Description
ColumnsOrBuilder

getDataCase()

public abstract Widget.DataCase getDataCase()
Returns
Type Description
Widget.DataCase

getDateTimePicker()

public abstract DateTimePicker getDateTimePicker()

Displays a widget that lets users input a date, time, or date and time.

For example, the following JSON creates a date time picker to schedule an appointment:

<code><code> "dateTimePicker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DATE_AND_TIME", "valueMsEpoch": "796435200000" } </code></code>

.google.apps.card.v1.DateTimePicker date_time_picker = 7;

Returns
Type Description
DateTimePicker

The dateTimePicker.

getDateTimePickerOrBuilder()

public abstract DateTimePickerOrBuilder getDateTimePickerOrBuilder()

Displays a widget that lets users input a date, time, or date and time.

For example, the following JSON creates a date time picker to schedule an appointment:

<code><code> "dateTimePicker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DATE_AND_TIME", "valueMsEpoch": "796435200000" } </code></code>

.google.apps.card.v1.DateTimePicker date_time_picker = 7;

Returns
Type Description
DateTimePickerOrBuilder

getDecoratedText()

public abstract DecoratedText getDecoratedText()

Displays a decorated text item.

For example, the following JSON creates a decorated text widget showing email address:

<code><code> "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha&#64;example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } </code></code>

.google.apps.card.v1.DecoratedText decorated_text = 3;

Returns
Type Description
DecoratedText

The decoratedText.

getDecoratedTextOrBuilder()

public abstract DecoratedTextOrBuilder getDecoratedTextOrBuilder()

Displays a decorated text item.

For example, the following JSON creates a decorated text widget showing email address:

<code><code> "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha&#64;example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } </code></code>

.google.apps.card.v1.DecoratedText decorated_text = 3;

Returns
Type Description
DecoratedTextOrBuilder

getDivider()

public abstract Divider getDivider()

Displays a horizontal line divider between widgets.

For example, the following JSON creates a divider: <code><code> "divider": { } </code></code>

.google.apps.card.v1.Divider divider = 9;

Returns
Type Description
Divider

The divider.

getDividerOrBuilder()

public abstract DividerOrBuilder getDividerOrBuilder()

Displays a horizontal line divider between widgets.

For example, the following JSON creates a divider: <code><code> "divider": { } </code></code>

.google.apps.card.v1.Divider divider = 9;

Returns
Type Description
DividerOrBuilder

getGrid()

public abstract Grid getGrid()

Displays a grid with a collection of items.

A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows.

Google Workspace Add-ons and Chat apps:

For example, the following JSON creates a 2 column grid with a single item:

<code><code> "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } </code></code>

.google.apps.card.v1.Grid grid = 10;

Returns
Type Description
Grid

The grid.

getGridOrBuilder()

public abstract GridOrBuilder getGridOrBuilder()

Displays a grid with a collection of items.

A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows.

Google Workspace Add-ons and Chat apps:

For example, the following JSON creates a 2 column grid with a single item:

<code><code> "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } </code></code>

.google.apps.card.v1.Grid grid = 10;

Returns
Type Description
GridOrBuilder

getHorizontalAlignment()

public abstract Widget.HorizontalAlignment getHorizontalAlignment()

Specifies whether widgets align to the left, right, or center of a column.

.google.apps.card.v1.Widget.HorizontalAlignment horizontal_alignment = 8;

Returns
Type Description
Widget.HorizontalAlignment

The horizontalAlignment.

getHorizontalAlignmentValue()

public abstract int getHorizontalAlignmentValue()

Specifies whether widgets align to the left, right, or center of a column.

.google.apps.card.v1.Widget.HorizontalAlignment horizontal_alignment = 8;

Returns
Type Description
int

The enum numeric value on the wire for horizontalAlignment.

getImage()

public abstract Image getImage()

Displays an image.

For example, the following JSON creates an image with alternative text: <code><code> "image": { "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "altText": "Chat app avatar" } </code></code>

.google.apps.card.v1.Image image = 2;

Returns
Type Description
Image

The image.

getImageOrBuilder()

public abstract ImageOrBuilder getImageOrBuilder()

Displays an image.

For example, the following JSON creates an image with alternative text: <code><code> "image": { "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "altText": "Chat app avatar" } </code></code>

.google.apps.card.v1.Image image = 2;

Returns
Type Description
ImageOrBuilder

getSelectionInput()

public abstract SelectionInput getSelectionInput()

Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus.

For example, the following JSON creates a dropdown menu that lets users choose a size:

<code><code> "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } </code></code>

.google.apps.card.v1.SelectionInput selection_input = 6;

Returns
Type Description
SelectionInput

The selectionInput.

getSelectionInputOrBuilder()

public abstract SelectionInputOrBuilder getSelectionInputOrBuilder()

Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus.

For example, the following JSON creates a dropdown menu that lets users choose a size:

<code><code> "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } </code></code>

.google.apps.card.v1.SelectionInput selection_input = 6;

Returns
Type Description
SelectionInputOrBuilder

getTextInput()

public abstract TextInput getTextInput()

Displays a text box that users can type into.

For example, the following JSON creates a text input for an email address:

` "textInput": { "name": "mailing_address", "label": "Mailing Address" }

As another example, the following JSON creates a text input for a programming language with static suggestions: "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } `

.google.apps.card.v1.TextInput text_input = 5;

Returns
Type Description
TextInput

The textInput.

getTextInputOrBuilder()

public abstract TextInputOrBuilder getTextInputOrBuilder()

Displays a text box that users can type into.

For example, the following JSON creates a text input for an email address:

` "textInput": { "name": "mailing_address", "label": "Mailing Address" }

As another example, the following JSON creates a text input for a programming language with static suggestions: "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } `

.google.apps.card.v1.TextInput text_input = 5;

Returns
Type Description
TextInputOrBuilder

getTextParagraph()

public abstract TextParagraph getTextParagraph()

Displays a text paragraph. Supports simple HTML formatted text. For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace Add-ons.

For example, the following JSON creates a bolded text: <code><code> "textParagraph": { "text": " &lt;b&gt;bold text&lt;/b&gt;" } </code></code>

.google.apps.card.v1.TextParagraph text_paragraph = 1;

Returns
Type Description
TextParagraph

The textParagraph.

getTextParagraphOrBuilder()

public abstract TextParagraphOrBuilder getTextParagraphOrBuilder()

Displays a text paragraph. Supports simple HTML formatted text. For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace Add-ons.

For example, the following JSON creates a bolded text: <code><code> "textParagraph": { "text": " &lt;b&gt;bold text&lt;/b&gt;" } </code></code>

.google.apps.card.v1.TextParagraph text_paragraph = 1;

Returns
Type Description
TextParagraphOrBuilder

hasButtonList()

public abstract boolean hasButtonList()

A list of buttons.

For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: <code><code> "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, "alpha": 1 }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } </code></code>

.google.apps.card.v1.ButtonList button_list = 4;

Returns
Type Description
boolean

Whether the buttonList field is set.

hasColumns()

public abstract boolean hasColumns()

Displays up to 2 columns.

To include more than 2 columns, or to use rows, use the Grid widget.

For example, the following JSON creates 2 columns that each contain text paragraphs:

<code><code> "columns": { "columnItems": [ { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "First column text paragraph" } } ] }, { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "Second column text paragraph" } } ] } ] } </code></code>

.google.apps.card.v1.Columns columns = 11;

Returns
Type Description
boolean

Whether the columns field is set.

hasDateTimePicker()

public abstract boolean hasDateTimePicker()

Displays a widget that lets users input a date, time, or date and time.

For example, the following JSON creates a date time picker to schedule an appointment:

<code><code> "dateTimePicker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DATE_AND_TIME", "valueMsEpoch": "796435200000" } </code></code>

.google.apps.card.v1.DateTimePicker date_time_picker = 7;

Returns
Type Description
boolean

Whether the dateTimePicker field is set.

hasDecoratedText()

public abstract boolean hasDecoratedText()

Displays a decorated text item.

For example, the following JSON creates a decorated text widget showing email address:

<code><code> "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha&#64;example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } </code></code>

.google.apps.card.v1.DecoratedText decorated_text = 3;

Returns
Type Description
boolean

Whether the decoratedText field is set.

hasDivider()

public abstract boolean hasDivider()

Displays a horizontal line divider between widgets.

For example, the following JSON creates a divider: <code><code> "divider": { } </code></code>

.google.apps.card.v1.Divider divider = 9;

Returns
Type Description
boolean

Whether the divider field is set.

hasGrid()

public abstract boolean hasGrid()

Displays a grid with a collection of items.

A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows.

Google Workspace Add-ons and Chat apps:

For example, the following JSON creates a 2 column grid with a single item:

<code><code> "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } </code></code>

.google.apps.card.v1.Grid grid = 10;

Returns
Type Description
boolean

Whether the grid field is set.

hasImage()

public abstract boolean hasImage()

Displays an image.

For example, the following JSON creates an image with alternative text: <code><code> "image": { "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "altText": "Chat app avatar" } </code></code>

.google.apps.card.v1.Image image = 2;

Returns
Type Description
boolean

Whether the image field is set.

hasSelectionInput()

public abstract boolean hasSelectionInput()

Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus.

For example, the following JSON creates a dropdown menu that lets users choose a size:

<code><code> "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } </code></code>

.google.apps.card.v1.SelectionInput selection_input = 6;

Returns
Type Description
boolean

Whether the selectionInput field is set.

hasTextInput()

public abstract boolean hasTextInput()

Displays a text box that users can type into.

For example, the following JSON creates a text input for an email address:

` "textInput": { "name": "mailing_address", "label": "Mailing Address" }

As another example, the following JSON creates a text input for a programming language with static suggestions: "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } `

.google.apps.card.v1.TextInput text_input = 5;

Returns
Type Description
boolean

Whether the textInput field is set.

hasTextParagraph()

public abstract boolean hasTextParagraph()

Displays a text paragraph. Supports simple HTML formatted text. For more information about formatting text, see Formatting text in Google Chat apps and Formatting text in Google Workspace Add-ons.

For example, the following JSON creates a bolded text: <code><code> "textParagraph": { "text": " &lt;b&gt;bold text&lt;/b&gt;" } </code></code>

.google.apps.card.v1.TextParagraph text_paragraph = 1;

Returns
Type Description
boolean

Whether the textParagraph field is set.