Theme
arya
luna-amber
luna-blue
luna-green
luna-pink
nova-dark
nova-light
saga
vela
Layout
Layout creates a border layout that has auto-sizing 'center pane' surrounded by up to four closable and resizable 'border panes' (north, south, east and west). It can also create multiple headers inside each pane. For more complex layouts you can nest layouts within layouts. Possibilities are unlimited - from simple fixed headers or sidebars to rich applications. Each layout pane can be closed, opened and resized, within automatic or specified limits. You can use layout either for an entire page (full page layout) or for a specific region in the page (element layout). Furthermore, any custom content can be placed between layout panes. There are also client-side and server-side state management.

The layout in PrimeFaces Extensions is described by model which binds all layout options together. Layout options are built up by the class LayoutOptions. By this way, you can use all available options from the underlying jQuery layout plugin. Please refer the documentation to learn all options:

Overview of Layout Options

Changelog, Using Examples

Another way to specify options is setting options as attributes of layout pane (pe:layoutPane). By this way, no model class LayoutOptions is needed, but the possibilities are limited. It is not possible to introduce a lot of various options via tag attributes of pe:layoutPane. The number of options is too big. Only mostly used options are available via tag attributes.

Another advantage of the options attribute is the performance. This attribute points to an instance of the class LayoutOptions or an JSON String representing serialized LayoutOptions. Serializing of layout options to an JSON string can increase the time of layout building when the layout is built during application startup in an application scoped bean (LayoutOptions gets always serialized to JSON to be able to be used in the underlying widget). Use the method toJson() in the LayoutOptions if you want to serialize all options to an JSON string.
Components and more
Documentation
Attributes (move mouse over the names to see data types)
Name Description
id Unique identifier of the component in a namingContainer.
rendered Boolean value to specify the rendering of the component, when set to false component will not be rendered.
binding An EL expression referring to a server side UIComponent instance in a backing bean.
widgetVar Name of the client side widget.
fullPage Specifies whether layout should span all page or not. Default value is true.
options Layout options as an instance of the class LayoutOptions or an JSON String representing serialized LayoutOptions. LayoutOptions created as Java model takes precedence over layout options as tag attributes. Serializing of layout options to an JSON string can increase the time of layout building when the layout is built during application startup in an application scoped bean (LayoutOptions gets always serialized to JSON to be able to be used in the underlying widget). Use the method toJson() in the LayoutOptions if you want to serialize all options to an JSON string.
style Style of the main Layout container element. Default value is null.
styleClass Style class of the main Layout container element. Default value is null.
state Indicates server-side state management. A hash (JSON string) containing all dimensions and close, open state of existing layout panes. It can be bound to a bean.
stateCookie Indicates client-side state management. When set to true the current layout state will be stored in HTML5 LocalStorage on window unload and restored during layout build-up when user enters the same page. Default is false.
resizerTip Tip when resizer-bar can be dragged to resize a pane. Default is 'Resize'.
sliderTip Tip when the resizer-bar will trigger 'sliding open'. Default is 'Slide Open'.
togglerTipOpen Tip on toggler when pane is 'open'. Default is 'Close'.
togglerTipClosed Tip on toggler when pane is 'closed'. Default is 'Open'.
maskPanesEarly Useful flag if you are dealing with iframes or objects like applets inside layout panes. This option triggers masking each time the mouse moves over a resizer - instead of waiting until your 'grab it' with your mouse. This is done just in case you are about to grab & drag the resizer. Enabling this avoids the slight delay that sometimes occurs when you quickly grab a resizer and try to drag over an iframe or object. Default is false.
Events (move mouse over the names to see classes)
Name Description
openfires after a layout pane gets opened
closefires after a layout pane gets closed
resizefires after a layout pane gets resized
PrimeFaces Extensions Showcase - © 2011-2023,PrimeFaces: 13.0.0,PrimeFaces Extensions: 13.0.1,JSF: Apache MyFaces JSF-2.3 Core Impl 2.3.10,Server: jetty/9.4.36.v20210114,Build time: 2023-09-11 19:07