knk
Version:
react components based on react
79 lines • 2.59 kB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import React, { useState } from 'react';
import { DatePicker, Select, Row, Col } from 'antd';
import { dateFormatOnlyYearCh } from '../../../enums/const';
import moment from 'moment';
import PropTypes from 'prop-types';
var Option = Select.Option;
var QuarterPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
var quarterPickerRef = React.useRef();
quarterPickerRef = ref;
var _useState = useState(false),
_useState2 = _slicedToArray(_useState, 2),
open = _useState2[0],
setOpen = _useState2[1];
var handleOpenChange = function handleOpenChange(value) {
setOpen(value);
};
var handleDateChange = function handleDateChange(value) {
var onChange = props.onChange;
onChange(value);
};
var handlePanelChange = function handlePanelChange(value) {
var onChange = props.onChange;
setOpen(false);
onChange(value);
};
var handleSelectChange = function handleSelectChange(quarter) {
var onChange = props.onChange,
value = props.value;
var quarterValue = (value || moment()).quarter(Number(quarter));
onChange(quarterValue);
};
var value = props.value,
disabled = props.disabled;
var quarterValue = value ? "".concat(value.quarter()) : '';
return /*#__PURE__*/React.createElement(Row, {
ref: quarterPickerRef,
gutter: 8
}, /*#__PURE__*/React.createElement(Col, {
span: 12
}, /*#__PURE__*/React.createElement(DatePicker, {
mode: "year",
value: value,
open: open,
disabled: disabled,
style: {
width: '100%'
},
onOpenChange: handleOpenChange,
onChange: handleDateChange,
onPanelChange: handlePanelChange,
placeholder: "\u9009\u62E9\u5E74\u4EFD",
format: dateFormatOnlyYearCh
})), /*#__PURE__*/React.createElement(Col, {
span: 12
}, /*#__PURE__*/React.createElement(Select, {
placeholder: "\u9009\u62E9\u5B63\u5EA6",
value: quarterValue,
onChange: handleSelectChange,
disabled: disabled,
style: {
width: '100%'
}
}, /*#__PURE__*/React.createElement(Option, {
value: "1"
}, "\u7B2C\u4E00\u5B63\u5EA6"), /*#__PURE__*/React.createElement(Option, {
value: "2"
}, "\u7B2C\u4E8C\u5B63\u5EA6"), /*#__PURE__*/React.createElement(Option, {
value: "3"
}, "\u7B2C\u4E09\u5B63\u5EA6"), /*#__PURE__*/React.createElement(Option, {
value: "4"
}, "\u7B2C\u56DB\u5B63\u5EA6"))));
});
QuarterPicker.propTypes = {
value: PropTypes.any,
onChange: PropTypes.func,
disabled: PropTypes.bool
};
export default QuarterPicker;