wetrade-design
Version:
一款多语言支持Vue3的UI框架
52 lines (51 loc) • 2.97 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _vue = require("vue");
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _DatePanel = _interopRequireDefault(require("../DatePanel"));
var _dateUtil = require("../../utils/dateUtil");
var _classNames2 = _interopRequireDefault(require("../../../_util/classNames"));
var _useMergeProps = _interopRequireDefault(require("../../hooks/useMergeProps"));
var _RangeContext = require("../../RangeContext");
function WeekPanel(_props) {
var props = (0, _useMergeProps.default)(_props);
var prefixCls = props.prefixCls,
generateConfig = props.generateConfig,
locale = props.locale,
value = props.value;
// Render additional column
var cellPrefixCls = "".concat(prefixCls, "-cell");
var prefixColumn = function prefixColumn(date) {
return (0, _vue.createVNode)("td", {
"key": "week",
"class": (0, _classNames2.default)(cellPrefixCls, "".concat(cellPrefixCls, "-week"))
}, [(0, _vue.createVNode)("div", {
"class": "".concat(cellPrefixCls, "-inner")
}, [generateConfig.locale.getWeek(locale.locale, date)])]);
};
var _useInjectRange = (0, _RangeContext.useInjectRange)(),
rangedValue = _useInjectRange.rangedValue;
// Add row className
var rowPrefixCls = "".concat(prefixCls, "-week-panel-row");
var rowClassName = function rowClassName(date) {
var _classNames;
return (0, _classNames2.default)(rowPrefixCls, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(rowPrefixCls, "-selected"), (0, _dateUtil.isSameWeek)(generateConfig, locale.locale, value, date)), (0, _defineProperty2.default)(_classNames, "".concat(rowPrefixCls, "-range-start"), (0, _dateUtil.isSameWeek)(generateConfig, locale.locale, rangedValue && rangedValue.value && rangedValue.value[0], date)), (0, _defineProperty2.default)(_classNames, "".concat(rowPrefixCls, "-range-end"), (0, _dateUtil.isSameWeek)(generateConfig, locale.locale, rangedValue && rangedValue.value && rangedValue.value[1], date)), (0, _defineProperty2.default)(_classNames, "".concat(rowPrefixCls, "-range-hover"), (0, _dateUtil.isInRange)(generateConfig, rangedValue && rangedValue.value && rangedValue.value[0], rangedValue && rangedValue.value && rangedValue.value[1], date)), _classNames));
};
return (0, _vue.createVNode)(_DatePanel.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
"panelName": "week",
"prefixColumn": prefixColumn,
"rowClassName": rowClassName,
"keyboardConfig": {
onLeftRight: null
}
}), null);
}
WeekPanel.displayName = 'WeekPanel';
WeekPanel.inheritAttrs = false;
var _default = WeekPanel;
exports.default = _default;