UNPKG

dareway-rui

Version:

203 lines (162 loc) 7.59 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require('@babel/runtime/helpers/objectSpread')); var _classCallCheck2 = _interopRequireDefault(require('@babel/runtime/helpers/classCallCheck')); var _createClass2 = _interopRequireDefault(require('@babel/runtime/helpers/createClass')); var _possibleConstructorReturn2 = _interopRequireDefault(require('@babel/runtime/helpers/possibleConstructorReturn')); var _getPrototypeOf2 = _interopRequireDefault(require('@babel/runtime/helpers/getPrototypeOf')); var _assertThisInitialized2 = _interopRequireDefault(require('@babel/runtime/helpers/assertThisInitialized')); var _inherits2 = _interopRequireDefault(require('@babel/runtime/helpers/inherits')); var _defineProperty2 = _interopRequireDefault(require('@babel/runtime/helpers/defineProperty')); var _react = _interopRequireDefault(require('react')); var _propTypes = _interopRequireDefault(require('prop-types')); var _KeyCode = _interopRequireDefault(require('rc-util/lib/KeyCode')); var _CalendarHeader = _interopRequireDefault(require('./calendar/CalendarHeader')); var _CalendarFooter = _interopRequireDefault(require('./calendar/CalendarFooter')); var _CalendarMixin = require('./mixin/CalendarMixin'); var _CommonMixin = require('./mixin/CommonMixin'); var _moment = _interopRequireDefault(require('moment')); var MonthCalendar = /*#__PURE__*/ (function(_React$Component) { (0, _inherits2.default)(MonthCalendar, _React$Component); function MonthCalendar(props) { var _this; (0, _classCallCheck2.default)(this, MonthCalendar); _this = (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(MonthCalendar).call(this, props) ); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'onKeyDown', function(event) { var keyCode = event.keyCode; var ctrlKey = event.ctrlKey || event.metaKey; var stateValue = _this.state.value; var disabledDate = _this.props.disabledDate; var value = stateValue; switch (keyCode) { case _KeyCode.default.DOWN: value = stateValue.clone(); value.add(3, 'months'); break; case _KeyCode.default.UP: value = stateValue.clone(); value.add(-3, 'months'); break; case _KeyCode.default.LEFT: value = stateValue.clone(); if (ctrlKey) { value.add(-1, 'years'); } else { value.add(-1, 'months'); } break; case _KeyCode.default.RIGHT: value = stateValue.clone(); if (ctrlKey) { value.add(1, 'years'); } else { value.add(1, 'months'); } break; case _KeyCode.default.ENTER: if (!disabledDate || !disabledDate(stateValue)) { _this.onSelect(stateValue); } event.preventDefault(); return 1; default: return undefined; } if (value !== stateValue) { _this.setValue(value); event.preventDefault(); return 1; } }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'handlePanelChange', function( _, mode ) { if (mode !== 'date') { _this.setState({ mode: mode }); } }); _this.state = { mode: 'month', value: props.value || props.defaultValue || (0, _moment.default)(), selectedValue: props.selectedValue || props.defaultSelectedValue }; return _this; } (0, _createClass2.default)(MonthCalendar, [ { key: 'render', value: function render() { var props = this.props, state = this.state; var mode = state.mode, value = state.value; var children = _react.default.createElement( 'div', { className: ''.concat(props.prefixCls, '-month-calendar-content') }, _react.default.createElement( 'div', { className: ''.concat(props.prefixCls, '-month-header-wrap') }, _react.default.createElement(_CalendarHeader.default, { prefixCls: props.prefixCls, mode: mode, value: value, locale: props.locale, disabledMonth: props.disabledDate, monthCellRender: props.monthCellRender, monthCellContentRender: props.monthCellContentRender, onMonthSelect: this.onSelect, onValueChange: this.setValue, onPanelChange: this.handlePanelChange }) ), _react.default.createElement(_CalendarFooter.default, { prefixCls: props.prefixCls, renderFooter: props.renderFooter }) ); return this.renderRoot({ className: ''.concat(props.prefixCls, '-month-calendar'), children: children }); } } ]); return MonthCalendar; })(_react.default.Component); (0, _defineProperty2.default)( MonthCalendar, 'propTypes', (0, _objectSpread2.default)({}, _CalendarMixin.calendarMixinPropTypes, _CommonMixin.propType, { monthCellRender: _propTypes.default.func, dateCellRender: _propTypes.default.func, value: _propTypes.default.object, defaultValue: _propTypes.default.object, selectedValue: _propTypes.default.object, defaultSelectedValue: _propTypes.default.object, disabledDate: _propTypes.default.func }) ); (0, _defineProperty2.default)( MonthCalendar, 'defaultProps', Object.assign({}, _CommonMixin.defaultProp, _CalendarMixin.calendarMixinDefaultProps) ); var _default = (0, _CalendarMixin.calendarMixinWrapper)((0, _CommonMixin.commonMixinWrapper)(MonthCalendar)); exports.default = _default; //@ sourceMappingURL=MonthCalendar.js.map