@@ -183,15 +183,28 @@ return /******/ (function(modules) { // webpackBootstrap
183
183
var _this$props = _this.props;
184
184
var defaultDate = _this$props.defaultDate;
185
185
var icons = _this$props.icons;
186
+ var mode = _this$props.mode;
186
187
var tooltips = _this$props.tooltips;
187
188
var useCurrent = _this$props.useCurrent;
188
189
var viewMode = _this$props.viewMode;
189
190
190
191
_this.icons = Object.assign({}, defaultIcons, icons);
191
192
_this.tooltips = Object.assign({}, tooltips, defaultTooltips);
192
193
194
+ var dateTime = (0, _moment2.default)();
195
+
196
+ if (defaultDate) {
197
+ if (mode === _config.MODE_DATE) {
198
+ dateTime = (0, _moment2.default)(defaultDate).startOf("day");
199
+ } else {
200
+ dateTime = (0, _moment2.default)(defaultDate);
201
+ }
202
+ } else if (mode === _config.MODE_DATE) {
203
+ dateTime = (0, _moment2.default)().startOf("day");
204
+ }
205
+
193
206
_this.state = Object.assign({}, _this.state, {
194
- dateTime: defaultDate ? (0, _moment2.default)(defaultDate) : (0, _moment2.default)() ,
207
+ dateTime: dateTime ,
195
208
selected: defaultDate || useCurrent,
196
209
viewMode: _this.state.viewMode || viewMode
197
210
});
@@ -203,11 +216,8 @@ return /******/ (function(modules) { // webpackBootstrap
203
216
/*
204
217
extraFormats : React.PropTypes.any,
205
218
calendarWeeks : React.PropTypes.any,
206
- keepOpen : React.PropTypes.any,
207
219
keepInvalid : React.PropTypes.any,
208
- debug : React.PropTypes.any,
209
220
disabledTimeIntervals : React.PropTypes.any,
210
- focusOnShow : React.PropTypes.any,
211
221
enabledHours : React.PropTypes.any,
212
222
disabledHours : React.PropTypes.any
213
223
*/
@@ -276,9 +286,12 @@ return /******/ (function(modules) { // webpackBootstrap
276
286
var inline = _props.inline;
277
287
var inputFormat = _props.inputFormat;
278
288
var mode = _props.mode;
289
+ var placeholder = _props.placeholder;
279
290
var size = _props.size;
280
291
var widgetParent = _props.widgetParent;
281
- var selected = this.state.selected;
292
+ var _state3 = this.state;
293
+ var dateTime = _state3.dateTime;
294
+ var selected = _state3.selected;
282
295
283
296
var displayFormat = inputFormat;
284
297
@@ -297,7 +310,7 @@ return /******/ (function(modules) { // webpackBootstrap
297
310
}
298
311
}
299
312
300
- var inputValue = selected ? (0, _moment2.default)(this.state.dateTime).format(displayFormat) : null ;
313
+ var inputValue = selected ? (0, _moment2.default)(this.state.dateTime).format(displayFormat) : placeholder ;
301
314
302
315
var picker = undefined;
303
316
@@ -315,6 +328,8 @@ return /******/ (function(modules) { // webpackBootstrap
315
328
icons: this.icons,
316
329
bsSize: bsSize || size,
317
330
value: inputValue,
331
+ selected: selected,
332
+ dateTime: dateTime,
318
333
container: widgetParent,
319
334
onChange: this.onChangeInput,
320
335
onClickToday: this.onClickToday,
@@ -340,20 +355,24 @@ return /******/ (function(modules) { // webpackBootstrap
340
355
dateTime: (0, _reactPropTypes.deprecated)(_react2.default.PropTypes.string, "Use \"value\" instead"),
341
356
dayViewHeaderFormat: _react2.default.PropTypes.string,
342
357
daysOfWeekDisabled: _react2.default.PropTypes.arrayOf(_react2.default.PropTypes.number),
358
+ debug: _react2.default.PropTypes.bool,
343
359
defaultDate: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.number, _react2.default.PropTypes.string, _react2.default.PropTypes.instanceOf(Date), _reactMomentProptypes2.default.momentObj]),
344
360
disabledDates: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.bool, _react2.default.PropTypes.arrayOf(_react2.default.PropTypes.oneOfType([_react2.default.PropTypes.number, _react2.default.PropTypes.string, _react2.default.PropTypes.instanceOf(Date), _reactMomentProptypes2.default.momentObj]))]),
345
361
enabledDates: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.bool, _react2.default.PropTypes.arrayOf(_react2.default.PropTypes.oneOfType([_react2.default.PropTypes.number, _react2.default.PropTypes.string, _react2.default.PropTypes.instanceOf(Date), _reactMomentProptypes2.default.momentObj]))]),
362
+ focusOnShow: _react2.default.PropTypes.bool,
346
363
format: _react2.default.PropTypes.string,
347
364
icon: _react2.default.PropTypes.bool,
348
365
icons: _react2.default.PropTypes.objectOf(_react2.default.PropTypes.string),
349
366
inline: _react2.default.PropTypes.bool,
350
367
inputFormat: _react2.default.PropTypes.string,
351
368
inputProps: _react2.default.PropTypes.object,
369
+ keepOpen: _react2.default.PropTypes.bool,
352
370
locale: _react2.default.PropTypes.string,
353
371
maxDate: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.number, _react2.default.PropTypes.string, _react2.default.PropTypes.instanceOf(Date), _reactMomentProptypes2.default.momentObj]),
354
372
minDate: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.number, _react2.default.PropTypes.string, _react2.default.PropTypes.instanceOf(Date), _reactMomentProptypes2.default.momentObj]),
355
373
mode: _react2.default.PropTypes.oneOf([_config.MODE_DATE, _config.MODE_TIME, _config.MODE_DATETIME]),
356
374
onChange: _react2.default.PropTypes.func,
375
+ placeholder: _react2.default.PropTypes.string,
357
376
showClear: _react2.default.PropTypes.bool,
358
377
showClose: _react2.default.PropTypes.bool,
359
378
showToday: _react2.default.PropTypes.bool,
@@ -374,6 +393,7 @@ return /******/ (function(modules) { // webpackBootstrap
374
393
dayViewHeaderFormat: _config.DEFAULT_DAY_VIEW_HEADER,
375
394
disabledDates: false,
376
395
enabledDates: false,
396
+ focusOnShow: true,
377
397
format: _config.DEFAULT_FORMAT,
378
398
icon: true,
379
399
icons: {},
@@ -393,7 +413,6 @@ return /******/ (function(modules) { // webpackBootstrap
393
413
var _this2 = this;
394
414
395
415
this.state = {
396
- show: false,
397
416
view: _config.VIEW_DATE
398
417
};
399
418
this.icons = {};
@@ -36249,6 +36268,10 @@ return /******/ (function(modules) { // webpackBootstrap
36249
36268
36250
36269
var _reactPropTypes = __webpack_require__(278);
36251
36270
36271
+ var _reactMomentProptypes = __webpack_require__(178);
36272
+
36273
+ var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
36274
+
36252
36275
var _fade = __webpack_require__(356);
36253
36276
36254
36277
var _fade2 = _interopRequireDefault(_fade);
@@ -36269,6 +36292,12 @@ return /******/ (function(modules) { // webpackBootstrap
36269
36292
36270
36293
var _vertical2 = _interopRequireDefault(_vertical);
36271
36294
36295
+ var _config = __webpack_require__(296);
36296
+
36297
+ var _moment = __webpack_require__(179);
36298
+
36299
+ var _moment2 = _interopRequireDefault(_moment);
36300
+
36272
36301
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36273
36302
36274
36303
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -36307,12 +36336,28 @@ return /******/ (function(modules) { // webpackBootstrap
36307
36336
}
36308
36337
36309
36338
_createClass(DateTimePickerLayoutInput, [{
36339
+ key: "componentWillReceiveProps",
36340
+ value: function componentWillReceiveProps(props) {
36341
+ var show = this.state.show;
36342
+ var mode = props.mode;
36343
+ var keepOpen = props.keepOpen;
36344
+ var dateTime = props.dateTime;
36345
+ var selected = props.selected;
36346
+
36347
+ var dayChanged = (0, _moment2.default)(this.props.dateTime).date() !== (0, _moment2.default)(dateTime).date();
36348
+
36349
+ if (show && selected && dayChanged && !keepOpen && mode === _config.MODE_DATE) {
36350
+ this.setState({ show: false });
36351
+ }
36352
+ }
36353
+ }, {
36310
36354
key: "render",
36311
36355
value: function render() {
36312
36356
var _this2 = this;
36313
36357
36314
36358
var _props = this.props;
36315
36359
var container = _props.container;
36360
+ var debug = _props.debug;
36316
36361
var sideBySide = _props.sideBySide;
36317
36362
var show = this.state.show;
36318
36363
@@ -36333,13 +36378,14 @@ return /******/ (function(modules) { // webpackBootstrap
36333
36378
"div",
36334
36379
{ style: { position: "relative" } },
36335
36380
_react2.default.createElement(_input2.default, _extends({}, this.props, {
36381
+ show: show,
36336
36382
ref: "input",
36337
36383
onClick: this.onClickInput })),
36338
36384
_react2.default.createElement(
36339
36385
_reactOverlays.Overlay,
36340
36386
{ placement: "bottom",
36341
36387
show: show,
36342
- rootClose: true ,
36388
+ rootClose: !debug ,
36343
36389
transition: _fade2.default,
36344
36390
onHide: this.onHidePopup,
36345
36391
container: container,
@@ -36363,6 +36409,8 @@ return /******/ (function(modules) { // webpackBootstrap
36363
36409
bsSize: _react2.default.PropTypes.string,
36364
36410
container: _reactPropTypes.mountable,
36365
36411
datePicker: _react2.default.PropTypes.node,
36412
+ dateTime: _reactMomentProptypes2.default.momentObj,
36413
+ debug: _react2.default.PropTypes.bool,
36366
36414
icon: _react2.default.PropTypes.bool,
36367
36415
icons: _react2.default.PropTypes.object,
36368
36416
sideBySide: _react2.default.PropTypes.bool,
@@ -39971,6 +40019,8 @@ return /******/ (function(modules) { // webpackBootstrap
39971
40019
39972
40020
var _react2 = _interopRequireDefault(_react);
39973
40021
40022
+ var _reactDom = __webpack_require__(303);
40023
+
39974
40024
var _classnames = __webpack_require__(289);
39975
40025
39976
40026
var _classnames2 = _interopRequireDefault(_classnames);
@@ -40019,15 +40069,28 @@ return /******/ (function(modules) { // webpackBootstrap
40019
40069
}
40020
40070
40021
40071
_createClass(DateTimePickerInput, [{
40072
+ key: "componentDidUpdate",
40073
+ value: function componentDidUpdate() {
40074
+ var _props = this.props;
40075
+ var focusOnShow = _props.focusOnShow;
40076
+ var show = _props.show;
40077
+
40078
+ var input = (0, _reactDom.findDOMNode)(this.refs.input);
40079
+
40080
+ if (show && focusOnShow && input) {
40081
+ input.focus();
40082
+ }
40083
+ }
40084
+ }, {
40022
40085
key: "render",
40023
40086
value: function render() {
40024
- var _props = this.props;
40025
- var bsSize = _props .bsSize;
40026
- var icons = _props .icons;
40027
- var inputProps = _props .inputProps;
40028
- var mode = _props .mode;
40029
- var onClick = _props .onClick;
40030
- var value = _props .value;
40087
+ var _props2 = this.props;
40088
+ var bsSize = _props2 .bsSize;
40089
+ var icons = _props2 .icons;
40090
+ var inputProps = _props2 .inputProps;
40091
+ var mode = _props2 .mode;
40092
+ var onClick = _props2 .onClick;
40093
+ var value = _props2 .value;
40031
40094
40032
40095
var classes = (0, _classnames2.default)("input-group", "date", _defineProperty({}, "input-group-" + bsSize, bsSize));
40033
40096
@@ -40057,12 +40120,14 @@ return /******/ (function(modules) { // webpackBootstrap
40057
40120
40058
40121
DateTimePickerInput.propTypes = {
40059
40122
bsSize: _react2.default.PropTypes.string,
40123
+ focusOnShow: _react2.default.PropTypes.bool,
40060
40124
icon: _react2.default.PropTypes.bool,
40061
40125
icons: _react2.default.PropTypes.object,
40062
40126
inputProps: _react2.default.PropTypes.object,
40063
40127
mode: _react2.default.PropTypes.string,
40064
40128
onChange: _react2.default.PropTypes.func,
40065
40129
onClick: _react2.default.PropTypes.func,
40130
+ show: _react2.default.PropTypes.bool,
40066
40131
value: _react2.default.PropTypes.string
40067
40132
};
40068
40133
exports.default = DateTimePickerInput;
0 commit comments