Корневые экраны

Корневой экран – это экран Jmix UI, который отображается непосредственно во вкладке веб-браузера. Существует два типа таких экранов: экран логина и главный экран. Помимо обычных компонентов, любой корневой экран может содержать компонент WorkArea, который позволяет открывать другие экраны приложения во внутренних вкладках. Если корневой экран не содержит WorkArea, то экраны приложения могут быть открыты только в режиме DIALOG.

Экран логина

Экран логина отображается перед входом пользователя в систему. Существующий экран входа в систему можно кастомизировать, изменив его дескриптор и контроллер.

Кроме того, для создания нового экрана логина можно использовать шаблон Login screen with branding image в мастере Studio. Идентификатор созданного экрана будет задан в свойстве jmix.ui.login-screen-id.

Главный экран

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

В приложении можно использовать следующие типы главных экранов:

  • Main screen with side menu позволяет разворачивать и сворачивать боковое меню с помощью кнопки Collapse, находящейся в нижнем левом углу меню.

  • Main screen with top menu создает экран с строкой меню в верхней части окна приложения. Его можно создать с помощью шаблона в мастере Studio. Идентификатор созданного экрана будет задан в свойстве jmix.ui.main-screen-id.

Следующие специальные компоненты могут быть использованы в главном экране в дополнение к стандартным UI-компонентам:

  • SideMenu - боковое меню приложения в виде вертикального дерева.

  • AppMenu - главное меню приложения.

  • Drawer - панель, которую можно свернуть на левую сторону. Используется в качестве контейнера бокового меню.

  • AppWorkArea - рабочая область, обязательный компонент для работы с экранами в режимах THIS_TAB, NEW_TAB, и NEW_WINDOW.

  • NewWindowButton - кнопка открытия нового главного экрана в отдельной вкладке браузера.

  • TimeZoneIndicator - надпись, которая отображает часовой пояс текущего пользователя.

  • UserIndicator - поле, отображающее имя текущего пользователя.

    Метод setFormatter() используется для отображения имени пользователя в виде, отличном от стандартного имени экземпляра сущности User:

    @Autowired
    private UserIndicator userIndicator;
    
    @Subscribe
    public void onBeforeShow(BeforeShowEvent event) {
        userIndicator.setFormatter(value -> value.getUsername() + " - user");
    }
  • LogoutButton - кнопка выхода из приложения.

На главный экран могут влиять следующие свойства приложения :

  • jmix.ui.app-window-mode - задает начальный режим главного окна: с вкладками (TABBED) или одноэкранный (SINGLE).

  • jmix.ui.max-tab-count - когда главное окно находится в режиме c вкладками, это свойство задает максимальное количество вкладок, которое может открыть пользователь.

  • jmix.ui.default-screen-id - задает экран по умолчанию, который должен быть открыт в главном экране автоматически.

  • jmix.ui.default-screen-can-be-closed - указывает, может ли пользователь закрыть экран по умолчанию.