Добавить иконку к платформенным группам меню

Добрый день.

В связи с появлением в 7.2 сворачиваемой панели меню актуальным становится вопрос: есть ли способ безболезненно назначить иконки для стандартных групп меню?
image

1 симпатия

Очень поддерживаю предыдущего оратора :slight_smile:
Буквально вчера про это думал.
Пока получается, что для того, чтобы на стандартные пункты меню приделать иконки - надо перерисовать все меню в Single Mode.
Мне кажется - не гуманно.

1 симпатия

Добрый день,
Попробуйте воспользоваться AppMenu API, чтобы динамически добавить иконки к существующим пунктам.
https://doc.cuba-platform.com/manual-7.2/gui_AppMenu.html

А вообще, я не очень понимаю, почему вы не хотите переключить меню в режим Single Mode.
На мой взгляд, в любом не совсем маленьком проекте вам захочется кастомизировать главное меню.
Composite - это для стадии прототипа, чтобы быстро получить полный набор экранов.

Но в вашем проекте наверняка не используется часть пунктов из меню Administration и Help.
Неужели в ваших проектах используются и экраны Administration -> Locks, и Administration -> External Files, и Help -> About, Help -> Data Model ?

Поэтому в любом случае, чтобы получить оптимальный результат, вам придется переключить меню в режим single и построить главное меню ровно таким образом, как этого хочет заказчик, для соответствия особенностям проекта.

1 симпатия

Видимо я поторопился с пометкой решения :upside_down_face:
Версия 7.2.3. Расширенный экран:

@UiController("extMainScreen")
@UiDescriptor("ext-main-screen.xml")
public class ExtMainScreen extends MainScreen {
}

Инжектировать как в документации не получается:

DevelopmentException: Unable to find an instance of type 'interface com.haulmont.cuba.gui.components.mainwindow.AppMenu' named 'mainMenu' for instance of 'ru.aztpa.tcview.web.screens.ExtMainScreen'

Метод суперкласса getAppMenu() возвращает null.

Есть еще мелкие проекты, когда заказчик не очень понимает, что ему нужно из раздела Administration кроме ролей и пользователей, а иногда ему просто вредно видеть все, что там есть. :slight_smile: Но тогда мы на аутсорсе “присматриваем” за приложением и нам нужно все меню Administration .
Тогда мы не перепиливаем меню в single mode, а делаем для заказчика логин “ограниченного админа”, оставляя на уровне прав доступ только к очевидным и безопасным для них экранам.
Тогда нам при необходимости под родным admin доступно все, а заказчик видит только часть экранов.

Посмотрите, какой компонент у вас в верстке главного экрана.
Должен быть либо appMenu, либо sideMenu.

1 симпатия