Ticket #3762: 3762.ui.slider.js.patch

File 3762.ui.slider.js.patch, 1.4 KB (added by andrew_, 11 years ago)

Proposed FIx

  • (a) C:/Documents vs. (b) d:/Subversion/jQuery

    a b  
    2222                this._handleIndex = null;
    2323                this._detectOrientation();
    2424                this._mouseInit();
    25 
     25                this._setData('values', o.values);
     26               
    2627                this.element
    2728                        .addClass("ui-slider"
    2829                                + " ui-slider-" + this.orientation
     
    452453                        case 'value':
    453454                                this._refreshValue(animated);
    454455                                break;
     456                        case 'values':
     457                                this._cleanValues();
     458                                break;
    455459                }
    456460
    457461        },
     
    532536                        (oRange == "max") && (this.orientation == "vertical") && this.range[animate ? 'animate' : 'css']({ height: (100 - valPercent) + '%' }, { queue: false, duration: o.animate });
    533537                }
    534538
    535         }
     539        },
     540       
     541        _cleanValues: function(){
     542                var options = this.options, values = options.values, min = options.min, max = options.max;
     543               
     544                if (!values){
     545                        options.values = [min, min];
     546                        return;
     547                }
     548                if (values.length){
     549                        if(values.length != 2){ values = [values[0], values[0]]; }
     550                       
     551                        for(var i = 0; i < values.length; i++){
     552                                var value = values[i];
     553                                if(value < min){ value = min; }
     554                                if(i > 0 && value < values[i - 1]){ value = values[i - 1]; }
     555                                if(i + 1 < values.length && value > values[i + 1]){ value = values[i + 1]; }
     556                                values[i] = value;
     557                        }
     558                       
     559                        options.values = values;
     560                }
     561        }       
    536562       
    537563}));
    538564