123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377 |
- /*
- Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
- Available via Academic Free License >= 2.1 OR the modified BSD license.
- see: http://dojotoolkit.org/license for details
- */
- if(!dojo._hasResource["dojox.form.RangeSlider"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
- dojo._hasResource["dojox.form.RangeSlider"] = true;
- dojo.provide("dojox.form.RangeSlider");
- dojo.require("dijit.form.HorizontalSlider");
- dojo.require("dijit.form.VerticalSlider");
- dojo.require("dojox.fx");
- (function(){
- // make these functions once:
- var sortReversed = function(a, b){ return b - a; },
- sortForward = function(a, b){ return a - b; }
- ;
- dojo.declare("dojox.form._RangeSliderMixin", null, {
- value: [0,100],
- postMixInProperties: function(){
- this.inherited(arguments);
- this.value = dojo.map(this.value, function(i){ return parseInt(i, 10); });
- },
-
- postCreate: function(){
- this.inherited(arguments);
- // we sort the values!
- // TODO: re-think, how to set the value
- this.value.sort(this._isReversed() ? sortReversed : sortForward);
- // define a custom constructor for a SliderMoverMax that points back to me
- var _self = this;
- var mover = dojo.declare(dijit.form._SliderMoverMax, {
- constructor: function(){
- this.widget = _self;
- }
- });
- this._movableMax = new dojo.dnd.Moveable(this.sliderHandleMax,{ mover: mover });
- dijit.setWaiState(this.focusNodeMax, "valuemin", this.minimum);
- dijit.setWaiState(this.focusNodeMax, "valuemax", this.maximum);
-
- // a dnd for the bar!
- var barMover = dojo.declare(dijit.form._SliderBarMover, {
- constructor: function(){
- this.widget = _self;
- }
- });
- this._movableBar = new dojo.dnd.Moveable(this.progressBar,{ mover: barMover });
- },
-
- destroy: function(){
- this.inherited(arguments);
- this._movableMax.destroy();
- this._movableBar.destroy();
- },
-
- _onKeyPress: function(/*Event*/ e){
- if(this.disabled || this.readOnly || e.altKey || e.ctrlKey){ return; }
-
- var useMaxValue = e.target === this.sliderHandleMax;
- var barFocus = e.target === this.progressBar;
- var k = dojo.delegate(dojo.keys, this.isLeftToRight() ? {PREV_ARROW: dojo.keys.LEFT_ARROW, NEXT_ARROW: dojo.keys.RIGHT_ARROW}
- : {PREV_ARROW: dojo.keys.RIGHT_ARROW, NEXT_ARROW: dojo.keys.LEFT_ARROW});
- var delta = 0;
- var down = false;
- switch(e.keyCode){
- case k.HOME : this._setValueAttr(this.minimum, true, useMaxValue);dojo.stopEvent(e);return;
- case k.END : this._setValueAttr(this.maximum, true, useMaxValue);dojo.stopEvent(e);return;
- case k.PREV_ARROW :
- case k.DOWN_ARROW : down = true;
- case k.NEXT_ARROW :
- case k.UP_ARROW : delta = 1; break;
- case k.PAGE_DOWN : down = true;
- case k.PAGE_UP : delta = this.pageIncrement; break;
- default : this.inherited(arguments);return;
- }
-
- if(down){delta = -delta;}
- if(delta){
- if(barFocus){
- this._bumpValue([
- { change: delta, useMaxValue: false },
- { change: delta, useMaxValue: true }
- ]);
- }else{
- this._bumpValue(delta, useMaxValue);
- }
- dojo.stopEvent(e);
- }
- },
-
- _onHandleClickMax: function(e){
- if(this.disabled || this.readOnly){ return; }
- if(!dojo.isIE){
- // make sure you get focus when dragging the handle
- // (but don't do on IE because it causes a flicker on mouse up (due to blur then focus)
- dijit.focus(this.sliderHandleMax);
- }
- dojo.stopEvent(e);
- },
-
- _onClkIncBumper: function(){
- this._setValueAttr(this._descending === false ? this.minimum : this.maximum, true, true);
- },
-
- _bumpValue: function(signedChange, useMaxValue){
- // we pass an array to _setValueAttr when signedChange is an array
- var value = dojo.isArray(signedChange) ? [
- this._getBumpValue(signedChange[0].change, signedChange[0].useMaxValue),
- this._getBumpValue(signedChange[1].change, signedChange[1].useMaxValue)
- ]
- : this._getBumpValue(signedChange, useMaxValue)
- this._setValueAttr(value, true, useMaxValue);
- },
-
- _getBumpValue: function(signedChange, useMaxValue){
-
- var idx = useMaxValue ? 1 : 0;
- if( this._isReversed() ) {
- idx = 1 - idx;
- }
- var s = dojo.getComputedStyle(this.sliderBarContainer),
- c = dojo._getContentBox(this.sliderBarContainer, s),
- count = this.discreteValues,
- myValue = this.value[idx]
- ;
- if(count <= 1 || count == Infinity){ count = c[this._pixelCount]; }
- count--;
-
- var value = (myValue - this.minimum) * count / (this.maximum - this.minimum) + signedChange;
- if(value < 0){ value = 0; }
- if(value > count){ value = count; }
-
- return value * (this.maximum - this.minimum) / count + this.minimum;
- },
-
- _onBarClick: function(e){
- if(this.disabled || this.readOnly){ return; }
- if(!dojo.isIE){
- // make sure you get focus when dragging the handle
- // (but don't do on IE because it causes a flicker on mouse up (due to blur then focus)
- dijit.focus(this.progressBar);
- }
- dojo.stopEvent(e);
- },
-
- _onRemainingBarClick: function(e){
- if(this.disabled || this.readOnly){ return; }
- if(!dojo.isIE){
- // make sure you get focus when dragging the handle
- // (but don't do on IE because it causes a flicker on mouse up (due to blur then focus)
- dijit.focus(this.progressBar);
- }
- // now we set the min/max-value of the slider!
- var abspos = dojo.coords(this.sliderBarContainer, true),
- bar = dojo.coords(this.progressBar, true),
- relMousePos = e[this._mousePixelCoord] - abspos[this._startingPixelCoord],
- leftPos = bar[this._startingPixelCount],
- rightPos = leftPos + bar[this._pixelCount],
- isMaxVal = this._isReversed() ? relMousePos <= leftPos : relMousePos >= rightPos,
- p = this._isReversed() ? abspos[this._pixelCount] - relMousePos : relMousePos
- ;
- this._setPixelValue(p, abspos[this._pixelCount], true, isMaxVal);
- dojo.stopEvent(e);
- },
-
- _setPixelValue: function(/*Number*/ pixelValue, /*Number*/ maxPixels, /*Boolean*/ priorityChange, /*Boolean*/ isMaxVal){
- if(this.disabled || this.readOnly){ return; }
- var myValue = this._getValueByPixelValue(pixelValue, maxPixels);
- this._setValueAttr(myValue, priorityChange, isMaxVal);
- },
-
- _getValueByPixelValue: function(/*Number*/ pixelValue, /*Number*/ maxPixels){
- pixelValue = pixelValue < 0 ? 0 : maxPixels < pixelValue ? maxPixels : pixelValue;
- var count = this.discreteValues;
- if(count <= 1 || count == Infinity){ count = maxPixels; }
- count--;
- var pixelsPerValue = maxPixels / count;
- var wholeIncrements = Math.round(pixelValue / pixelsPerValue);
- return (this.maximum-this.minimum)*wholeIncrements/count + this.minimum;
- },
-
- _setValueAttr: function(/*Array or Number*/ value, /*Boolean, optional*/ priorityChange, /*Boolean, optional*/ isMaxVal){
- // we pass an array, when we move the slider with the bar
- var actValue = this.value;
- if(!dojo.isArray(value)){
- if(isMaxVal){
- if(this._isReversed()){
- actValue[0] = value;
- }else{
- actValue[1] = value;
- }
- }else{
- if(this._isReversed()){
- actValue[1] = value;
- }else{
- actValue[0] = value;
- }
- }
- }else{
- actValue = value;
- }
- // we have to reset this values. don't know the reason for that
- this._lastValueReported = "";
- this.valueNode.value = this.value = value = actValue;
- dijit.setWaiState(this.focusNode, "valuenow", actValue[0]);
- dijit.setWaiState(this.focusNodeMax, "valuenow", actValue[1]);
-
- this.value.sort(this._isReversed() ? sortReversed : sortForward);
-
- // not calling the _setValueAttr-function of dijit.form.Slider, but the super-super-class (needed for the onchange-event!)
- dijit.form._FormValueWidget.prototype._setValueAttr.apply(this, arguments);
- this._printSliderBar(priorityChange, isMaxVal);
- },
-
- _printSliderBar: function(priorityChange, isMaxVal){
- var percentMin = (this.value[0] - this.minimum) / (this.maximum - this.minimum);
- var percentMax = (this.value[1] - this.minimum) / (this.maximum - this.minimum);
- var percentMinSave = percentMin;
- if(percentMin > percentMax){
- percentMin = percentMax;
- percentMax = percentMinSave;
- }
- var sliderHandleVal = this._isReversed() ? ((1-percentMin)*100) : (percentMin * 100);
- var sliderHandleMaxVal = this._isReversed() ? ((1-percentMax)*100) : (percentMax * 100);
- var progressBarVal = this._isReversed() ? ((1-percentMax)*100) : (percentMin * 100);
- if (priorityChange && this.slideDuration > 0 && this.progressBar.style[this._progressPixelSize]){
- // animate the slider
- var percent = isMaxVal ? percentMax : percentMin;
- var _this = this;
- var props = {};
- var start = parseFloat(this.progressBar.style[this._handleOffsetCoord]);
- var duration = this.slideDuration / 10; // * (percent-start/100);
- if(duration === 0){ return; }
- if(duration < 0){ duration = 0 - duration; }
- var propsHandle = {};
- var propsHandleMax = {};
- var propsBar = {};
- // hui, a lot of animations :-)
- propsHandle[this._handleOffsetCoord] = { start: this.sliderHandle.style[this._handleOffsetCoord], end: sliderHandleVal, units:"%"};
- propsHandleMax[this._handleOffsetCoord] = { start: this.sliderHandleMax.style[this._handleOffsetCoord], end: sliderHandleMaxVal, units:"%"};
- propsBar[this._handleOffsetCoord] = { start: this.progressBar.style[this._handleOffsetCoord], end: progressBarVal, units:"%"};
- propsBar[this._progressPixelSize] = { start: this.progressBar.style[this._progressPixelSize], end: (percentMax - percentMin) * 100, units:"%"};
- var animHandle = dojo.animateProperty({node: this.sliderHandle,duration: duration, properties: propsHandle});
- var animHandleMax = dojo.animateProperty({node: this.sliderHandleMax,duration: duration, properties: propsHandleMax});
- var animBar = dojo.animateProperty({node: this.progressBar,duration: duration, properties: propsBar});
- var animCombine = dojo.fx.combine([animHandle, animHandleMax, animBar]);
- animCombine.play();
- }else{
- this.sliderHandle.style[this._handleOffsetCoord] = sliderHandleVal + "%";
- this.sliderHandleMax.style[this._handleOffsetCoord] = sliderHandleMaxVal + "%";
- this.progressBar.style[this._handleOffsetCoord] = progressBarVal + "%";
- this.progressBar.style[this._progressPixelSize] = ((percentMax - percentMin) * 100) + "%";
- }
- }
- });
- dojo.declare("dijit.form._SliderMoverMax", dijit.form._SliderMover, {
- onMouseMove: function(e){
- var widget = this.widget;
- var abspos = widget._abspos;
- if(!abspos){
- abspos = widget._abspos = dojo.coords(widget.sliderBarContainer, true);
- widget._setPixelValue_ = dojo.hitch(widget, "_setPixelValue");
- widget._isReversed_ = widget._isReversed();
- }
-
- var coordEvent = e.touches ? e.touches[0] : e; // if multitouch take first touch for coords
- var pixelValue = coordEvent[widget._mousePixelCoord] - abspos[widget._startingPixelCoord];
- widget._setPixelValue_(widget._isReversed_ ? (abspos[widget._pixelCount]-pixelValue) : pixelValue, abspos[widget._pixelCount], false, true);
- },
-
- destroy: function(e){
- dojo.dnd.Mover.prototype.destroy.apply(this, arguments);
- var widget = this.widget;
- widget._abspos = null;
- widget._setValueAttr(widget.value, true);
- }
- });
- dojo.declare("dijit.form._SliderBarMover", dojo.dnd.Mover, {
- onMouseMove: function(e){
- var widget = this.widget;
- if(widget.disabled || widget.readOnly){ return; }
- var abspos = widget._abspos;
- var bar = widget._bar;
- var mouseOffset = widget._mouseOffset;
- if(!abspos){
- abspos = widget._abspos = dojo.coords(widget.sliderBarContainer, true);
- widget._setPixelValue_ = dojo.hitch(widget, "_setPixelValue");
- widget._getValueByPixelValue_ = dojo.hitch(widget, "_getValueByPixelValue");
- widget._isReversed_ = widget._isReversed();
- }
-
- if(!bar){
- bar = widget._bar = dojo.coords(widget.progressBar, true);
- }
- var coordEvent = e.touches ? e.touches[0] : e; // if multitouch take first touch for coords
-
- if(!mouseOffset){
- mouseOffset = widget._mouseOffset = coordEvent[widget._mousePixelCoord] - abspos[widget._startingPixelCoord] - bar[widget._startingPixelCount];
- }
-
-
- var pixelValueMin = coordEvent[widget._mousePixelCoord] - abspos[widget._startingPixelCoord] - mouseOffset,
- pixelValueMax = pixelValueMin + bar[widget._pixelCount];
- // we don't narrow the slider when it reaches the bumper!
- // maybe there is a simpler way
- pixelValues = [pixelValueMin, pixelValueMax]
- ;
- pixelValues.sort(sortForward);
- if(pixelValues[0] <= 0){
- pixelValues[0] = 0;
- pixelValues[1] = bar[widget._pixelCount];
- }
- if(pixelValues[1] >= abspos[widget._pixelCount]){
- pixelValues[1] = abspos[widget._pixelCount];
- pixelValues[0] = abspos[widget._pixelCount] - bar[widget._pixelCount];
- }
- // getting the real values by pixel
- var myValues = [
- widget._getValueByPixelValue(widget._isReversed_ ? (abspos[widget._pixelCount] - pixelValues[0]) : pixelValues[0], abspos[widget._pixelCount]),
- widget._getValueByPixelValue(widget._isReversed_ ? (abspos[widget._pixelCount] - pixelValues[1]) : pixelValues[1], abspos[widget._pixelCount])
- ];
- // and setting the value of the widget
- widget._setValueAttr(myValues, false, false);
- },
-
- destroy: function(){
- dojo.dnd.Mover.prototype.destroy.apply(this, arguments);
- var widget = this.widget;
- widget._abspos = null;
- widget._bar = null;
- widget._mouseOffset = null;
- widget._setValueAttr(widget.value, true);
- }
- });
- dojo.declare("dojox.form.HorizontalRangeSlider",
- [dijit.form.HorizontalSlider, dojox.form._RangeSliderMixin],
- {
- // summary:
- // A form widget that allows one to select a range with two horizontally draggable images
- templateString: dojo.cache("dojox.form", "resources/HorizontalRangeSlider.html", "<table class=\"dijit dijitReset dijitSlider dijitSliderH dojoxRangeSlider\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" rules=\"none\" dojoAttachEvent=\"onkeypress:_onKeyPress,onkeyup:_onKeyUp\"\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t\t><td dojoAttachPoint=\"topDecoration\" class=\"dijitReset dijitSliderDecoration dijitSliderDecorationT dijitSliderDecorationH\"></td\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerH\"\n\t\t\t><div class=\"dijitSliderDecrementIconH\" tabIndex=\"-1\" style=\"display:none\" dojoAttachPoint=\"decrementButton\"><span class=\"dijitSliderButtonInner\">-</span></div\n\t\t></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperH dijitSliderLeftBumper\" dojoAttachEvent=\"onmousedown:_onClkDecBumper\"></div\n\t\t></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><input dojoAttachPoint=\"valueNode\" type=\"hidden\" ${!nameAttrSetting}\n\t\t\t/><div role=\"presentation\" class=\"dojoxRangeSliderBarContainer\" dojoAttachPoint=\"sliderBarContainer\"\n\t\t\t\t><div dojoAttachPoint=\"sliderHandle\" tabIndex=\"${tabIndex}\" class=\"dijitSliderMoveable dijitSliderMoveableH\" dojoAttachEvent=\"onmousedown:_onHandleClick\" role=\"slider\" valuemin=\"${minimum}\" valuemax=\"${maximum}\"\n\t\t\t\t\t><div class=\"dijitSliderImageHandle dijitSliderImageHandleH\"></div\n\t\t\t\t></div\n\t\t\t\t><div role=\"presentation\" dojoAttachPoint=\"progressBar,focusNode\" class=\"dijitSliderBar dijitSliderBarH dijitSliderProgressBar dijitSliderProgressBarH\" dojoAttachEvent=\"onmousedown:_onBarClick\"></div\n\t\t\t\t><div dojoAttachPoint=\"sliderHandleMax,focusNodeMax\" tabIndex=\"${tabIndex}\" class=\"dijitSliderMoveable dijitSliderMoveableH\" dojoAttachEvent=\"onmousedown:_onHandleClickMax\" role=\"sliderMax\" valuemin=\"${minimum}\" valuemax=\"${maximum}\"\n\t\t\t\t\t><div class=\"dijitSliderImageHandle dijitSliderImageHandleH\"></div\n\t\t\t\t></div\n\t\t\t\t><div role=\"presentation\" dojoAttachPoint=\"remainingBar\" class=\"dijitSliderBar dijitSliderBarH dijitSliderRemainingBar dijitSliderRemainingBarH\" dojoAttachEvent=\"onmousedown:_onRemainingBarClick\"></div\n\t\t\t></div\n\t\t></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperH dijitSliderRightBumper\" dojoAttachEvent=\"onmousedown:_onClkIncBumper\"></div\n\t\t></td\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerH\"\n\t\t\t><div class=\"dijitSliderIncrementIconH\" tabIndex=\"-1\" style=\"display:none\" dojoAttachPoint=\"incrementButton\"><span class=\"dijitSliderButtonInner\">+</span></div\n\t\t></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t\t><td dojoAttachPoint=\"containerNode,bottomDecoration\" class=\"dijitReset dijitSliderDecoration dijitSliderDecorationB dijitSliderDecorationH\"></td\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t></tr\n></table>\n")
- }
- );
- dojo.declare("dojox.form.VerticalRangeSlider",
- [dijit.form.VerticalSlider, dojox.form._RangeSliderMixin],
- {
- // summary:
- // A form widget that allows one to select a range with two vertically draggable images
- templateString: dojo.cache("dojox.form", "resources/VerticalRangeSlider.html", "<table class=\"dijitReset dijitSlider dijitSliderV dojoxRangeSlider\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" rules=\"none\"\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerV\"\n\t\t\t><div class=\"dijitSliderIncrementIconV\" tabIndex=\"-1\" style=\"display:none\" dojoAttachPoint=\"decrementButton\" dojoAttachEvent=\"onclick: increment\"><span class=\"dijitSliderButtonInner\">+</span></div\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><center><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperV dijitSliderTopBumper\" dojoAttachEvent=\"onclick:_onClkIncBumper\"></div></center\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td dojoAttachPoint=\"leftDecoration\" class=\"dijitReset dijitSliderDecoration dijitSliderDecorationL dijitSliderDecorationV\" style=\"text-align:center;height:100%;\"></td\n\t\t><td class=\"dijitReset\" style=\"height:100%;\"\n\t\t\t><input dojoAttachPoint=\"valueNode\" type=\"hidden\" ${!nameAttrSetting}\n\t\t\t/><center role=\"presentation\" style=\"position:relative;height:100%;\" dojoAttachPoint=\"sliderBarContainer\"\n\t\t\t\t><div role=\"presentation\" dojoAttachPoint=\"remainingBar\" class=\"dijitSliderBar dijitSliderBarV dijitSliderRemainingBar dijitSliderRemainingBarV\" dojoAttachEvent=\"onmousedown:_onRemainingBarClick\"\n\t\t\t\t\t><div dojoAttachPoint=\"sliderHandle\" tabIndex=\"${tabIndex}\" class=\"dijitSliderMoveable dijitSliderMoveableV\" dojoAttachEvent=\"onkeypress:_onKeyPress,onmousedown:_onHandleClick\" style=\"vertical-align:top;\" role=\"slider\" valuemin=\"${minimum}\" valuemax=\"${maximum}\"\n\t\t\t\t\t\t><div class=\"dijitSliderImageHandle dijitSliderImageHandleV\"></div\n\t\t\t\t\t></div\n\t\t\t\t\t><div role=\"presentation\" dojoAttachPoint=\"progressBar,focusNode\" tabIndex=\"${tabIndex}\" class=\"dijitSliderBar dijitSliderBarV dijitSliderProgressBar dijitSliderProgressBarV\" dojoAttachEvent=\"onkeypress:_onKeyPress,onmousedown:_onBarClick\"\n\t\t\t\t\t></div\n\t\t\t\t\t><div dojoAttachPoint=\"sliderHandleMax,focusNodeMax\" tabIndex=\"${tabIndex}\" class=\"dijitSliderMoveable dijitSliderMoveableV\" dojoAttachEvent=\"onkeypress:_onKeyPress,onmousedown:_onHandleClickMax\" style=\"vertical-align:top;\" role=\"slider\" valuemin=\"${minimum}\" valuemax=\"${maximum}\"\n\t\t\t\t\t\t><div class=\"dijitSliderImageHandle dijitSliderImageHandleV\"></div\n\t\t\t\t\t></div\n\t\t\t\t></div\n\t\t\t></center\n\t\t></td\n\t\t><td dojoAttachPoint=\"containerNode,rightDecoration\" class=\"dijitReset dijitSliderDecoration dijitSliderDecorationR dijitSliderDecorationV\" style=\"text-align:center;height:100%;\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><center><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperV dijitSliderBottomBumper\" dojoAttachEvent=\"onclick:_onClkDecBumper\"></div></center\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerV\"\n\t\t\t><div class=\"dijitSliderDecrementIconV\" tabIndex=\"-1\" style=\"display:none\" dojoAttachPoint=\"incrementButton\" dojoAttachEvent=\"onclick: decrement\"><span class=\"dijitSliderButtonInner\">-</span></div\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n></table>\n")
- }
- );
- })();
- }
|