@@ -77,6 +77,13 @@ export class Chart {
77
77
* Update the chart metrics
78
78
*/
79
79
public updateMetrics ( ) {
80
+ const { allMetrics, enabledMetrics } = this . settings ;
81
+
82
+ if ( ! this . hasAnyData ) {
83
+ const enabled = enabledMetrics . filter ( m => m . hasData ( ) ) ;
84
+ this . settings . setEnabledMetrics ( enabled . length ? enabled : [ allMetrics [ 0 ] , allMetrics [ 1 ] ] ) ;
85
+ }
86
+
80
87
this . frameCanvas . updateMetrics ( ) ;
81
88
82
89
if ( this . configOpen ) {
@@ -182,8 +189,10 @@ export class Chart {
182
189
val . parentElement ?. removeChild ( val ) ;
183
190
}
184
191
185
- maxContainer . classList [ this . settings . value . splitCharts ? 'add' : 'remove' ] ( styles . split ) ;
192
+ const split = this . settings . value . splitCharts ;
193
+ maxContainer . classList [ split ? 'add' : 'remove' ] ( styles . split ) ;
186
194
labelList . innerHTML = '' ;
195
+ maxContainer . innerHTML = '' ;
187
196
this . valElements = [ ] ;
188
197
189
198
for ( let i = 0 ; i < this . settings . enabledMetrics . length ; i ++ ) {
@@ -198,13 +207,19 @@ export class Chart {
198
207
val . innerText = metric . format ( metric . current ) ;
199
208
label . appendChild ( val ) ;
200
209
201
- const max = document . createElement ( 'div' ) ;
202
- max . classList . add ( styles . max , styles . primary ) ;
203
- max . innerText = metric . format ( metric . maxY ) ;
204
- max . style . top = `${ ( i / this . settings . enabledMetrics . length ) * 100 } %` ;
205
- maxContainer . appendChild ( max ) ;
206
-
207
- this . valElements . push ( [ metric , { max, val } ] ) ;
210
+ const maxWrapper = document . createElement ( 'div' ) ;
211
+ maxWrapper . classList . add ( styles . max ) ;
212
+ maxWrapper . style . top = `${ ( i / this . settings . enabledMetrics . length ) * 100 } %` ;
213
+ const maxLabel = document . createElement ( 'span' ) ;
214
+ maxWrapper . classList . add ( styles . maxLabel ) ;
215
+ maxLabel . innerText = `${ metric . short ( ) } ` ;
216
+ const maxValue = document . createElement ( 'span' ) ;
217
+ maxValue . innerText = metric . format ( metric . maxY ) ;
218
+ maxWrapper . appendChild ( maxLabel ) ;
219
+ maxWrapper . appendChild ( maxValue ) ;
220
+ maxContainer . appendChild ( maxWrapper ) ;
221
+
222
+ this . valElements . push ( [ metric , { max : maxValue , val } ] ) ;
208
223
}
209
224
}
210
225
}
0 commit comments