Два действия Read на экране ListView

Jmix version: 3.0.1
Jmix Studio Plugin Version: 3.0.1-261
IntelliJ version: IntelliJ IDEA 2026.1.4

В проекте создана jmix-сущность TestEntity и ListView для нее. в ListView указаны действия editAction и readAction. Также создана роль TestAccessRole с ограничением на редактирование этой сущности. Если зайти в приложение за пользователя с этой ролью и перейти в ListView, то оба действия будут иметь подпись Read, а при вызове меню через ПКМ различить их невозможно из за отсутствия иконок.

Предлагается скрывать для таких случаев какое то из этих действий, например если у пользователя нет прав на редактирование сущности и на экране присутствует readAction, то скрывать editAciton.

В приложенном проекте поведение можно воспроизвести, если создать пользователя с TestAccessRole и зайти в приложение через него.
jmix-test.zip (129,8 КБ)

Добрый день.

Из коробки действия не должны знать о “соседях”, только о target компоненте, чтобы подписаться на определенные события для обновления состояния. В данном случае это частное требование вашего экрана (или приложения в целом), которое Вы можете реализовать самостоятельно. Например, подписаться на SelectionEvent и устанавливать visible false для действий, согласно ваших правил.

Либо глобально переопределить EditAction или ReadAction и в методе refreshState делать дополнительные проверки и так же скрывать действие.