.on('mouseover',function(d,i){//TODO: figure out why j works above, but not here
d3.select(this).classed('hover',true);
dispatch.elementMouseover({
point:d,
series:data[d.series],
pos:[x(getX(d,i))+(x.rangeBand()*(stacked?data.length/2:d.series+.5)/data.length),y(getY(d,i)+(stacked?d.y0:0))],// TODO: Figure out why the value appears to be shifted
pointIndex:i,
seriesIndex:d.series,
e:d3.event
value:getY(d,i),
point:d,
series:data[d.series],
pos:[x(getX(d,i))+(x.rangeBand()*(stacked?data.length/2:d.series+.5)/data.length),y(getY(d,i)+(stacked?d.y0:0))],// TODO: Figure out why the value appears to be shifted
pointIndex:i,
seriesIndex:d.series,
e:d3.event
});
})
.on('mouseout',function(d,i){
d3.select(this).classed('hover',false);
dispatch.elementMouseout({
point:d,
series:data[d.series],
pointIndex:i,
seriesIndex:d.series,
e:d3.event
});
d3.select(this).classed('hover',false);
dispatch.elementMouseout({
value:getY(d,i),
point:d,
series:data[d.series],
pointIndex:i,
seriesIndex:d.series,
e:d3.event
});
})
.on('click',function(d,i){
dispatch.elementClick({
//label: d[label],
value:getY(d,i),
data:d,
index:i,
pos:[x(getX(d,i)),y(getY(d,i))],
e:d3.event,
id:id
});
d3.event.stopPropagation();
dispatch.elementClick({
value:getY(d,i),
point:d,
series:data[d.series],
pos:[x(getX(d,i))+(x.rangeBand()*(stacked?data.length/2:d.series+.5)/data.length),y(getY(d,i)+(stacked?d.y0:0))],// TODO: Figure out why the value appears to be shifted
pointIndex:i,
seriesIndex:d.series,
e:d3.event
});
d3.event.stopPropagation();
})
.on('dblclick',function(d,i){
dispatch.elementDblClick({
//label: d[label],
value:getY(d,i),
data:d,
index:i,
pos:[x(getX(d,i)),y(getY(d,i))],
e:d3.event,
id:id
});
d3.event.stopPropagation();
dispatch.elementDblClick({
value:getY(d,i),
point:d,
series:data[d.series],
pos:[x(getX(d,i))+(x.rangeBand()*(stacked?data.length/2:d.series+.5)/data.length),y(getY(d,i)+(stacked?d.y0:0))],// TODO: Figure out why the value appears to be shifted
return[x(getX(point,pointIndex))*(Math.random()/1e12+1),y(getY(point,pointIndex))*(Math.random()/1e12+1),groupIndex,pointIndex];//temp hack to add noise untill I think of a better way so there are no duplicates
.on('mouseover',function(d,i){//TODO: figure out why j works above, but not here
d3.select(this).classed('hover',true);
dispatch.elementMouseover({
point:d,
series:data[d.series],
pos:[x(getX(d,i))+(x.rangeBand()*(stacked?data.length/2:d.series+.5)/data.length),y(getY(d,i)+(stacked?d.y0:0))],// TODO: Figure out why the value appears to be shifted
pointIndex:i,
seriesIndex:d.series,
e:d3.event
value:getY(d,i),
point:d,
series:data[d.series],
pos:[x(getX(d,i))+(x.rangeBand()*(stacked?data.length/2:d.series+.5)/data.length),y(getY(d,i)+(stacked?d.y0:0))],// TODO: Figure out why the value appears to be shifted
pointIndex:i,
seriesIndex:d.series,
e:d3.event
});
})
.on('mouseout',function(d,i){
d3.select(this).classed('hover',false);
dispatch.elementMouseout({
point:d,
series:data[d.series],
pointIndex:i,
seriesIndex:d.series,
e:d3.event
});
d3.select(this).classed('hover',false);
dispatch.elementMouseout({
value:getY(d,i),
point:d,
series:data[d.series],
pointIndex:i,
seriesIndex:d.series,
e:d3.event
});
})
.on('click',function(d,i){
dispatch.elementClick({
//label: d[label],
value:getY(d,i),
data:d,
index:i,
pos:[x(getX(d,i)),y(getY(d,i))],
e:d3.event,
id:id
});
d3.event.stopPropagation();
dispatch.elementClick({
value:getY(d,i),
point:d,
series:data[d.series],
pos:[x(getX(d,i))+(x.rangeBand()*(stacked?data.length/2:d.series+.5)/data.length),y(getY(d,i)+(stacked?d.y0:0))],// TODO: Figure out why the value appears to be shifted
pointIndex:i,
seriesIndex:d.series,
e:d3.event
});
d3.event.stopPropagation();
})
.on('dblclick',function(d,i){
dispatch.elementDblClick({
//label: d[label],
value:getY(d,i),
data:d,
index:i,
pos:[x(getX(d,i)),y(getY(d,i))],
e:d3.event,
id:id
});
d3.event.stopPropagation();
dispatch.elementDblClick({
value:getY(d,i),
point:d,
series:data[d.series],
pos:[x(getX(d,i))+(x.rangeBand()*(stacked?data.length/2:d.series+.5)/data.length),y(getY(d,i)+(stacked?d.y0:0))],// TODO: Figure out why the value appears to be shifted
return[x(getX(point,pointIndex))*(Math.random()/1e12+1),y(getY(point,pointIndex))*(Math.random()/1e12+1),groupIndex,pointIndex];//temp hack to add noise untill I think of a better way so there are no duplicates