1 | import _extends from 'babel-runtime/helpers/extends';
|
2 | import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
|
3 | import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
|
4 | import _inherits from 'babel-runtime/helpers/inherits';
|
5 | import React from 'react';
|
6 | import ReactDOM from 'react-dom';
|
7 | import PropTypes from 'prop-types';
|
8 | import toFragment from 'rc-util/es/Children/mapSelf';
|
9 | import cx from 'classnames';
|
10 | import TodayButton from '../calendar/TodayButton';
|
11 | import OkButton from '../calendar/OkButton';
|
12 | import TimePickerButton from '../calendar/TimePickerButton';
|
13 |
|
14 | var CalendarFooter = function (_React$Component) {
|
15 | _inherits(CalendarFooter, _React$Component);
|
16 |
|
17 | function CalendarFooter() {
|
18 | _classCallCheck(this, CalendarFooter);
|
19 |
|
20 | return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
|
21 | }
|
22 |
|
23 | CalendarFooter.prototype.onSelect = function onSelect(value) {
|
24 | this.props.onSelect(value);
|
25 | };
|
26 |
|
27 | CalendarFooter.prototype.getRootDOMNode = function getRootDOMNode() {
|
28 | return ReactDOM.findDOMNode(this);
|
29 | };
|
30 |
|
31 | CalendarFooter.prototype.render = function render() {
|
32 | var props = this.props;
|
33 | var value = props.value,
|
34 | prefixCls = props.prefixCls,
|
35 | showOk = props.showOk,
|
36 | timePicker = props.timePicker,
|
37 | renderFooter = props.renderFooter,
|
38 | mode = props.mode;
|
39 |
|
40 | var footerEl = null;
|
41 | var extraFooter = renderFooter && renderFooter(mode);
|
42 | if (props.showToday || timePicker || extraFooter) {
|
43 | var _cx;
|
44 |
|
45 | var nowEl = void 0;
|
46 | if (props.showToday) {
|
47 | nowEl = React.createElement(TodayButton, _extends({}, props, { value: value }));
|
48 | }
|
49 | var okBtn = void 0;
|
50 | if (showOk === true || showOk !== false && !!props.timePicker) {
|
51 | okBtn = React.createElement(OkButton, props);
|
52 | }
|
53 | var timePickerBtn = void 0;
|
54 | if (!!props.timePicker) {
|
55 | timePickerBtn = React.createElement(TimePickerButton, props);
|
56 | }
|
57 |
|
58 | var footerBtn = void 0;
|
59 | if (nowEl || timePickerBtn || okBtn || extraFooter) {
|
60 | footerBtn = React.createElement(
|
61 | 'span',
|
62 | { className: prefixCls + '-footer-btn' },
|
63 | extraFooter,
|
64 | toFragment([nowEl, timePickerBtn, okBtn])
|
65 | );
|
66 | }
|
67 | var cls = cx(prefixCls + '-footer', (_cx = {}, _cx[prefixCls + '-footer-show-ok'] = okBtn, _cx));
|
68 | footerEl = React.createElement(
|
69 | 'div',
|
70 | { className: cls },
|
71 | footerBtn
|
72 | );
|
73 | }
|
74 | return footerEl;
|
75 | };
|
76 |
|
77 | return CalendarFooter;
|
78 | }(React.Component);
|
79 |
|
80 | CalendarFooter.propTypes = {
|
81 | prefixCls: PropTypes.string,
|
82 | showDateInput: PropTypes.bool,
|
83 | disabledTime: PropTypes.any,
|
84 | timePicker: PropTypes.element,
|
85 | selectedValue: PropTypes.any,
|
86 | showOk: PropTypes.bool,
|
87 | onSelect: PropTypes.func,
|
88 | value: PropTypes.object,
|
89 | renderFooter: PropTypes.func,
|
90 | defaultValue: PropTypes.object,
|
91 | mode: PropTypes.string
|
92 | };
|
93 | export default CalendarFooter; |
\ | No newline at end of file |