# Service-fed statements - FedStatements

Component displaying statements

![](/files/f027fc66b39003f68fe4deb4ea20cd303481a25a)

## Component properties

| **Eximee Designer property**                                 | Attribute name in Source     | **Description**                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------ | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Grouping statements by requirement** (section **Styling**) | groupByRequired              | Option to group statements by required and not required. If the option is selected, the master checkbox will be visible, and selecting it will affect the selection of required statements. Default value 'false'. Statements should be sorted on the service side. |
| **Grouping all statements** (section **Styling**)            | groupAll                     | Option to group all statements. If the option is selected, the master checkbox will be visible, and selecting it will affect the selection of all statements. Default value 'false'.                                                                                |
| -                                                            | masterCheckboxDescriptionKey | Translation key containing the label of the master checkbox                                                                                                                                                                                                         |

{% hint style="warning" %}
Note! If both grouping options are selected: groupByRequired and groupAll, only the Grouping all statements option will be taken into account.
{% endhint %}

> More information about component properties: [Common component properties](/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/wspolne-wlasciwosci-komponentow.md)

The list of statements is populated from the service. The service must expose one endpoint whose content is JSON defining the structure of the statements. The JSON object here is an array of statements, where each statement is described by the following attributes:

| **Attribute**     | **Description**                                                                                                              |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| id                | unique statement identifier, which will be returned in the component's value                                                 |
| content           | statement content                                                                                                            |
| description       | optional statement description visible after expansion                                                                       |
| required          | statement requirement, default false                                                                                         |
| showMoreTextLabel | optional attribute allowing the text of the button expanding the statement description to be overridden                      |
| showMoreInPopup   | flag indicating whether the statement description should be shown in a popup instead of the default expansion, default false |

## Service examples

Example result of a service returning 4 statements:

```json
[
    {
        "id": 1,
        "content": "required, without description Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "required": true
    },
    {
        "id": 3,
        "content": "required, with description Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "description": "Description 3 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "required": true
    },
    {
        "id": 5,
        "content": "optional, with description in popup Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "description": "Description 5 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "showMoreInPopup": true,
        "required": false
    },
    {
        "id": 10,
        "content": "link in the title <a href=\"http://google.pl\" target=\"_blank\">Link</a>"
    }
]
```

Example of a script service returning the configuration from the example above:

```js
function callService(context) {

    const statements = [
        {
            "id": 1,
            "content": "required, without description Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "required": true
        },
        {
            "id": 3,
            "content": "required, with description Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "description": "Description 3 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "required": true
        },
        {
            "id": 5,
            "content": "optional, with description in popup Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "description": "Description 5 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
            "showMoreInPopup": true,
            "required": false
        },
        {
            "id": 10,
            "content": "link in the title <a href=\"http://google.pl\" target=\"_blank\">Link</a>"
        }
    ];

    return [{ output: JSON.stringify(statements) }];
}
```

{% hint style="warning" %}
When the component is populated by a script service, the result passed to the `output` parameter should be text containing JSON with a list of statements. Do not return a JavaScript array directly as `output`, e.g. `output: statements`.

Correct format: `return [{ output: JSON.stringify(statements) }];`
{% endhint %}

## Platform translation keys

| Key                                | Description                                                                                                         | Default value |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------- |
| iew\.rollable.roll                 | Label of the button for collapsing the additional statement description                                             | Collapse      |
| iew\.fed.statements.content.toggle | Label of the button for expanding the additional statement description, or for displaying a popup with this content | Expand        |

{% hint style="info" %}
Demo request: demoFedStatements
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/formularze/biblioteka-komponentow-bazowych/7-komponenty-specjalne/oswiadczenia-statements/oswiadczenia-zasilane-z-uslugi-fedstatements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
