hourOptions: PropTypes.array,
minuteOptions: PropTypes.array,
secondOptions: PropTypes.array,
+ disabledHours: PropTypes.array,
+ disabledMinutes: PropTypes.array,
+ disabledSeconds: PropTypes.array,
onChange: PropTypes.func,
onClear: PropTypes.func,
onEsc: PropTypes.func,
str,
});
let value = null;
- const {formatter, gregorianCalendarLocale, hourOptions, minuteOptions, secondOptions, onChange, allowEmpty} = this.props;
+ const {formatter, gregorianCalendarLocale, hourOptions, minuteOptions, secondOptions, disabledHours, disabledMinutes, disabledSeconds, onChange, allowEmpty} = this.props;
if (str) {
const originalValue = this.props.value;
}
if (value) {
+ // if time value not allowed, response warning.
if (
hourOptions.indexOf(value.getHourOfDay()) < 0 ||
minuteOptions.indexOf(value.getMinutes()) < 0 ||
return;
}
+ // if time value is disabled, response warning.
+ if (
+ (disabledHours && disabledHours.indexOf(value.getHourOfDay()) >= 0) ||
+ (disabledMinutes && disabledMinutes.indexOf(value.getMinutes()) >= 0) ||
+ (disabledSeconds && disabledSeconds.indexOf(value.getSeconds()) >= 0)
+ ) {
+ this.setState({
+ invalid: true,
+ });
+ return;
+ }
+
if (originalValue && value) {
if (
originalValue.getHourOfDay() !== value.getHourOfDay() ||