# Yahoo! UI Library

### slider 3.3.0

Yahoo! UI Library > slider > SliderValueRange
Search:
Filters Show Private Show Protected Show Deprecated

## Class SliderValueRange

One class of value algorithm that can be built onto SliderBase. By default, values range between 0 and 100, but you can configure these on the built Slider class by setting the `min` and `max` configurations. Set the initial value (will cause the thumb to move to the appropriate location on the rail) in configuration as well if appropriate.

### Properties

#### _factor - `protected {Number}`

Factor used to translate value -> position -> value.

#### ATTRS - `protected static {Object}`

Attributes that will be added onto host class.

### Methods

#### _afterMaxChange

`protected void _afterMaxChange ( e )`
Update position according to new max value. If the new max results in the current value being out of range, the value is set to the closer of min or max.

Parameters:
  `e < EventFacade >` The `max` attribute change event.

#### _afterMinChange

`protected void _afterMinChange ( e )`
Update position according to new min value. If the new min results in the current value being out of range, the value is set to the closer of min or max.

Parameters:
  `e < EventFacade >` The `min` attribute change event.

#### _afterValueChange

`protected void _afterValueChange ( e )`
Propagate change to the thumb position unless the change originated from the thumbMove event.

Parameters:
  `e < EventFacade >` The `valueChange` event.

#### _bindValueLogic

`protected void _bindValueLogic ( )`
Override of stub method in SliderBase that is called at the end of its bindUI stage of render(). Subscribes to internal events to trigger UI and related state updates.

#### _calculateFactor

`protected void _calculateFactor ( )`
Calculates and caches (range between max and min) / (rail length) for fast runtime calculation of position -> value.

#### _defThumbMoveFn

`protected void _defThumbMoveFn ( e )`
Dispatch the new position of the thumb into the value setting operations.

Parameters:
  `e < EventFacade >` The host's thumbMove event

#### _initSliderValueRange

`protected void _initSliderValueRange ( )`
Stub for construction logic. Override if extending this class and you need to set something up during the initializer phase.

#### _nearestValue

`protected Number _nearestValue ( value )`
Returns the nearest valid value to the value input. If the provided value is outside the min - max range, accounting for min > max scenarios, the nearest of either min or max is returned. Otherwise, the provided value is returned.

Parameters:
  `value < mixed >` Value to test against current min - max range

Returns: `Number`
  Current min, max, or value if within range

#### _offsetToValue

`protected mixed _offsetToValue ( offset )`

Converts a pixel position into a value. Calculates current thumb offset from the leading edge of the rail multiplied by the ratio of `(max - min) / (constraining dim)`.

Override this if you want to use a different value mapping algorithm.

Parameters:
  `offset < Number >` X or Y pixel offset

Returns: `mixed`
  Value corresponding to the provided pixel offset

#### _setNewValue

`protected Number _setNewValue ( value )`
Restricts new values assigned to `value` attribute to be between the configured `min` and `max`. Rounds to nearest integer value.

Parameters:
  `value < Number >` Value assigned to `value` attribute

Returns: `Number`
  Normalized and constrained value

#### _setPosition

`protected void _setPosition ( )`
Positions the thumb in accordance with the translated value.

#### _syncThumbPosition

`protected void _syncThumbPosition ( )`
Move the thumb to appropriate position if necessary. Also resets the cached offsets and recalculates the conversion factor to translate position to value.

#### _validateNewMax

`protected Boolean _validateNewMax ( value )`
Validates new values assigned to `max` attribute. Numbers are acceptable. Override this to enforce different rules.

Parameters:
  `value < mixed >` Value assigned to `max` attribute.

Returns: `Boolean`
  True for numbers. False otherwise.

#### _validateNewMin

`protected Boolean _validateNewMin ( value )`
Validates new values assigned to `min` attribute. Numbers are acceptable. Override this to enforce different rules.

Parameters:
  `value < mixed >` Value assigned to `min` attribute.

Returns: `Boolean`
  True for numbers. False otherwise.

#### _valueToOffset

`protected Number _valueToOffset ( val )`
Converts a value into a pixel offset for use in positioning the thumb according to the reverse of the `_offsetToValue( xy )` operation.

Parameters:
  `val < Number >` The value to map to pixel X or Y position

Returns: `Number`
  The pixel offset

#### _verifyValue

`protected void _verifyValue ( )`
Verifies that the current value is within the min - max range. If not, value is set to either min or max, depending on which is closer.

#### getValue

`Number getValue ( )`
Returns the current value. Override this if you want to introduce output formatting. Otherwise equivalent to slider.get( "value" );

#### setValue

`Slider setValue ( val )`
Updates the current value. Override this if you want to introduce input value parsing or preprocessing. Otherwise equivalent to slider.set( "value", v );

Parameters:
  `val <Number>` The new value

Chainable: This method is chainable.

### Events

#### maxChange

`maxChange ( event )`
Fires when the value for the configuration attribute 'max' is changed. You can listen for the event using the on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.

Parameters:
  `event <Event.Facade>` An Event Facade object with the following attribute specific properties added:
  prevVal
    The value of the attribute, prior to it being set
  newVal
    The value the attribute is to be set to
  attrName
    The name of the attribute being set
  subAttrName
    If setting a property within the attribute's value, the name of the sub-attribute property being set

#### minChange

`minChange ( event )`
Fires when the value for the configuration attribute 'min' is changed. You can listen for the event using the on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.

Parameters:
  `event <Event.Facade>` An Event Facade object with the following attribute specific properties added:
  prevVal
    The value of the attribute, prior to it being set
  newVal
    The value the attribute is to be set to
  attrName
    The name of the attribute being set
  subAttrName
    If setting a property within the attribute's value, the name of the sub-attribute property being set

#### valueChange

`valueChange ( event )`
Fires when the value for the configuration attribute 'value' is changed. You can listen for the event using the on method if you wish to be notified before the attribute's value has changed, or using the after method if you wish to be notified after the attribute's value has changed.

Parameters:
  `event <Event.Facade>` An Event Facade object with the following attribute specific properties added:
  prevVal
    The value of the attribute, prior to it being set
  newVal
    The value the attribute is to be set to
  attrName
    The name of the attribute being set
  subAttrName
    If setting a property within the attribute's value, the name of the sub-attribute property being set

### Configuration Attributes

#### max `- { Number }`

The value associated with the farthest bottom, right position of the rail. Can be less than the configured `min` if you want values to increase from right-to-left or bottom-to-top.
Default Value: 100

#### min `- { Number }`

The value associated with the farthest top, left position of the rail. Can be greater than the configured `max` if you want values to increase from right-to-left or bottom-to-top.
Default Value: 0

#### value `- { Number }`

The value associated with the thumb's current position on the rail. Defaults to the value inferred from the thumb's current position. Specifying value in the constructor will move the thumb to the position that corresponds to the supplied value.
Default Value: (inferred from current thumb position)

Copyright © 2011 Yahoo! Inc. All rights reserved.