1114 lines
No EOL
137 KiB
HTML
1114 lines
No EOL
137 KiB
HTML
<html><head><title>slider.js</title><link rel="stylesheet" type="text/css" href="../style.css" media="screen"/></head><body><div class="hl-main"><pre><span class="hl-comment">/*
|
|
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
|
Code licensed under the BSD License:
|
|
</span><span class="hl-url">http://developer.yahoo.net/yui/license.txt</span><span class="hl-comment">
|
|
version: 0.12.0
|
|
*/
|
|
// holder
|
|
/**
|
|
* The Slider component is a UI control that enables the user to adjust
|
|
* values in a finite range along one or two axes. Typically, the Slider
|
|
* control is used in a web application as a rich, visual replacement
|
|
* for an input box that takes a number as input. The Slider control can
|
|
* also easily accommodate a second dimension, providing x,y output for
|
|
* a selection point chosen from a rectangular region.
|
|
*
|
|
* @module slider
|
|
* @title Slider Widget
|
|
* @namespace YAHOO.widget
|
|
* @requires yahoo,dom,dragdrop,event
|
|
* @optional animation
|
|
*/
|
|
// holder
|
|
/**
|
|
* A DragDrop implementation that can be used as a background for a
|
|
* slider. It takes a reference to the thumb instance
|
|
* so it can delegate some of the events to it. The goal is to make the
|
|
* thumb jump to the location on the background when the background is
|
|
* clicked.
|
|
*
|
|
* @class Slider
|
|
* @extends YAHOO.util.DragDrop
|
|
* @constructor
|
|
* @param {String} id The id of the element linked to this instance
|
|
* @param {String} sGroup The group of related DragDrop items
|
|
* @param {String} sType The type of slider (horiz, vert, region)
|
|
*/
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">widget</span><span class="hl-default">.</span><span class="hl-identifier">Slider</span><span class="hl-default"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">sElementId</span><span class="hl-code">, </span><span class="hl-identifier">sGroup</span><span class="hl-code">, </span><span class="hl-identifier">oThumb</span><span class="hl-code">, </span><span class="hl-identifier">sType</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">sElementId</span><span class="hl-brackets">) {
|
|
|
|
</span><span class="hl-comment">/**
|
|
* The type of the slider (horiz, vert, region)
|
|
* @property type
|
|
* @type string
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">type</span><span class="hl-code"> = </span><span class="hl-identifier">sType</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">init</span><span class="hl-brackets">(</span><span class="hl-identifier">sElementId</span><span class="hl-code">, </span><span class="hl-identifier">sGroup</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">//this.removeInvalidHandleType("A");
|
|
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">self</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Event the fires when the value of the control changes. If
|
|
* the control is animated the event will fire every point
|
|
* along the way.
|
|
* @event change
|
|
* @param {int} new
|
|
* @param {int} firstOffset the number of pixels the thumb has moved
|
|
* from its start position. Normal horizontal and vertical sliders will only
|
|
* have the firstOffset. Regions will have both, the first is the horizontal
|
|
* offset, the second the vertical.
|
|
* @param {int} secondOffset the y offset for region sliders
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">createEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">change</span><span class="hl-quotes">"</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Event that fires at the end of a slider thumb move.
|
|
* @event slideStart
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">createEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">slideStart</span><span class="hl-quotes">"</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Event that fires at the end of a slider thumb move
|
|
* @event slideEnd
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">createEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">slideEnd</span><span class="hl-quotes">"</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* A YAHOO.widget.SliderThumb instance that we will use to
|
|
* reposition the thumb when the background is clicked
|
|
* @property thumb
|
|
* @type YAHOO.widget.SliderThumb
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code"> = </span><span class="hl-identifier">oThumb</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">// add handler for the handle onchange event
|
|
</span><span class="hl-identifier">oThumb</span><span class="hl-code">.</span><span class="hl-builtin">onChange</span><span class="hl-code"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
</span><span class="hl-identifier">self</span><span class="hl-code">.</span><span class="hl-identifier">handleThumbChange</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Overrides the isTarget property in YAHOO.util.DragDrop
|
|
* @property isTarget
|
|
* @private
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isTarget</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Flag that determines if the thumb will animate when moved
|
|
* @property animate
|
|
* @type boolean
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">animate</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">Slider</span><span class="hl-code">.</span><span class="hl-identifier">ANIM_AVAIL</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Set to false to disable a background click thumb move
|
|
* @property backgroundEnabled
|
|
* @type boolean
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">backgroundEnabled</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Adjustment factor for tick animation, the more ticks, the
|
|
* faster the animation (by default)
|
|
* @property tickPause
|
|
* @type int
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">tickPause</span><span class="hl-code"> = </span><span class="hl-number">40</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Enables the arrow, home and end keys, defaults to true.
|
|
* @property enableKeys
|
|
* @type boolean
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">enableKeys</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Specifies the number of pixels the arrow keys will move the slider.
|
|
* Default is 25.
|
|
* @property keyIncrement
|
|
* @type int
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">keyIncrement</span><span class="hl-code"> = </span><span class="hl-number">20</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* moveComplete is set to true when the slider has moved to its final
|
|
* destination. For animated slider, this value can be checked in
|
|
* the onChange handler to make it possible to execute logic only
|
|
* when the move is complete rather than at all points along the way.
|
|
*
|
|
* @property moveComplete
|
|
* @type Boolean
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveComplete</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* If animation is configured, specifies the length of the animation
|
|
* in seconds.
|
|
* @property animationDuration
|
|
* @type int
|
|
* @default 0.2
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">animationDuration</span><span class="hl-code"> = </span><span class="hl-number">0.2</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">oThumb</span><span class="hl-code">.</span><span class="hl-identifier">_isHoriz</span><span class="hl-code"> && </span><span class="hl-identifier">oThumb</span><span class="hl-code">.</span><span class="hl-identifier">xTicks</span><span class="hl-code"> && </span><span class="hl-identifier">oThumb</span><span class="hl-code">.</span><span class="hl-identifier">xTicks</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">tickPause</span><span class="hl-code"> = </span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">round</span><span class="hl-brackets">(</span><span class="hl-number">360 </span><span class="hl-quotes">/</span><span class="hl-string"> oThumb.xTicks.length);
|
|
} else if (oThumb.yTicks && oThumb.yTicks.length) {
|
|
this.tickPause = Math.round(360 </span><span class="hl-quotes">/ </span><span class="hl-identifier">oThumb</span><span class="hl-code">.</span><span class="hl-identifier">yTicks</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
|
|
</span><span class="hl-comment">// delegate thumb methods
|
|
</span><span class="hl-identifier">oThumb</span><span class="hl-code">.</span><span class="hl-builtin">onMouseDown</span><span class="hl-code"> = </span><span class="hl-reserved">function </span><span class="hl-brackets">() { </span><span class="hl-reserved">return </span><span class="hl-identifier">self</span><span class="hl-code">.</span><span class="hl-identifier">focus</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code">;
|
|
</span><span class="hl-comment">//oThumb.b4MouseDown = function () { return self.b4MouseDown(); };
|
|
// oThumb.lock = function() { self.lock(); };
|
|
// oThumb.unlock = function() { self.unlock(); };
|
|
</span><span class="hl-identifier">oThumb</span><span class="hl-code">.</span><span class="hl-builtin">onMouseUp</span><span class="hl-code"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">() { </span><span class="hl-identifier">self</span><span class="hl-code">.</span><span class="hl-identifier">thumbMouseUp</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">oThumb</span><span class="hl-code">.</span><span class="hl-identifier">onDrag</span><span class="hl-code"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">() { </span><span class="hl-identifier">self</span><span class="hl-code">.</span><span class="hl-identifier">fireEvents</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">oThumb</span><span class="hl-code">.</span><span class="hl-identifier">onAvailable</span><span class="hl-code"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">() { </span><span class="hl-reserved">return </span><span class="hl-identifier">self</span><span class="hl-code">.</span><span class="hl-identifier">setStartSliderState</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
}</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Factory method for creating a horizontal slider
|
|
* @method YAHOO.widget.Slider.getHorizSlider
|
|
* @static
|
|
* @param {String} sBGElId the id of the slider's background element
|
|
* @param {String} sHandleElId the id of the thumb element
|
|
* @param {int} iLeft the number of pixels the element can move left
|
|
* @param {int} iRight the number of pixels the element can move right
|
|
* @param {int} iTickSize optional parameter for specifying that the element
|
|
* should move a certain number pixels at a time.
|
|
* @return {Slider} a horizontal slider control
|
|
*/
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">widget</span><span class="hl-default">.</span><span class="hl-identifier">Slider</span><span class="hl-default">.</span><span class="hl-identifier">getHorizSlider</span><span class="hl-default"> =
|
|
</span><span class="hl-reserved">function </span><span class="hl-brackets">(</span><span class="hl-identifier">sBGElId</span><span class="hl-code">, </span><span class="hl-identifier">sHandleElId</span><span class="hl-code">, </span><span class="hl-identifier">iLeft</span><span class="hl-code">, </span><span class="hl-identifier">iRight</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">return new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">Slider</span><span class="hl-brackets">(</span><span class="hl-identifier">sBGElId</span><span class="hl-code">, </span><span class="hl-identifier">sBGElId</span><span class="hl-code">,
|
|
</span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">SliderThumb</span><span class="hl-brackets">(</span><span class="hl-identifier">sHandleElId</span><span class="hl-code">, </span><span class="hl-identifier">sBGElId</span><span class="hl-code">,
|
|
</span><span class="hl-identifier">iLeft</span><span class="hl-code">, </span><span class="hl-identifier">iRight</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-quotes">"</span><span class="hl-string">horiz</span><span class="hl-quotes">"</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Factory method for creating a vertical slider
|
|
* @method YAHOO.widget.Slider.getVertSlider
|
|
* @static
|
|
* @param {String} sBGElId the id of the slider's background element
|
|
* @param {String} sHandleElId the id of the thumb element
|
|
* @param {int} iUp the number of pixels the element can move up
|
|
* @param {int} iDown the number of pixels the element can move down
|
|
* @param {int} iTickSize optional parameter for specifying that the element
|
|
* should move a certain number pixels at a time.
|
|
* @return {Slider} a vertical slider control
|
|
*/
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">widget</span><span class="hl-default">.</span><span class="hl-identifier">Slider</span><span class="hl-default">.</span><span class="hl-identifier">getVertSlider</span><span class="hl-default"> =
|
|
</span><span class="hl-reserved">function </span><span class="hl-brackets">(</span><span class="hl-identifier">sBGElId</span><span class="hl-code">, </span><span class="hl-identifier">sHandleElId</span><span class="hl-code">, </span><span class="hl-identifier">iUp</span><span class="hl-code">, </span><span class="hl-identifier">iDown</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">return new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">Slider</span><span class="hl-brackets">(</span><span class="hl-identifier">sBGElId</span><span class="hl-code">, </span><span class="hl-identifier">sBGElId</span><span class="hl-code">,
|
|
</span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">SliderThumb</span><span class="hl-brackets">(</span><span class="hl-identifier">sHandleElId</span><span class="hl-code">, </span><span class="hl-identifier">sBGElId</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-code">,
|
|
</span><span class="hl-identifier">iUp</span><span class="hl-code">, </span><span class="hl-identifier">iDown</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-quotes">"</span><span class="hl-string">vert</span><span class="hl-quotes">"</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Factory method for creating a slider region like the one in the color
|
|
* picker example
|
|
* @method YAHOO.widget.Slider.getSliderRegion
|
|
* @static
|
|
* @param {String} sBGElId the id of the slider's background element
|
|
* @param {String} sHandleElId the id of the thumb element
|
|
* @param {int} iLeft the number of pixels the element can move left
|
|
* @param {int} iRight the number of pixels the element can move right
|
|
* @param {int} iUp the number of pixels the element can move up
|
|
* @param {int} iDown the number of pixels the element can move down
|
|
* @param {int} iTickSize optional parameter for specifying that the element
|
|
* should move a certain number pixels at a time.
|
|
* @return {Slider} a slider region control
|
|
*/
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">widget</span><span class="hl-default">.</span><span class="hl-identifier">Slider</span><span class="hl-default">.</span><span class="hl-identifier">getSliderRegion</span><span class="hl-default"> =
|
|
</span><span class="hl-reserved">function </span><span class="hl-brackets">(</span><span class="hl-identifier">sBGElId</span><span class="hl-code">, </span><span class="hl-identifier">sHandleElId</span><span class="hl-code">, </span><span class="hl-identifier">iLeft</span><span class="hl-code">, </span><span class="hl-identifier">iRight</span><span class="hl-code">, </span><span class="hl-identifier">iUp</span><span class="hl-code">, </span><span class="hl-identifier">iDown</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">return new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">Slider</span><span class="hl-brackets">(</span><span class="hl-identifier">sBGElId</span><span class="hl-code">, </span><span class="hl-identifier">sBGElId</span><span class="hl-code">,
|
|
</span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">SliderThumb</span><span class="hl-brackets">(</span><span class="hl-identifier">sHandleElId</span><span class="hl-code">, </span><span class="hl-identifier">sBGElId</span><span class="hl-code">, </span><span class="hl-identifier">iLeft</span><span class="hl-code">, </span><span class="hl-identifier">iRight</span><span class="hl-code">,
|
|
</span><span class="hl-identifier">iUp</span><span class="hl-code">, </span><span class="hl-identifier">iDown</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-quotes">"</span><span class="hl-string">region</span><span class="hl-quotes">"</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* By default, animation is available if the animation library is detected.
|
|
* @property YAHOO.widget.Slider.ANIM_AVAIL
|
|
* @static
|
|
* @type boolean
|
|
*/
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">widget</span><span class="hl-default">.</span><span class="hl-identifier">Slider</span><span class="hl-default">.</span><span class="hl-identifier">ANIM_AVAIL</span><span class="hl-default"> = </span><span class="hl-reserved">true</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">Slider</span><span class="hl-code">, </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">DragDrop</span><span class="hl-code">, </span><span class="hl-brackets">{
|
|
|
|
</span><span class="hl-identifier">onAvailable</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">Event</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code">, </span><span class="hl-quotes">"</span><span class="hl-string">keydown</span><span class="hl-quotes">"</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">handleKeyDown</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code">, </span><span class="hl-quotes">"</span><span class="hl-string">keypress</span><span class="hl-quotes">"</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">handleKeyPress</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-identifier">handleKeyPress</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">enableKeys</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">Event</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">kc</span><span class="hl-code"> = </span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">getCharCode</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">switch </span><span class="hl-brackets">(</span><span class="hl-identifier">kc</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x25</span><span class="hl-code">: </span><span class="hl-comment">// left
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x26</span><span class="hl-code">: </span><span class="hl-comment">// up
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x27</span><span class="hl-code">: </span><span class="hl-comment">// right
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x28</span><span class="hl-code">: </span><span class="hl-comment">// down
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x24</span><span class="hl-code">: </span><span class="hl-comment">// home
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x23</span><span class="hl-code">: </span><span class="hl-comment">// end
|
|
</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">preventDefault</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">break</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">default</span><span class="hl-code">:
|
|
</span><span class="hl-brackets">}
|
|
}
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-identifier">handleKeyDown</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">enableKeys</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">Event</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">kc</span><span class="hl-code"> = </span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">getCharCode</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">t</span><span class="hl-code">=</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">h</span><span class="hl-code">=</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getXValue</span><span class="hl-brackets">()</span><span class="hl-code">,</span><span class="hl-identifier">v</span><span class="hl-code">=</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getYValue</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">horiz</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">changeValue</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">switch </span><span class="hl-brackets">(</span><span class="hl-identifier">kc</span><span class="hl-brackets">) {
|
|
|
|
</span><span class="hl-comment">// left
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x25</span><span class="hl-code">: </span><span class="hl-identifier">h</span><span class="hl-code"> -= </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">keyIncrement</span><span class="hl-code">; </span><span class="hl-reserved">break</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">// up
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x26</span><span class="hl-code">: </span><span class="hl-identifier">v</span><span class="hl-code"> -= </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">keyIncrement</span><span class="hl-code">; </span><span class="hl-reserved">break</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">// right
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x27</span><span class="hl-code">: </span><span class="hl-identifier">h</span><span class="hl-code"> += </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">keyIncrement</span><span class="hl-code">; </span><span class="hl-reserved">break</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">// down
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x28</span><span class="hl-code">: </span><span class="hl-identifier">v</span><span class="hl-code"> += </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">keyIncrement</span><span class="hl-code">; </span><span class="hl-reserved">break</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">// home
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x24</span><span class="hl-code">: </span><span class="hl-identifier">h</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">leftConstraint</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">v</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">topConstraint</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">break</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">// end
|
|
</span><span class="hl-reserved">case </span><span class="hl-number">0</span><span class="hl-identifier">x23</span><span class="hl-code">: </span><span class="hl-identifier">h</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">rightConstraint</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">v</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">bottomConstraint</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">break</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">default</span><span class="hl-code">: </span><span class="hl-identifier">changeValue</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">changeValue</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_isRegion</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setRegionValue</span><span class="hl-brackets">(</span><span class="hl-identifier">h</span><span class="hl-code">, </span><span class="hl-identifier">v</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newVal</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_isHoriz</span><span class="hl-brackets">)</span><span class="hl-code"> ? </span><span class="hl-identifier">h</span><span class="hl-code"> : </span><span class="hl-identifier">v</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setValue</span><span class="hl-brackets">(</span><span class="hl-identifier">newVal</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">stopEvent</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
}
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Initialization that sets up the value offsets once the elements are ready
|
|
* @method setSliderStartState
|
|
*/
|
|
</span><span class="hl-identifier">setStartSliderState</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setThumbCenterPoint</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* The basline position of the background element, used
|
|
* to determine if the background has moved since the last
|
|
* operation.
|
|
* @property baselinePos
|
|
* @type [int, int]
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">baselinePos</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getXY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getEl</span><span class="hl-brackets">())</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">startOffset</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">getOffsetFromParent</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">baselinePos</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">_isRegion</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">deferredSetRegionValue</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setRegionValue</span><span class="hl-code">.</span><span class="hl-identifier">apply</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">deferredSetRegionValue</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">deferredSetRegionValue</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setRegionValue</span><span class="hl-brackets">(</span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">deferredSetValue</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setValue</span><span class="hl-code">.</span><span class="hl-identifier">apply</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">deferredSetValue</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">deferredSetValue</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setValue</span><span class="hl-brackets">(</span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
}
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* When the thumb is available, we cache the centerpoint of the element so
|
|
* we can position the element correctly when the background is clicked
|
|
* @method setThumbCenterPoint
|
|
*/
|
|
</span><span class="hl-identifier">setThumbCenterPoint</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">getEl</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-brackets">) {
|
|
</span><span class="hl-comment">/**
|
|
* The center of the slider element is stored so we can position
|
|
* place it in the correct position when the background is clicked
|
|
* @property thumbCenterPoint
|
|
* @type {"x": int, "y": int}
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code"> = </span><span class="hl-brackets">{
|
|
</span><span class="hl-identifier">x</span><span class="hl-code">: </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">offsetWidth</span><span class="hl-quotes">/</span><span class="hl-string">2, 10),
|
|
y: parseInt(el.offsetHeight</span><span class="hl-quotes">/</span><span class="hl-number">2</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)
|
|
}</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Locks the slider, overrides YAHOO.util.DragDrop
|
|
* @method lock
|
|
*/
|
|
</span><span class="hl-identifier">lock</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">lock</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">locked</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Unlocks the slider, overrides YAHOO.util.DragDrop
|
|
* @method unlock
|
|
*/
|
|
</span><span class="hl-identifier">unlock</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">unlock</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">locked</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Handles mouseup event on the slider background
|
|
* @method thumbMouseUp
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">thumbMouseUp</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isLocked</span><span class="hl-brackets">()</span><span class="hl-code"> && !</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveComplete</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">endMove</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Returns a reference to this slider's thumb
|
|
* @method getThumb
|
|
* @return {SliderThumb} this slider's thumb
|
|
*/
|
|
</span><span class="hl-identifier">getThumb</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Try to focus the element when clicked so we can add
|
|
* accessibility features
|
|
* @method focus
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">focus</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
|
|
</span><span class="hl-comment">// Focus the background element if possible
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getEl</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">focus</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">try </span><span class="hl-brackets">{
|
|
</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">focus</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">catch</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">) {
|
|
</span><span class="hl-comment">// Prevent permission denied unhandled exception in FF that can
|
|
// happen when setting focus while another element is handling
|
|
// the blur. @TODO this is still writing to the error log
|
|
// (unhandled error) in FF1.5 with strict error checking on.
|
|
</span><span class="hl-brackets">}
|
|
}
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">verifyOffset</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isLocked</span><span class="hl-brackets">()) {
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onSlideStart</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">return true</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Event that fires when the value of the slider has changed
|
|
* @method onChange
|
|
* @param {int} firstOffset the number of pixels the thumb has moved
|
|
* from its start position. Normal horizontal and vertical sliders will only
|
|
* have the firstOffset. Regions will have both, the first is the horizontal
|
|
* offset, the second the vertical.
|
|
* @param {int} secondOffset the y offset for region sliders
|
|
* @deprecated use instance.subscribe("change") instead
|
|
*/
|
|
</span><span class="hl-builtin">onChange</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">(</span><span class="hl-identifier">firstOffset</span><span class="hl-code">, </span><span class="hl-identifier">secondOffset</span><span class="hl-brackets">) {
|
|
</span><span class="hl-comment">/* override me */
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Event that fires when the at the beginning of the slider thumb move
|
|
* @method onSlideStart
|
|
* @deprecated use instance.subscribe("slideStart") instead
|
|
*/
|
|
</span><span class="hl-identifier">onSlideStart</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-comment">/* override me */
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Event that fires at the end of a slider thumb move
|
|
* @method onSliderEnd
|
|
* @deprecated use instance.subscribe("slideEnd") instead
|
|
*/
|
|
</span><span class="hl-identifier">onSlideEnd</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-comment">/* override me */
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Returns the slider's thumb offset from the start position
|
|
* @method getValue
|
|
* @return {int} the current value
|
|
*/
|
|
</span><span class="hl-identifier">getValue</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">getValue</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Returns the slider's thumb X offset from the start position
|
|
* @method getXValue
|
|
* @return {int} the current horizontal offset
|
|
*/
|
|
</span><span class="hl-identifier">getXValue</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">getXValue</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Returns the slider's thumb Y offset from the start position
|
|
* @method getYValue
|
|
* @return {int} the current vertical offset
|
|
*/
|
|
</span><span class="hl-identifier">getYValue</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">getYValue</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Internal handler for the slider thumb's onChange event
|
|
* @method handleThumbChange
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">handleThumbChange</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">t</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_isRegion</span><span class="hl-brackets">) {
|
|
</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-builtin">onChange</span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getXValue</span><span class="hl-brackets">()</span><span class="hl-code">, </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getYValue</span><span class="hl-brackets">())</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">change</span><span class="hl-quotes">"</span><span class="hl-code">, </span><span class="hl-brackets">{ </span><span class="hl-identifier">x</span><span class="hl-code">: </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getXValue</span><span class="hl-brackets">()</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-code">: </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getYValue</span><span class="hl-brackets">() } )</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-builtin">onChange</span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getValue</span><span class="hl-brackets">())</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">change</span><span class="hl-quotes">"</span><span class="hl-code">, </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getValue</span><span class="hl-brackets">())</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Provides a way to set the value of the slider in code.
|
|
* @method setValue
|
|
* @param {int} newOffset the number of pixels the thumb should be
|
|
* positioned away from the initial start point
|
|
* @param {boolean} skipAnim set to true to disable the animation
|
|
* for this move action (but not others).
|
|
* @param {boolean} force ignore the locked setting and set value anyway
|
|
* @return {boolean} true if the move was performed, false if it failed
|
|
*/
|
|
</span><span class="hl-identifier">setValue</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">newOffset</span><span class="hl-code">, </span><span class="hl-identifier">skipAnim</span><span class="hl-code">, </span><span class="hl-identifier">force</span><span class="hl-brackets">) {
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">available</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">deferredSetValue</span><span class="hl-code"> = </span><span class="hl-identifier">arguments</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isLocked</span><span class="hl-brackets">()</span><span class="hl-code"> && !</span><span class="hl-identifier">force</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">( </span><span class="hl-identifier">isNaN</span><span class="hl-brackets">(</span><span class="hl-identifier">newOffset</span><span class="hl-brackets">) ) {
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">t</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newX</span><span class="hl-code">, </span><span class="hl-identifier">newY</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">verifyOffset</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_isRegion</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else if </span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_isHoriz</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onSlideStart</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-comment">// this.fireEvent("slideStart");
|
|
</span><span class="hl-identifier">newX</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">initPageX</span><span class="hl-code"> + </span><span class="hl-identifier">newOffset</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveThumb</span><span class="hl-brackets">(</span><span class="hl-identifier">newX</span><span class="hl-code">, </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">initPageY</span><span class="hl-code">, </span><span class="hl-identifier">skipAnim</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onSlideStart</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-comment">// this.fireEvent("slideStart");
|
|
</span><span class="hl-identifier">newY</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">initPageY</span><span class="hl-code"> + </span><span class="hl-identifier">newOffset</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveThumb</span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">initPageX</span><span class="hl-code">, </span><span class="hl-identifier">newY</span><span class="hl-code">, </span><span class="hl-identifier">skipAnim</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">return true</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Provides a way to set the value of the region slider in code.
|
|
* @method setRegionValue
|
|
* @param {int} newOffset the number of pixels the thumb should be
|
|
* positioned away from the initial start point (x axis for region)
|
|
* @param {int} newOffset2 the number of pixels the thumb should be
|
|
* positioned away from the initial start point (y axis for region)
|
|
* @param {boolean} skipAnim set to true to disable the animation
|
|
* for this move action (but not others).
|
|
* @param {boolean} force ignore the locked setting and set value anyway
|
|
* @return {boolean} true if the move was performed, false if it failed
|
|
*/
|
|
</span><span class="hl-identifier">setRegionValue</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">newOffset</span><span class="hl-code">, </span><span class="hl-identifier">newOffset2</span><span class="hl-code">, </span><span class="hl-identifier">skipAnim</span><span class="hl-brackets">) {
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">available</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">deferredSetRegionValue</span><span class="hl-code"> = </span><span class="hl-identifier">arguments</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isLocked</span><span class="hl-brackets">()</span><span class="hl-code"> && !</span><span class="hl-identifier">force</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">( </span><span class="hl-identifier">isNaN</span><span class="hl-brackets">(</span><span class="hl-identifier">newOffset</span><span class="hl-brackets">) ) {
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">t</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_isRegion</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onSlideStart</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newX</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">initPageX</span><span class="hl-code"> + </span><span class="hl-identifier">newOffset</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newY</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">initPageY</span><span class="hl-code"> + </span><span class="hl-identifier">newOffset2</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveThumb</span><span class="hl-brackets">(</span><span class="hl-identifier">newX</span><span class="hl-code">, </span><span class="hl-identifier">newY</span><span class="hl-code">, </span><span class="hl-identifier">skipAnim</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">return true</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Checks the background position element position. If it has moved from the
|
|
* baseline position, the constraints for the thumb are reset
|
|
* @method verifyOffset
|
|
* @return {boolean} True if the offset is the same as the baseline.
|
|
*/
|
|
</span><span class="hl-identifier">verifyOffset</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">() {
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newPos</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getXY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getEl</span><span class="hl-brackets">())</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">newPos</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> != </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">baselinePos</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> || </span><span class="hl-identifier">newPos</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> != </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">baselinePos</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">resetConstraints</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">baselinePos</span><span class="hl-code"> = </span><span class="hl-identifier">newPos</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">return false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">return true</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Move the associated slider moved to a timeout to try to get around the
|
|
* mousedown stealing moz does when I move the slider element between the
|
|
* cursor and the background during the mouseup event
|
|
* @method moveThumb
|
|
* @param {int} x the X coordinate of the click
|
|
* @param {int} y the Y coordinate of the click
|
|
* @param {boolean} skipAnim don't animate if the move happend onDrag
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">moveThumb</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-code">, </span><span class="hl-identifier">skipAnim</span><span class="hl-brackets">) {
|
|
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">t</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">self</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">available</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">return</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
|
|
</span><span class="hl-comment">// this.verifyOffset();
|
|
|
|
</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">setDelta</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">_p</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getTargetCoord</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-brackets">[</span><span class="hl-identifier">_p</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">_p</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-brackets">]</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">slideStart</span><span class="hl-quotes">"</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">animate</span><span class="hl-code"> && </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">Slider</span><span class="hl-code">.</span><span class="hl-identifier">ANIM_AVAIL</span><span class="hl-code"> && </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_graduated</span><span class="hl-code"> && !</span><span class="hl-identifier">skipAnim</span><span class="hl-brackets">) {
|
|
</span><span class="hl-comment">// this.thumb._animating = true;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">lock</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-identifier">setTimeout</span><span class="hl-brackets">( </span><span class="hl-reserved">function</span><span class="hl-brackets">() { </span><span class="hl-identifier">self</span><span class="hl-code">.</span><span class="hl-identifier">moveOneTick</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">tickPause </span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">animate</span><span class="hl-code"> && </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">Slider</span><span class="hl-code">.</span><span class="hl-identifier">ANIM_AVAIL</span><span class="hl-code"> && !</span><span class="hl-identifier">skipAnim</span><span class="hl-brackets">) {
|
|
|
|
</span><span class="hl-comment">// this.thumb._animating = true;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">lock</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">oAnim</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Motion</span><span class="hl-brackets">(
|
|
</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code">, </span><span class="hl-brackets">{ </span><span class="hl-identifier">points</span><span class="hl-code">: </span><span class="hl-brackets">{ </span><span class="hl-identifier">to</span><span class="hl-code">: </span><span class="hl-identifier">p </span><span class="hl-brackets">} }</span><span class="hl-code">,
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">animationDuration</span><span class="hl-code">,
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Easing</span><span class="hl-code">.</span><span class="hl-identifier">easeOut </span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-identifier">oAnim</span><span class="hl-code">.</span><span class="hl-identifier">onComplete</span><span class="hl-code">.</span><span class="hl-identifier">subscribe</span><span class="hl-brackets">( </span><span class="hl-reserved">function</span><span class="hl-brackets">() { </span><span class="hl-identifier">self</span><span class="hl-code">.</span><span class="hl-identifier">endMove</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-brackets">} )</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">oAnim</span><span class="hl-code">.</span><span class="hl-identifier">animate</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">setDragElPos</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-comment">// this.fireEvents();
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">endMove</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Move the slider one tick mark towards its final coordinate. Used
|
|
* for the animation when tick marks are defined
|
|
* @method moveOneTick
|
|
* @param {int[]} the destination coordinate
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">moveOneTick</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">) {
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">t</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">curCoord</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getXY</span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getEl</span><span class="hl-brackets">())</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">tmp</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">// var thresh = Math.min(t.tickSize + (Math.floor(t.tickSize/2)), 10);
|
|
// var thresh = 10;
|
|
// var thresh = t.tickSize + (Math.floor(t.tickSize/2));
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_isRegion</span><span class="hl-brackets">) {
|
|
</span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_getNextX</span><span class="hl-brackets">(</span><span class="hl-identifier">curCoord</span><span class="hl-code">, </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">tmpX</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">nextCoord</span><span class="hl-brackets">)</span><span class="hl-code"> ? </span><span class="hl-identifier">nextCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> : </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_getNextY</span><span class="hl-brackets">([</span><span class="hl-identifier">tmpX</span><span class="hl-code">, </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]]</span><span class="hl-code">, </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else if </span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_isHoriz</span><span class="hl-brackets">) {
|
|
</span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_getNextX</span><span class="hl-brackets">(</span><span class="hl-identifier">curCoord</span><span class="hl-code">, </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_getNextY</span><span class="hl-brackets">(</span><span class="hl-identifier">curCoord</span><span class="hl-code">, </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">nextCoord</span><span class="hl-brackets">) {
|
|
|
|
</span><span class="hl-comment">// move to the next coord
|
|
// YAHOO.util.Dom.setXY(t.getEl(), nextCoord);
|
|
|
|
// var el = t.getEl();
|
|
// YAHOO.util.Dom.setStyle(el, "left", (nextCoord[0] + this.thumb.deltaSetXY[0]) + "px");
|
|
// YAHOO.util.Dom.setStyle(el, "top", (nextCoord[1] + this.thumb.deltaSetXY[1]) + "px");
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">alignElWithMouse</span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getEl</span><span class="hl-brackets">()</span><span class="hl-code">, </span><span class="hl-identifier">nextCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">nextCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">])</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">// check if we are in the final position, if not make a recursive call
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-brackets">(</span><span class="hl-identifier">nextCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> == </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> && </span><span class="hl-identifier">nextCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> == </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">])) {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">self</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">setTimeout</span><span class="hl-brackets">(</span><span class="hl-reserved">function</span><span class="hl-brackets">() { </span><span class="hl-identifier">self</span><span class="hl-code">.</span><span class="hl-identifier">moveOneTick</span><span class="hl-brackets">(</span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">tickPause</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">endMove</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">endMove</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-comment">//this.tickPause = Math.round(this.tickPause/2);
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Returns the next X tick value based on the current coord and the target coord.
|
|
* @method _getNextX
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">_getNextX</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">curCoord</span><span class="hl-code">, </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">t</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">thresh</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">tmp</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> > </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]) {
|
|
</span><span class="hl-identifier">thresh</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">tickSize</span><span class="hl-code"> - </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">tmp</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getTargetCoord</span><span class="hl-brackets">( </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> - </span><span class="hl-identifier">thresh</span><span class="hl-code">, </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">] )</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-brackets">[</span><span class="hl-identifier">tmp</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">tmp</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-brackets">]</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else if </span><span class="hl-brackets">(</span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> < </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]) {
|
|
</span><span class="hl-identifier">thresh</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">tickSize</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">tmp</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getTargetCoord</span><span class="hl-brackets">( </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> + </span><span class="hl-identifier">thresh</span><span class="hl-code">, </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">] )</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-brackets">[</span><span class="hl-identifier">tmp</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">tmp</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-brackets">]</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-comment">// equal, do nothing
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">return </span><span class="hl-identifier">nextCoord</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Returns the next Y tick value based on the current coord and the target coord.
|
|
* @method _getNextY
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">_getNextY</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">curCoord</span><span class="hl-code">, </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">t</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">thresh</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">tmp</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> > </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]) {
|
|
</span><span class="hl-identifier">thresh</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">tickSize</span><span class="hl-code"> - </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">tmp</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getTargetCoord</span><span class="hl-brackets">( </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> - </span><span class="hl-identifier">thresh </span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-brackets">[</span><span class="hl-identifier">tmp</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">tmp</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-brackets">]</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else if </span><span class="hl-brackets">(</span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> < </span><span class="hl-identifier">finalCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]) {
|
|
</span><span class="hl-identifier">thresh</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">tickSize</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumbCenterPoint</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">tmp</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getTargetCoord</span><span class="hl-brackets">( </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">, </span><span class="hl-identifier">curCoord</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> + </span><span class="hl-identifier">thresh </span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-identifier">nextCoord</span><span class="hl-code"> = </span><span class="hl-brackets">[</span><span class="hl-identifier">tmp</span><span class="hl-code">.</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">tmp</span><span class="hl-code">.</span><span class="hl-identifier">y</span><span class="hl-brackets">]</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-comment">// equal, do nothing
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">return </span><span class="hl-identifier">nextCoord</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Resets the constraints before moving the thumb.
|
|
* @method b4MouseDown
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">b4MouseDown</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">autoOffset</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">.</span><span class="hl-identifier">resetConstraints</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Handles the mousedown event for the slider background
|
|
* @method onMouseDown
|
|
* @private
|
|
*/
|
|
</span><span class="hl-builtin">onMouseDown</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">) {
|
|
</span><span class="hl-comment">// this.resetConstraints(true);
|
|
// this.thumb.resetConstraints(true);
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">! </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isLocked</span><span class="hl-brackets">()</span><span class="hl-code"> && </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">backgroundEnabled</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">getPageX</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">y</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">getPageY</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">focus</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveThumb</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Handles the onDrag event for the slider background
|
|
* @method onDrag
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">onDrag</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">! </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isLocked</span><span class="hl-brackets">()) {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">getPageX</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">y</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Event</span><span class="hl-code">.</span><span class="hl-identifier">getPageY</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveThumb</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Fired when the slider movement ends
|
|
* @method endMove
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">endMove</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-comment">// this._animating = false;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">unlock</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveComplete</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvents</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Fires the change event if the value has been changed. Ignored if we are in
|
|
* the middle of an animation as the event will fire when the animation is
|
|
* complete
|
|
* @method fireEvents
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">fireEvents</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">t</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">thumb</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">cachePosition</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">! </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isLocked</span><span class="hl-brackets">()) {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">_isRegion</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newX</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getXValue</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newY</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getYValue</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">newX</span><span class="hl-code"> != </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">previousX</span><span class="hl-code"> || </span><span class="hl-identifier">newY</span><span class="hl-code"> != </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">previousY</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onChange</span><span class="hl-brackets">(</span><span class="hl-identifier">newX</span><span class="hl-code">, </span><span class="hl-identifier">newY</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">change</span><span class="hl-quotes">"</span><span class="hl-code">, </span><span class="hl-brackets">{ </span><span class="hl-identifier">x</span><span class="hl-code">: </span><span class="hl-identifier">newX</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-code">: </span><span class="hl-identifier">newY </span><span class="hl-brackets">})</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">previousX</span><span class="hl-code"> = </span><span class="hl-identifier">newX</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">previousY</span><span class="hl-code"> = </span><span class="hl-identifier">newY</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-brackets">} </span><span class="hl-reserved">else </span><span class="hl-brackets">{
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newVal</span><span class="hl-code"> = </span><span class="hl-identifier">t</span><span class="hl-code">.</span><span class="hl-identifier">getValue</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">newVal</span><span class="hl-code"> != </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">previousVal</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onChange</span><span class="hl-brackets">( </span><span class="hl-identifier">newVal </span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">change</span><span class="hl-quotes">"</span><span class="hl-code">, </span><span class="hl-identifier">newVal</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">previousVal</span><span class="hl-code"> = </span><span class="hl-identifier">newVal</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveComplete</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onSlideEnd</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">slideEnd</span><span class="hl-quotes">"</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">moveComplete</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
}
|
|
}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Slider toString
|
|
* @method toString
|
|
* @return {string} string representation of the instance
|
|
*/
|
|
</span><span class="hl-identifier">toString</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">return </span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">Slider (</span><span class="hl-quotes">"</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">type</span><span class="hl-code"> +</span><span class="hl-quotes">"</span><span class="hl-string">) </span><span class="hl-quotes">"</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
})</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">augment</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">Slider</span><span class="hl-code">, </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">EventProvider</span><span class="hl-brackets">)</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* A drag and drop implementation to be used as the thumb of a slider.
|
|
* @class SliderThumb
|
|
* @extends YAHOO.util.DD
|
|
* @constructor
|
|
* @param {String} id the id of the slider html element
|
|
* @param {String} sGroup the group of related DragDrop items
|
|
* @param {int} iLeft the number of pixels the element can move left
|
|
* @param {int} iRight the number of pixels the element can move right
|
|
* @param {int} iUp the number of pixels the element can move up
|
|
* @param {int} iDown the number of pixels the element can move down
|
|
* @param {int} iTickSize optional parameter for specifying that the element
|
|
* should move a certain number pixels at a time.
|
|
*/
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">widget</span><span class="hl-default">.</span><span class="hl-identifier">SliderThumb</span><span class="hl-default"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">id</span><span class="hl-code">, </span><span class="hl-identifier">sGroup</span><span class="hl-code">, </span><span class="hl-identifier">iLeft</span><span class="hl-code">, </span><span class="hl-identifier">iRight</span><span class="hl-code">, </span><span class="hl-identifier">iUp</span><span class="hl-code">, </span><span class="hl-identifier">iDown</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">) {
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">id</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">init</span><span class="hl-brackets">(</span><span class="hl-identifier">id</span><span class="hl-code">, </span><span class="hl-identifier">sGroup</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* The id of the thumbs parent HTML element (the slider background
|
|
* element).
|
|
* @property parentElId
|
|
* @type string
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">parentElId</span><span class="hl-code"> = </span><span class="hl-identifier">sGroup</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-comment">//this.removeInvalidHandleType("A");
|
|
|
|
|
|
/**
|
|
* Overrides the isTarget property in YAHOO.util.DragDrop
|
|
* @property isTarget
|
|
* @private
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">isTarget</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* The tick size for this slider
|
|
* @property tickSize
|
|
* @type int
|
|
* @private
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">tickSize</span><span class="hl-code"> = </span><span class="hl-identifier">iTickSize</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Informs the drag and drop util that the offsets should remain when
|
|
* resetting the constraints. This preserves the slider value when
|
|
* the constraints are reset
|
|
* @property maintainOffset
|
|
* @type boolean
|
|
* @private
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">maintainOffset</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">initSlider</span><span class="hl-brackets">(</span><span class="hl-identifier">iLeft</span><span class="hl-code">, </span><span class="hl-identifier">iRight</span><span class="hl-code">, </span><span class="hl-identifier">iUp</span><span class="hl-code">, </span><span class="hl-identifier">iDown</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Turns off the autoscroll feature in drag and drop
|
|
* @property scroll
|
|
* @private
|
|
*/
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">scroll</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-brackets">}</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">extend</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">SliderThumb</span><span class="hl-code">, </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">DD</span><span class="hl-code">, </span><span class="hl-brackets">{
|
|
|
|
</span><span class="hl-comment">/**
|
|
* The (X and Y) difference between the thumb location and its parent
|
|
* (the slider background) when the control is instantiated.
|
|
* @property startOffset
|
|
* @type [int, int]
|
|
*/
|
|
</span><span class="hl-identifier">startOffset</span><span class="hl-code">: </span><span class="hl-reserved">null</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Flag used to figure out if this is a horizontal or vertical slider
|
|
* @property _isHoriz
|
|
* @type boolean
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">_isHoriz</span><span class="hl-code">: </span><span class="hl-reserved">false</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Cache the last value so we can check for change
|
|
* @property _prevVal
|
|
* @type int
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">_prevVal</span><span class="hl-code">: </span><span class="hl-number">0</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* The slider is _graduated if there is a tick interval defined
|
|
* @property _graduated
|
|
* @type boolean
|
|
* @private
|
|
*/
|
|
</span><span class="hl-identifier">_graduated</span><span class="hl-code">: </span><span class="hl-reserved">false</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Returns the difference between the location of the thumb and its parent.
|
|
* @method getOffsetFromParent
|
|
* @param {[int, int]} parentPos Optionally accepts the position of the parent
|
|
* @type [int, int]
|
|
*/
|
|
</span><span class="hl-identifier">getOffsetFromParent</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">parentPos</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">myPos</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getXY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getEl</span><span class="hl-brackets">())</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">ppos</span><span class="hl-code"> = </span><span class="hl-identifier">parentPos</span><span class="hl-code"> || </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">getXY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">parentElId</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">return </span><span class="hl-brackets">[ (</span><span class="hl-identifier">myPos</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> - </span><span class="hl-identifier">ppos</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code">, </span><span class="hl-brackets">(</span><span class="hl-identifier">myPos</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> - </span><span class="hl-identifier">ppos</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]) ]</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Set up the slider, must be called in the constructor of all subclasses
|
|
* @method initSlider
|
|
* @param {int} iLeft the number of pixels the element can move left
|
|
* @param {int} iRight the number of pixels the element can move right
|
|
* @param {int} iUp the number of pixels the element can move up
|
|
* @param {int} iDown the number of pixels the element can move down
|
|
* @param {int} iTickSize the width of the tick interval.
|
|
*/
|
|
</span><span class="hl-identifier">initSlider</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">(</span><span class="hl-identifier">iLeft</span><span class="hl-code">, </span><span class="hl-identifier">iRight</span><span class="hl-code">, </span><span class="hl-identifier">iUp</span><span class="hl-code">, </span><span class="hl-identifier">iDown</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">) {
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setXConstraint</span><span class="hl-brackets">(</span><span class="hl-identifier">iLeft</span><span class="hl-code">, </span><span class="hl-identifier">iRight</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setYConstraint</span><span class="hl-brackets">(</span><span class="hl-identifier">iUp</span><span class="hl-code">, </span><span class="hl-identifier">iDown</span><span class="hl-code">, </span><span class="hl-identifier">iTickSize</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">iTickSize</span><span class="hl-code"> && </span><span class="hl-identifier">iTickSize</span><span class="hl-code"> > </span><span class="hl-number">1</span><span class="hl-brackets">) {
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_graduated</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_isHoriz</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">iLeft</span><span class="hl-code"> || </span><span class="hl-identifier">iRight</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_isVert</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">iUp</span><span class="hl-code"> || </span><span class="hl-identifier">iDown</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_isRegion</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_isHoriz</span><span class="hl-code"> && </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_isVert</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Clear's the slider's ticks
|
|
* @method clearTicks
|
|
*/
|
|
</span><span class="hl-identifier">clearTicks</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">SliderThumb</span><span class="hl-code">.</span><span class="hl-identifier">superclass</span><span class="hl-code">.</span><span class="hl-identifier">clearTicks</span><span class="hl-code">.</span><span class="hl-identifier">call</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_graduated</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Gets the current offset from the element's start position in
|
|
* pixels.
|
|
* @method getValue
|
|
* @return {int} the number of pixels (positive or negative) the
|
|
* slider has moved from the start position.
|
|
*/
|
|
</span><span class="hl-identifier">getValue</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">available</span><span class="hl-brackets">) { </span><span class="hl-reserved">return </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-brackets">}
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">val</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_isHoriz</span><span class="hl-brackets">)</span><span class="hl-code"> ? </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getXValue</span><span class="hl-brackets">()</span><span class="hl-code"> : </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getYValue</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">return </span><span class="hl-identifier">val</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Gets the current X offset from the element's start position in
|
|
* pixels.
|
|
* @method getXValue
|
|
* @return {int} the number of pixels (positive or negative) the
|
|
* slider has moved horizontally from the start position.
|
|
*/
|
|
</span><span class="hl-identifier">getXValue</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">available</span><span class="hl-brackets">) { </span><span class="hl-reserved">return </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-brackets">}
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newOffset</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getOffsetFromParent</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">return </span><span class="hl-brackets">(</span><span class="hl-identifier">newOffset</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code"> - </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">startOffset</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Gets the current Y offset from the element's start position in
|
|
* pixels.
|
|
* @method getYValue
|
|
* @return {int} the number of pixels (positive or negative) the
|
|
* slider has moved vertically from the start position.
|
|
*/
|
|
</span><span class="hl-identifier">getYValue</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">available</span><span class="hl-brackets">) { </span><span class="hl-reserved">return </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-brackets">}
|
|
</span><span class="hl-reserved">var </span><span class="hl-identifier">newOffset</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getOffsetFromParent</span><span class="hl-brackets">()</span><span class="hl-code">;
|
|
</span><span class="hl-reserved">return </span><span class="hl-brackets">(</span><span class="hl-identifier">newOffset</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code"> - </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">startOffset</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">])</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* Thumb toString
|
|
* @method toString
|
|
* @return {string} string representation of the instance
|
|
*/
|
|
</span><span class="hl-identifier">toString</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">() {
|
|
</span><span class="hl-reserved">return </span><span class="hl-quotes">"</span><span class="hl-string">SliderThumb </span><span class="hl-quotes">"</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}</span><span class="hl-code">,
|
|
|
|
</span><span class="hl-comment">/**
|
|
* The onchange event for the handle/thumb is delegated to the YAHOO.widget.Slider
|
|
* instance it belongs to.
|
|
* @method onChange
|
|
* @private
|
|
*/
|
|
</span><span class="hl-builtin">onChange</span><span class="hl-code">: </span><span class="hl-reserved">function </span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">) {
|
|
}
|
|
|
|
})</span><span class="hl-default">;
|
|
|
|
</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-quotes">"</span><span class="hl-string">undefined</span><span class="hl-quotes">"</span><span class="hl-code"> == </span><span class="hl-reserved">typeof </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Anim</span><span class="hl-brackets">) {
|
|
</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">widget</span><span class="hl-code">.</span><span class="hl-identifier">Slider</span><span class="hl-code">.</span><span class="hl-identifier">ANIM_AVAIL</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
|
|
</span><span class="hl-brackets">}
|
|
|
|
</span></pre></div><hr>Copyright © 2006 Jack Slocum. All rights reserved.</body></html> |