ButtonsPanel

ButtonsPanel – это контейнер, упрощающий использование и размещение компонентов, обычно кнопок, для управления данными в таблице.

buttons panel

XML-имя компонента: buttonsPanel.

Основы

ButtonsPanel может располагаться как внутри таблицы, так и в любом другом месте экрана.

Пример использования контейнера ButtonsPanel внутри таблицы:

<groupTable id="employeesTable"
            width="100%"
            dataContainer="employeesDc">
    <actions>
        <action id="create" type="create"/>
        <action id="edit" type="edit"/>
        <action id="remove" type="remove"/>
    </actions>
    <columns>
        <column id="name"/>
        <column id="salary"/>
        <column id="position"/>
    </columns>
    <buttonsPanel id="buttonsPanel"
                  alwaysVisible="true">
        <button id="createBtn" action="employeesTable.create"/>
        <button id="editBtn" action="employeesTable.edit"/>
        <button id="removeBtn" action="employeesTable.remove"/>
    </buttonsPanel>
</groupTable>
buttons panel table

Если ButtonsPanel расположен в таблице, он объединяется с компонентом rowsCount таблицы для более эффективного использования вертикального пространства.

Атрибуты

caption

caption компонента buttonsPanel, находящийся внутри компонента-списка (Table, TreeTable, GroupTable, DataGrid, TreeDataGrid, Tree), игнорируется. Отображается только заголовок компонента-списка.

alwaysVisible

Устанавливает, всегда ли buttonsPanel отображается на экране выбора. Если значение атрибута true, то buttonsPanel не скрывается. Значение по умолчанию – false.

Кастомизация

По умолчанию кнопки buttonsPanel располагаются горизонтально с переносом строк. Если в строке недостаточно места непомещающиеся кнопки будут отображены в следующей строке.

Вы можете изменить поведение по умолчанию, чтобы buttonsPanel отображался в одной строке:

  1. Создайте расширение темы или собственную тему.

  2. Определите переменную SCSS $jmix-buttonspanel-flow.