@@ -50,6 +50,8 @@ export function getOption(data: DC.StaticData, config: DC.ChartConfig = {}) {
50
50
defaultMoreThanOneDay = time [ time . length - 1 ] - time [ 0 ] > 24 * 3600 * 1000 ;
51
51
}
52
52
const moreThanOneDay = isMoreThanOneDay || defaultMoreThanOneDay ;
53
+ const isLessOneMinute = time ?. length === 1 || ( time ?. [ time ?. length - 1 ] - time ?. [ 0 ] ) / ( time ?. length - 1 ) < 60 * 1000 ;
54
+
53
55
const convertInvalidValueToZero = ( dataList : any [ ] ) => {
54
56
return invalidToZero
55
57
? map ( dataList , ( item ) => ( typeof item === 'number' && item > 0 ? item : 0 ) )
@@ -155,8 +157,19 @@ export function getOption(data: DC.StaticData, config: DC.ChartConfig = {}) {
155
157
156
158
const brushFormatter = ( param : DC . BrushTooltip [ ] ) => {
157
159
const { value = '' , seriesName : _seriesName = '' , axisValue = '' } = param ?. [ 0 ] ;
160
+ const isOneBar = time ?. length === 1 ;
158
161
const timeGap = time ?. [ 1 ] - time ?. [ 0 ] ;
159
- return `${ textMap [ 'start time' ] } : ${ moment ( Number ( axisValue ) ) . format ( 'YYYY-MM-DD HH:mm:ss' ) } <br />${ textMap [ 'end time' ] } : ${ moment ( Number ( axisValue ) + Number ( timeGap ) ) . format ( 'YYYY-MM-DD HH:mm:ss' ) } <br />${ _seriesName } : ${ value } ` ;
162
+ return `${ textMap [ 'start time' ] } : ${ moment ( Number ( axisValue ) ) . format ( 'YYYY-MM-DD HH:mm:ss' ) } <br />${ textMap [ 'end time' ] } : ${ moment ( Number ( axisValue ) + Number ( isOneBar ? 0 : timeGap ) ) . format ( 'YYYY-MM-DD HH:mm:ss' ) } <br />${ _seriesName } : ${ value } ` ;
163
+ } ;
164
+
165
+ const axisLabelFormatter = ( ) => {
166
+ if ( moreThanOneDay ) {
167
+ if ( moreThanOneDayFormat ) {
168
+ return moreThanOneDayFormat ;
169
+ }
170
+ return isLessOneMinute ? 'M/D HH:mm:ss' : 'M/D HH:mm' ;
171
+ }
172
+ return isLessOneMinute ? 'HH:mm:ss' : 'HH:mm' ;
160
173
} ;
161
174
162
175
const computedOption = {
@@ -173,7 +186,7 @@ export function getOption(data: DC.StaticData, config: DC.ChartConfig = {}) {
173
186
axisLabel : {
174
187
formatter : xData
175
188
? ( value : string ) => value
176
- : ( value : string ) => moment ( Number ( value ) ) . format ( moreThanOneDay ? moreThanOneDayFormat || 'M/D HH:mm' : 'HH:mm' ) ,
189
+ : ( value : string ) => moment ( Number ( value ) ) . format ( axisLabelFormatter ( ) ) ,
177
190
} ,
178
191
} ,
179
192
] ,
@@ -194,13 +207,15 @@ export function getOption(data: DC.StaticData, config: DC.ChartConfig = {}) {
194
207
} ;
195
208
196
209
if ( useBrush ) {
197
- return merge ( getDefaultOption ( ) , computedOption , getCustomOption ( data , config ) , option ,
210
+ const canBrushOption = time ?. length > 1 ? { brush : {
211
+ toolbox : [ '' ] ,
212
+ throttleType : 'debounce' ,
213
+ throttleDelay : 300 ,
214
+ xAxisIndex : 0 ,
215
+ } } : { } ;
216
+
217
+ return merge ( getDefaultOption ( ) , computedOption , getCustomOption ( data , config ) , option , canBrushOption ,
198
218
{
199
- brush : {
200
- toolbox : [ '' ] ,
201
- throttleType : 'debounce' ,
202
- xAxisIndex : 0 ,
203
- } ,
204
219
series : [ {
205
220
itemStyle : {
206
221
color : '#6CB38B' ,
0 commit comments