> For the complete documentation index, see [llms.txt](https://docs.eximee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/slowniki/slowniki-warunkowe.md).

# Conditional dictionaries

{% hint style="info" %}
Availability of functionality depends on the license and may not be available in all deployments.
{% endhint %}

Conditional dictionaries are an optional variant of regular dictionaries. Using the data passed to the dictionary, it is possible to write JavaScript conditions that will decide the visibility of selected values from the dictionary. For example, a subset of cities from the city dictionary based on a given voivodeship.

## Dictionary definition

The conditional dictionary definition window, in addition to the standard elements, will have the section filled in **Visibility conditions**, **Input parameters** and keys and values linked to display conditions.

## Condition definitions

Conditions are added in the side panel **Visibility conditions**, which will slide out after clicking the button in the left bar ![](/files/86552ff9640c56b8d04bbec7e08a501c8d815afd).

Each row represents one condition, the index allows the condition to be linked with the dictionary keys and values. The condition should be described by a JavaScript expression using the input data from the mapping.

![Figure 1. Example conditions defined for the dictionary](/files/da467ceeb7c77c9b5aaa5e62680815fdd0b21584)

## Input field mapping

In the **Input parameters**, which will slide out after clicking the button in the left bar ![](/files/40029e046420d337bb563014befdc91928d6d7c2), we can define the input data for the dictionary. The column **Variable** means the name of the variable that we will be able to use in JavaScript expressions when defining conditions, and **Alias** means the variable name visible when attaching the dictionary as a data source.

![Figure 2. Panel with sample input parameters](/files/3a1d1ae981d59448c5f2aa87b58a2eefea851fe9)

## Mapping conditions to keys

Each condition defined earlier is reflected in the keys and values table as a column, according to the assigned index. Checking the checkbox at the intersection of the row with the key and the column with the condition means that the value will be visible when the condition evaluates to true.

![Figure 3. Example of dictionary rows with mapped conditions](/files/b3deaaef13d268a12069b341442ce87b67d0c443)

## Condition evaluation

Conditions are evaluated in the order determined by the index (which translates to: from left to right in the keys table), with **the first condition that evaluates to true determines the set of displayed values**.

## Using a conditional dictionary

We attach a conditional dictionary in the same way as a regular dictionary (instructions: [Attaching the dictionary data source](/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/zasilanie-wartosciami-z-zewnetrznych-zrodel/podpiecie-slownikowego-zrodla-danych.md)). The only difference is that you additionally need to specify mappings of input parameters to components:

![Figure 4. Example of mapping dictionary input fields to application components](/files/49dc2957c4e5a55364bd31658a9ce3e328d05cc5)

{% hint style="info" %}
Demo applications: demoSlownikiWarunkowe, demoCombobox
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.eximee.com/documentation/documentation-en/budowanie-aplikacji/interfejs-uzytkownika/slowniki/slowniki-warunkowe.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
