Ajax Action
a4j:ajax
a4j:commandButton
a4j:commandLink
a4j:actionListener
a4j:jsFunction
a4j:poll
a4j:push
a4j:param
Ajax Queue
a4j:queue
a4j:attachQueue
Ajax Output/Containers
a4j:outputPanel
a4j:status
a4j:region
a4j:mediaOutput
a4j:log
Validation
Client Side Validation
rich:graphValidator
rich:message
rich:messages
rich:notify
Data Iteration
a4j:repeat
rich:dataTable
rich:extendedDataTable
rich:collapsibleSubTable
rich:dataScroller
rich:list
rich:dataGrid
Trees
rich:tree
Tree Adaptors
Output/Panels
rich:chart
rich:panel
rich:togglePanel
rich:tabPanel
rich:collapsiblePanel
rich:accordion
rich:popupPanel
rich:progressBar
rich:tooltip
Menus
rich:panelMenu
rich:toolbar
rich:contextMenu
rich:dropDownMenu
Inputs
rich:autocomplete
rich:calendar
rich:editor
rich:inputNumberSlider
rich:inputNumberSpinner
rich:inplaceInput
rich:fileUpload
Selects
rich:inplaceSelect
rich:select
rich:orderingList
rich:pickList
Drag and Drop
Drag and Drop
Miscellaneous
Standard elements skinning
rich:placeholder
RichFaces functions
rich:focus
rich:componentControl
rich:hashParam
rich:hotKey
rich:jQuery

The rich:panelMenu component is used to create a collapsible side-menu panel. The component has a pre-defined look and feel which can be skinned. You can customize it with styles and a set of component attributes. This example demonstrates basic use of the rich:panelMenu component.

Group 1
Group 2
Group 3

The menu uses the parent component itemChangeListener to output the current selection. Alternatively, you could use an action and actionListener pair at each rich:panelMenuItem component to perform the navigation and process any ActionEvent events from there.

Specify the item switching mode at the rich:panelMenu level with the itemMode attribute. The attribute can be redefined on child rich:panelMenuItem components, and is used instead of the global setting.

Specify the group switching mode at the rich:panelMenu level with the groupMode attribute. The attribute can be redefined on child rich:panelMenuGroup components, and is used instead of the global setting.

The itemMode and groupMode attributes can be set to three possible values:

  • server (default): A common submission of the form is performed and the page is completely refreshed.
  • ajax: An Ajax form submission is performed. Additionally, elements specified in the render attribute are rendered
  • client: No form submission is performed. The behavior is completely defined by the components nested in the menu items. Groups expand on the client side.