77 lines
1.3 KiB
JavaScript
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();
|
|
};
|
|
|