UNPKG

zent

Version:

一套前端设计语言和基于React的实现

165 lines (125 loc) 5.69 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); 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 _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _DateRangePicker = require('../datetimepicker/DateRangePicker'); var _DateRangePicker2 = _interopRequireDefault(_DateRangePicker); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _map = require('lodash/map'); var _map2 = _interopRequireDefault(_map); var _helper = require('./helper'); var Helper = _interopRequireWildcard(_helper); 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 DateRangeQuickPicker = function (_Component) { (0, _inherits3['default'])(DateRangeQuickPicker, _Component); function DateRangeQuickPicker() { var _ref; var _temp, _this, _ret; (0, _classCallCheck3['default'])(this, DateRangeQuickPicker); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, (_ref = DateRangeQuickPicker.__proto__ || Object.getPrototypeOf(DateRangeQuickPicker)).call.apply(_ref, [this].concat(args))), _this), _this.handleTimeChange = function (value) { var onChange = _this.props.onChange; onChange(value, 0); }, _this.handleChooseDays = function (num) { var _this$props = _this.props, format = _this$props.format, onChange = _this$props.onChange, valueType = _this$props.valueType; var value = Helper.calculateTime(format, num, valueType); onChange(value, num); }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret); } (0, _createClass3['default'])(DateRangeQuickPicker, [{ key: 'render', value: function render() { var _this2 = this; var _props = this.props, className = _props.className, format = _props.format, value = _props.value, chooseDays = _props.chooseDays, prefix = _props.prefix, preset = _props.preset, pickerProps = (0, _objectWithoutProperties3['default'])(_props, ['className', 'format', 'value', 'chooseDays', 'prefix', 'preset']); var showTime = format === 'YYYY-MM-DD'; return _react2['default'].createElement( 'div', { className: (0, _classnames2['default'])(prefix + '-date-range-picker', className) }, _react2['default'].createElement(_DateRangePicker2['default'], (0, _extends3['default'])({ type: 'split', value: value, onChange: this.handleTimeChange, format: format, showTime: !showTime }, pickerProps)), _react2['default'].createElement( 'div', { className: prefix + '-date-range-picker__filter' }, (0, _map2['default'])(preset, function (item, index) { return _react2['default'].createElement( 'span', { key: index, className: (0, _classnames2['default'])(prefix + '-date-range-picker__btn', { active: chooseDays === item.value }), onClick: _this2.handleChooseDays.bind(_this2, item.value) }, item.text ); }) ) ); } }]); return DateRangeQuickPicker; }(_react.Component); DateRangeQuickPicker.propTypes = { prefix: _propTypes2['default'].string, className: _propTypes2['default'].string, onChange: _propTypes2['default'].func.isRequired, value: _propTypes2['default'].array, valueType: _propTypes2['default'].oneOf(['date', 'number', 'string']), format: _propTypes2['default'].string, chooseDays: _propTypes2['default'].number, preset: _propTypes2['default'].array, min: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].number, _propTypes2['default'].instanceOf(Date)]), max: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].number, _propTypes2['default'].instanceOf(Date)]) }; DateRangeQuickPicker.defaultProps = { prefix: 'zent', className: '', value: [], valueType: 'string', format: 'YYYY-MM-DD', preset: [{ text: '近7天', value: 7 }, { text: '近30天', value: 30 }], min: '', max: '' }; exports['default'] = DateRangeQuickPicker;