com.google.apps.card.v1.WidgetOrBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of proto-google-common-protos Show documentation
Show all versions of proto-google-common-protos Show documentation
PROTO library for proto-google-common-protos
/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/apps/card/v1/card.proto
// Protobuf Java Version: 3.25.4
package com.google.apps.card.v1;
public interface WidgetOrBuilder
extends
// @@protoc_insertion_point(interface_extends:google.apps.card.v1.Widget)
com.google.protobuf.MessageOrBuilder {
/**
*
*
*
* Displays a text paragraph. Supports simple HTML formatted text. For more
* information about formatting text, see
* [Formatting text in Google Chat
* apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
* and
* [Formatting
* text in Google Workspace
* Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
*
* For example, the following JSON creates a bolded text:
* ```
* "textParagraph": {
* "text": " <b>bold text</b>"
* }
* ```
*
*
* .google.apps.card.v1.TextParagraph text_paragraph = 1;
*
* @return Whether the textParagraph field is set.
*/
boolean hasTextParagraph();
/**
*
*
*
* Displays a text paragraph. Supports simple HTML formatted text. For more
* information about formatting text, see
* [Formatting text in Google Chat
* apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
* and
* [Formatting
* text in Google Workspace
* Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
*
* For example, the following JSON creates a bolded text:
* ```
* "textParagraph": {
* "text": " <b>bold text</b>"
* }
* ```
*
*
* .google.apps.card.v1.TextParagraph text_paragraph = 1;
*
* @return The textParagraph.
*/
com.google.apps.card.v1.TextParagraph getTextParagraph();
/**
*
*
*
* Displays a text paragraph. Supports simple HTML formatted text. For more
* information about formatting text, see
* [Formatting text in Google Chat
* apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
* and
* [Formatting
* text in Google Workspace
* Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
*
* For example, the following JSON creates a bolded text:
* ```
* "textParagraph": {
* "text": " <b>bold text</b>"
* }
* ```
*
*
* .google.apps.card.v1.TextParagraph text_paragraph = 1;
*/
com.google.apps.card.v1.TextParagraphOrBuilder getTextParagraphOrBuilder();
/**
*
*
*
* Displays an image.
*
* For example, the following JSON creates an image with alternative text:
* ```
* "image": {
* "imageUrl":
* "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
* "altText": "Chat app avatar"
* }
* ```
*
*
* .google.apps.card.v1.Image image = 2;
*
* @return Whether the image field is set.
*/
boolean hasImage();
/**
*
*
*
* Displays an image.
*
* For example, the following JSON creates an image with alternative text:
* ```
* "image": {
* "imageUrl":
* "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
* "altText": "Chat app avatar"
* }
* ```
*
*
* .google.apps.card.v1.Image image = 2;
*
* @return The image.
*/
com.google.apps.card.v1.Image getImage();
/**
*
*
*
* Displays an image.
*
* For example, the following JSON creates an image with alternative text:
* ```
* "image": {
* "imageUrl":
* "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
* "altText": "Chat app avatar"
* }
* ```
*
*
* .google.apps.card.v1.Image image = 2;
*/
com.google.apps.card.v1.ImageOrBuilder getImageOrBuilder();
/**
*
*
*
* Displays a decorated text item.
*
* For example, the following JSON creates a decorated text widget showing
* email address:
*
* ```
* "decoratedText": {
* "icon": {
* "knownIcon": "EMAIL"
* },
* "topLabel": "Email Address",
* "text": "sasha@example.com",
* "bottomLabel": "This is a new Email address!",
* "switchControl": {
* "name": "has_send_welcome_email_to_sasha",
* "selected": false,
* "controlType": "CHECKBOX"
* }
* }
* ```
*
*
* .google.apps.card.v1.DecoratedText decorated_text = 3;
*
* @return Whether the decoratedText field is set.
*/
boolean hasDecoratedText();
/**
*
*
*
* Displays a decorated text item.
*
* For example, the following JSON creates a decorated text widget showing
* email address:
*
* ```
* "decoratedText": {
* "icon": {
* "knownIcon": "EMAIL"
* },
* "topLabel": "Email Address",
* "text": "sasha@example.com",
* "bottomLabel": "This is a new Email address!",
* "switchControl": {
* "name": "has_send_welcome_email_to_sasha",
* "selected": false,
* "controlType": "CHECKBOX"
* }
* }
* ```
*
*
* .google.apps.card.v1.DecoratedText decorated_text = 3;
*
* @return The decoratedText.
*/
com.google.apps.card.v1.DecoratedText getDecoratedText();
/**
*
*
*
* Displays a decorated text item.
*
* For example, the following JSON creates a decorated text widget showing
* email address:
*
* ```
* "decoratedText": {
* "icon": {
* "knownIcon": "EMAIL"
* },
* "topLabel": "Email Address",
* "text": "sasha@example.com",
* "bottomLabel": "This is a new Email address!",
* "switchControl": {
* "name": "has_send_welcome_email_to_sasha",
* "selected": false,
* "controlType": "CHECKBOX"
* }
* }
* ```
*
*
* .google.apps.card.v1.DecoratedText decorated_text = 3;
*/
com.google.apps.card.v1.DecoratedTextOrBuilder getDecoratedTextOrBuilder();
/**
*
*
*
* 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:
* ```
* "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"
* }
* }
* }
* ]
* }
* ```
*
*
* .google.apps.card.v1.ButtonList button_list = 4;
*
* @return Whether the buttonList field is set.
*/
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:
* ```
* "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"
* }
* }
* }
* ]
* }
* ```
*
*
* .google.apps.card.v1.ButtonList button_list = 4;
*
* @return The buttonList.
*/
com.google.apps.card.v1.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:
* ```
* "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"
* }
* }
* }
* ]
* }
* ```
*
*
* .google.apps.card.v1.ButtonList button_list = 4;
*/
com.google.apps.card.v1.ButtonListOrBuilder getButtonListOrBuilder();
/**
*
*
*
* 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;
*
* @return Whether the textInput field is set.
*/
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;
*
* @return The textInput.
*/
com.google.apps.card.v1.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;
*/
com.google.apps.card.v1.TextInputOrBuilder getTextInputOrBuilder();
/**
*
*
*
* 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:
*
* ```
* "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
* }
* ]
* }
* ```
*
*
* .google.apps.card.v1.SelectionInput selection_input = 6;
*
* @return Whether the selectionInput field is set.
*/
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:
*
* ```
* "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
* }
* ]
* }
* ```
*
*
* .google.apps.card.v1.SelectionInput selection_input = 6;
*
* @return The selectionInput.
*/
com.google.apps.card.v1.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:
*
* ```
* "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
* }
* ]
* }
* ```
*
*
* .google.apps.card.v1.SelectionInput selection_input = 6;
*/
com.google.apps.card.v1.SelectionInputOrBuilder getSelectionInputOrBuilder();
/**
*
*
*
* 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:
*
*
* ```
* "dateTimePicker": {
* "name": "appointment_time",
* "label": "Book your appointment at:",
* "type": "DATE_AND_TIME",
* "valueMsEpoch": "796435200000"
* }
* ```
*
*
* .google.apps.card.v1.DateTimePicker date_time_picker = 7;
*
* @return Whether the dateTimePicker field is set.
*/
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:
*
*
* ```
* "dateTimePicker": {
* "name": "appointment_time",
* "label": "Book your appointment at:",
* "type": "DATE_AND_TIME",
* "valueMsEpoch": "796435200000"
* }
* ```
*
*
* .google.apps.card.v1.DateTimePicker date_time_picker = 7;
*
* @return The dateTimePicker.
*/
com.google.apps.card.v1.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:
*
*
* ```
* "dateTimePicker": {
* "name": "appointment_time",
* "label": "Book your appointment at:",
* "type": "DATE_AND_TIME",
* "valueMsEpoch": "796435200000"
* }
* ```
*
*
* .google.apps.card.v1.DateTimePicker date_time_picker = 7;
*/
com.google.apps.card.v1.DateTimePickerOrBuilder getDateTimePickerOrBuilder();
/**
*
*
*
* Displays a horizontal line divider between widgets.
*
* For example, the following JSON creates a divider:
* ```
* "divider": {
* }
* ```
*
*
* .google.apps.card.v1.Divider divider = 9;
*
* @return Whether the divider field is set.
*/
boolean hasDivider();
/**
*
*
*
* Displays a horizontal line divider between widgets.
*
* For example, the following JSON creates a divider:
* ```
* "divider": {
* }
* ```
*
*
* .google.apps.card.v1.Divider divider = 9;
*
* @return The divider.
*/
com.google.apps.card.v1.Divider getDivider();
/**
*
*
*
* Displays a horizontal line divider between widgets.
*
* For example, the following JSON creates a divider:
* ```
* "divider": {
* }
* ```
*
*
* .google.apps.card.v1.Divider divider = 9;
*/
com.google.apps.card.v1.DividerOrBuilder getDividerOrBuilder();
/**
*
*
*
* 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](https://developers.google.com/workspace/extend):
*
* For example, the following JSON creates a 2 column grid with a single
* item:
*
* ```
* "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"
* }
* }
* }
* ```
*
*
* .google.apps.card.v1.Grid grid = 10;
*
* @return Whether the grid field is set.
*/
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](https://developers.google.com/workspace/extend):
*
* For example, the following JSON creates a 2 column grid with a single
* item:
*
* ```
* "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"
* }
* }
* }
* ```
*
*
* .google.apps.card.v1.Grid grid = 10;
*
* @return The grid.
*/
com.google.apps.card.v1.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](https://developers.google.com/workspace/extend):
*
* For example, the following JSON creates a 2 column grid with a single
* item:
*
* ```
* "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"
* }
* }
* }
* ```
*
*
* .google.apps.card.v1.Grid grid = 10;
*/
com.google.apps.card.v1.GridOrBuilder getGridOrBuilder();
/**
*
*
*
* 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:
*
* ```
* "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"
* }
* }
* ]
* }
* ]
* }
* ```
*
*
* .google.apps.card.v1.Columns columns = 11;
*
* @return Whether the columns field is set.
*/
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:
*
* ```
* "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"
* }
* }
* ]
* }
* ]
* }
* ```
*
*
* .google.apps.card.v1.Columns columns = 11;
*
* @return The columns.
*/
com.google.apps.card.v1.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:
*
* ```
* "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"
* }
* }
* ]
* }
* ]
* }
* ```
*
*
* .google.apps.card.v1.Columns columns = 11;
*/
com.google.apps.card.v1.ColumnsOrBuilder getColumnsOrBuilder();
/**
*
*
*
* Specifies whether widgets align to the left, right, or center of a column.
*
*
* .google.apps.card.v1.Widget.HorizontalAlignment horizontal_alignment = 8;
*
* @return The enum numeric value on the wire for horizontalAlignment.
*/
int getHorizontalAlignmentValue();
/**
*
*
*
* Specifies whether widgets align to the left, right, or center of a column.
*
*
* .google.apps.card.v1.Widget.HorizontalAlignment horizontal_alignment = 8;
*
* @return The horizontalAlignment.
*/
com.google.apps.card.v1.Widget.HorizontalAlignment getHorizontalAlignment();
com.google.apps.card.v1.Widget.DataCase getDataCase();
}