UNPKG

@beisen/ethos

Version:

beisencloud pc react components

213 lines (166 loc) 6.78 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); 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 _class, _temp2; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _gregorianCalendarFormat = require('./format/gregorian-calendar-format'); var _gregorianCalendarFormat2 = _interopRequireDefault(_gregorianCalendarFormat); var _TimePicker = require('./rc-time-picker/lib/TimePicker'); var _TimePicker2 = _interopRequireDefault(_TimePicker); var _index = require('./locale/index'); var _index2 = _interopRequireDefault(_index); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _gregorianCalendar = require('gregorian-calendar'); var _gregorianCalendar2 = _interopRequireDefault(_gregorianCalendar); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var defaultTranslation = { localeName: 'zh_CN' }; var TimePicker = (_temp2 = _class = function (_React$Component) { (0, _inherits3.default)(TimePicker, _React$Component); function TimePicker() { var _ref; var _temp, _this, _ret; (0, _classCallCheck3.default)(this, TimePicker); 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 = TimePicker.__proto__ || (0, _getPrototypeOf2.default)(TimePicker)).call.apply(_ref, [this].concat(args))), _this), _this.transitionDateLocation = function (value) { return value && new Date(value.fields[1], value.fields[2] + 1, value.fields[3], value.fields[4], value.fields[5], value.fields[6]); }, _this.handleChange = function (value) { _this.props.onChange(value ? _this.transitionDateLocation(value) : '', value ? _this.getFormatter().format(value) : ''); }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret); } (0, _createClass3.default)(TimePicker, [{ key: 'getFormatter', value: function getFormatter() { return new _gregorianCalendarFormat2.default(this.props.format); } /** * 获得输入框的 className */ }, { key: 'getSizeClass', value: function getSizeClass() { var sizeClass = ''; if (this.props.size === 'large') { sizeClass = ' ant-input-lg'; } else if (this.props.size === 'small') { sizeClass = ' ant-input-sm'; } return sizeClass; } /** * 获得输入框的默认值 */ }, { key: 'parseTimeFromValue', value: function parseTimeFromValue(value) { if (value) { if (typeof value === 'string') { return this.getFormatter().parse(value, { locale: this.getLocale().calendar, obeyCount: true }); } else if (value instanceof Date) { var date = new _gregorianCalendar2.default(this.getLocale().calendar); date.setTime(+value); var standardHours = new Date(date.time).getHours(); date.fields[4] = standardHours; return date; } } return value; } }, { key: 'getLocale', value: function getLocale() { var translation = this.props.translation; var locale = _index2.default[translation.localeName] || _index2.default[defaultTranslation.localeName]; if (this.context.antLocale && this.context.antLocale.TimePicker) { locale = this.context.antLocale.TimePicker; } // 统一合并为完整的 Locale // 这里抹平与应用页的差异 // //根据当前系统时间设置时区 // if(locale && locale.calendar){ // locale.calendar.timezoneOffset = - new Date().getTimezoneOffset() // } return (0, _extends3.default)({}, locale, this.props.locale); } }, { key: 'render', value: function render() { var _classNames; var locale = this.getLocale(); var props = (0, _extends3.default)({}, this.props); var format = props.format; var placeholder = props.placeholder || locale.placeholder; if (props.defaultValue) { props.defaultValue = this.parseTimeFromValue(props.defaultValue); } else { delete props.defaultValue; } if (props.value) { props.value = this.parseTimeFromValue(props.value); } var className = (0, _classnames2.default)((_classNames = {}, (0, _defineProperty3.default)(_classNames, props.className, !!props.className), (0, _defineProperty3.default)(_classNames, props.prefixCls + '-' + props.size, !!props.size), _classNames)); if (props.format.indexOf('ss') < 0) { props.showSecond = false; } if (props.format.indexOf('HH') < 0) { props.showHour = false; } return _react2.default.createElement(_TimePicker2.default, (0, _extends3.default)({ ref: 'timepicker2' }, props, { placeholder: placeholder, className: className, locale: locale, formatter: this.getFormatter(), format: format, formatStyle: this.props.formatStyle, onChange: this.handleChange, onFocus: this.props.onFocus, onBlur: this.props.onBlur })); } }]); return TimePicker; }(_react2.default.Component), _class.defaultProps = { format: 'HH:mm:ss', prefixCls: 'ant-time-picker', onChange: function onChange() {}, locale: {}, align: { offset: [0, -2] }, disabled: false, disabledHours: undefined, disabledMinutes: undefined, disabledSeconds: undefined, hideDisabledOptions: false, placement: 'bottomLeft', transitionName: 'slide-up', translation: defaultTranslation }, _temp2); exports.default = TimePicker; module.exports = exports['default'];