Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Card

The Card directive allows you to render data as a card component. Apart from Provider and Location cards, this directive may be used for a variety of applications. This could hold any HTML content within it.

This Card directive creates a layout that the User may use to display custom content on the Card. This Card directive, unlike the Bootstrap carousel or the Cardlist directive, has no preset parameters that regulate what is presented on the Card.

Sample

Snippet

{
	"type": "card",
	"items": [{
		"content": `<h1>Card component One<h1>`,
		"contentUrl": "http://example.com/oeapi/htmltwo",
		"detailView": {
			"title": "Card Detail title",
			"content": `<h1> Card detail view ${i+1} </h1>`,
			"contentUrl": "http://example.com/oeapi/htmlone",
			"detailDisplay": [{
				"type": "Accordion",
				"items": [{
					"title": "Accordion One",
					"body": `<p> Lorem Ipsum is simply dummy text</p>`
				}, {
					"title": "Accordion Two",
					"body": `<p> Lorem Ipsum is simply dummy text</p>`
				}]
			}]
		}
	}, {
		"content": `<h1>Card component Two<h1>`,
		"contentUrl": url,
		"detailView": {
			"title": "Card Detail title",
			"content": `<h1> Card detail view ${i+1} </h1>`,
			"contentUrl": "http://example.com/oeapi/htmlthree",
			"detailDisplay": [{
				"type": "Accordion",
				"items": [{
					"title": "Accordion three",
					"body": `<p> Lorem Ipsum is simply dummy text</p>`
				}, {
					"title": "Accordion four",
					"body": `<p> Lorem Ipsum is simply dummy text</p>`
				}]
			}]
		}
	}],
	"filterButton": false
}

Please add the above snippet in the Chatbot Settings under the directive object or use the Function node in the Experience Designer to construct the msg.payload.orbita.directive to prepare the Directive data. The latter takes priority over the former method.

The Card directive can be used to display a single card. We can make a Carousel using this directive by adding more Card objects to the Array.

The Card component will render only one card item with navigation arrows, irrespective of the page screen width. User can use the buttons to navigate to other cards.

Parameters used for Carousel

Property

Description

"type": "card"

This property accepts card as the option to identify this directive as Card.

"items": [{
"content": {...},
"contentUrl": {...},
"detailView": {
"content": {...},
"contentUrl": {...},
}
],

The items property holds an Array of Card data and this is displayed on the Bot. Each Card object can have the below properties.

  • content

  • contentUrl

  • detailView

    • content

    • contentUrl

"content": {}

This property will hold the HTML content to render the main Card data.

Sample:
"content": `<h1> Card ${i+1} </h1> <img src='https://ucarecdn.com/05f649bf-b70b-4cf8-90f7-2588ce404a08/' class='d-block w-100' alt='image'>`

"contentUrl": {}

This property is optional. This can be used to host the content in a template and we must specify the endpoint here. The card will render from that endpoint.

This property take priority over the content property. This is to render the main card.

Sample:

"contentUrl": "http://localhost:3030/oeapi/html"

"detailView": {
"content": {...},
"contentUrl": {...},

}

The property detailView defines the content for the Detail view of the Card.

The properties inside this, namely the content and contentUrl works the same way defined for the main card.

"filterButton": false

The functionality for the Filter page is under development. Please have the property set to false until further change.

Accordion

The Accordion component can be added as part of the Card’s detailed view. This is optional and will help render the accordion content.

The snippet used to explain the Card has the sample for the Accordion also.

Snippet

The below snippet is to highlight the Accordion component alone.

"detailDisplay": [{
					"type": "Accordion",
					"items": [{
							"title": "Accordion three",
							"body": `<p> Lorem Ipsum is simply dummy text</p>`
						},
						{
							"title": "Accordion four",
							"body": `<p> Lorem Ipsum is simply dummy text</p>`
						}
					]
				}]

Please add the above snippet in the Chatbot Settings under the card directive object or use the Function node in the Experience Designer to construct the msg.payload.orbita.directive to prepare the Directive data. The latter takes priority over the former method. We can add an array of Accordion content inside the items object as required.

Parameters used for Carousel

Property

Description

"type": "Accordion"

This property accepts Accordion as the option to identify this as the Accordion component inside the Card detail page overlay in the detailDisplay object.

"items": [{
"title": {...},
"body": {...}
}]

The items property holds an Array of Accordion data and this is displayed on the detailed page. The items array can have the below properties.

  • title

  • body

Tabs

The Tabs component can be added as part of the Card directive’s detailed view. This component is optional and will help render the Tabs content. The component is tightly coupled with the Card directive detail page.

The below snippet is to highlight the Tab component along with the Accordion component.

{
	"type": "card",
	"items": [{
		"content": `<h1>Card component Two<h1>`,
		"contentUrl": url,
		"detailView": {
			"title": "Card Detail title",
			"content": `<h1> Card detail view ${i+1} </h1>`,
			"contentUrl": "http://example.com/oeapi/htmlthree",
			"detailDisplay": [{
                type: "Tab",
                items: [{
                        title: "Tab one",
                        content: "<p>sample tab one</p>",
                        contentUrl: "https://example.com/oeapi/tabHtmlone"
                    },
                    {
                        title: "Tab two",
                        content: "<p>sample tab two</p>",
                        contentUrl: "https://example.com/oeapi/tabHtmltwo"
                    }]
            },{
					"type": "Accordion",
					"items": [{
						"title": "Accordion three",
						"body": `<p> Lorem Ipsum is simply dummy text</p>`
					}]
				}				
			]
		}
	}],
	"filterButton": false
}

Please add the above snippet in the Chatbot Settings under the card directive object or use the Function node in the Experience Designer to construct the msg.payload.orbita.directive to prepare the Directive data. The latter takes priority over the former method. We can add an array of Tab content inside the items object as required.

Parameters used for Carousel

Property

Description

"type": "Tab"

This property accepts Tab as the option to identify this as the Tab component inside the Card detail page overlay in the detailDisplay object.

"items": [{
"title": {...},
"content": {...},
"contentUrl": {...}
}]

The items property holds an Array of Tab data and this is displayed on the detailed page. The items array can have the below properties.

  • title

  • content

  • contentUrl

Related Articles

  • No labels