1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
8 |
|
9 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
10 |
|
11 | var _createClass2 = require('babel-runtime/helpers/createClass');
|
12 |
|
13 | var _createClass3 = _interopRequireDefault(_createClass2);
|
14 |
|
15 | var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
16 |
|
17 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
18 |
|
19 | var _inherits2 = require('babel-runtime/helpers/inherits');
|
20 |
|
21 | var _inherits3 = _interopRequireDefault(_inherits2);
|
22 |
|
23 | var _react = require('react');
|
24 |
|
25 | var _react2 = _interopRequireDefault(_react);
|
26 |
|
27 | var _rmcDatePicker = require('rmc-date-picker');
|
28 |
|
29 | var _rmcDatePicker2 = _interopRequireDefault(_rmcDatePicker);
|
30 |
|
31 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
32 |
|
33 | var TimePicker = function (_React$PureComponent) {
|
34 | (0, _inherits3['default'])(TimePicker, _React$PureComponent);
|
35 |
|
36 | function TimePicker() {
|
37 | (0, _classCallCheck3['default'])(this, TimePicker);
|
38 |
|
39 | var _this = (0, _possibleConstructorReturn3['default'])(this, (TimePicker.__proto__ || Object.getPrototypeOf(TimePicker)).apply(this, arguments));
|
40 |
|
41 | _this.onDateChange = function (date) {
|
42 | var onValueChange = _this.props.onValueChange;
|
43 |
|
44 | onValueChange && onValueChange(date);
|
45 | };
|
46 | return _this;
|
47 | }
|
48 |
|
49 | (0, _createClass3['default'])(TimePicker, [{
|
50 | key: 'getMinTime',
|
51 | value: function getMinTime(date) {
|
52 | var minDate = this.props.minDate;
|
53 | if (!date || date.getFullYear() > minDate.getFullYear() || date.getMonth() > minDate.getMonth() || date.getDate() > minDate.getDate()) {
|
54 | return TimePicker.defaultProps.minDate;
|
55 | }
|
56 | return minDate;
|
57 | }
|
58 | }, {
|
59 | key: 'getMaxTime',
|
60 | value: function getMaxTime(date) {
|
61 | var maxDate = this.props.maxDate;
|
62 | if (!date || date.getFullYear() < maxDate.getFullYear() || date.getMonth() < maxDate.getMonth() || date.getDate() < maxDate.getDate()) {
|
63 | return TimePicker.defaultProps.maxDate;
|
64 | }
|
65 | return maxDate;
|
66 | }
|
67 | }, {
|
68 | key: 'render',
|
69 | value: function render() {
|
70 | var _props = this.props,
|
71 | locale = _props.locale,
|
72 | title = _props.title,
|
73 | value = _props.value,
|
74 | defaultValue = _props.defaultValue,
|
75 | prefixCls = _props.prefixCls,
|
76 | pickerPrefixCls = _props.pickerPrefixCls,
|
77 | clientHeight = _props.clientHeight;
|
78 |
|
79 | var date = value || defaultValue || undefined;
|
80 | var height = clientHeight && clientHeight * 3 / 8 - 52 || Number.POSITIVE_INFINITY;
|
81 | return _react2['default'].createElement(
|
82 | 'div',
|
83 | { className: 'time-picker' },
|
84 | _react2['default'].createElement(
|
85 | 'div',
|
86 | { className: 'title' },
|
87 | title
|
88 | ),
|
89 | _react2['default'].createElement(_rmcDatePicker2['default'], { prefixCls: prefixCls, pickerPrefixCls: pickerPrefixCls, style: {
|
90 | height: height > 164 || height < 0 ? 164 : height,
|
91 | overflow: 'hidden'
|
92 | }, mode: 'time', date: date, locale: locale, minDate: this.getMinTime(date), maxDate: this.getMaxTime(date), onDateChange: this.onDateChange, use12Hours: true })
|
93 | );
|
94 | }
|
95 | }]);
|
96 | return TimePicker;
|
97 | }(_react2['default'].PureComponent);
|
98 |
|
99 | exports['default'] = TimePicker;
|
100 |
|
101 | TimePicker.defaultProps = {
|
102 | minDate: new Date(0, 0, 0, 0, 0),
|
103 | maxDate: new Date(9999, 11, 31, 23, 59, 59),
|
104 | defaultValue: new Date(2000, 1, 1, 8)
|
105 | };
|
106 | module.exports = exports['default']; |
\ | No newline at end of file |