extras/noUiSlider/nouislider.js
function Spectrum ( entry, snap, direction, singleStep ) {

        this.xPct = [];
        this.xVal = [];
        this.xSteps = [ singleStep || false ];
        this.xNumSteps = [ false ];
        this.xHighestCompleteStep = [];

        this.snap = snap;
        this.direction = direction;

        var index, ordered = [ /* [0, 'min'], [1, '50%'], [2, 'max'] */ ];

        // Map the object keys to an array.
        for ( index in entry ) {
            if ( entry.hasOwnProperty(index) ) {
                ordered.push([entry[index], index]);
            }
        }

        // Sort all entries by value (numeric sort).
        if ( ordered.length && typeof ordered[0][0] === "object" ) {
            ordered.sort(function(a, b) { return a[0][0] - b[0][0]; });
        } else {
            ordered.sort(function(a, b) { return a[0] - b[0]; });
        }


        // Convert all entries to subranges.
        for ( index = 0; index < ordered.length; index++ ) {
            handleEntryPoint(ordered[index][1], ordered[index][0], this);
        }

        // Store the actual step values.
        // xSteps is sorted in the same order as xPct and xVal.
        this.xNumSteps = this.xSteps.slice(0);

        // Convert all numeric steps to the percentage of the subrange they represent.
        for ( index = 0; index < this.xNumSteps.length; index++ ) {
            handleStepPoint(index, this.xNumSteps[index], this);
        }
    }
function Spectrum ( entry, snap, direction, singleStep ) {

        this.xPct = [];
        this.xVal = [];
        this.xSteps = [ singleStep || false ];
        this.xNumSteps = [ false ];
        this.xHighestCompleteStep = [];

        this.snap = snap;
        this.direction = direction;

        var index, ordered = [ /* [0, 'min'], [1, '50%'], [2, 'max'] */ ];

        // Map the object keys to an array.
        for ( index in entry ) {
            if ( entry.hasOwnProperty(index) ) {
                ordered.push([entry[index], index]);
            }
        }

        // Sort all entries by value (numeric sort).
        if ( ordered.length && typeof ordered[0][0] === "object" ) {
            ordered.sort(function(a, b) { return a[0][0] - b[0][0]; });
        } else {
            ordered.sort(function(a, b) { return a[0] - b[0]; });
        }


        // Convert all entries to subranges.
        for ( index = 0; index < ordered.length; index++ ) {
            handleEntryPoint(ordered[index][1], ordered[index][0], this);
        }

        // Store the actual step values.
        // xSteps is sorted in the same order as xPct and xVal.
        this.xNumSteps = this.xSteps.slice(0);

        // Convert all numeric steps to the percentage of the subrange they represent.
        for ( index = 0; index < this.xNumSteps.length; index++ ) {
            handleStepPoint(index, this.xNumSteps[index], this);
        }
    }
function Spectrum ( entry , snap , direction , singleStep ) { this . xPct = [ ] ; this . xVal = [ ] ; this . xSteps = [ singleStep || false ] ; this . xNumSteps = [ false ] ; this . xHighestCompleteStep = [ ] ; this . snap = snap ; this . direction = direction ; var index , ordered = [ /* [0, 'min'], [1, '50%'], [2, 'max'] */ ] ; // Map the object keys to an array. for ( index in entry ) { if ( entry . hasOwnProperty ( index ) ) { ordered . push ( [ entry [ index ] , index ] ) ; } } // Sort all entries by value (numeric sort). if ( ordered . length && typeof ordered [ 0 ] [ 0 ] === "object" ) { ordered . sort ( function ( a , b ) { return a [ 0 ] [ 0 ] - b [ 0 ] [ 0 ] ; } ) ; } else { ordered . sort ( function ( a , b ) { return a [ 0 ] - b [ 0 ] ; } ) ; } // Convert all entries to subranges. for ( index = 0 ; index < ordered . length ; index ++ ) { handleEntryPoint ( ordered [ index ] [ 1 ] , ordered [ index ] [ 0 ] , this ) ; } // Store the actual step values. // xSteps is sorted in the same order as xPct and xVal. this . xNumSteps = this . xSteps . slice ( 0 ) ; // Convert all numeric steps to the percentage of the subrange they represent. for ( index = 0 ; index < this . xNumSteps . length ; index ++ ) { handleStepPoint ( index , this . xNumSteps [ index ] , this ) ; } }
The interface to Spectrum handles all direction-based conversions, so the above values are unaware.
The interface to Spectrum handles all direction - based conversions so the above values are unaware .