# Dropdown Block Addon (dropdownBlockAddon)

The purpose of this block is to display an interactive dropdown menu in the interfaceDocumentsSourceBlock.

## Usage <a href="#usage" id="usage"></a>

As shown in the example below, dropdownBlockAddon blocks should be placed inside interfaceDocumentsSourceBlock blocks. Source addons, which return documents for the dropdown, should be placed inside dropdownBlockAddon.

<figure><img src="https://3006114282-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXVOaWpJKxLZf1Tee9eCO%2Fuploads%2FhbIhPDrLzHSJqxNiPn5e%2Fimage.png?alt=media&#x26;token=dc93f4a3-e542-4e30-9dbe-e2c4966d00b5" alt=""><figcaption></figcaption></figure>

## Properties

| Property Name                | Description                                                                   | Example                             | Status |
| ---------------------------- | ----------------------------------------------------------------------------- | ----------------------------------- | ------ |
| Option Name (*optionName*)   | The label (name) which is shown in dropdown items.                            | document.credentialSubject.0.field0 |        |
| Option Value (*optionValue*) | The value which will be used when a specific item is clicked.                 | document.credentialSubject.0.id     |        |
| Field (*field*)              | The field in selected document which will be populated with the option value. | assignedTo                          |        |

<figure><img src="https://3006114282-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXVOaWpJKxLZf1Tee9eCO%2Fuploads%2FvLq5kZkLURXBNZsPrLTF%2Fimage.png?alt=media&#x26;token=2e49043d-7f5a-4611-97fa-6b7a89fe59e6" alt=""><figcaption></figcaption></figure>

## Events <a href="#events" id="events"></a>

Dropdown block addon events will be automatically added to document source.

<figure><img src="https://3006114282-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXVOaWpJKxLZf1Tee9eCO%2Fuploads%2F72Q5AXFBK90gHK7Oqwa6%2Fimage.png?alt=media&#x26;token=051c8746-ba91-4875-a9d7-ec9e5d142c5c" alt=""><figcaption></figcaption></figure>

## API <a href="#api" id="api"></a>

The API for the dropdownBlockAddon has both GET and POST methods:

1. Example response to the GET request:

```
{
    "id": "47169fdc-900f-4e07-abb4-5510d7be1175",
    "blockType": "dropdownBlockAddon",
    "optionName": "document.credentialSubject.0.field0",
    "optionValue": "document.credentialSubject.0.id",
    "field": "assignedTo",
    "documents": [
        {
            "name": "example",
            "optionValue": "did:hedera:testnet:9XvzF671JeyoVRg8PvSZBTTyKyrvnZu2Mz7qE6FZXY8P_0.0.4481265",
            "value": "66b28683d029375c10f0f4ef"
        }
    ],
}
```

A response to the GET request includes all block settings and:

* documents - Dropdown options

2. Example payload for the POST request:

```
{
  "documentId": "66b28672d029375c10f0f4b6",
  "dropdownDocumentId": "66b28683d029375c10f0f4ef"
}
```

* documentId - Selected document
* dropdownDocumentId - Dropdown item which was clicked
