JBoss.orgCommunity Documentation
panelBar is used for grouping any content which is loaded on the client side and appears as groups divided on child panels after the header is clicked.
Table 6.338. rich : panelBar attributes
Attribute Name | Description |
---|---|
binding | The attribute takes a value-binding expression for a component property of a backing bean |
contentClass | The component content style class |
contentStyle | The component content style |
converter | Id of Converter to be used or reference to a Converter |
converterMessage | A ValueExpression enabled attribute that, if present, will be used as the text of the converter message, replacing any message that comes from the converter. |
headerClass | The component header style class |
headerClassActive | The component header style class active |
headerStyle | The component header style |
headerStyleActive | The component header style active |
height | The height of the slide panel. Might be defined as pixels or as percentage. Default value is "100%". |
id | Every component may have a unique id that is automatically created if omitted |
immediate | A flag indicating that this component value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until a Process Validations phase |
label | A localized user presentable name for this component. |
onclick | JavaScript code for call before header onclick |
onitemchange | Event must occurs on than item has been changed |
onmousemove | Event must occurs on than item has been changed |
onmouseout | Event must occurs on than item has been changed |
onmouseover | Event must occurs on than item has been changed |
rendered | If "false", this component is not rendered |
required | If "true", this component is checked for non-empty input |
requiredMessage | A ValueExpression enabled attribute that, if present, will be used as the text of the validation message for the "required" facility, if the "required" facility is used. |
selectedPanel | Attribure defines name of selected item |
style | CSS style(s) is/are to be applied when this component is rendered |
styleClass | Corresponds to the HTML class attribute. |
validator | MethodBinding pointing at a method that is called during Process Validations phase of the request processing lifecycle, to validate the current value of this component |
validatorMessage | A ValueExpression enabled attribute that, if present, will be used as the text of the validator message, replacing any message that comes from the validator. |
value | The current value of this component |
valueChangeListener | Listener for value changes |
width | The width of the slide panel. Might be defined as pixels or as percentage. Default value is "100%". |
Table 6.339. Component identification parameters
Name | Value |
---|---|
component-type | org.richfaces.PanelBar |
component-class | org.richfaces.component.html.HtmlPanelBar |
component-family | org.richfaces.PanelBar |
renderer-type | org.richfaces.PanelBarRenderer |
tag-class | org.richfaces.taglib.PanelBarTag |
To create the simplest variant on a page use the following syntax:
Example:
...
<rich:panelBar>
<!--//... -->
<rich:panelBarItem label="Canon">
...
</rich:panelBarItem>
<rich:panelBarItem label="Nikon">
...
</rich:panelBarItem>
</rich:panelBar>
...
Example:
import org.richfaces.component.html.HtmlPanelBar;
...
HtmlPanelBar myBar = new HtmlPanelBar();
...
As it was mentioned above, panelBar is used for grouping any content on the client, thus its customization deals only with specification of sizes and styles for rendering.
"width" and "height" (both are 100% on default) attributes stand apart.
Style attributes are described further.
panelBar could contain any number of child panelBarItem components inside, which content is uploaded onto the client and headers are controls to open the corresponding child element.
The
"label"
attribute is a generic attribute.
The
"label"
attribute provides an association between a component, and the message that the component (indirectly) produced.
This attribute defines the parameters of localized error and informational messages that
occur as a result of conversion, validation, or other application actions during the request
processing lifecycle. With the help of this attribute you can replace the
last parameter substitution token shown in the messages. For example, {1} for "DoubleRangeValidator.MAXIMUM"
, {2}
for "ShortConverter.SHORT"
.
For skinnability implementation, the components use a style class redefinition method. Default style classes are mapped on skin parameters.
There are two ways to redefine the appearance of all <rich:panelBar> components at once:
Redefine the corresponding skin parameters
Add to your style sheets style classes used by a <rich:panelBar> component
Table 6.340. Skin parameter redefinition for a whole component
Skin parameter | CSS properties |
---|---|
headerBackgroundColor | border-color |
There is one predefined class for the <rich:panelBar> , which is applicable to a whole component, specifying padding, borders, and etc.
Table 6.341. Class name that define a component appearance
Class name | Class description |
---|---|
rich-panelbar | Defines styles for a wrapper <div> element of a component |
Other classes responsible for elements rendering are described for child <rich:panelBarItem> elements and could be found in the components chapters.
Table 6.342. Style component classes
A class attribute | A component element defined by an attribute |
---|---|
styleClass | Applicable to a whole component (together with headers) |
headerClass | Applicable to a header element |
contentClass | Applicable to a content |
In order to redefine styles for all <rich:panelBar> components on a page using CSS, it's enough to create classes with the same names (possible classes could be found in the tables above) and define necessary properties in them.
Example:
...
.rich-panelbar{
font-style: italic;
}
...
This is a result:
In the example header and content font style was changed.
Also it's possible to change styles of particular <rich:panelBar> component. In this case you should create own style classes and use them in corresponding <rich:panelBar> styleClass attributes. An example is placed below:
Example:
...
.myClass{
font-family: Tahoma;
}
...
The "contentClass" attribute for <rich:panelBar> is defined as it's shown in the example below:
Example:
<rich:panelBar ... contentClass="myClass"/>
This is a result:
As it could be seen on the picture above, the font family for content were changed.
Here you can see the example of <rich:panelBar> usage and sources for the given example.