dareway-rui
Version:
213 lines (175 loc) • 8.72 kB
JavaScript
;
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.getNowByCurrentStateValue = getNowByCurrentStateValue;
exports.calendarMixinWrapper = exports.calendarMixinDefaultProps = exports.calendarMixinPropTypes = void 0;
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 _getPrototypeOf3 = _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 _classnames = _interopRequireDefault(require('classnames'));
var _moment = _interopRequireDefault(require('moment'));
var _index = require('../util/index');
function noop() {}
function getNowByCurrentStateValue(value) {
var ret;
if (value) {
ret = (0, _index.getTodayTime)(value);
} else {
ret = (0, _moment.default)();
}
return ret;
}
var calendarMixinPropTypes = {
value: _propTypes.default.object,
defaultValue: _propTypes.default.object,
onKeyDown: _propTypes.default.func
};
exports.calendarMixinPropTypes = calendarMixinPropTypes;
var calendarMixinDefaultProps = {
onKeyDown: noop
};
exports.calendarMixinDefaultProps = calendarMixinDefaultProps;
var calendarMixinWrapper = function calendarMixinWrapper(ComposeComponent) {
var _class, _temp;
return (
(_temp = _class =
/*#__PURE__*/
(function(_ComposeComponent) {
(0, _inherits2.default)(_class, _ComposeComponent);
function _class() {
var _getPrototypeOf2;
var _this;
(0, _classCallCheck2.default)(this, _class);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = (0, _possibleConstructorReturn2.default)(
this,
(_getPrototypeOf2 = (0, _getPrototypeOf3.default)(_class)).call.apply(
_getPrototypeOf2,
[this].concat(args)
)
);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'onSelect', function(
value,
cause
) {
if (value) {
_this.setValue(value);
}
_this.setSelectedValue(value, cause);
});
(0, _defineProperty2.default)(
(0, _assertThisInitialized2.default)(_this),
'preventDefaultEvent',
function(e) {
e.preventDefault();
}
);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'renderRoot', function(
newProps
) {
var _className;
var props = _this.props;
var prefixCls = props.prefixCls;
var className = ((_className = {}),
(0, _defineProperty2.default)(_className, prefixCls, 1),
(0, _defineProperty2.default)(_className, ''.concat(prefixCls, '-hidden'), !props.visible),
(0, _defineProperty2.default)(_className, props.className, !!props.className),
(0, _defineProperty2.default)(_className, newProps.className, !!newProps.className),
_className);
return _react.default.createElement(
'div',
{
ref: _this.saveRoot,
className: ''.concat((0, _classnames.default)(className)),
style: _this.props.style,
tabIndex: '0',
onKeyDown: _this.onKeyDown,
onMouseDown: _this.preventDefaultEvent
},
newProps.children
);
});
(0, _defineProperty2.default)(
(0, _assertThisInitialized2.default)(_this),
'setSelectedValue',
function(selectedValue, cause) {
// if (this.isAllowedDate(selectedValue)) {
if (!('selectedValue' in _this.props)) {
_this.setState({
selectedValue: selectedValue
});
}
if (_this.props.onSelect) {
_this.props.onSelect(selectedValue, cause);
} // }
}
);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), 'setValue', function(
value
) {
var originalValue = _this.state.value;
if (!('value' in _this.props)) {
_this.setState({
value: value
});
}
if (
(originalValue && value && !originalValue.isSame(value)) ||
(!originalValue && value) ||
(originalValue && !value)
) {
_this.props.onChange(value);
}
});
(0, _defineProperty2.default)(
(0, _assertThisInitialized2.default)(_this),
'isAllowedDate',
function(value) {
var disabledDate = _this.props.disabledDate;
var disabledTime = _this.props.disabledTime;
return (0, _index.isAllowedDate)(value, disabledDate, disabledTime);
}
);
return _this;
}
(0, _createClass2.default)(_class, null, [
{
key: 'getDerivedStateFromProps',
value: function getDerivedStateFromProps(nextProps, prevState) {
// Use origin function if provided
if (ComposeComponent.getDerivedStateFromProps) {
return ComposeComponent.getDerivedStateFromProps(nextProps, prevState);
}
var value = nextProps.value,
selectedValue = nextProps.selectedValue;
var newState = {};
if ('value' in nextProps) {
newState.value =
value || nextProps.defaultValue || getNowByCurrentStateValue(prevState.value);
}
if ('selectedValue' in nextProps) {
newState.selectedValue = selectedValue;
}
return newState;
}
}
]);
return _class;
})(ComposeComponent)),
(0, _defineProperty2.default)(_class, 'displayName', 'CalendarMixinWrapper'),
(0, _defineProperty2.default)(_class, 'defaultProps', ComposeComponent.defaultProps),
_temp
);
};
exports.calendarMixinWrapper = calendarMixinWrapper;
//@ sourceMappingURL=CalendarMixin.js.map