@@ -25,27 +25,27 @@ export default class XAxisUtil {
25
25
const totalMonths = totalDays / 30 ;
26
26
27
27
28
- if ( totalSeconds <= 200 ) return XAxisPrecision . EVERY_SECOND ;
29
- if ( totalSeconds <= 1000 ) return XAxisPrecision . EVERY_FIVE_SECONDS ;
30
- if ( totalSeconds <= 2000 ) return XAxisPrecision . EVERY_TEN_SECONDS ;
31
- if ( totalSeconds <= 6000 ) return XAxisPrecision . EVERY_THIRTY_SECONDS ;
32
- if ( totalMinutes <= 200 ) return XAxisPrecision . EVERY_MINUTE ;
33
- if ( totalMinutes <= 1000 ) return XAxisPrecision . EVERY_FIVE_MINUTES ;
34
- if ( totalMinutes <= 2000 ) return XAxisPrecision . EVERY_TEN_MINUTES ;
35
- if ( totalMinutes <= 6000 ) return XAxisPrecision . EVERY_THIRTY_MINUTES ;
36
- if ( totalHours <= 200 ) return XAxisPrecision . EVERY_HOUR ;
37
- if ( totalHours <= 400 ) return XAxisPrecision . EVERY_TWO_HOURS ;
38
- if ( totalHours <= 600 ) return XAxisPrecision . EVERY_THREE_HOURS ;
39
- if ( totalHours <= 1200 ) return XAxisPrecision . EVERY_SIX_HOURS ;
40
- if ( totalHours <= 2400 ) return XAxisPrecision . EVERY_TWELVE_HOURS ;
41
- if ( totalDays <= 200 ) return XAxisPrecision . EVERY_DAY ;
42
- if ( totalDays <= 400 ) return XAxisPrecision . EVERY_TWO_DAYS ;
43
- if ( totalWeeks <= 200 ) return XAxisPrecision . EVERY_WEEK ;
44
- if ( totalWeeks <= 400 ) return XAxisPrecision . EVERY_TWO_WEEKS ;
45
- if ( totalMonths <= 200 ) return XAxisPrecision . EVERY_MONTH ;
46
- if ( totalMonths <= 400 ) return XAxisPrecision . EVERY_TWO_MONTHS ;
47
- if ( totalMonths <= 600 ) return XAxisPrecision . EVERY_THREE_MONTHS ;
48
- if ( totalMonths <= 1200 ) return XAxisPrecision . EVERY_SIX_MONTHS ;
28
+ if ( totalSeconds <= 50 ) return XAxisPrecision . EVERY_SECOND ;
29
+ if ( totalSeconds <= 250 ) return XAxisPrecision . EVERY_FIVE_SECONDS ;
30
+ if ( totalSeconds <= 500 ) return XAxisPrecision . EVERY_TEN_SECONDS ;
31
+ if ( totalSeconds <= 1500 ) return XAxisPrecision . EVERY_THIRTY_SECONDS ;
32
+ if ( totalMinutes <= 50 ) return XAxisPrecision . EVERY_MINUTE ;
33
+ if ( totalMinutes <= 250 ) return XAxisPrecision . EVERY_FIVE_MINUTES ;
34
+ if ( totalMinutes <= 500 ) return XAxisPrecision . EVERY_TEN_MINUTES ;
35
+ if ( totalMinutes <= 1500 ) return XAxisPrecision . EVERY_THIRTY_MINUTES ;
36
+ if ( totalHours <= 50 ) return XAxisPrecision . EVERY_HOUR ;
37
+ if ( totalHours <= 100 ) return XAxisPrecision . EVERY_TWO_HOURS ;
38
+ if ( totalHours <= 150 ) return XAxisPrecision . EVERY_THREE_HOURS ;
39
+ if ( totalHours <= 300 ) return XAxisPrecision . EVERY_SIX_HOURS ;
40
+ if ( totalHours <= 600 ) return XAxisPrecision . EVERY_TWELVE_HOURS ;
41
+ if ( totalDays <= 50 ) return XAxisPrecision . EVERY_DAY ;
42
+ if ( totalDays <= 100 ) return XAxisPrecision . EVERY_TWO_DAYS ;
43
+ if ( totalWeeks <= 50 ) return XAxisPrecision . EVERY_WEEK ;
44
+ if ( totalWeeks <= 100 ) return XAxisPrecision . EVERY_TWO_WEEKS ;
45
+ if ( totalMonths <= 50 ) return XAxisPrecision . EVERY_MONTH ;
46
+ if ( totalMonths <= 100 ) return XAxisPrecision . EVERY_TWO_MONTHS ;
47
+ if ( totalMonths <= 150 ) return XAxisPrecision . EVERY_THREE_MONTHS ;
48
+ if ( totalMonths <= 300 ) return XAxisPrecision . EVERY_SIX_MONTHS ;
49
49
return XAxisPrecision . EVERY_YEAR ;
50
50
51
51
}
@@ -55,21 +55,21 @@ export default class XAxisUtil {
55
55
xAxisMax : XAxisMaxMin ,
56
56
} ) : Array < Date > {
57
57
const precision : XAxisPrecision = XAxisUtil . getPrecision ( data ) ;
58
-
58
+
59
59
if ( typeof data . xAxisMax === "number" || typeof data . xAxisMin === "number" ) {
60
60
// number not yet supported.
61
61
throw new NotImplementedException ( ) ;
62
62
}
63
-
63
+
64
64
const startDate : Date = new Date ( data . xAxisMin ) ;
65
65
const endDate : Date = new Date ( data . xAxisMax ) ;
66
66
const intervals : Array < Date > = [ ] ;
67
-
67
+
68
68
let currentDate = startDate ;
69
-
69
+
70
70
while ( currentDate <= endDate ) {
71
71
intervals . push ( new Date ( currentDate ) ) ;
72
-
72
+
73
73
switch ( precision ) {
74
74
case XAxisPrecision . EVERY_SECOND :
75
75
currentDate . setSeconds ( currentDate . getSeconds ( ) + 1 ) ;
@@ -139,7 +139,7 @@ export default class XAxisUtil {
139
139
break ;
140
140
}
141
141
}
142
-
142
+
143
143
return intervals ;
144
144
}
145
145
@@ -166,22 +166,40 @@ export default class XAxisUtil {
166
166
case XAxisPrecision . EVERY_THREE_HOURS :
167
167
case XAxisPrecision . EVERY_SIX_HOURS :
168
168
case XAxisPrecision . EVERY_TWELVE_HOURS :
169
- return ( value : Date ) => value . toISOString ( ) . substring ( 11 , 13 ) + ":00" ; // HH:00
169
+ return ( value : Date ) => {
170
+ const dateString = value . toISOString ( ) ;
171
+ const day = dateString . substring ( 8 , 10 ) ;
172
+ const month = value . toLocaleString ( 'default' , { month : 'short' } ) ;
173
+ const hour = dateString . substring ( 11 , 13 ) ;
174
+ return `${ day } ${ month } , ${ hour } :00` ;
175
+ } ; // DD MMM, HH:00
170
176
case XAxisPrecision . EVERY_DAY :
171
177
case XAxisPrecision . EVERY_TWO_DAYS :
172
- return ( value : Date ) => value . toISOString ( ) . substring ( 0 , 10 ) ; // YYYY-MM-DD
178
+ return ( value : Date ) => {
179
+ const dateString = value . toISOString ( ) ;
180
+ const day = dateString . substring ( 8 , 10 ) ;
181
+ const month = value . toLocaleString ( 'default' , { month : 'short' } ) ;
182
+ return `${ day } ${ month } ` ;
183
+ } ; // DD MMM
173
184
case XAxisPrecision . EVERY_WEEK :
174
185
case XAxisPrecision . EVERY_TWO_WEEKS :
175
186
return ( value : Date ) => {
176
- const startOfWeek = new Date ( value ) ;
177
- startOfWeek . setDate ( value . getDate ( ) - value . getDay ( ) ) ;
178
- return startOfWeek . toISOString ( ) . substring ( 0 , 10 ) ; // YYYY-MM-DD
179
- } ;
187
+ const dateString = value . toISOString ( ) ;
188
+ const day = dateString . substring ( 8 , 10 ) ;
189
+ const month = value . toLocaleString ( 'default' , { month : 'short' } ) ;
190
+ return `${ day } ${ month } ` ;
191
+ } ; // DD MMM
180
192
case XAxisPrecision . EVERY_MONTH :
181
193
case XAxisPrecision . EVERY_TWO_MONTHS :
182
194
case XAxisPrecision . EVERY_THREE_MONTHS :
183
195
case XAxisPrecision . EVERY_SIX_MONTHS :
184
- return ( value : Date ) => value . toISOString ( ) . substring ( 0 , 7 ) ; // YYYY-MM
196
+ return ( value : Date ) => {
197
+ const dateString = value . toISOString ( ) ;
198
+ const day = dateString . substring ( 8 , 10 ) ;
199
+ const year = dateString . substring ( 0 , 4 ) ;
200
+ const month = value . toLocaleString ( 'default' , { month : 'short' } ) ;
201
+ return `${ day } ${ month } ${ year } ` ;
202
+ } ; // DD MMM
185
203
case XAxisPrecision . EVERY_YEAR :
186
204
return ( value : Date ) => value . toISOString ( ) . substring ( 0 , 4 ) ; // YYYY
187
205
default :
0 commit comments