@@ -44,7 +44,13 @@ module.exports = function draw(gd, layer, opts) {
44
44
main = true ;
45
45
opts = fullLayout . legend ;
46
46
}
47
- var legendData = ( ! main || fullLayout . showlegend ) && getLegendData ( gd . calcdata , opts ) ;
47
+ var legendData ;
48
+ if ( main ) {
49
+ legendData = fullLayout . showlegend && getLegendData ( gd . calcdata , opts ) ;
50
+ } else {
51
+ legendData = opts . entries && [ opts . entries ] ;
52
+ }
53
+
48
54
var hiddenSlices = fullLayout . hiddenlabels || [ ] ;
49
55
50
56
if ( main && ( ! fullLayout . showlegend || ! legendData . length ) ) {
@@ -372,16 +378,25 @@ function clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) {
372
378
function drawTexts ( g , gd , opts ) {
373
379
var legendItem = g . data ( ) [ 0 ] [ 0 ] ;
374
380
var fullLayout = gd . _fullLayout ;
375
- if ( ! opts ) opts = fullLayout . legend ;
381
+ var main ;
382
+ if ( ! opts ) {
383
+ main = true ;
384
+ opts = fullLayout . legend ;
385
+ }
376
386
var trace = legendItem . trace ;
377
387
var isPieLike = Registry . traceIs ( trace , 'pie-like' ) ;
378
388
var traceIndex = trace . index ;
379
- var isEditable = gd . _context . edits . legendText && ! isPieLike ;
389
+ var isEditable = main && gd . _context . edits . legendText && ! isPieLike ;
380
390
var maxNameLength = opts . _maxNameLength ;
381
391
382
- var name = isPieLike ? legendItem . label : trace . name ;
383
- if ( trace . _meta ) {
384
- name = Lib . templateString ( name , trace . _meta ) ;
392
+ var name ;
393
+ if ( main ) {
394
+ name = isPieLike ? legendItem . label : trace . name ;
395
+ if ( trace . _meta ) {
396
+ name = Lib . templateString ( name , trace . _meta ) ;
397
+ }
398
+ } else {
399
+ name = legendItem . text ;
385
400
}
386
401
387
402
var textEl = Lib . ensureSingle ( g , 'text' , 'legendtext' ) ;
0 commit comments