@@ -13,6 +13,7 @@ var React = require('react'),
1313 Year = require ( './Year' ) ,
1414 Decade = require ( './Decade' ) ,
1515 Century = require ( './Century' ) ,
16+ localizers = require ( './util/configuration' ) . locale ,
1617 CustomPropTypes = require ( './util/propTypes' ) ,
1718 createUncontrolledWidget = require ( 'uncontrollable' ) ,
1819 SlideTransition = require ( './SlideTransition' ) ,
@@ -52,6 +53,10 @@ var MULTIPLIER = (_MULTIPLIER = {}, _MULTIPLIER[views.YEAR] = 1, _MULTIPLIER[vie
5253
5354var VIEW_FORMATS = ( _VIEW_FORMATS = { } , _VIEW_FORMATS [ views . MONTH ] = 'dateFormat' , _VIEW_FORMATS [ views . YEAR ] = 'monthFormat' , _VIEW_FORMATS [ views . DECADE ] = 'yearFormat' , _VIEW_FORMATS [ views . CENTURY ] = 'decadeFormat' , _VIEW_FORMATS ) ;
5455
56+ var format = function format ( props , f ) {
57+ return props [ f + 'Format' ] || localizers . date . formats [ f ] ;
58+ } ;
59+
5560var propTypes = {
5661
5762 onChange : React . PropTypes . func ,
@@ -77,15 +82,15 @@ var propTypes = {
7782
7883 footer : React . PropTypes . bool ,
7984
80- headerFormat : CustomPropTypes . localeFormat ,
81- footerFormat : CustomPropTypes . localeFormat ,
85+ headerFormat : CustomPropTypes . dateFormat ,
86+ footerFormat : CustomPropTypes . dateFormat ,
8287
83- dayFormat : CustomPropTypes . localeFormat ,
84- dateFormat : CustomPropTypes . localeFormat ,
85- monthFormat : CustomPropTypes . localeFormat ,
86- yearFormat : CustomPropTypes . localeFormat ,
87- decadeFormat : CustomPropTypes . localeFormat ,
88- centuryFormat : CustomPropTypes . localeFormat ,
88+ dayFormat : CustomPropTypes . dateFormat ,
89+ dateFormat : CustomPropTypes . dateFormat ,
90+ monthFormat : CustomPropTypes . dateFormat ,
91+ yearFormat : CustomPropTypes . dateFormat ,
92+ decadeFormat : CustomPropTypes . dateFormat ,
93+ centuryFormat : CustomPropTypes . dateFormat ,
8994
9095 messages : React . PropTypes . shape ( {
9196 moveBack : React . PropTypes . string ,
@@ -123,22 +128,6 @@ var Calendar = React.createClass({
123128 tabIndex : '0' ,
124129 footer : false ,
125130
126- headerFormat : dates . formats . MONTH_YEAR ,
127- footerFormat : dates . formats . FOOTER ,
128-
129- dayFormat : dates . shortDay ,
130- dateFormat : dates . formats . DAY_OF_MONTH ,
131- monthFormat : dates . formats . MONTH_NAME_ABRV ,
132- yearFormat : dates . formats . YEAR ,
133-
134- decadeFormat : function decadeFormat ( dt , culture ) {
135- return '' + dates . format ( dt , dates . formats . YEAR , culture ) + ' - ' + dates . format ( dates . endOf ( dt , 'decade' ) , dates . formats . YEAR , culture ) ;
136- } ,
137-
138- centuryFormat : function centuryFormat ( dt , culture ) {
139- return '' + dates . format ( dt , dates . formats . YEAR , culture ) + ' - ' + dates . format ( dates . endOf ( dt , 'century' ) , dates . formats . YEAR , culture ) ;
140- } ,
141-
142131 messages : msgs ( { } )
143132 } ;
144133 } ,
@@ -346,7 +335,7 @@ var Calendar = React.createClass({
346335 var view = this . state . view ;
347336 var dt = this . state . currentDate ;
348337
349- if ( view === 'month' ) return dates . format ( dt , props . headerFormat , culture ) ; else if ( view === 'year' ) return dates . format ( dt , props . yearFormat , culture ) ; else if ( view === 'decade' ) return dates . format ( dates . startOf ( dt , 'decade' ) , props . decadeFormat , culture ) ; else if ( view === 'century' ) return dates . format ( dates . startOf ( dt , 'century' ) , props . centuryFormat , culture ) ;
338+ if ( view === 'month' ) return localizers . date . format ( dt , format ( props , 'header' ) , culture ) ; else if ( view === 'year' ) return localizers . date . format ( dt , format ( props , 'year' ) , culture ) ; else if ( view === 'decade' ) return localizers . date . format ( dates . startOf ( dt , 'decade' ) , format ( props , 'decade' ) , culture ) ; else if ( view === 'century' ) return localizers . date . format ( dates . startOf ( dt , 'century' ) , format ( props , 'century' ) , culture ) ;
350339 } ,
351340
352341 inRangeValue : function inRangeValue ( _value ) {
@@ -377,22 +366,6 @@ function msgs(msgs) {
377366 moveForward : 'navigate forward' } , msgs ) ;
378367}
379368
380- function formats ( obj ) {
381- return babelHelpers . _extends ( {
382- headerFormat : dates . formats . MONTH_YEAR ,
383- dateFormat : dates . formats . DAY_OF_MONTH ,
384- monthFormat : dates . formats . MONTH_NAME_ABRV ,
385- yearFormat : dates . formats . YEAR ,
386-
387- decadeFormat : function decadeFormat ( dt , culture ) {
388- return '' + dates . format ( dt , dates . formats . YEAR , culture ) + ' - ' + dates . format ( dates . endOf ( dt , 'decade' ) , dates . formats . YEAR , culture ) ;
389- } ,
390-
391- centuryFormat : function centuryFormat ( dt , culture ) {
392- return '' + dates . format ( dt , dates . formats . YEAR , culture ) + ' - ' + dates . format ( dates . endOf ( dt , 'century' ) , dates . formats . YEAR , culture ) ;
393- } } , obj ) ;
394- }
395-
396369module . exports = createUncontrolledWidget ( Calendar , { value : 'onChange' } ) ;
397370
398371module . exports . BaseCalendar = Calendar ;
0 commit comments