@@ -12,31 +12,14 @@ import { notify } from './utils/helpers';
12
12
import { navigate , views } from './utils/constants' ;
13
13
import dates from './utils/dates' ;
14
14
import defaultFormats from './formats' ;
15
-
16
- import Month from './Month' ;
17
- import Day from './Day' ;
18
- import Week from './Week' ;
19
- import Agenda from './Agenda' ;
15
+ import viewLabel from './utils/viewLabel' ;
16
+ import moveDate from './utils/move' ;
17
+ import VIEWS from './Views' ;
20
18
import Toolbar from './Toolbar' ;
21
19
22
20
import omit from 'lodash/object/omit' ;
23
21
import defaults from 'lodash/object/defaults' ;
24
22
25
- const VIEWS = {
26
- [ views . MONTH ] : Month ,
27
- [ views . WEEK ] : Week ,
28
- [ views . DAY ] : Day ,
29
- [ views . AGENDA ] : Agenda
30
- } ;
31
-
32
- const Formats = {
33
- [ views . MONTH ] : 'monthHeaderFormat' ,
34
- [ views . WEEK ] : 'dayRangeHeaderFormat' ,
35
- [ views . DAY ] : 'dayHeaderFormat' ,
36
- [ views . AGENDA ] : 'agendaHeaderFormat'
37
- }
38
-
39
-
40
23
function viewNames ( _views ) {
41
24
return ! Array . isArray ( _views ) ? Object . keys ( _views ) : _views
42
25
}
@@ -232,18 +215,9 @@ let Calendar = React.createClass({
232
215
formats = defaultFormats ( formats )
233
216
234
217
let View = VIEWS [ view ] ;
235
- let headerSingle = view === views . MONTH || view === views . DAY
236
-
218
+ let label = viewLabel ( current , view , formats , culture )
237
219
let names = viewNames ( this . props . views )
238
220
239
- let { start, end } = View . range ( current , this . props ) ;
240
-
241
- let headerFormat = formats [ Formats [ view ] ] ;
242
-
243
- let label = headerSingle
244
- ? localizer . format ( current , headerFormat , culture )
245
- : localizer . format ( { start, end } , headerFormat , culture )
246
-
247
221
let elementProps = omit ( this . props , Object . keys ( Calendar . propTypes ) )
248
222
249
223
let viewComponents = defaults (
@@ -286,16 +260,7 @@ let Calendar = React.createClass({
286
260
_navigate ( action , newDate ) {
287
261
let { view, date, onNavigate } = this . props ;
288
262
289
- switch ( action ) {
290
- case navigate . TODAY :
291
- date = new Date ( )
292
- break ;
293
- case navigate . DATE :
294
- date = newDate
295
- break ;
296
- default :
297
- date = VIEWS [ view ] . navigate ( newDate || date , action )
298
- }
263
+ date = moveDate ( action , newDate || date , view )
299
264
300
265
onNavigate ( date , view )
301
266
0 commit comments