UNPKG

dareway-rui

Version:

255 lines (215 loc) 10.3 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 _extends2 = _interopRequireDefault(require('@babel/runtime/helpers/extends')); 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 _reactLifecyclesCompat = require('react-lifecycles-compat'); var _DateTable = _interopRequireDefault(require('./date/DateTable')); var _MonthTable = _interopRequireDefault(require('./month/MonthTable')); var _CalendarMixin = require('./mixin/CalendarMixin'); var _CommonMixin = require('./mixin/CommonMixin'); var _CalendarHeader = _interopRequireDefault(require('./full-calendar/CalendarHeader')); var _moment = _interopRequireDefault(require('moment')); var FullCalendar = /*#__PURE__*/ (function(_React$Component) { (0, _inherits2.default)(FullCalendar, _React$Component); function FullCalendar(props) { var _this; (0, _classCallCheck2.default)(this, FullCalendar); _this = (0, _possibleConstructorReturn2.default)( this, (0, _getPrototypeOf2.default)(FullCalendar).call(this, props) ); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'onMonthSelect', function( value ) { _this.onSelect(value, { target: 'month' }); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'setType', function(type) { if (!('type' in _this.props)) { _this.setState({ type: type }); } _this.props.onTypeChange(type); }); var _type; if ('type' in props) { _type = props.type; } else { _type = props.defaultType; } _this.state = { type: _type, value: props.value || props.defaultValue || (0, _moment.default)(), selectedValue: props.selectedValue || props.defaultSelectedValue }; return _this; } (0, _createClass2.default)( FullCalendar, [ { key: 'render', value: function render() { var props = this.props; var locale = props.locale, prefixCls = props.prefixCls, fullscreen = props.fullscreen, showHeader = props.showHeader, headerComponent = props.headerComponent, headerRender = props.headerRender, disabledDate = props.disabledDate; var _this$state = this.state, value = _this$state.value, type = _this$state.type; var header = null; if (showHeader) { if (headerRender) { header = headerRender(value, type, locale); } else { var TheHeader = headerComponent || _CalendarHeader.default; header = _react.default.createElement( TheHeader, (0, _extends2.default)( { key: 'calendar-header' }, props, { prefixCls: ''.concat(prefixCls, '-full'), type: type, value: value, onTypeChange: this.setType, onValueChange: this.setValue } ) ); } } var table = type === 'date' ? _react.default.createElement(_DateTable.default, { dateRender: props.dateCellRender, contentRender: props.dateCellContentRender, locale: locale, prefixCls: prefixCls, onSelect: this.onSelect, value: value, disabledDate: disabledDate }) : _react.default.createElement(_MonthTable.default, { cellRender: props.monthCellRender, contentRender: props.monthCellContentRender, locale: locale, onSelect: this.onMonthSelect, prefixCls: ''.concat(prefixCls, '-month-panel'), value: value, disabledDate: disabledDate }); var children = [ header, _react.default.createElement( 'div', { key: 'calendar-body', className: ''.concat(prefixCls, '-calendar-body') }, table ) ]; var className = [''.concat(prefixCls, '-full')]; if (fullscreen) { className.push(''.concat(prefixCls, '-fullscreen')); } return this.renderRoot({ children: children, className: className.join(' ') }); } } ], [ { key: 'getDerivedStateFromProps', value: function getDerivedStateFromProps(nextProps, state) { var newState = {}; var value = nextProps.value, selectedValue = nextProps.selectedValue; if ('type' in nextProps) { newState = { type: nextProps.type }; } if ('value' in nextProps) { newState.value = value || nextProps.defaultValue || (0, _CalendarMixin.getNowByCurrentStateValue)(state.value); } if ('selectedValue' in nextProps) { newState.selectedValue = selectedValue; } return newState; } } ] ); return FullCalendar; })(_react.default.Component); (0, _defineProperty2.default)( FullCalendar, 'propTypes', (0, _objectSpread2.default)({}, _CalendarMixin.calendarMixinPropTypes, _CommonMixin.propType, { defaultType: _propTypes.default.string, type: _propTypes.default.string, prefixCls: _propTypes.default.string, locale: _propTypes.default.object, onTypeChange: _propTypes.default.func, fullscreen: _propTypes.default.bool, monthCellRender: _propTypes.default.func, dateCellRender: _propTypes.default.func, showTypeSwitch: _propTypes.default.bool, Select: _propTypes.default.func.isRequired, headerComponents: _propTypes.default.array, headerComponent: _propTypes.default.object, // The whole header component headerRender: _propTypes.default.func, showHeader: _propTypes.default.bool, disabledDate: _propTypes.default.func, value: _propTypes.default.object, defaultValue: _propTypes.default.object, selectedValue: _propTypes.default.object, defaultSelectedValue: _propTypes.default.object }) ); (0, _defineProperty2.default)( FullCalendar, 'defaultProps', (0, _objectSpread2.default)({}, _CalendarMixin.calendarMixinDefaultProps, _CommonMixin.defaultProp, { defaultType: 'date', fullscreen: false, showTypeSwitch: true, showHeader: true, onTypeChange: function onTypeChange() {} }) ); (0, _reactLifecyclesCompat.polyfill)(FullCalendar); var _default = (0, _CalendarMixin.calendarMixinWrapper)((0, _CommonMixin.commonMixinWrapper)(FullCalendar)); exports.default = _default; //@ sourceMappingURL=FullCalendar.js.map