Files
SkinbaseNova/public/assets/plugins/charts-rickshaw/examples/js/extensions.js
2026-02-07 08:23:18 +01:00

77 lines
1.3 KiB
JavaScript

var RenderControls = function(args) {
var $ = jQuery;
this.initialize = function() {
this.element = args.element;
this.graph = args.graph;
this.settings = this.serialize();
this.inputs = {
renderer: this.element.elements.renderer
};
this.element.addEventListener('change', function(e) {
this.settings = this.serialize();
this.syncOptions();
this.settings = this.serialize();
var config = {
renderer: this.settings.renderer
};
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];
};
this.rendererOptions = {
area: {
interpolation: true,
offset: ['zero', 'wiggle', 'expand', 'value'],
defaults: { offset: 'zero' }
},
line: {
interpolation: true,
offset: ['expand', 'value'],
defaults: { offset: 'value' }
},
bar: {
interpolation: false,
offset: ['zero', 'wiggle', 'expand', 'value'],
defaults: { offset: 'zero' }
},
scatterplot: {
interpolation: false,
offset: ['value'],
defaults: { offset: 'value' }
}
};
this.initialize();
};