Skip to content

Commit e5c4dad

Browse files
committed
enable clickable legend group titles when group has no pie-like traces
1 parent cbfcd1d commit e5c4dad

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/components/legend/get_legend_data.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ module.exports = function getLegendData(calcdata, opts) {
118118
legendData[i].forEach(function(a, k) { a._preSort = k; });
119119
legendData[i].sort(orderFn2);
120120

121-
var firstItem = legendData[i][0];
121+
var firstItemTrace = legendData[i][0].trace;
122122

123123
var groupTitle = null;
124124
// get group title text
@@ -134,12 +134,23 @@ module.exports = function getLegendData(calcdata, opts) {
134134
if(reversed) legendData[i].reverse();
135135

136136
if(groupTitle) {
137+
var hasPieLike = false;
138+
for(j = 0; j < legendData[i].length; j++) {
139+
if(Registry.traceIs(legendData[i][j].trace, 'pie-like')) {
140+
hasPieLike = true;
141+
break;
142+
}
143+
}
144+
137145
// set group title text
138146
legendData[i].unshift({
139147
i: -1,
140148
groupTitle: groupTitle,
149+
noClick: hasPieLike,
141150
trace: {
142-
showlegend: firstItem.trace.showlegend
151+
showlegend: firstItemTrace.showlegend,
152+
legendgroup: firstItemTrace.legendgroup,
153+
visible: firstItemTrace.visible
143154
}
144155
});
145156
}

src/components/legend/handle_click.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ module.exports = function handleClick(g, gd, numClicks) {
3232
[];
3333

3434
var legendItem = g.data()[0][0];
35-
if(legendItem.groupTitle) return; // no click on group legends for now
35+
if(legendItem.groupTitle && legendItem.noClick) return;
3636

3737
var fullData = gd._fullData;
3838
var fullTrace = legendItem.trace;

0 commit comments

Comments
 (0)