wetrade-design
Version:
一款多语言支持Vue3的UI框架
44 lines • 2.42 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import { createVNode as _createVNode } from "vue";
import DatePanel from '../DatePanel';
import { isInRange, isSameWeek } from '../../utils/dateUtil';
import classNames from '../../../_util/classNames';
import useMergeProps from '../../hooks/useMergeProps';
import { useInjectRange } from '../../RangeContext';
function WeekPanel(_props) {
var props = useMergeProps(_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 _createVNode("td", {
"key": "week",
"class": classNames(cellPrefixCls, "".concat(cellPrefixCls, "-week"))
}, [_createVNode("div", {
"class": "".concat(cellPrefixCls, "-inner")
}, [generateConfig.locale.getWeek(locale.locale, date)])]);
};
var _useInjectRange = useInjectRange(),
rangedValue = _useInjectRange.rangedValue;
// Add row className
var rowPrefixCls = "".concat(prefixCls, "-week-panel-row");
var rowClassName = function rowClassName(date) {
var _classNames;
return classNames(rowPrefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(rowPrefixCls, "-selected"), isSameWeek(generateConfig, locale.locale, value, date)), _defineProperty(_classNames, "".concat(rowPrefixCls, "-range-start"), isSameWeek(generateConfig, locale.locale, rangedValue && rangedValue.value && rangedValue.value[0], date)), _defineProperty(_classNames, "".concat(rowPrefixCls, "-range-end"), isSameWeek(generateConfig, locale.locale, rangedValue && rangedValue.value && rangedValue.value[1], date)), _defineProperty(_classNames, "".concat(rowPrefixCls, "-range-hover"), isInRange(generateConfig, rangedValue && rangedValue.value && rangedValue.value[0], rangedValue && rangedValue.value && rangedValue.value[1], date)), _classNames));
};
return _createVNode(DatePanel, _objectSpread(_objectSpread({}, props), {}, {
"panelName": "week",
"prefixColumn": prefixColumn,
"rowClassName": rowClassName,
"keyboardConfig": {
onLeftRight: null
}
}), null);
}
WeekPanel.displayName = 'WeekPanel';
WeekPanel.inheritAttrs = false;
export default WeekPanel;