@@ -4,13 +4,17 @@ var Registry = require('../../registry');
44var helpers = require ( './helpers' ) ;
55
66module . exports = function getLegendData ( calcdata , opts ) {
7+ var grouped = helpers . isGrouped ( opts ) ;
8+ var reversed = helpers . isReversed ( opts ) ;
9+
710 var lgroupToTraces = { } ;
811 var lgroups = [ ] ;
912 var hasOneNonBlankGroup = false ;
1013 var slicesShown = { } ;
1114 var lgroupi = 0 ;
1215 var maxNameLength = 0 ;
1316 var i , j ;
17+
1418 function addOneItem ( legendGroup , legendItem ) {
1519 // each '' legend group is treated as a separate group
1620 if ( legendGroup === '' || ! helpers . isGrouped ( opts ) ) {
@@ -66,7 +70,7 @@ module.exports = function getLegendData(calcdata, opts) {
6670 if ( ! lgroups . length ) return [ ] ;
6771
6872 // collapse all groups into one if all groups are blank
69- var shouldCollapse = ! hasOneNonBlankGroup || ! helpers . isGrouped ( opts ) ;
73+ var shouldCollapse = ! hasOneNonBlankGroup || ! grouped ;
7074
7175 // rearrange lgroupToTraces into a d3-friendly array of arrays
7276 var legendData ;
@@ -86,20 +90,16 @@ module.exports = function getLegendData(calcdata, opts) {
8690 var orderFn = function ( a , b ) {
8791 return a . trace . legendrank - b . trace . legendrank ;
8892 } ;
89- var rev = helpers . isReversed ( opts ) ;
9093 for ( i = 0 ; i < legendData . length ; i ++ ) {
9194 legendData [ i ] . sort ( orderFn ) ;
92- if ( rev ) legendData [ i ] . reverse ( ) ;
95+ if ( reversed ) legendData [ i ] . reverse ( ) ;
9396 }
9497
95- var arr = [ ] ;
9698 for ( i = 0 ; i < legendData . length ; i ++ ) {
97- arr [ i ] = [ ] ;
9899 for ( j = 0 ; j < legendData [ i ] . length ; j ++ ) {
99- arr [ i ] [ j ] = [ legendData [ i ] [ j ] ] ;
100+ legendData [ i ] [ j ] = [ legendData [ i ] [ j ] ] ;
100101 }
101102 }
102- legendData = arr ;
103103
104104 // number of legend groups - needed in legend/draw.js
105105 opts . _lgroupsLength = legendData . length ;
0 commit comments