dojox.charting.widget.Chart2D.buildRendering
dojo.require("dojox.charting.widget.Chart2D");
defined in dojox/charting/widget/Chart2D.js
Usage
function () (view source)
var n = this.domNode = this.srcNodeRef; // collect chart parameters var axes = dojo.filter(dojo.query("> .axis", n).map(collectAxisParams), notNull); var plots = dojo.filter(dojo.query("> .plot", n).map(collectPlotParams), notNull); var series = dojo.filter(dojo.query("> .series", n).map(collectDataParams), notNull); // build the chart n.innerHTML = ""; var c = this.chart = new dojox.charting.Chart2D(n, { margins: this.margins, stroke: this.stroke, fill: this.fill }); // add collected parameters if(this.theme){ c.setTheme(this.theme); } dojo.forEach(axes, function(axis){ c.addAxis(axis.name, axis.kwArgs); }); dojo.forEach(plots, function(plot){ c.addPlot(plot.name, plot.kwArgs); }); var render = df.foldl(series, function(render, series){ if(series.type == "data"){ c.addSeries(series.name, series.data, series.kwArgs); render = true; }else{ c.addSeries(series.name, [0], series.kwArgs); var kw = {}; du.updateWithPattern( kw, series.kwArgs, { "query": "", "queryOptions": null, "start": 0, "count": 1 //, // "sort": [] }, true ); if(series.kwArgs.sort){ // sort is a complex object type and doesn't survive coercian kw.sort = dojo.clone(series.kwArgs.sort); } dojo.mixin(kw, { onComplete: function(data){ var values; if("valueFn" in series.kwArgs){ var fn = series.kwArgs.valueFn; values = dojo.map(data, function(x){ return fn(series.data.getValue(x, series.field, 0)); }); }else{ values = dojo.map(data, function(x){ return series.data.getValue(x, series.field, 0); }); } c.addSeries(series.name, values, series.kwArgs).render(); } }); series.data.fetch(kw); } return render; }, false); if(render){ c.render(); }