JBoss.orgCommunity Documentation
The <rich:inputNumberSlider> component is a slider component. A handler's position corresponds to a definite value on the slider track. In order to change the value you can slide a handler or set the necessary value into the input field. You can dispose it horizontally or vertically on the page.
Fully skinnable control and input elements
Optional value text field with an attribute-managed position
Optional disablement of the component on a page
Optional toolTip to display the current value while a handle is dragged
Dragged state is stable after the mouse moves
Optional manual input possible if a text input field is present
Validation of manual input
Possibility to display 2 controls that increase/decrease the value by the defined step width, when they will be clicked.
Attribute "orientation" that can have the values "vertical" and "horizontal" to define in which direction the slider should be movable.
Table 6.456. rich : inputNumberSlider attributes
Table 6.457. Component identification parameters
Name | Value |
---|---|
component-type | org.richfaces.inputNumberSlider |
component-class | org.richfaces.component.html.HtmlInputNumberSlider |
component-family | org.richfaces.inputNumberSlider |
renderer-type | org.richfaces.InputNumberSliderRenderer |
tag-class | org.richfaces.taglib.InputNumberSliderTag |
To create the simplest variant on a page use the following syntax:
Example:
...
<rich:inputNumberSlider minValue="0" maxValue="100" step="1"/>
...
Example:
import org.richfaces.component.html.HtmlInputNumberSlider;
...
HtmlInputNumberSlider mySlider = new HtmlInputNumberSlider();
...
<rich:inputNumberSlider> is used to facilitate your data input with rich UI Controls.
Here is the simplest variant of a slider definition with "minValue" , "maxValue" and "step" (on default is "1") attributes, which define the beginning and the end of a numerical area and a slider property step.
Example:
<rich:inputNumberSlider></rich:inputNumberSlider>
It's generated on a page:
Using "showInput" (default is "true") and "enableManualInput" (default value is "true") attributes, it's possible to output the input area near the slider, and make it read-only or editable.
To remove input area use
showInput = "false"
:
Example:
<rich:inputNumberSlider minValue="1" maxValue="100" showInput="false"/>
It's displayed at a page like:
It's also possible to switch off displaying of "boundary values" and a toolTip showing on a handle drawing. This could be performed with the help of the component defined attributes: "showBoundaryValues" which is responsible for "boundary values" displaying (default is true) and "showToolTip" which is responsible for tooltTip displaying (default is "true").
Moreover, to add e.g. some JavaScript effects, events defined on it are used.
"onchange"
"onmouseover"
"onclick"
"onfocus"
"onmouseout"
etc.
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 a 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"
.
The "showArrows" boolean attribute when set to "true" enables additional controls for increasing and decreasing slider value. The controls (arrows by default) are placed in the beginning and in the end of slider track:
Clicking an arrow changes the driven value on the amount defined with "step" attribute. Keepeng an arrow control pressed changes the value continuous. Time that value takes to change from one step to another is definded with "delay" attribute.
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:inputNumberSlider> components at once:
Redefine the corresponding skin parameters
Add to your style sheets style classes used by a <rich:imputNumberSlider> component
Table 6.458. Skin parameters redefinition for a bar
Skin parameters | CSS properties |
---|---|
controlBackgroundColor | background-color |
Table 6.459. Skin parameters redefinition for numbers
Skin parameters | CSS properties |
---|---|
generalFamilyFont | font-family |
generalSizeFont | font-size |
generalTextColor | color |
panelBorderColor | border-color |
generalSizeFont | line-height |
Table 6.460. Skin parameters redefinition for a text field
Skin parameters | CSS properties |
---|---|
controlBackgroundColor | background-color |
generalFamilyFont | font-family |
generalSizeFont | font-size |
controlTextColor | color |
panelBorderColor | border-color |
subBorderColor | border-bottom-color |
subBorderColor | border-right-color |
Table 6.461. Skin parameters redefinition for a hint
Skin parameters | CSS properties |
---|---|
tipBackgroundColor | background-color |
tipBorderColor | border-color |
generalFamilyFont | font-family |
generalSizeFont | font-size |
Style classes names that define styles for component elements are shown on the picture below:
Table 6.462. Classes names that define a component appearance
Class name | Description |
---|---|
rich-slider | Defines styles for a wrapper table element of a component |
rich-inslider-track | Defines styles for a bar |
rich-inslider-handler | Defines styles for a slider handler |
rich-inslider-handler-selected | Defines styles for a selected handler |
rich-inslider-field | Defines styles for a text field |
rich-inslider-right-num | Defines styles for the right number |
rich-inslider-left-num | Defines styles for the left number |
rich-inslider-track-border | Defines styles for track border |
rich-inslider-tip | Defines styles for a hint |
inputNumberSlider-increase-vertical | Defines styles for the top arrow |
inputNumberSlider-decrease-vertical | Defines styles for the bottom arrow |
inputNumberSlider-increase-horizontal | Defines styles for the right arrow |
inputNumberSlider-decrease-horizontal | Defines styles for the left arrow |
In order to redefine styles for all <rich:inputNumberSlider> components on a page using CSS, it's enough to create classes with the same names (possible classes could be found in the table above ) and define necessary properties in them. An example is placed below:
Example:
...
.rich-inslider-tip{
background-color: #FFDAB9;
font-family: Arial Black;
}
...
This is a result:
In the example a tip background color and font family was changed.
Also it's possible to change styles of particular <rich:inputNumberSlider> component. In this case you should create own style classes and use them in corresponding <rich:inputNumberSlider> styleClass attributes. An example is placed below:
Example:
...
.myClass{
font-style: italic;
font-weight:bold;
font-size:12px;
}
...
The "inputClass" attribute for <rich:inputNumberSlider> is defined as it's shown in the example below:
Example:
<rich: inputNumberSlider ... inputClass="myClass"/>
This is a result:
As it could be seen on the picture above, the font style for input text was changed.
On the component Live Demo page you can see the example of <rich:inputNumberSlider> usage and sources for the given example.