Class: Google::Apis::ChatV1::GoogleAppsCardV1Card

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/chat_v1/classes.rb,
lib/google/apis/chat_v1/representations.rb,
lib/google/apis/chat_v1/representations.rb

Overview

Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. In Google Chat, cards appear in several places: - As stand-alone messages. - Accompanying a text message, just beneath the text message. - As a dialog. The following example JSON creates a "contact card" that features: - A header with the contact's name, job title, and avatar picture. - A section with the contact information, including formatted text. - Buttons that users can click to share the contact, or see more or less information. For more examples, see Design dynamic, interactive, and consistent UIs with cards. Example contact card ` "cardsV2": [ ` "cardId": "unique-card-id", "card" : ` "header": ` "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/chat/images/quickstart-app-avatar.png", " imageType": "CIRCLE", "imageAltText": "Avatar for Sasha", `, "sections": [ ` " header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, " widgets": [ ` "decoratedText": ` "startIcon": ` "knownIcon": "EMAIL", `, "text" : "sasha@example.com", ` `, ` "decoratedText": ` "startIcon": ` "knownIcon": " PERSON", `, "text": "Online", `, `, ` "decoratedText": ` "startIcon": ` " knownIcon": "PHONE", `, "text": "+1 (555) 555-1234", ` `, ` "buttonList": ` " buttons": [ ` "text": "Share", "onClick": ` "openLink": ` "url": "https:// example.com/share", ` ` `, ` "text": "Edit", "onClick": ` "action": ` " function": "goToView", "parameters": [ ` "key": "viewType", "value": "EDIT", ` ], ` ` `, ], ` `, ], `, ], `, ` ], `

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleAppsCardV1Card

Returns a new instance of GoogleAppsCardV1Card.



1456
1457
1458
# File 'lib/google/apis/chat_v1/classes.rb', line 1456

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#card_actionsArray<Google::Apis::ChatV1::GoogleAppsCardV1CardAction>

The card's actions. Actions are added to the card's toolbar menu. Because Chat app cards have no toolbar, cardActions[] isn't supported by Chat apps. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: "card_actions": [ ` "actionLabel": "Settings", " onClick": ` "action": ` "functionName": "goToView", "parameters": [ ` "key": " viewType", "value": "SETTING" ` ], "loadIndicator": "LoadIndicator.SPINNER" ` ` `, ` "actionLabel": "Send Feedback", "onClick": ` "openLink": ` "url": "https: //example.com/feedback" ` ` ` ] Corresponds to the JSON property cardActions



1405
1406
1407
# File 'lib/google/apis/chat_v1/classes.rb', line 1405

def card_actions
  @card_actions
end

#display_styleString

In Google Workspace add-ons, sets the display properties of the peekCardHeader. Not supported by Chat apps. Corresponds to the JSON property displayStyle

Returns:

  • (String)


1411
1412
1413
# File 'lib/google/apis/chat_v1/classes.rb', line 1411

def display_style
  @display_style
end

A persistent (sticky) footer that that appears at the bottom of the card. For an example in Google Chat apps, see Card footer. Setting fixedFooter without specifying a primaryButton or a secondaryButton causes an error. Supported by Google Workspace Add-ons and Chat apps. For Chat apps, you can use fixed footers in dialogs, but not card messages. Corresponds to the JSON property fixedFooter



1423
1424
1425
# File 'lib/google/apis/chat_v1/classes.rb', line 1423

def fixed_footer
  @fixed_footer
end

#headerGoogle::Apis::ChatV1::GoogleAppsCardV1CardHeader

Represents a card header. For an example in Google Chat apps, see Card header. Corresponds to the JSON property header



1429
1430
1431
# File 'lib/google/apis/chat_v1/classes.rb', line 1429

def header
  @header
end

#nameString

Name of the card. Used as a card identifier in card navigation. Because Chat apps don't support card navigation, they ignore this field. Corresponds to the JSON property name

Returns:

  • (String)


1435
1436
1437
# File 'lib/google/apis/chat_v1/classes.rb', line 1435

def name
  @name
end

#peek_card_headerGoogle::Apis::ChatV1::GoogleAppsCardV1CardHeader

Represents a card header. For an example in Google Chat apps, see Card header. Corresponds to the JSON property peekCardHeader



1441
1442
1443
# File 'lib/google/apis/chat_v1/classes.rb', line 1441

def peek_card_header
  @peek_card_header
end

#section_divider_styleString

The divider style between sections. Corresponds to the JSON property sectionDividerStyle

Returns:

  • (String)


1446
1447
1448
# File 'lib/google/apis/chat_v1/classes.rb', line 1446

def section_divider_style
  @section_divider_style
end

#sectionsArray<Google::Apis::ChatV1::GoogleAppsCardV1Section>

Contains a collection of widgets. Each section has its own, optional header. Sections are visually separated by a line divider. For an example in Google Chat apps, see Card section. Corresponds to the JSON property sections



1454
1455
1456
# File 'lib/google/apis/chat_v1/classes.rb', line 1454

def sections
  @sections
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
# File 'lib/google/apis/chat_v1/classes.rb', line 1461

def update!(**args)
  @card_actions = args[:card_actions] if args.key?(:card_actions)
  @display_style = args[:display_style] if args.key?(:display_style)
  @fixed_footer = args[:fixed_footer] if args.key?(:fixed_footer)
  @header = args[:header] if args.key?(:header)
  @name = args[:name] if args.key?(:name)
  @peek_card_header = args[:peek_card_header] if args.key?(:peek_card_header)
  @section_divider_style = args[:section_divider_style] if args.key?(:section_divider_style)
  @sections = args[:sections] if args.key?(:sections)
end