@@ -66,35 +66,9 @@ export default class DownloadGraph extends Component {
66
66
}
67
67
68
68
get data ( ) {
69
- let [ labels , ...rows ] = this . downloadData ;
70
-
71
- let datasets = labels
72
- . slice ( 1 )
73
- . map ( ( label , index ) => ( {
74
- data : rows . map ( row => ( { x : row [ 0 ] , y : row [ index + 1 ] } ) ) ,
75
- label : label ,
76
- } ) )
77
- . reverse ( )
78
- . map ( ( { label, data } , index ) => {
79
- return {
80
- backgroundColor : BG_COLORS [ index ] ,
81
- borderColor : COLORS [ index ] ,
82
- borderWidth : 2 ,
83
- cubicInterpolationMode : 'monotone' ,
84
- data : data ,
85
- label : label ,
86
- pointHoverBorderWidth : 2 ,
87
- pointHoverRadius : 5 ,
88
- } ;
89
- } ) ;
90
-
91
- return { datasets } ;
92
- }
93
-
94
- get downloadData ( ) {
95
69
let downloads = this . args . data ;
96
70
if ( ! downloads ) {
97
- return ;
71
+ return { datasets : [ ] } ;
98
72
}
99
73
100
74
let extra = downloads . content ?. meta ?. extra_downloads ?? [ ] ;
@@ -133,17 +107,30 @@ export default class DownloadGraph extends Component {
133
107
versionsList . unshift ( 'Other' ) ;
134
108
}
135
109
136
- let headers = [ 'Date' , ...versionsList ] ;
110
+ let rows = Object . keys ( dates ) . map ( date => [
111
+ dates [ date ] . date ,
112
+ ...versionsList . map ( version => dates [ date ] . cnt [ version ] || 0 ) ,
113
+ ] ) ;
137
114
138
- let data = [ headers ] ;
139
- for ( let date in dates ) {
140
- let row = [ dates [ date ] . date ] ;
141
- for ( let version of versionsList ) {
142
- row . push ( dates [ date ] . cnt [ version ] || 0 ) ;
143
- }
144
- data . push ( row ) ;
145
- }
115
+ let datasets = versionsList
116
+ . map ( ( label , index ) => ( {
117
+ data : rows . map ( row => ( { x : row [ 0 ] , y : row [ index + 1 ] } ) ) ,
118
+ label : label ,
119
+ } ) )
120
+ . reverse ( )
121
+ . map ( ( { label, data } , index ) => {
122
+ return {
123
+ backgroundColor : BG_COLORS [ index ] ,
124
+ borderColor : COLORS [ index ] ,
125
+ borderWidth : 2 ,
126
+ cubicInterpolationMode : 'monotone' ,
127
+ data : data ,
128
+ label : label ,
129
+ pointHoverBorderWidth : 2 ,
130
+ pointHoverRadius : 5 ,
131
+ } ;
132
+ } ) ;
146
133
147
- return data ;
134
+ return { datasets } ;
148
135
}
149
136
}
0 commit comments