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

Rickshaw.Graph.Axis.Time = function(args) {

    var 
self this;

    
this.graph args.graph;
    
this.elements = [];
    
this.ticksTreatment args.ticksTreatment || 'plain';
    
this.fixedTimeUnit args.timeUnit;

    var 
time args.timeFixture || new Rickshaw.Fixtures.Time();

    
this.appropriateTimeUnit = function() {

        var 
unit;
        var 
units time.units;

        var 
domain this.graph.x.domain();
        var 
rangeSeconds domain[1] - domain[0];

        
units.forEach( function(u) {
            if (
Math.floor(rangeSeconds u.seconds) >= 2) {
                
unit unit || u;
            }
        } );

        return (
unit || time.units[time.units.length 1]);
    };

    
this.tickOffsets = function() {

        var 
domain this.graph.x.domain();

        var 
unit this.fixedTimeUnit || this.appropriateTimeUnit();
        var 
count Math.ceil((domain[1] - domain[0]) / unit.seconds);

        var 
runningTick domain[0];

        var 
offsets = [];

        for (var 
0counti++) {

            var 
tickValue time.ceil(runningTickunit);
            
runningTick tickValue unit.seconds 2;

            
offsets.push( { valuetickValueunitunit } );
        }

        return 
offsets;
    };

    
this.render = function() {

        
this.elements.forEach( function(e) {
            
e.parentNode.removeChild(e);
        } );

        
this.elements = [];

        var 
offsets this.tickOffsets();

        
offsets.forEach( function(o) {
            
            if (
self.graph.x(o.value) > self.graph.x.range()[1]) return;
    
            var 
element document.createElement('div');
            
element.style.left self.graph.x(o.value) + 'px';
            
element.classList.add('x_tick');
            
element.classList.add(self.ticksTreatment);

            var 
title document.createElement('div');
            
title.classList.add('title');
            
title.innerHTML o.unit.formatter(new Date(o.value 1000));
            
element.appendChild(title);

            
self.graph.element.appendChild(element);
            
self.elements.push(element);

        } );
    };

    
this.graph.onUpdate( function() { self.render() } );
};
?>
Онлайн: 2
Реклама