src/cm/media/js/lib/yui/yui_3.10.3/build/slider-value-range/slider-value-range-debug.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('slider-value-range', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
 * Adds value support for Slider as a range of integers between a configured
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 * minimum and maximum value.  For use with <code>Y.Base.build(..)</code> to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 * add the plumbing to <code>Y.SliderBase</code>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
 * @module slider
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
 * @submodule slider-value-range
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
// Constants for compression or performance
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
var MIN       = 'min',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    MAX       = 'max',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    VALUE     = 'value',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
//     MINORSTEP = 'minorStep',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
//     MAJORSTEP = 'majorStep',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
    round = Math.round;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
 * One class of value algorithm that can be built onto SliderBase.  By default,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
 * values range between 0 and 100, but you can configure these on the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
 * built Slider class by setting the <code>min</code> and <code>max</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
 * configurations.  Set the initial value (will cause the thumb to move to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
 * appropriate location on the rail) in configuration as well if appropriate.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
 * @class SliderValueRange
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
function SliderValueRange() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    this._initSliderValueRange();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
Y.SliderValueRange = Y.mix( SliderValueRange, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    // Prototype properties and methods that will be added onto host class
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    prototype: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
         * Factor used to translate value -&gt; position -&gt; value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
         * @property _factor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
         * @type {Number}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
        _factor: 1,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
         * Stub for construction logic.  Override if extending this class and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
         * you need to set something up during the initializer phase.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
         * @method _initSliderValueRange
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
        _initSliderValueRange: function () {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
         * Override of stub method in SliderBase that is called at the end of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
         * its bindUI stage of render().  Subscribes to internal events to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
         * trigger UI and related state updates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
         * @method _bindValueLogic
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
        _bindValueLogic: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
            this.after( {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
                minChange  : this._afterMinChange,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
                maxChange  : this._afterMaxChange,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
                valueChange: this._afterValueChange
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
            } );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
         * Move the thumb to appropriate position if necessary.  Also resets
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
         * the cached offsets and recalculates the conversion factor to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
         * translate position to value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
         * @method _syncThumbPosition
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
        _syncThumbPosition: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
            this._calculateFactor();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
            this._setPosition( this.get( VALUE ) );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
         * Calculates and caches
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
         * (range between max and min) / (rail length)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
         * for fast runtime calculation of position -&gt; value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
         * @method _calculateFactor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
        _calculateFactor: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
            var length    = this.get( 'length' ),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
                thumbSize = this.thumb.getStyle( this._key.dim ),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
                min       = this.get( MIN ),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
                max       = this.get( MAX );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
            // The default thumb width is based on Sam skin's thumb dimension.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
            // This attempts to allow for rendering off-DOM, then attaching
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
            // without the need to call syncUI().  It is still recommended
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
            // to call syncUI() in these cases though, just to be sure.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
            length = parseFloat( length ) || 150;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
            thumbSize = parseFloat( thumbSize ) || 15;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
            this._factor = ( max - min ) / ( length - thumbSize );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
            Y.log("Calculating factor(~" + this._factor.toFixed(3) + " = (max(" + max + ") - min(" + min + ")) / (length(" + length + ") - thumb size(" + thumbSize + "))","info","slider");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
         * Dispatch the new position of the thumb into the value setting
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
         * operations.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
         * @method _defThumbMoveFn
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
         * @param e { EventFacade } The host's thumbMove event
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
        _defThumbMoveFn: function ( e ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
            // To prevent set('value', x) from looping back around
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
            if (e.source !== 'set') {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
                this.set(VALUE, this._offsetToValue(e.offset));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
         * <p>Converts a pixel position into a value.  Calculates current
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
         * thumb offset from the leading edge of the rail multiplied by the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
         * ratio of <code>(max - min) / (constraining dim)</code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
         * <p>Override this if you want to use a different value mapping
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
         * algorithm.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
         * @method _offsetToValue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
         * @param offset { Number } X or Y pixel offset
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
         * @return { mixed } Value corresponding to the provided pixel offset
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
        _offsetToValue: function ( offset ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
            var value = round( offset * this._factor ) + this.get( MIN );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
            Y.log("Offset: " + offset + " => Value: " + value, "info", "slider");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
            return round( this._nearestValue( value ) );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
         * Converts a value into a pixel offset for use in positioning
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
         * the thumb according to the reverse of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
         * <code>_offsetToValue( xy )</code> operation.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
         * @method _valueToOffset
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
         * @param val { Number } The value to map to pixel X or Y position
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
         * @return { Number } The pixel offset 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
        _valueToOffset: function ( value ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
            var offset = round( ( value - this.get( MIN ) ) / this._factor );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
            Y.log("Value: " + value + " => Offset: " + offset, "info", "slider");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
            return offset;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
         * Returns the current value.  Override this if you want to introduce
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
         * output formatting. Otherwise equivalent to slider.get( "value" );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
         * @method getValue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
         * @return {Number}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
        getValue: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
            return this.get( VALUE );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
         * Updates the current value.  Override this if you want to introduce
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
         * input value parsing or preprocessing.  Otherwise equivalent to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
         * slider.set( "value", v );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
         * @method setValue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
         * @param val {Number} The new value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
         * @return {Slider}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
         * @chainable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
        setValue: function ( val ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
            return this.set( VALUE, val );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
         * Update position according to new min value.  If the new min results
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
         * in the current value being out of range, the value is set to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
         * closer of min or max.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
         * @method _afterMinChange
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
         * @param e { EventFacade } The <code>min</code> attribute change event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
        _afterMinChange: function ( e ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
            this._verifyValue();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
            this._syncThumbPosition();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
         * Update position according to new max value.  If the new max results
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
         * in the current value being out of range, the value is set to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
         * closer of min or max.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
         * @method _afterMaxChange
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
         * @param e { EventFacade } The <code>max</code> attribute change event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
        _afterMaxChange: function ( e ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
            this._verifyValue();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
            this._syncThumbPosition();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
         * Verifies that the current value is within the min - max range.  If
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
         * not, value is set to either min or max, depending on which is
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
         * closer.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
         * @method _verifyValue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
        _verifyValue: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
            var value   = this.get( VALUE ),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
                nearest = this._nearestValue( value );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
            if ( value !== nearest ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
                // @TODO Can/should valueChange, minChange, etc be queued
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
                // events? To make dd.set( 'min', n ); execute after minChange
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
                // subscribers before on/after valueChange subscribers.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
                this.set( VALUE, nearest );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
         * Propagate change to the thumb position unless the change originated
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
         * from the thumbMove event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
         * @method _afterValueChange
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
         * @param e { EventFacade } The <code>valueChange</code> event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
        _afterValueChange: function ( e ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
            var val = e.newVal;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
            Y.log("Positioning thumb after set('value',x)","info","slider");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
            this._setPosition( val, { source: 'set' } );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
         * Positions the thumb and its ARIA attributes in accordance with the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
         * translated value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
         * @method _setPosition
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
         * @param value {Number} Value to translate to a pixel position
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
         * @param [options] {Object} Details object to pass to `_uiMoveThumb`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
        _setPosition: function ( value, options ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
            this._uiMoveThumb( this._valueToOffset( value ), options );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
            this.thumb.set('aria-valuenow', value);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
            this.thumb.set('aria-valuetext', value);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
         * Validates new values assigned to <code>min</code> attribute.  Numbers
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
         * are acceptable.  Override this to enforce different rules.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
         * @method _validateNewMin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
         * @param value {Any} Value assigned to <code>min</code> attribute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
         * @return {Boolean} True for numbers.  False otherwise.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
        _validateNewMin: function ( value ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
            return Y.Lang.isNumber( value );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
         * Validates new values assigned to <code>max</code> attribute.  Numbers
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
         * are acceptable.  Override this to enforce different rules.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
         * @method _validateNewMax
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
         * @param value { mixed } Value assigned to <code>max</code> attribute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
         * @return { Boolean } True for numbers.  False otherwise.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
        _validateNewMax: function ( value ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
            return Y.Lang.isNumber( value );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
         * Restricts new values assigned to <code>value</code> attribute to be
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
         * between the configured <code>min</code> and <code>max</code>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
         * Rounds to nearest integer value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
         * @method _setNewValue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
         * @param value { Number } Value assigned to <code>value</code> attribute
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
         * @return { Number } Normalized and constrained value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
        _setNewValue: function ( value ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
            return round( this._nearestValue( value ) );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
         * Returns the nearest valid value to the value input.  If the provided
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
         * value is outside the min - max range, accounting for min > max
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
         * scenarios, the nearest of either min or max is returned.  Otherwise,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
         * the provided value is returned.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
         * @method _nearestValue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
         * @param value { mixed } Value to test against current min - max range
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
         * @return { Number } Current min, max, or value if within range
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
         * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
        _nearestValue: function ( value ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
            var min = this.get( MIN ),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
                max = this.get( MAX ),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
                tmp;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
            // Account for reverse value range (min > max)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
            tmp = ( max > min ) ? max : min;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
            min = ( max > min ) ? min : max;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
            max = tmp;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
            return ( value < min ) ?
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
                    min :
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
                    ( value > max ) ?
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
                        max :
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
                        value;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
     * Attributes that will be added onto host class.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
     * @property ATTRS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
     * @type {Object}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
     * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
    ATTRS: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
         * The value associated with the farthest top, left position of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
         * rail.  Can be greater than the configured <code>max</code> if you
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
         * want values to increase from right-to-left or bottom-to-top.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
         * @attribute min
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
         * @type { Number }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
         * @default 0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
        min: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
            value    : 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
            validator: '_validateNewMin'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
         * The value associated with the farthest bottom, right position of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
         * the rail.  Can be less than the configured <code>min</code> if
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
         * you want values to increase from right-to-left or bottom-to-top.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
         * @attribute max
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
         * @type { Number }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
         * @default 100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
        max: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
            value    : 100,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
            validator: '_validateNewMax'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
         * amount to increment/decrement the Slider value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
         * when the arrow up/down/left/right keys are pressed
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
         * @attribute minorStep
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
         * @type {Number}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
         * @default 1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
        minorStep : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
            value: 1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
         * amount to increment/decrement the Slider value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
         * when the page up/down keys are pressed
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
         * @attribute majorStep
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
         * @type {Number}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
         * @default 10
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
        majorStep : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
            value: 10
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
         * The value associated with the thumb's current position on the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
         * rail. Defaults to the value inferred from the thumb's current
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
         * position. Specifying value in the constructor will move the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
         * thumb to the position that corresponds to the supplied value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
         * @attribute value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
         * @type { Number }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
         * @default (inferred from current thumb position)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
        value: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
            value : 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
            setter: '_setNewValue'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
}, true );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
}, '3.10.3', {"requires": ["slider-base"]});