# Wiele master checkboxów w komponencie oświadczeń

## Pojedynczy master checkbox

Domyślnie komponent oświadczeń wyświetla się z jednym master checkboxem. Niezależnie od liczby kontrolek taki checkbox zaznacza je wszystkie.

<div align="center"><img src="https://content.gitbook.com/content/2CssJT0zIo4SJQLbSZ6l/blobs/7iY6LDu5sFqkqCABSevk/10s_files/image2025-9-1_14-19-38.png" alt="Ilustracja 1. Przykładowy wygląd oświadczeń z jednym master checkboxem dla jednej kontrolki 
(w zależności od wdrożenia wygląd może się różnić)" width="563"></div>

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FtMrMUBWkblOTYYAmE61y%2FPrzechwycenie%20obrazu%20ekranu_2017-07-20_10-42-30.png?alt=media&#x26;token=6f81c80b-188e-49d3-a632-200b031f2603" alt="" width="494"><figcaption><p align="center"><em><strong>Ilustracja 2.</strong> Przykładowy wygląd komponentu z jednym master checkboxem dla dwóch kontrolek</em><br><em>(w zależności od wdrożenia wygląd może się różnić)</em></p></figcaption></figure>

## Wiele master checkboxów

Aby wyświetlić dwa lub więcej master checkboxów, należy najpierw zdefiniować je klikając **Dodaj masterCheckbox** w polu **LISTA MASTERCHECKBOXÓW** (masterCheckboxes).

![Ilustracja 3. Okno Lista masterCheckboxów ze zdefiniowaną listą dwóch głównych checkboxów](https://content.gitbook.com/content/2CssJT0zIo4SJQLbSZ6l/blobs/VMZwY9sFjbnwfynsd1dE/10s_files/image2024-8-5_14-18-36.png)

{% stepper %}
{% step %}

#### Zdefiniuj master checkboxy

Dla każdego master checkboxa należy zdefiniować:

* mastercheckboxId — Id, które będzie identyfikowało master checkbox dla kontrolek
* labelKey — Klucz tekstu, który będzie się wyświetlał dla master checkboxa o ustalonym id
* visibleCondition — Warunek widoczności master checkboxa. Wartość domyślna: "true".
  {% endstep %}

{% step %}

#### Powiąż master checkbox z kontrolką

Aby powiązać master checkbox z kontrolką, wpisz id master checkboxa w definicji kontrolki. Należy dodać odpowiednie wpisy w JSONie komponentu (więcej na temat tworzenia oświadczeń w [Edytor oświadczeń](https://docs.eximee.com/budowanie-aplikacji/interfejs-uzytkownika/formularze/biblioteka-komponentow-bazowych/7-komponenty-specjalne/oswiadczenia-statements/edytor-oswiadczen)).

Przykład (fragment JSON) pokazujący dodanie master checkboxów "mCh1" i "mCh2" dla oświadczeń:

{% code title="fragment.json" %}

```json
"items": [
    {
        "controls": [
            {
                "mid": "kontolka1",
                "titleKey": "kontrolka1",
                "requiredCondition": "js:false",
                "mastercheckbox": "mCh1",
                "type": "CHECKBOX"
            },
            {
                "mid": "kontolka2",
                "titleKey": "kontrolka2",
                "requiredCondition": "js:false",
                "notSelectedErrorTextKey": "",
                "mastercheckbox": "mCh2",
                "type": "CHECKBOX"
            }
        ]
    }
]
```

{% endcode %}
{% endstep %}
{% endstepper %}

![Ilustracja 4. Przykładowe oświadczenia z trzema master checkboxami&#x20;
(w zależności od wdrożenia wygląd może się różnić).](https://content.gitbook.com/content/2CssJT0zIo4SJQLbSZ6l/blobs/zjkADLJhhGfWloAqBGG8/10s_files/image2018-10-11_9-29-41.png)

Gdy będzie widoczny tylko jeden master checkbox, oświadczenia będą wyglądały jak poniżej. Klucz master checkboxa nie będzie wyświetlany, zamiast tego pojawi się domyślny opis. W tym wypadku zachowanie master checkboxa się nie zmienia i nadal zaznacza on tylko te kontrolki, które posiadają parametr **mastercheckbox** wskazujący na jego id — innymi słowy, ten master checkbox nie zaznacza wszystkich kontrolek.

![Ilustracja 5. Przykładowe oświadczenia z widocznym jednym master checkboxem&#x20;
(w zależności od wdrożenia wygląd może się różnić).](https://content.gitbook.com/content/2CssJT0zIo4SJQLbSZ6l/blobs/PUNFzSBQPdKVcQGRhEpy/10s_files/image2018-10-11_10-15-45.png)
