@@ -4,13 +4,17 @@ var Registry = require('../../registry');
4
4
var helpers = require ( './helpers' ) ;
5
5
6
6
module . exports = function getLegendData ( calcdata , opts ) {
7
+ var grouped = helpers . isGrouped ( opts ) ;
8
+ var reversed = helpers . isReversed ( opts ) ;
9
+
7
10
var lgroupToTraces = { } ;
8
11
var lgroups = [ ] ;
9
12
var hasOneNonBlankGroup = false ;
10
13
var slicesShown = { } ;
11
14
var lgroupi = 0 ;
12
15
var maxNameLength = 0 ;
13
16
var i , j ;
17
+
14
18
function addOneItem ( legendGroup , legendItem ) {
15
19
// each '' legend group is treated as a separate group
16
20
if ( legendGroup === '' || ! helpers . isGrouped ( opts ) ) {
@@ -66,7 +70,7 @@ module.exports = function getLegendData(calcdata, opts) {
66
70
if ( ! lgroups . length ) return [ ] ;
67
71
68
72
// collapse all groups into one if all groups are blank
69
- var shouldCollapse = ! hasOneNonBlankGroup || ! helpers . isGrouped ( opts ) ;
73
+ var shouldCollapse = ! hasOneNonBlankGroup || ! grouped ;
70
74
71
75
// rearrange lgroupToTraces into a d3-friendly array of arrays
72
76
var legendData ;
@@ -86,20 +90,16 @@ module.exports = function getLegendData(calcdata, opts) {
86
90
var orderFn = function ( a , b ) {
87
91
return a . trace . legendrank - b . trace . legendrank ;
88
92
} ;
89
- var rev = helpers . isReversed ( opts ) ;
90
93
for ( i = 0 ; i < legendData . length ; i ++ ) {
91
94
legendData [ i ] . sort ( orderFn ) ;
92
- if ( rev ) legendData [ i ] . reverse ( ) ;
95
+ if ( reversed ) legendData [ i ] . reverse ( ) ;
93
96
}
94
97
95
- var arr = [ ] ;
96
98
for ( i = 0 ; i < legendData . length ; i ++ ) {
97
- arr [ i ] = [ ] ;
98
99
for ( j = 0 ; j < legendData [ i ] . length ; j ++ ) {
99
- arr [ i ] [ j ] = [ legendData [ i ] [ j ] ] ;
100
+ legendData [ i ] [ j ] = [ legendData [ i ] [ j ] ] ;
100
101
}
101
102
}
102
- legendData = arr ;
103
103
104
104
// number of legend groups - needed in legend/draw.js
105
105
opts . _lgroupsLength = legendData . length ;
0 commit comments