Class AppLayout
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.applayout.AppLayout
- 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.RouterLayout,Serializable
@Tag("vaadin-app-layout")
@NpmPackage(value="@vaadin/polymer-legacy-adapter",version="24.8.9") @NpmPackage(value="@vaadin/app-layout",version="24.8.9")
@JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/app-layout/src/vaadin-app-layout.js")
public class AppLayout
extends com.vaadin.flow.component.Component
implements com.vaadin.flow.router.RouterLayout, com.vaadin.flow.component.HasStyle
App Layout is a component for building common application layouts.
The layout consists of three sections: a horizontal navigation bar (navbar), a collapsible navigation drawer (drawer) and a content area. An application’s main navigation blocks should be positioned in the navbar and/or drawer while views are rendered in the content area.
App Layout is responsive and adjusts automatically to fit desktop, tablet, and mobile screen sizes.
- Author:
- Vaadin Ltd
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThe internationalization properties forAppLayoutstatic enumSections in the component that can be used as primary. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddToDrawer(com.vaadin.flow.component.Component... components) Adds the components to the drawer slot of this AppLayout.voidaddToNavbar(boolean touchOptimized, com.vaadin.flow.component.Component... components) Adds the components to the navbar slot of this AppLayout.voidaddToNavbar(com.vaadin.flow.component.Component... components) Adds the components to the navbar slot of this AppLayout.protected voidCalled after a navigation event.com.vaadin.flow.component.ComponentgetI18n()Gets the internationalization object previously set for this component.booleanWhether the drawer is opened (visible) or not.booleanNote: This property is controlled via CSS and can not be changed directly.protected voidonAttach(com.vaadin.flow.component.AttachEvent attachEvent) voidremove(com.vaadin.flow.component.Component... components) Removes the child components from the parent.voidsetContent(com.vaadin.flow.component.Component content) Sets the displayed content.voidsetDrawerOpened(boolean drawerOpened) Server-side API for showing and hiding the drawer.voidSets the internationalization object for this component.voidsetPrimarySection(AppLayout.Section primarySection) Defines whether navbar or drawer will come first visually.voidshowRouterLayoutContent(com.vaadin.flow.component.HasElement content) 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, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.router.RouterLayout
removeRouterLayoutContent
-
Constructor Details
-
AppLayout
public AppLayout()
-
-
Method Details
-
getI18n
Gets the internationalization object previously set for this component.NOTE: Updating the instance that is returned from this method will not update the component if not set again using
setI18n(AppLayoutI18n)- Returns:
- the i18n object or
nullif no i18n object has been set
-
setI18n
Sets the internationalization object for this component.- Parameters:
i18n- the i18n object, notnull
-
onAttach
protected void onAttach(com.vaadin.flow.component.AttachEvent attachEvent) - Overrides:
onAttachin classcom.vaadin.flow.component.Component
-
getPrimarySection
- Returns:
- value for the primarySection property. Default is
AppLayout.Section.NAVBAR. - See Also:
-
setPrimarySection
Defines whether navbar or drawer will come first visually.- If
AppLayout.Section.NAVBAR, the navbar takes the full available width and moves the drawer down. This is the default. - If
AppLayout.Section.DRAWERis set, then the drawer will move the navbar, taking the full available height.
- Parameters:
primarySection- new value for the primarySection property. Notnull.- Throws:
NullPointerException- if primarySection isnull.
- If
-
isDrawerOpened
@Synchronize("drawer-opened-changed") public boolean isDrawerOpened()Whether the drawer is opened (visible) or not. Its default value depends on the viewport:truefor desktop size viewsfalsefor mobile size views
- Returns:
trueif the drawer is opened (visible).falseotherwise.
-
setDrawerOpened
public void setDrawerOpened(boolean drawerOpened) Server-side API for showing and hiding the drawer.- Parameters:
drawerOpened- new value for the drawerOpened property.- See Also:
-
isOverlay
@Synchronize("overlay-changed") public boolean isOverlay()Note: This property is controlled via CSS and can not be changed directly.- Returns:
trueif drawer is an overlay on top of the content.falseotherwise.
-
getContent
public com.vaadin.flow.component.Component getContent()- Returns:
- the displayed content
-
setContent
public void setContent(com.vaadin.flow.component.Component content) Sets the displayed content.- Parameters:
content-Componentto display in the content area
-
addToDrawer
public void addToDrawer(com.vaadin.flow.component.Component... components) Adds the components to the drawer slot of this AppLayout.- Parameters:
components- Components to add to the drawer slot.- Throws:
NullPointerException- if any of the components is null or if the components array is null.
-
remove
public void remove(com.vaadin.flow.component.Component... components) Removes the child components from the parent. Components can be in any slot or be the main content.- Parameters:
components- Components to remove.
-
showRouterLayoutContent
public void showRouterLayoutContent(com.vaadin.flow.component.HasElement content) - Specified by:
showRouterLayoutContentin interfacecom.vaadin.flow.router.RouterLayout- Throws:
IllegalArgumentException- if content is not aComponent
-