Theme
Layout
Example of layout with iframe. You can use an iframe as layout pane without to worry about resizing issues, etc. To use an iframe as layout pane, simple put the iframe as direct child of the layout pane.

Note: If you use an iframe, it is recommended to set maskContents="true" to overcome resizing issues with iframes. If you use objects like applets, Google maps, etc. inside layout panes, it is recommended to set maskObjects="true". Also consider the option maskPanesEarly="true" on pe:layout if you are dealing with iframes or objects like applets, Google maps, etc. inside layout panes (see documentation). Please also see the styles for the class .ui-layout-mask in this example. This is the style class the iframe is masked with.
Source

<h:form>
        <pe:layout maskPanesEarly="true">
            <pe:layoutPane position="north" size="85">
                North
            </pe:layoutPane>
            <pe:layoutPane position="center" maskContents="true">
                <iframe id="iframeCenter"
                        src="http://primefaces-extensions.github.io"
                        title="PFE Layout"
                        width="100%"
                        height="100%">
                </iframe>
            </pe:layoutPane>
            <pe:layoutPane position="west" size="250" resizeWhileDragging="false"
                           maxSize="500" minSize="100" resizable="true" closable="true">
                West
            </pe:layoutPane>
        </pe:layout>
    </h:form>

    <h:outputStylesheet library="css" name="global.css"/>

    <h:outputStylesheet id="layoutCSS">
        body {
            margin: 4px !important;
        }

        /* masks are usually transparent, but we make them visible here */
        .ui-layout-mask {
            background: #C00 !important;
            opacity: .20 !important;
            filter: alpha(opacity=20) !important;
        }
    </h:outputStylesheet>
            
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-2021,PrimeFaces: 10.0.0,PrimeFaces Extensions: 10.0.5,JSF: Apache MyFaces JSF-2.3 Core API 2.3.9,Server: jetty/9.4.36.v20210114,Build time: 2021-08-28 16:46
occured!