@jnoodle/rc-picker
Version:
React date & time picker
77 lines (64 loc) • 2.72 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.MONTH_COL_COUNT = void 0;
var React = _interopRequireWildcard(require("react"));
var _dateUtil = require("../../utils/dateUtil");
var _RangeContext = _interopRequireDefault(require("../../RangeContext"));
var _useCellClassName = _interopRequireDefault(require("../../hooks/useCellClassName"));
var _PanelBody = _interopRequireDefault(require("../PanelBody"));
var MONTH_COL_COUNT = 3;
exports.MONTH_COL_COUNT = MONTH_COL_COUNT;
var MONTH_ROW_COUNT = 4;
function MonthBody(props) {
var prefixCls = props.prefixCls,
locale = props.locale,
value = props.value,
viewDate = props.viewDate,
generateConfig = props.generateConfig,
monthCellRender = props.monthCellRender;
var _React$useContext = React.useContext(_RangeContext.default),
rangedValue = _React$useContext.rangedValue,
hoverRangedValue = _React$useContext.hoverRangedValue;
var cellPrefixCls = "".concat(prefixCls, "-cell");
var getCellClassName = (0, _useCellClassName.default)({
cellPrefixCls: cellPrefixCls,
value: value,
generateConfig: generateConfig,
rangedValue: rangedValue,
hoverRangedValue: hoverRangedValue,
isSameCell: function isSameCell(current, target) {
return (0, _dateUtil.isSameMonth)(generateConfig, current, target);
},
isInView: function isInView() {
return true;
},
offsetCell: function offsetCell(date, offset) {
return generateConfig.addMonth(date, offset);
}
});
var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []);
var baseMonth = generateConfig.setMonth(viewDate, 0);
var getCellNode = monthCellRender ? function (date) {
return monthCellRender(date, locale);
} : undefined;
return React.createElement(_PanelBody.default, Object.assign({}, props, {
rowNum: MONTH_ROW_COUNT,
colNum: MONTH_COL_COUNT,
baseDate: baseMonth,
getCellNode: getCellNode,
getCellText: function getCellText(date) {
return locale.monthFormat ? generateConfig.locale.format(locale.locale, date, locale.monthFormat) : monthsLocale[generateConfig.getMonth(date)];
},
getCellClassName: getCellClassName,
getCellDate: generateConfig.addMonth,
titleCell: function titleCell(date) {
return generateConfig.locale.format(locale.locale, date, 'YYYY-MM');
}
}));
}
var _default = MonthBody;
exports.default = _default;