Navigation model in Mateu

Navigation in Mateu is not configured.

It emerges from your object model.


Routes

@Route("/users")
public class UsersPage {}

@Menu
Users users;

Nested classes create nested menus.


Mateu not only infers navigation structure from @Menu.

It also infers how navigation should be rendered.

By default:

  • flat menu structures may be rendered as tabs
  • nested menu structures may be rendered as menus

App variants

When you want explicit control, use @App.

@Route("/app")
@App(AppVariant.HAMBURGUER_MENU)
public class Home {

    @Menu
    UsersCrud users;

    @Menu
    GroupsCrud groups;

}
public enum AppVariant {
  HAMBURGUER_MENU,
  MENU_ON_LEFT,
  MENU_ON_TOP,
  TABS,
  AUTO
}

Mental model

  • @Menu → navigation tree
  • Mateu → infers navigation UI
  • @App → overrides the app variant