UNPKG

wetrade-design

Version:

一款多语言支持Vue3的UI框架

112 lines 5.01 kB
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import { createVNode as _createVNode } from "vue"; import { useInjectPanel } from '../PanelContext'; import { getLastDay } from '../utils/timeUtil'; import { getCellDateDisabled } from '../utils/dateUtil'; import classNames from '../../_util/classNames'; import useMergeProps from '../hooks/useMergeProps'; function PanelBody(_props) { var _useMergeProps = useMergeProps(_props), prefixCls = _useMergeProps.prefixCls, disabledDate = _useMergeProps.disabledDate, onSelect = _useMergeProps.onSelect, picker = _useMergeProps.picker, rowNum = _useMergeProps.rowNum, colNum = _useMergeProps.colNum, noEvent = _useMergeProps.noEvent, hiddenWeekend = _useMergeProps.hiddenWeekend, fromCalendar = _useMergeProps.fromCalendar, prefixColumn = _useMergeProps.prefixColumn, rowClassName = _useMergeProps.rowClassName, baseDate = _useMergeProps.baseDate, viewDate = _useMergeProps.viewDate, getCellClassName = _useMergeProps.getCellClassName, getCellText = _useMergeProps.getCellText, getCellNode = _useMergeProps.getCellNode, getCellDate = _useMergeProps.getCellDate, generateConfig = _useMergeProps.generateConfig, titleCell = _useMergeProps.titleCell, headerCells = _useMergeProps.headerCells; var _useInjectPanel = useInjectPanel(), onDateMouseenter = _useInjectPanel.onDateMouseenter, onDateMouseleave = _useInjectPanel.onDateMouseleave, mode = _useInjectPanel.mode; var cellPrefixCls = "".concat(prefixCls, "-cell"); // =============================== Body =============================== var rows = []; var trNum = 0; for (var i = 0; i < rowNum; i += 1) { var row = []; var rowStartDate = void 0; var mondayAndFridayHiddenNum = 0; var _loop = function _loop() { var _objectSpread2; var offset = i * colNum + j; var currentDate = getCellDate(baseDate, offset); var disabled = getCellDateDisabled({ cellDate: currentDate, mode: mode.value, disabledDate: disabledDate, generateConfig: generateConfig }); var hidden = mode.value === 'date' && fromCalendar && generateConfig.getMonth(viewDate) !== generateConfig.getMonth(currentDate); // 周末不显示时,周一和周五都隐藏了当行就隐藏 if ((j === 0 || j === 4) && hidden && hiddenWeekend) { mondayAndFridayHiddenNum++; } // 周末显示时,周一和周日都隐藏了当行就隐藏 if ((j === 0 || j === 6) && hidden && !hiddenWeekend) { mondayAndFridayHiddenNum++; } if (j === 0) { rowStartDate = currentDate; if (prefixColumn) { row.push(prefixColumn(rowStartDate)); } } var title = titleCell && titleCell(currentDate); row.push(_createVNode("td", { "key": j, "class": classNames(cellPrefixCls, _objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, "".concat(cellPrefixCls, "-disabled"), disabled), _defineProperty(_objectSpread2, "".concat(cellPrefixCls, "-hidden"), hidden), _defineProperty(_objectSpread2, "".concat(cellPrefixCls, "-no-event"), noEvent), _defineProperty(_objectSpread2, "".concat(cellPrefixCls, "-start"), getCellText(currentDate) === 1 || picker === 'year' && Number(title) % 10 === 0), _defineProperty(_objectSpread2, "".concat(cellPrefixCls, "-end"), title === getLastDay(generateConfig, currentDate) || picker === 'year' && Number(title) % 10 === 9), _objectSpread2), getCellClassName(currentDate))), "onClick": function onClick() { if (!disabled && !noEvent) { onSelect(currentDate); } }, "onMouseenter": function onMouseenter() { if (!disabled && onDateMouseenter && !noEvent) { onDateMouseenter(currentDate); } }, "onMouseleave": function onMouseleave() { if (!disabled && onDateMouseleave && !noEvent) { onDateMouseleave(currentDate); } } }, [getCellNode ? getCellNode(currentDate) : _createVNode("div", { "class": "".concat(cellPrefixCls, "-inner") }, [getCellText(currentDate)])])); }; for (var j = 0; j < colNum; j += 1) { _loop(); } if (mondayAndFridayHiddenNum < 2 || !fromCalendar) { trNum++; rows.push(_createVNode("tr", { "key": i, "class": rowClassName && rowClassName(rowStartDate) }, [row])); } } return _createVNode("div", { "class": "".concat(prefixCls, "-body") }, [_createVNode("table", { "class": "".concat(prefixCls, "-content") }, [headerCells && _createVNode("thead", null, [_createVNode("tr", null, [headerCells])]), _createVNode("tbody", { "class": "tbody-".concat(trNum) }, [rows])])]); } PanelBody.displayName = 'PanelBody'; PanelBody.inheritAttrs = false; export default PanelBody;