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

Rickshaw.Series Rickshaw.Class.create( Array, {

    
initialize: function (datapaletteoptions) {

        
options options || {};

        
this.palette = new Rickshaw.Color.Palette(palette);

        
this.timeBase typeof(options.timeBase) === 'undefined' 
            
Math.floor(new Date().getTime() / 1000) : 
            
options.timeBase;

        var 
timeInterval typeof(options.timeInterval) == 'undefined' ?
            
1000 :
            
options.timeInterval;

        
this.setTimeInterval(timeInterval);

        if (
data && (typeof(data) == "object") && Array.isArray(data)) {
            
data.forEach( function(item) { this.addItem(item) }, this );
        }
    },

    
addItem: function(item) {

        if (
typeof(item.name) === 'undefined') {
            throw(
'addItem() needs a name');
        }

        
item.color = (item.color || this.palette.color(item.name));
        
item.data = (item.data || []);

        
// backfill, if necessary
        
if ((item.data.length === 0) && this.length && (this.getIndex() > 0)) {
            
this[0].data.forEach( function(plot) {
                
item.data.push({ xplot.xy});
            } );
        } else if (
item.data.length === 0) {
            
item.data.push({ xthis.timeBase - (this.timeInterval || 0), y});
        } 

        
this.push(item);

        if (
this.legend) {
            
this.legend.addLine(this.itemByName(item.name));
        }
    },

    
addData: function(datax) {

        var 
index this.getIndex();

        
Rickshaw.keys(data).forEach( function(name) {
            if (! 
this.itemByName(name)) {
                
this.addItem({ namename });
            }
        }, 
this );

        
this.forEach( function(item) {
            
item.data.push({ 
                
x|| (index this.timeInterval || 1) + this.timeBase
                
y: (data[item.name] || 0
            });
        }, 
this );
    },

    
getIndex: function () {
        return (
this[0] && this[0].data && this[0].data.length) ? this[0].data.length 0;
    },

    
itemByName: function(name) {

        for (var 
0this.lengthi++) {
            if (
this[i].name == name)
                return 
this[i];
        }
    },

    
setTimeInterval: function(iv) {
        
this.timeInterval iv 1000;
    },

    
setTimeBase: function (t) {
        
this.timeBase t;
    },

    
dump: function() {

        var 
data = {
            
timeBasethis.timeBase,
            
timeIntervalthis.timeInterval,
            
items: []
        };

        
this.forEach( function(item) {

            var 
newItem = {
                
coloritem.color,
                
nameitem.name,
                
data: []
            };

            
item.data.forEach( function(plot) {
                
newItem.data.push({ xplot.xyplot.});
            } );

            
data.items.push(newItem);
        } );

        return 
data;
    },

    
load: function(data) {

        if (
data.timeInterval) {
            
this.timeInterval data.timeInterval;
        }

        if (
data.timeBase) {
            
this.timeBase data.timeBase;
        }

        if (
data.items) {
            
data.items.forEach( function(item) {
                
this.push(item);
                if (
this.legend) {
                    
this.legend.addLine(this.itemByName(item.name));
                }

            }, 
this );
        }
    }
} );

Rickshaw.Series.zeroFill = function(series) {
    
Rickshaw.Series.fill(series0);
};

Rickshaw.Series.fill = function(seriesfill) {

    var 
x;
    var 
0;

    var 
data series.map( function(s) { return s.data } );

    while ( 
Math.max.apply(nulldata.map( function(d) { return d.length } )) ) {

        
Math.min.applynull
            
data
                
.filter(function(d) { return d[i] })
                .
map(function(d) { return d[i].})
        );

        
data.forEach( function(d) {
            if (!
d[i] || d[i].!= x) {
                
d.splice(i0, { xxyfill });
            }
        } );

        
i++;
    }
};
?>
Онлайн: 1
Реклама