Skip to content

Commit f273170

Browse files
author
Matthew Marcus
committed
Feature: Allow for placeholder for "falsey" value prop
1 parent 2a5b20d commit f273170

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/DateTimePicker.jsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export default class DateTimePicker extends Component {
2929
onChange: PropTypes.func,
3030
onFocus: PropTypes.func,
3131
disabled: PropTypes.bool,
32+
placeholder: PropTypes.string,
3233

3334
// styles
3435
className: PropTypes.string,
@@ -62,7 +63,7 @@ export default class DateTimePicker extends Component {
6263
}
6364

6465
static defaultProps = {
65-
value: new Date(),
66+
value: undefined,
6667
okLabel: 'OK',
6768
minDate: undefined,
6869
maxDate: undefined,
@@ -78,6 +79,7 @@ export default class DateTimePicker extends Component {
7879
hideCalendarDate: false,
7980
firstDayOfWeek: 1,
8081
disabled: false,
82+
placeholder: undefined,
8183

8284
timeFormat: 'ampm',
8385
autoOkTimePicker: false,
@@ -145,7 +147,7 @@ export default class DateTimePicker extends Component {
145147
const { dateTime } = this.state;
146148
const defaultTime = this.props.showCurrentDateByDefault
147149
? moment().format(this.props.format)
148-
: '';
150+
: this.props.placeholder || '';
149151

150152
return dateTime
151153
? dateTime.format(this.props.format)
@@ -200,16 +202,19 @@ export default class DateTimePicker extends Component {
200202
datePickerMode, disableYearSelection, shouldDisableDate,
201203
hideCalendarDate, openToYearSelection, timePickerBodyStyle,
202204
okLabel, autoOkTimePicker, timePickerDialogStyle, clearIconStyle, style, textFieldStyle,
203-
minutesStep, timePickerDelay,
204-
showCurrentDateByDefault, returnMomentDate,
205+
minutesStep,
206+
timePickerDelay,
207+
showCurrentDateByDefault,
208+
returnMomentDate,
205209
DatePicker, TimePicker,
206-
onChange, onFocus,
210+
// onChange, onFocus,
207211
onTimePickerShow,
208212
onDatePickerShow,
209213
onDatePickerDismiss,
210214
onDateSelected,
211215
onTimeSelected,
212216
disabled,
217+
placeholder,
213218
value,
214219
...other
215220
} = this.props;
@@ -220,7 +225,7 @@ export default class DateTimePicker extends Component {
220225
onFocus={this.handleFocus}
221226
className={textFieldClassName}
222227
onClick={this.openDatePicker}
223-
value={this.getDisplayTime()}
228+
value={value ? this.getDisplayTime() : placeholder}
224229
style={{ ...styles.textField, ...textFieldStyle }}
225230
disabled={disabled}
226231
{...other}

0 commit comments

Comments
 (0)