From 37c36c09e0a4d693a2ec5623ff2ebc8d9ee16a06 Mon Sep 17 00:00:00 2001 From: afc163 Date: Fri, 11 Nov 2016 13:55:55 +0800 Subject: Add showMinute --- src/Combobox.jsx | 6 +++++- src/Panel.jsx | 4 +++- src/TimePicker.jsx | 19 ++++++++++--------- 3 files changed, 18 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/Combobox.jsx b/src/Combobox.jsx index 9d9da16..013617c 100644 --- a/src/Combobox.jsx +++ b/src/Combobox.jsx @@ -26,6 +26,7 @@ const Combobox = React.createClass({ value: PropTypes.object, onChange: PropTypes.func, showHour: PropTypes.bool, + showMinute: PropTypes.bool, showSecond: PropTypes.bool, hourOptions: PropTypes.array, minuteOptions: PropTypes.array, @@ -73,7 +74,10 @@ const Combobox = React.createClass({ }, getMinuteSelect(minute) { - const { prefixCls, minuteOptions, disabledMinutes, defaultOpenValue } = this.props; + const { prefixCls, minuteOptions, disabledMinutes, defaultOpenValue, showMinute } = this.props; + if (!showMinute) { + return null; + } const value = this.props.value || defaultOpenValue; const disabledOptions = disabledMinutes(value.hour()); diff --git a/src/Panel.jsx b/src/Panel.jsx index 0ed60e9..fddea1c 100644 --- a/src/Panel.jsx +++ b/src/Panel.jsx @@ -34,6 +34,7 @@ const Panel = React.createClass({ onEsc: PropTypes.func, allowEmpty: PropTypes.bool, showHour: PropTypes.bool, + showMinute: PropTypes.bool, showSecond: PropTypes.bool, onClear: PropTypes.func, addon: PropTypes.func, @@ -88,7 +89,7 @@ const Panel = React.createClass({ render() { const { prefixCls, className, placeholder, disabledHours, disabledMinutes, - disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showSecond, + disabledSeconds, hideDisabledOptions, allowEmpty, showHour, showMinute, showSecond, format, defaultOpenValue, clearText, onEsc, addon, } = this.props; const { @@ -130,6 +131,7 @@ const Panel = React.createClass({ format={format} onChange={this.onChange} showHour={showHour} + showMinute={showMinute} showSecond={showSecond} hourOptions={hourOptions} minuteOptions={minuteOptions} diff --git a/src/TimePicker.jsx b/src/TimePicker.jsx index 99d1008..e9f18a9 100644 --- a/src/TimePicker.jsx +++ b/src/TimePicker.jsx @@ -29,6 +29,7 @@ const Picker = React.createClass({ placeholder: PropTypes.string, format: PropTypes.string, showHour: PropTypes.bool, + showMinute: PropTypes.bool, showSecond: PropTypes.bool, style: PropTypes.object, className: PropTypes.string, @@ -53,6 +54,7 @@ const Picker = React.createClass({ defaultOpenValue: moment(), allowEmpty: true, showHour: true, + showMinute: true, showSecond: true, disabledHours: noop, disabledMinutes: noop, @@ -121,24 +123,22 @@ const Picker = React.createClass({ }, getFormat() { - const format = this.props.format; + const { format, showHour, showMinute, showSecond } = this.props; if (format) { return format; } - if (!this.props.showSecond) { - return 'HH:mm'; - } - if (!this.props.showHour) { - return 'mm:ss'; - } - return 'HH:mm:ss'; + return [ + showHour ? 'HH' : '', + showMinute ? 'mm' : '', + showSecond ? 'ss' : '', + ].filter(item => !!item).join(':'); }, getPanelElement() { const { prefixCls, placeholder, disabledHours, disabledMinutes, disabledSeconds, hideDisabledOptions, - allowEmpty, showHour, showSecond, defaultOpenValue, clearText, + allowEmpty, showHour, showMinute, showSecond, defaultOpenValue, clearText, addon, } = this.props; return ( @@ -151,6 +151,7 @@ const Picker = React.createClass({ onClear={this.onPanelClear} defaultOpenValue={defaultOpenValue} showHour={showHour} + showMinute={showMinute} showSecond={showSecond} onEsc={this.onEsc} allowEmpty={allowEmpty} -- cgit v1.2.3