# Oświadczenia zasilane z usługi - FedStatements

Komponent wyświetlający oświadczenia

![](/files/QDAIGAPYh4FVoB7Vaa6h)

## Właściwości komponentu

| **Właściwość Eximee Designer**                                        | Nazwa atrybutu w Źródle      | **Opis**                                                                                                                                                                                                                                                                                |
| --------------------------------------------------------------------- | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Grupowanie oświadczeń według wymagalności** (sekcja **Stylizacja**) | groupByRequired              | Opcja grupowania oświadczeń wg wymaganych i niewymaganych. Jeśli opcja zostanie zaznaczona, master checkbox będzie widoczny, a jego zaznaczenie będzie wpływało na zaznaczenie oświadczeń wymaganych. Domyślna wartość 'false'. Sortowanie oświadczeń należy wykonać po stronie usługi. |
| **Grupowanie wszystkich oświadczeń** (sekcja **Stylizacja**)          | groupAll                     | Opcja grupowania wszystkich oświadczeń. Jeśli opcja zostanie zaznaczona, master checkbox będzie widoczny, a jego zaznaczenie będzie wpływało na zaznaczenie wszystkich oświadczeń. Domyślna wartość 'false'.                                                                            |
| -                                                                     | masterCheckboxDescriptionKey | Klucz tłumaczenia zawierającego etykietę master checkboxa                                                                                                                                                                                                                               |

{% hint style="warning" %}
Uwaga! Jeśli zaznaczone będą obie opcje grupowania: groupByRequired i groupAll, to brana pod uwagę będzie tylko opcja Grupowanie wszystkich oświadczeń.
{% endhint %}

> Więcej informacji o właściwościach komponentu: [Wspólne właściwości komponentów](/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/wspolne-wlasciwosci-komponentow.md)

Lista oświadczeń zasilona jest z usługi. Usługa musi udostępniać jeden endpoint, którego zawartością jest json definiujący strukturę oświadczeń. Obiekt json jest tutaj tablicą oświadczeń, gdzie każde oświadczenie jest opisane atrybutami:

| **Atrybut**       | **Opis**                                                                                                       |
| ----------------- | -------------------------------------------------------------------------------------------------------------- |
| id                | unikalny identyfikator oświadczenia, który będzie zwracany w value komponentu                                  |
| content           | treść oświadczenia                                                                                             |
| description       | opcjonalny opis oświadczenia widoczny po rozwinięciu                                                           |
| required          | wymagalność oświadczenia, domyślnie false                                                                      |
| showMoreTextLabel | opcjonalny atrybut umożliwiający nadpisanie treści przycisku rozwijającego opis oświadczenia                   |
| showMoreInPopup   | flaga mówiąca, czy opis oświadczenia ma być pokazany w popupie, zamiast domyślnego rozwijania, domyślnie false |

## Przykłady usług

Przykładowy wynik działania usługi, zwracającej 4 oświadczenia:

```json
[
    {
        "id": 1,
        "content": "wymagane, bez opisu 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": "wymagane, z opisem 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": "Opis 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": "opcjonalne, z opisem w popupie 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": "Opis 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 w tytule <a href=\"http://google.pl\" target=\"_blank\">Link</a>"
    }
]
```

Przykład serwisu skryptowego, zwracającego konfigurację z powyższego przykładu:

```js
function callService(context) {

    const statements = [
        {
            "id": 1,
            "content": "wymagane, bez opisu 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": "wymagane, z opisem 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": "Opis 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": "opcjonalne, z opisem w popupie 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": "Opis 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 w tytule <a href=\"http://google.pl\" target=\"_blank\">Link</a>"
        }
    ];

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

{% hint style="warning" %}
W przypadku zasilania komponentu przez serwis skryptowy wynik przekazywany do parametru `output` powinien być tekstem zawierającym JSON z listą oświadczeń. Nie należy zwracać tablicy JavaScript bezpośrednio jako `output`, np. `output: statements`.

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

## Platformowe klucze tłumaczeń

| Klucz                              | Opis                                                                                                       | Wartość domyślna |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------- |
| iew\.rollable.roll                 | Etykieta przycisku do zwinięcia dodatkowego opisu oświadczenia                                             | Zwiń             |
| iew\.fed.statements.content.toggle | Etykieta przycisku do rozwinięcia dodatkowego opisu oświadczenia, bądź zaprezentowania popupa z tą treścią | Rozwiń           |

{% hint style="info" %}
Wniosek demo: 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/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.
