dropdownButton
dropdownButton представляет собой основную кнопку, которая при нажатии раскрывает выпадающее меню, содержащее список элементов.
| XML-элемент | 
 | 
|---|---|
| Java-класс | 
 | 
| Атрибуты | id - alignSelf - classNames - colspan - css - dropdownIndicatorVisible - enabled - focusShortcut - height - icon - maxHeight - maxWidth - minHeight - minWidth - openOnHover - overlayClass - tabIndex - text - themeNames - title - visible - whiteSpace - width | 
| Обработчики | |
| Элементы | 
Основы
На основной кнопке отображается текст или иконка (или и то, и другое), представляющие компонент. Пользователи нажимают эту кнопку, чтобы получить доступ к выпадающему меню.
Выпадающее меню содержит список действий, каждое из которых представлено кликабельным элементом.
Каждый элемент в выпадающем меню может представлять действие. Когда пользователь нажимает на действие, срабатывает соответствующий обработчик события.
 
Вот пример определения кнопки dropdownButton c текстом, иконкой и всплывающей подсказкой (используя атрибут title), извлекаемых из пакета сообщений:
<dropdownButton icon="MAILBOX" text="Contact Us" title="msg://contact">
    <items>
        <textItem id="callItem" text="Call Us"/>
        <textItem id="emailItem" text="E Mail"/>
        <textItem id="whatsAppItem" text="WhatsApp"/>
    </items>
</dropdownButton>Элементы
Кнопка dropdownButton, определенная в XML-дескрипторе, может содержать вложенные элементы:
actionItem
Элемент actionItem создает связь между элементом выпадающего меню и конкретным действием, которое должно быть выполнено при нажатии на этот элемент.
Используйте атрибут ref, чтобы указать на идентификатор определенного действия.
<actions>
    <action id="callAction" text="Call Us" icon="PHONE"/>
</actions>
<layout>
    <dropdownButton icon="MAILBOX" title="msg://contact" id="callBtn">
        <items>
            <actionItem id="callUsItem" ref="callAction"/>
        </items>
    </dropdownButton>
</layout>Когда пользователь нажимает на actionItem в выпадающем меню, Jmix автоматически запускает действие, на которое ссылается атрибут ref. Сгенерируйте метод обработчика события ActionPerformedEvent для этого действия. Добавьте в него логику:
@Subscribe("callAction")
public void onCallAction(final ActionPerformedEvent event) {
    notifications.show("Phone number: +6(876)5463");
}componentItem
Элемент componentItem позволяет вам определять собственное внутреннее содержимое для кнопки dropdownButton.
<layout>
    <dropdownButton icon="MAILBOX" title="msg://contact" id="callBtn">
        <items>
            <componentItem id="emailIt">
                <hbox padding="false">
                    <icon icon="MAILBOX"/>
                    <span text="E Mail"/>
                </hbox>
            </componentItem>
        </items>
    </dropdownButton>
</layout>Вы можете сгенерировать заглушку обработчика события DropdownButtonItem.ClickEvent для componentItem с помощью Jmix Studio.
@Subscribe("callBtn.emailIt")
public void onEmailItClick(final DropdownButtonItem.ClickEvent event) {
    notifications.show("Email: test@river.net");
}textItem
Элемент textItem содержит текст.
<layout>
    <dropdownButton icon="MAILBOX" title="msg://contact" id="callBtn">
        <items>
            <textItem id="whatsAppIt" text="WhatsApp"/>
        </items>
    </dropdownButton>
</layout>Вы можете сгенерировать заглушку обработчика события DropdownButtonItem.ClickEvent для textItem с помощью Jmix Studio.
@Subscribe("callBtn.whatsAppIt")
public void onCallBtnWhatsAppItClick(final DropdownButtonItem.ClickEvent event) {
    notifications.show("`WhatsApp: +6(876)5463");
}Варианты оформления
Атрибут themeNames позволяет вам назначить определенный стиль кнопки из набора предопределенных вариантов.
- 
Варианты важности:   <dropdownButton text="Primary" themeNames="primary"/> <dropdownButton text="Secondary"/> <dropdownButton text="Tertiary" themeNames="tertiary-inline"/>
- 
Варианты опасности или ошибки:   <dropdownButton text="Primary" themeNames="primary, error"/> <dropdownButton text="Secondary" themeNames="error"/> <dropdownButton text="Tertiary" themeNames="tertiary-inline, error"/>
- 
Варианты успеха:   <dropdownButton text="Primary" themeNames="primary, success"/> <dropdownButton text="Secondary" themeNames="success"/> <dropdownButton text="Tertiary" themeNames="tertiary-inline, success"/>
- 
Варианты контраста:   <dropdownButton text="Primary" themeNames="primary, contrast"/> <dropdownButton text="Secondary" themeNames="contrast"/> <dropdownButton text="Tertiary" themeNames="tertiary-inline, contrast"/>
- 
Варианты размера:   <dropdownButton text="Large" themeNames="large"/> <dropdownButton text="Normal"/> <dropdownButton text="Small" themeNames="small"/>
Названия вариантов оформления определены в классе DropdownButtonVariant. См. также документацию Vaadin для получения дополнительной информации о стилях кнопок.
Атрибуты
В Jmix есть множество общих атрибутов, которые выполняют одну и ту же функцию для всех компонентов.
Ниже приведены атрибуты, специфичные для dropdownButton:
| Название | Описание | Значение по умолчанию | 
|---|---|---|
| Устанавливает видимость индикатора раскрытия списка. | 
 | |
| Если атрибут  | 
 |