Tabbed Application Mode
This add-on allows you to open views in separate tabs within the main view, allowing users to simultaneously access multiple views in a single browser tab and switch between them easily. It also supports opening multiple views within the same main view tab, creating a view stack represented by breadcrumbs.

Installation
This add-on requires the Enterprise subscription. If you don’t have the subscription, see the Enterprise Trial section for how to get a trial version. |
For automatic installation, use a dedicated project template:

For manual installation:
-
Make sure the premium repository is defined in
build.gradle
:repositories { // ... maven { url = 'https://global.repo.jmix.io/repository/premium' credentials { username = rootProject['premiumRepoUser'] password = rootProject['premiumRepoPass'] } }
-
Add the following dependency to your
build.gradle
:implementation 'io.jmix.tabbedmode:jmix-tabbedmode-flowui-starter'
-
Change base class of the
MainView.java
fromStandardMainView
toStandardTabbedModeMainView
.import io.jmix.tabbedmode.app.main.StandardTabbedModeMainView; @Route("") @ViewController(id = "MainView") @ViewDescriptor(path = "main-view.xml") public class MainView extends StandardTabbedModeMainView { }
-
In the
main-view.xml
, change thexmlns
attribute value of themainView
element to use the XSD schema from the add-on:<mainView xmlns="http://jmix.io/schema/tabmod/main-view" title="msg://MainView.title">
Then replace
initialLayout
with the followingworkArea
definition:<workArea id="workArea" classNames="jmix-work-area"> <mainTabSheet id="mainTabSheet" classNames="jmix-main-tabsheet" tabsDraggable="true" width="100%" height="100%"> <actions> <action id="closeThisTabAction" type="tabmod_closeThisTab"/> <action id="closeOthersTabsAction" type="tabmod_closeOtherTabs"/> <action id="closeAllTabsAction" type="tabmod_closeAllTabs"/> </actions> </mainTabSheet> <initialLayout id="initialLayout" classNames="jmix-initial-layout" width="100%" height="100%"> </initialLayout> </workArea>