Skip to main content

Button Element

The ButtonElement class, inherited from the BaseInteractiveElement class, represents an interactive button element that can be added to a chat interface. It comprises of properties like button text and a flag indicating whether the button should be disabled after interaction.

Constructor

NameTypeDescription
elementIdstringA unique identifier for the button element
actionAPIAction | URLNavigationAction | CustomActionThe action to be performed when the button is clicked
buttonTextstringThe text to be displayed on the button. This value is an empty string by default

Class Usage

How to create an instance of the ButtonElement class:

// Create an instance of APIAction

let apiAction = new APIAction("https://example.com/api", "POST");

// Create a new instance of ButtonElement

let buttonElement = new ButtonElement("1", apiAction, "Submit");

In this example, a new instance of ButtonElement is created with an elementId "1", an APIAction as an action, and "Submit" as the button text.

Key Properties and Methods

Button Interaction Property

The setDisableAfterInteracted() method allows changing this property. It accepts a boolean value indicating whether the button should be disabled after it is interacted with.

let apiAction = new APIAction("https://example.com/api", "POST");
let buttonElement = new ButtonElement("1", apiAction, "Submit");
buttonElement.setDisableAfterInteracted(false);

Example

Below is an example that showcases the creation and manipulation of an instance of ButtonElement:

// Create an instance of APIAction

let apiAction = new APIAction("https://example.com/api", "POST");

// Create a new instance of ButtonElement

let buttonElement = new ButtonElement("1", apiAction, "Submit");

buttonElement.setDisableAfterInteracted(false);

In this example, a new instance of the ButtonElement is created. The button text, action and interaction property are retrieved, updated, and logged. Then a new ButtonElement instance is made from a JSON object and its button text is retrieved and logged.