File tree Expand file tree Collapse file tree 2 files changed +16
-13
lines changed
Expand file tree Collapse file tree 2 files changed +16
-13
lines changed Original file line number Diff line number Diff line change @@ -11,8 +11,10 @@ module.exports = function getLegendData(calcdata, opts) {
1111 var lgroupi = 0 ;
1212 var maxNameLength = 0 ;
1313 var i , j ;
14-
14+ var initID = 0 ;
1515 function addOneItem ( legendGroup , legendItem ) {
16+ legendItem . _initID = initID ++ ;
17+
1618 // each '' legend group is treated as a separate group
1719 if ( legendGroup === '' || ! helpers . isGrouped ( opts ) ) {
1820 // TODO: check this against fullData legendgroups?
@@ -78,6 +80,7 @@ module.exports = function getLegendData(calcdata, opts) {
7880 var B = b [ 0 ] . trace ;
7981 var delta = A . legendrank - B . legendrank ;
8082 if ( ! delta ) delta = A . index - B . index ;
83+ if ( ! delta ) delta = a [ 0 ] . _initID - b [ 0 ] . _initID ;
8184
8285 return dir * delta ;
8386 } ;
Original file line number Diff line number Diff line change @@ -283,22 +283,22 @@ describe('legend getLegendData', function() {
283283
284284 expected = [
285285 [
286- [ { trace : {
286+ [ { _initID : 0 , trace : {
287287 type : 'scatter' ,
288288 visible : true ,
289289 legendgroup : 'group' ,
290290 showlegend : true
291291
292292 } } ] ,
293- [ { trace : {
293+ [ { _initID : 2 , trace : {
294294 type : 'scatter' ,
295295 visible : true ,
296296 legendgroup : 'group' ,
297297 showlegend : true
298298 } } ]
299299 ] ,
300300 [
301- [ { trace : {
301+ [ { _initID : 1 , trace : {
302302 type : 'bar' ,
303303 visible : 'legendonly' ,
304304 legendgroup : '' ,
@@ -341,20 +341,20 @@ describe('legend getLegendData', function() {
341341
342342 expected = [
343343 [
344- [ { trace : {
344+ [ { _initID : 0 , trace : {
345345 type : 'scatter' ,
346346 visible : true ,
347347 legendgroup : '' ,
348348 showlegend : true
349349
350350 } } ] ,
351- [ { trace : {
351+ [ { _initID : 1 , trace : {
352352 type : 'bar' ,
353353 visible : 'legendonly' ,
354354 legendgroup : '' ,
355355 showlegend : true
356356 } } ] ,
357- [ { trace : {
357+ [ { _initID : 2 , trace : {
358358 type : 'scatter' ,
359359 visible : true ,
360360 legendgroup : '' ,
@@ -427,20 +427,20 @@ describe('legend getLegendData', function() {
427427
428428 expected = [
429429 [
430- [ { trace : {
430+ [ { _initID : 2 , trace : {
431431 type : 'box' ,
432432 visible : true ,
433433 legendgroup : '' ,
434434 showlegend : true
435435
436436 } } ] ,
437- [ { trace : {
437+ [ { _initID : 1 , trace : {
438438 type : 'bar' ,
439439 visible : 'legendonly' ,
440440 legendgroup : '' ,
441441 showlegend : true
442442 } } ] ,
443- [ { trace : {
443+ [ { _initID : 0 , trace : {
444444 type : 'scatter' ,
445445 visible : true ,
446446 legendgroup : '' ,
@@ -483,22 +483,22 @@ describe('legend getLegendData', function() {
483483
484484 expected = [
485485 [
486- [ { trace : {
486+ [ { _initID : 2 , trace : {
487487 type : 'box' ,
488488 visible : true ,
489489 legendgroup : 'group' ,
490490 showlegend : true
491491
492492 } } ] ,
493- [ { trace : {
493+ [ { _initID : 0 , trace : {
494494 type : 'scatter' ,
495495 visible : true ,
496496 legendgroup : 'group' ,
497497 showlegend : true
498498 } } ]
499499 ] ,
500500 [
501- [ { trace : {
501+ [ { _initID : 1 , trace : {
502502 type : 'bar' ,
503503 visible : 'legendonly' ,
504504 legendgroup : '' ,
You can’t perform that action at this time.
0 commit comments