Вход Регистрация
Файл: templates/backend/default/assets/plugins/jquery-ricksaw-chart/js/Rickshaw.Graph.Smoother.js
Строк: 41
<?php
Rickshaw
.namespace('Rickshaw.Graph.Smoother');

Rickshaw.Graph.Smoother Rickshaw.Class.create({

    
initialize: function(args) {

        
this.graph args.graph;
        
this.element args.element;
        
this.aggregationScale 1;

        
this.build();

        
this.graph.stackData.hooks.data.push( {
            
name'smoother',
            
orderPosition50,
            
fthis.transformer.bind(this)
        } );
    },

    
build: function() {

        var 
self this;

        if (
this.element) {
            $( function() {
                $(
self.element).slider( {
                    
min1,
                    
max100,
                    
slide: function( eventui ) {
                        
self.setScale(ui.value);
                        
self.graph.update();
                    }
                } );
            } );
        }
    },

    
setScale: function(scale) {

        if (
scale 1) {
            throw 
"scale out of range: " scale;
        }

        
this.aggregationScale scale;
        
this.graph.update();
    },

    
transformer: function(data) {

        if (
this.aggregationScale == 1) return data;

        var 
aggregatedData = [];

        
data.forEach( function(seriesData) {

            var 
aggregatedSeriesData = [];

            while (
seriesData.length) {

                var 
avgX 0avgY 0;
                var 
slice seriesData.splice(0this.aggregationScale);

                
slice.forEach( function(d) {
                    
avgX += d.slice.length;
                    
avgY += d.slice.length;
                } );

                
aggregatedSeriesData.push( { xavgXyavgY } );
            }

            
aggregatedData.push(aggregatedSeriesData);

        }.
bind(this) );

        return 
aggregatedData;
    }
});
?>
Онлайн: 1
Реклама