DOJO нажмите на круговую диаграмму для детализации - PullRequest
3 голосов
/ 29 марта 2012

Я пытался найти несколько мест, как это работает, но не смог.

Требуется развернуть список, щелкнув по фрагменту пирога до следующего уровня. Я могу получить onclick даже, но не уверен, как получить значение из графика. Везде он указывает на http://www.sitepen.com/blog/2008/05/27/dojo-charting-event-support-has-landed/, но нигде не дается живая демонстрация. До сих пор мне удавалось достать клик.

chart.addSeries("Monthly Sales - 2010", chartData);
var h = chart.connectToPlot("default", function(o){ 
if(o.type == "onclick"){
alert("clicked!"); 
  } 
}); 

1 Ответ

2 голосов
/ 29 марта 2012
var store = new dojo.store.Memory({data: [
    { id: '2', value: 10, usedForDrillDown:'x' },
    { id: '3', value: 5, usedForDrillDown: 'y' },
    { id: '4', value: 8, usedForDrillDown:'z' }
]});
// adapter needed, because the chart uses the dojo.data API
var storeAdapter = new dojo.data.ObjectStore({
    objectStore: store
});

var ds = new dojox.charting.DataSeries(
        storeAdapter/*, { query: { needed if the store contains more than data points } }*/);

var chart = new dojox.charting.Chart("chart");
chart.addPlot("default", { type: "Pie" });
chart.addSeries("default", ds);

chart.connectToPlot("default", function(evt) {
    if(evt.type == "onclick"){
        var itm = evt.run.source.items[evt.index]; 
        console.dir(itm);
    }     
});

chart.render(); 
...