-import React, {PropTypes} from 'react';
+import React, { PropTypes } from 'react';
import Trigger from 'rc-trigger';
import Panel from './module/Panel';
import placements from './util/placements';
import CommonMixin from './mixin/CommonMixin';
-import {getFormatter} from './util/index';
-import defaultGregorianCalendarLocale from 'gregorian-calendar/lib/locale/en_US';
+import { getFormatter } from './util/index';
function noop() {
}
placement: PropTypes.any,
transitionName: PropTypes.string,
getPopupContainer: PropTypes.func,
- gregorianCalendarLocale: PropTypes.object,
placeholder: PropTypes.string,
formatter: PropTypes.any,
showHour: PropTypes.bool,
getDefaultProps() {
return {
+ prefixCls: 'rc-time-picker',
defaultOpen: false,
style: {},
className: '',
- gregorianCalendarLocale: defaultGregorianCalendarLocale,
align: {},
allowEmpty: true,
showHour: true,
componentWillReceiveProps(nextProps) {
const { value, open } = nextProps;
- if (value !== undefined) {
+ if ('value' in nextProps) {
this.setState({
value,
});
}
if (open !== undefined) {
- this.setState({open});
+ this.setState({ open });
}
},
},
getPanelElement() {
- const { prefixCls, defaultValue, locale, placeholder, disabledHours, disabledMinutes, disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showSecond, gregorianCalendarLocale, value } = this.props;
- let calendarLocale;
- if (value) {
- calendarLocale = value.locale;
- } else if (defaultValue) {
- calendarLocale = defaultValue.locale;
- } else {
- calendarLocale = gregorianCalendarLocale;
- }
+ const {
+ prefixCls, defaultValue, locale, placeholder, disabledHours,
+ disabledMinutes, disabledSeconds, hideDisabledOptions,
+ allowEmpty, showHour, showSecond,
+ } = this.props;
return (
<Panel
prefixCls={`${prefixCls}-panel`}
ref={this.savePanelRef}
value={this.state.value}
onChange={this.onPanelChange}
- gregorianCalendarLocale={calendarLocale}
+ gregorianCalendarLocale={locale.calendar}
onClear={this.onPanelClear}
defaultValue={defaultValue}
showHour={showHour}
},
setOpen(open, callback) {
- const {onOpen, onClose} = this.props;
+ const { onOpen, onClose } = this.props;
if (this.state.open !== open) {
this.setState({
open,
onPopupVisibleChange={this.onVisibleChange}
>
<span className={`${prefixCls} ${className}`} style={style}>
- <input className={`${prefixCls}-input`}
- ref="picker" type="text" placeholder={placeholder}
- readOnly
- onKeyDown={this.onKeyDown}
- disabled={disabled} value={value && this.getFormatter().format(value)}/>
+ <input
+ className={`${prefixCls}-input`}
+ ref="picker" type="text" placeholder={placeholder}
+ readOnly
+ onKeyDown={this.onKeyDown}
+ disabled={disabled} value={value && this.getFormatter().format(value) || ''}
+ />
<span className={`${prefixCls}-icon`}/>
</span>
</Trigger>