@@ -12,31 +12,14 @@ import { notify } from './utils/helpers';
1212import { navigate , views } from './utils/constants' ;
1313import dates from './utils/dates' ;
1414import 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' ;
2018import Toolbar from './Toolbar' ;
2119
2220import omit from 'lodash/object/omit' ;
2321import defaults from 'lodash/object/defaults' ;
2422
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-
4023function viewNames ( _views ) {
4124 return ! Array . isArray ( _views ) ? Object . keys ( _views ) : _views
4225}
@@ -232,18 +215,9 @@ let Calendar = React.createClass({
232215 formats = defaultFormats ( formats )
233216
234217 let View = VIEWS [ view ] ;
235- let headerSingle = view === views . MONTH || view === views . DAY
236-
218+ let label = viewLabel ( current , view , formats , culture )
237219 let names = viewNames ( this . props . views )
238220
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-
247221 let elementProps = omit ( this . props , Object . keys ( Calendar . propTypes ) )
248222
249223 let viewComponents = defaults (
@@ -286,16 +260,7 @@ let Calendar = React.createClass({
286260 _navigate ( action , newDate ) {
287261 let { view, date, onNavigate } = this . props ;
288262
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 )
299264
300265 onNavigate ( date , view )
301266
0 commit comments