Class MainLayout

java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.applayout.AppLayout
org.vaadin.firitin.appframework.MainLayout
All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasStyle, com.vaadin.flow.router.AfterNavigationObserver, com.vaadin.flow.router.internal.AfterNavigationHandler, com.vaadin.flow.router.RouterLayout, Serializable

public abstract class MainLayout extends com.vaadin.flow.component.applayout.AppLayout implements com.vaadin.flow.router.AfterNavigationObserver
The main view is a top-level placeholder for other views. This version is based on a one produced by start.vaadin.com service, but add a bit structure to it and populates main views automatically to it.

Suites as such for small apps that has no special needs for the main layout. Menu items can be configured (override caption, order, icon) using MenuItem annotation

Check usage example from the text package org.vaadin.firitin.appframework

See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     

    Nested classes/interfaces inherited from class com.vaadin.flow.component.applayout.AppLayout

    com.vaadin.flow.component.applayout.AppLayout.AppLayoutI18n, com.vaadin.flow.component.applayout.AppLayout.Section
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    void
    afterNavigation(com.vaadin.flow.router.AfterNavigationEvent event)
     
    void
    This method can be called to re-build the menu, if e.g. views has been added, removed or otherwise changed.
    protected boolean
    checkAccess(NavigationItem navigationItem)
    Application that has access control can limit the appearance of the navigation item in the menu by returning false here.
    void
     
    void
    closeSubView(com.vaadin.flow.component.Component component)
     
    protected com.vaadin.flow.component.html.Footer
     
    protected abstract String
     
    com.vaadin.flow.component.sidenav.SideNav
     
     
    protected void
     
    protected void
    onAttach(com.vaadin.flow.component.AttachEvent attachEvent)
     
    void
    openSubView(com.vaadin.flow.component.Component component)
     
    void
    openSubView(com.vaadin.flow.component.Component component, String viewTitle)
     
     
    void
    setContent(com.vaadin.flow.component.Component content)
     
    protected void
    sortMenuItems(List<NavigationItem> navigationItems)
     

    Methods inherited from class com.vaadin.flow.component.applayout.AppLayout

    addToDrawer, addToNavbar, addToNavbar, getContent, getI18n, getPrimarySection, isDrawerOpened, isOverlay, remove, setDrawerOpened, setI18n, setPrimarySection, showRouterLayoutContent

    Methods inherited from class com.vaadin.flow.component.Component

    addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisible

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.vaadin.flow.component.AttachNotifier

    addAttachListener

    Methods inherited from interface com.vaadin.flow.component.DetachNotifier

    addDetachListener

    Methods inherited from interface com.vaadin.flow.component.HasElement

    getElement

    Methods inherited from interface com.vaadin.flow.component.HasStyle

    addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName

    Methods inherited from interface com.vaadin.flow.router.RouterLayout

    removeRouterLayoutContent
  • Constructor Details

    • MainLayout

      public MainLayout()
  • Method Details

    • prepareNav

      protected MainLayout.AdvancedSideNav prepareNav()
    • getMenu

      public com.vaadin.flow.component.sidenav.SideNav getMenu()
    • onAttach

      protected void onAttach(com.vaadin.flow.component.AttachEvent attachEvent)
      Overrides:
      onAttach in class com.vaadin.flow.component.applayout.AppLayout
    • init

      protected void init()
    • sortMenuItems

      protected void sortMenuItems(List<NavigationItem> navigationItems)
    • getNavigationItems

      public List<NavigationItem> getNavigationItems()
      Returns:
      A List of BasicNavigationItem objects to be shown in the menu. After modifying these manually, call buildMenu() to update the screen.
    • buildMenu

      public void buildMenu()
      This method can be called to re-build the menu, if e.g. views has been added, removed or otherwise changed.

      If you have dynamically added/removed views from another thread, wrap the behavior in UI.access method.

    • checkAccess

      protected boolean checkAccess(NavigationItem navigationItem)
      Application that has access control can limit the appearance of the navigation item in the menu by returning false here.
      Parameters:
      navigationItem - the navigation item
      Returns:
      true if item should be visible or not
    • getDrawerHeader

      protected abstract String getDrawerHeader()
    • afterNavigation

      protected void afterNavigation()
      Overrides:
      afterNavigation in class com.vaadin.flow.component.applayout.AppLayout
    • afterNavigation

      public void afterNavigation(com.vaadin.flow.router.AfterNavigationEvent event)
      Specified by:
      afterNavigation in interface com.vaadin.flow.router.internal.AfterNavigationHandler
    • setContent

      public void setContent(com.vaadin.flow.component.Component content)
      Overrides:
      setContent in class com.vaadin.flow.component.applayout.AppLayout
    • openSubView

      public void openSubView(com.vaadin.flow.component.Component component, String viewTitle)
    • openSubView

      public void openSubView(com.vaadin.flow.component.Component component)
    • closeSubView

      public void closeSubView(com.vaadin.flow.component.Component component)
    • closeSubView

      public void closeSubView()
    • createFooter

      protected com.vaadin.flow.component.html.Footer createFooter()