Вход Регистрация
Файл: templates/backend/default/assets/plugins/jquery-ricksaw-chart/js/extensions.js
Строк: 144
<?php
var RenderControls = function(args) {

    
this.initialize = function() {

        
this.element args.element;
        
this.graph args.graph;
        
this.settings this.serialize();

        
this.inputs = {
            
rendererthis.element.elements.renderer,
            
interpolationthis.element.elements.interpolation,
            
offsetthis.element.elements.offset
        
};

        
this.element.addEventListener('change', function(e) {

            
this.settings this.serialize();

            if (
e.target.name == 'renderer') {
                
this.setDefaultOffset(e.target.value);
            }

            
this.syncOptions();
            
this.settings this.serialize();

            var 
config = {
                
rendererthis.settings.renderer,
                
interpolationthis.settings.interpolation
            
};

            if (
this.settings.offset == 'value') {
                
config.unstack true;
                
config.offset 'zero';
            } else if (
this.settings.offset == 'expand') {
                
config.unstack false;
                
config.offset this.settings.offset;
            } else {
                
config.unstack false;
                
config.offset this.settings.offset;
            }

            
this.graph.configure(config);
            
this.graph.render();

        }.
bind(this), false);
    }

    
this.serialize = function() {

        var 
values = {};
        var 
pairs = $(this.element).serializeArray();

        
pairs.forEach( function(pair) {
            
values[pair.name] = pair.value;
        } );

        return 
values;
    };

    
this.syncOptions = function() {

        var 
options this.rendererOptions[this.settings.renderer];

        Array.
prototype.forEach.call(this.inputs.interpolation, function(input) {

            if (
options.interpolation) {
                
input.disabled false;
                
input.parentNode.classList.remove('disabled');
            } else {
                
input.disabled true;
                
input.parentNode.classList.add('disabled');
            }
        });

        Array.
prototype.forEach.call(this.inputs.offset, function(input) {

            if (
options.offset.filter( function(o) { return == input.value } ).length) {
                
input.disabled false;
                
input.parentNode.classList.remove('disabled');

            } else {
                
input.disabled true;
                
input.parentNode.classList.add('disabled');
            }

        }.
bind(this));

    };

    
this.setDefaultOffset = function(renderer) {

        var 
options this.rendererOptions[renderer];

        if (
options.defaults && options.defaults.offset) {

            Array.
prototype.forEach.call(this.inputs.offset, function(input) {
                if (
input.value == options.defaults.offset) {
                    
input.checked true;
                } else {
                    
input.checked false;
                }

            }.
bind(this));
        }
    };

    
this.rendererOptions = {

        
area: {
            
interpolationtrue,
            
offset: ['zero''wiggle''expand''value'],
            
defaults: { offset'zero' }
        },
        
line: {
            
interpolationtrue,
            
offset: ['expand''value'],
            
defaults: { offset'value' }
        },
        
bar: {
            
interpolationfalse,
            
offset: ['zero''wiggle''expand''value'],
            
defaults: { offset'zero' }
        },
        
scatterplot: {
            
interpolationfalse,
            
offset: ['value'],
            
defaults: { offset'value' }
        }
    };

    
this.initialize();
};
?>
Онлайн: 0
Реклама