Package org.vaadin.addons.joelpop.appnavlayout.ui.layout.appnav
package org.vaadin.addons.joelpop.appnavlayout.ui.layout.appnav
-
ClassDescriptionBase application layout providing adaptive navigation: a bottom icon bar with a secondary tab bar on phone, a permanent left-strip rail on tablet, and a drawer-based
SideNavon desktop.Everything aNavRendererneeds to build or update its content for the current nav state.Builds and updates the nav-item content for one ofAppNavLayout's five device/orientation scenarios (desktop, tablet portrait, tablet landscape, phone portrait, phone landscape), placing it into whichever ofAppNavLayout's named locations (seeNavSlots) is appropriate.The full set of named locationsAppNavLayouthas for nav-item content.Fired wheneverAppNavLayoutdetermines and applies aNavType— including on first attachment, not just on later changes.DefaultNavRendererforNavType.SIDENAV— builds a fullSideNavhierarchy intoNavSlots.drawer(), using theSideNavItemrenderer configured viaAppNavLayout.setNavNodeRenderer(ComponentRenderer)and the nested-match setting fromAppNavLayout.setNavMatchNested(boolean).DefaultNavRendererforNavType.RAIL— a left-edge icon rail inNavSlots.sideRail(), with a "More" overflow trigger when more root sections exist than fit, plus a two-level drill-down bar inNavSlots.headerNav().DefaultNavRendererforNavType.TOUCH— a bottom icon bar inNavSlots.touchBar(), with a "More" overflow trigger when more root sections exist than fit, plus a two-level drill-down bar inNavSlots.headerNav().