UNPKG

@gem-mine/rmc-calendar

Version:

React Mobile Calendar Component(web and react-native)

143 lines (118 loc) 5.07 kB
'use strict'; exports.__esModule = true; var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var React = _interopRequireWildcard(_react); var _util = require('../util'); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var ConfirmPanel = function (_React$PureComponent) { (0, _inherits3['default'])(ConfirmPanel, _React$PureComponent); function ConfirmPanel() { (0, _classCallCheck3['default'])(this, ConfirmPanel); var _this = (0, _possibleConstructorReturn3['default'])(this, _React$PureComponent.apply(this, arguments)); _this.onOk = function () { var _this$props = _this.props, onOk = _this$props.onOk, disableBtn = _this$props.disableBtn; !disableBtn && onOk(); }; _this.onCancel = function () { var onCancel = _this.props.onCancel; onCancel && onCancel(); }; return _this; } ConfirmPanel.prototype.formatDate = function formatDate(date) { var _props = this.props, _props$formatStr = _props.formatStr, formatStr = _props$formatStr === undefined ? '' : _props$formatStr, locale = _props.locale; return (0, _util.formatDate)(date, formatStr, locale); }; ConfirmPanel.prototype.render = function render() { var _props2 = this.props, type = _props2.type, locale = _props2.locale, disableBtn = _props2.disableBtn, renderConfirm = _props2.renderConfirm; var _props3 = this.props, startDateTime = _props3.startDateTime, endDateTime = _props3.endDateTime; if (startDateTime && endDateTime && +startDateTime > +endDateTime) { var tmp = startDateTime; startDateTime = endDateTime; endDateTime = tmp; } var confirmConfig = null; if (renderConfirm) { confirmConfig = renderConfirm({ startDateTime: startDateTime, endDateTime: endDateTime, onOk: this.onOk, onCancel: this.onCancel }); if (confirmConfig.render) { return React.createElement( 'div', { className: 'confirm-panel' }, confirmConfig.render() ); } } var startTimeStr = startDateTime ? this.formatDate(startDateTime) : locale.noChoose; var endTimeStr = endDateTime ? this.formatDate(endDateTime) : locale.noChoose; var btnCls = disableBtn ? 'button button-disable' : 'button confirm'; var btnCancelCls = 'button'; if (type === 'one' || confirmConfig && confirmConfig.hideStartEnd) { btnCls += ' button-full'; btnCancelCls += ' button-full'; } return React.createElement( 'div', { className: 'confirm-panel' }, type === 'range' && (!confirmConfig || !confirmConfig.hideStartEnd) && React.createElement( 'div', { className: 'info' }, React.createElement( 'p', null, locale.start, ': ', React.createElement( 'span', { className: !startDateTime ? 'grey' : '' }, startTimeStr ) ), React.createElement( 'p', null, locale.end, ': ', React.createElement( 'span', { className: !endDateTime ? 'grey' : '' }, endTimeStr ) ) ), React.createElement( 'div', { className: btnCancelCls, onClick: this.onCancel }, locale.cancel ), React.createElement( 'div', { className: btnCls, onClick: this.onOk }, locale.confirm ) ); }; return ConfirmPanel; }(React.PureComponent); exports['default'] = ConfirmPanel; ConfirmPanel.defaultProps = { formatStr: 'yyyy-MM-dd hh:mm' }; module.exports = exports['default'];