A component that lets selecting a number from a numeric region. It's a horizontal aligned scroll-like control with its own input field (optional) present. The keyboard input in a field is possible (optional). Also it's possible to see the current value in the toolTip above a dragged handle control.
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
Table 6.243. rich : inputNumberSlider attributes
Attribute Name | Description |
---|---|
accesskey | This attribute assigns an access key to an element. An access key is a single character from the document character set. Note: Authors should consider the input method of the expected reader when specifying an accesskey |
barClass | A name of CSS class for the bar element |
barStyle | Style for a slider control line |
binding | The attribute takes a value-binding expression for a component property of a backing bean |
clientErrorMessage | an error message to use in client side validation events |
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 |
disabled | When set for a form control, this boolean attribute disables the control for your input |
enableManualInput | False value for this attribute makes a text field "read-only", so the value can be changed only from a handle |
handleClass | A name of CSS class for a control handle element |
handleSelectedClass | A name of CSS class for a selected control handle element |
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 |
inputClass | Style Class attribute for a text field |
inputPosition | If "right" the InputText Box would be rendered on the right side of the ruler |
inputSize | Similar to the "Size" attribute of h:inputText |
inputStyle | Style attribute for text field |
label | A localized user presentable name for this component. |
maxlength | When the type attribute has the value "text" or "password", this attribute specifies the maximum number of characters you may enter. This number may exceed the specified size, in which case the user agent should offer a scrolling mechanism. The default value for this attribute is an unlimited number |
maxValue | Attribute to set an "end" value |
minValue | Attribute to set a "start" value |
onblur | HTML: script expression; the element lost the focus |
onchange | HTML: script expression; the element value was changed |
onclick | HTML: a script expression; a pointer button is clicked |
ondblclick | HTML: a script expression; a pointer button is double-clicked |
onerror | This error is called when a non-number value or a number value that is out of the range is input |
onfocus | HTML: script expression; the element got the focus |
oninputclick | HTML: a script expression; a pointer button is clicked |
oninputdblclick | HTML: a script expression; a pointer button is double-clicked |
oninputkeydown | HTML: a script expression; a key is pressed down |
oninputkeypress | HTML: a script expression; a key is pressed and released |
oninputkeyup | HTML: a script expression; a key is released |
oninputmousedown | HTML: script expression; a pointer button is pressed down |
oninputmousemove | HTML: a script expression; a pointer is moved within |
oninputmouseout | HTML: a script expression; a pointer is moved away |
oninputmouseover | HTML: a script expression; a pointer is moved onto |
oninputmouseup | HTML: script expression; a pointer button is released |
onmousedown | HTML: script expression; a pointer button is pressed down |
onmousemove | HTML: a script expression; a pointer is moved within |
onmouseout | HTML: a script expression; a pointer is moved away |
onmouseover | HTML: a script expression; a pointer is moved onto |
onmouseup | HTML: script expression; a pointer button is released |
onselect | HTML: script expression; The onselect event occurs when you select some text in a text field. This attribute may be used with the INPUT and TEXTAREA elements |
onslide | Event occur on slide |
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 |
showBoundaryValues | If the min/max values are shown on the right/left borders of a control. Default=true |
showInput | False value for this attribute makes text a field invisible |
showToolTip | If the current value will be shown in the tooltip when a handle control in a "dragged" state.Default=true. |
step | Parameter that determines a step between the nearest values while using a handle |
style | Styles for main div element of the slider control |
styleClass | Name of a CSS class |
tabindex | This attribute specifies the position of the current element in the tabbing order for the current document. This value must be a number between 0 and 32767. User agents should ignore leading zeros |
tipClass | A name of CSS class for the tool tip element |
tipStyle | A style for the tool tip element |
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 a slider control |
Table 6.244. 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 = "1") attributes, which define the beginning and the end of a numerical area and a slider property step.
Example:
<rich:inputNumberSlider></rich:inputNumberSlider>
It generates 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 looks at 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 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:inputNumberSlider> components at once:
Redefine the corresponding skin parameters
Add to your style sheets style classes used by a <rich:imputNumberSlider> component
Table 6.245. Skin parameters redefinition for a bar
Skin parameters | CSS properties |
---|---|
controlBackgroundColor | background-color |
Table 6.246. 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.247. 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.248. Skin parameters redefinition for a hint
Skin parameters | CSS properties |
---|---|
tipBackgroundColor | background-color |
tipBorderColor | border-color |
generalFamilyFont | font-family |
generalSizeFont | font-size |
On the screenshot there are classes names that define styles for component elements.
Table 6.249. 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-tip | Defines styles for a hint |
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.
Here you can see the example of <rich:inputNumberSlider> usage and sources for the given example.