UNPKG

tdesign-vue

Version:
191 lines (183 loc) 9.65 kB
/** * tdesign v1.15.0 * (c) 2026 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _defineProperty = require('@babel/runtime/helpers/defineProperty'); var _slicedToArray = require('@babel/runtime/helpers/slicedToArray'); var VueCompositionAPI = require('@vue/composition-api'); var datePicker_base_Cell = require('./Cell.js'); var hooks_useConfig = require('../../hooks/useConfig.js'); var _common_js_datePicker_format = require('../../_common/js/date-picker/format.js'); var configProvider_useConfig = require('../../config-provider/useConfig.js'); var isArray = require('../../_chunks/dep-10fcb46d.js'); require('../../_common/js/date-picker/utils.js'); require('@babel/runtime/helpers/objectDestructuringEmpty'); require('@babel/runtime/helpers/extends'); require('dayjs'); require('../../_chunks/dep-c13dcbfd.js'); require('../../_chunks/dep-ded1e6bc.js'); require('../../_chunks/dep-fb824cb8.js'); require('../../_chunks/dep-8d206316.js'); require('../../_chunks/dep-3b2292ce.js'); require('@babel/runtime/helpers/typeof'); require('../../_chunks/dep-2bc87cc8.js'); require('../../_chunks/dep-49400b00.js'); require('../../_chunks/dep-d4d8c513.js'); require('../../_chunks/dep-d844c9ed.js'); require('../../_chunks/dep-010db548.js'); require('../../_chunks/dep-9dae8101.js'); require('../../_chunks/dep-3c03af0f.js'); require('../../_chunks/dep-0ea9f257.js'); require('../../_chunks/dep-803744d9.js'); require('../../_chunks/dep-ba7f5924.js'); require('../../_common/js/log/log.js'); require('../../_chunks/dep-a2217d56.js'); require('../../_chunks/dep-8eddb350.js'); require('../../_common/js/global-config/default-config.js'); require('../../_common/js/global-config/locale/zh_CN.js'); require('../../_chunks/dep-0c37520c.js'); require('../../_chunks/dep-6f4e680e.js'); require('../../_chunks/dep-bb0ececf.js'); require('../../_chunks/dep-6eba4d23.js'); require('../../_chunks/dep-f77d6ad5.js'); require('../../_chunks/dep-7c84d9a0.js'); require('../../_chunks/dep-733a2279.js'); require('../../_chunks/dep-c05a9033.js'); require('../../_chunks/dep-efe55b82.js'); require('../../_chunks/dep-7da70ee1.js'); require('../../_chunks/dep-124386d4.js'); require('../../_chunks/dep-f5b14344.js'); require('../../_chunks/dep-36c2788b.js'); require('../../_chunks/dep-fa353fbb.js'); require('../../_chunks/dep-d66ab3a4.js'); require('../../_common/js/global-config/t.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var TDateTable = VueCompositionAPI.defineComponent({ name: "TDatePickerTable", props: { mode: { type: String, "default": "date" }, firstDayOfWeek: Number, multiple: Boolean, data: Array, time: String, value: [String, Number, Array, Date], format: String, onCellClick: Function, onCellMouseEnter: Function, onCellMouseLeave: Function }, setup: function setup(props) { var COMPONENT_NAME = hooks_useConfig.usePrefixClass("date-picker__table"); var _useConfig = configProvider_useConfig.useConfig("datePicker"), global = _useConfig.global; var _global$value = global.value, weekdays = _global$value.weekdays, weekAbbreviation = _global$value.weekAbbreviation, dayjsLocale = _global$value.dayjsLocale; var weekArr = VueCompositionAPI.computed(function () { var _weekArr = []; var wi = props.firstDayOfWeek - 1; var len = weekdays.length; while (_weekArr.length < len) { _weekArr.push(weekdays[wi]); wi = (wi + len + 1) % len; } if (props.mode === "week") _weekArr.unshift(weekAbbreviation); return _weekArr; }); var showThead = VueCompositionAPI.computed(function () { return props.mode === "date" || props.mode === "week"; }); var weekRowClass = function weekRowClass(value, targetValue) { if (props.mode !== "week" || !value) return {}; if (isArray.isArray(value)) { var _startObj$locale, _startObj$locale$week, _endObj$locale, _endObj$locale$week; if (!value.length) return {}; var _value$map = value.map(function (v) { return v && _common_js_datePicker_format.parseToDayjs(v, props.format); }), _value$map2 = _slicedToArray__default["default"](_value$map, 2), startObj = _value$map2[0], endObj = _value$map2[1]; var startYear = startObj && startObj.year(); var startWeek = startObj === null || startObj === void 0 || (_startObj$locale = startObj.locale) === null || _startObj$locale === void 0 || (_startObj$locale = _startObj$locale.call(startObj, dayjsLocale)) === null || _startObj$locale === void 0 || (_startObj$locale$week = _startObj$locale.week) === null || _startObj$locale$week === void 0 ? void 0 : _startObj$locale$week.call(_startObj$locale); var endYear = endObj && endObj.year(); var endWeek = endObj === null || endObj === void 0 || (_endObj$locale = endObj.locale) === null || _endObj$locale === void 0 || (_endObj$locale = _endObj$locale.call(endObj, dayjsLocale)) === null || _endObj$locale === void 0 || (_endObj$locale$week = _endObj$locale.week) === null || _endObj$locale$week === void 0 ? void 0 : _endObj$locale$week.call(_endObj$locale); var targetObj = _common_js_datePicker_format.parseToDayjs(targetValue, props.format); var targetYear = targetObj.year(); var targetWeek = targetObj.week(); var isActive = targetYear === startYear && targetWeek === startWeek || targetYear === endYear && targetWeek === endWeek; var isRange = targetYear >= startYear && targetYear <= endYear && targetWeek > startWeek && targetWeek < endWeek; return _defineProperty__default["default"](_defineProperty__default["default"]({}, "".concat(COMPONENT_NAME.value, "-").concat(props.mode, "-row--active"), isActive), "".concat(COMPONENT_NAME.value, "-").concat(props.mode, "-row--range"), isRange); } return _defineProperty__default["default"]({}, "".concat(COMPONENT_NAME.value, "-").concat(props.mode, "-row--active"), _common_js_datePicker_format.parseToDayjs(value, props.format).locale(dayjsLocale).week() === _common_js_datePicker_format.parseToDayjs(targetValue, props.format).locale(dayjsLocale).week()); }; var multipleWeekRowClass = function multipleWeekRowClass(value, targetValue) { var _value$map3; var targetDayjs = _common_js_datePicker_format.parseToDayjs(targetValue, props.format); if (props.mode !== "week" || Array.isArray(value) && !value.length) return {}; var isSomeYearWeek = (_value$map3 = value.map) === null || _value$map3 === void 0 ? void 0 : _value$map3.call(value, function (v) { return _common_js_datePicker_format.parseToDayjs(v, props.format); }).some(function (item) { return item.week() === targetDayjs.week() && item.year() === targetDayjs.year(); }); return _defineProperty__default["default"]({}, "".concat(COMPONENT_NAME.value, "-").concat(props.mode, "-row--active"), isSomeYearWeek); }; var activeRowCss = props.multiple ? multipleWeekRowClass : weekRowClass; return { COMPONENT_NAME: COMPONENT_NAME, weekArr: weekArr, showThead: showThead, activeRowCss: activeRowCss }; }, render: function render() { var _this = this; var h = arguments[0]; var COMPONENT_NAME = this.COMPONENT_NAME, weekArr = this.weekArr, showThead = this.showThead, activeRowCss = this.activeRowCss; return h("div", { "class": COMPONENT_NAME, "on": { "mouseleave": function mouseleave(e) { var _this$onCellMouseLeav; return (_this$onCellMouseLeav = _this.onCellMouseLeave) === null || _this$onCellMouseLeav === void 0 ? void 0 : _this$onCellMouseLeav.call(_this, { e: e }); } } }, [h("table", [showThead && h("thead", [h("tr", [weekArr.map(function (value, i) { return h("th", { "key": i }, [value]); })])]), h("tbody", [this.data.map(function (row, i) { return h("tr", { "key": i, "class": _objectSpread(_defineProperty__default["default"]({}, "".concat(COMPONENT_NAME, "-").concat(_this.mode, "-row"), true), activeRowCss(_this.value, row[0].value)) }, [row.map(function (col, j) { return h(datePicker_base_Cell["default"], { "key": j, "props": _objectSpread({}, _objectSpread({ time: _this.time, onClick: _this.onCellClick, onMouseEnter: _this.onCellMouseEnter }, col)) }); })]); })])])]); } }); exports["default"] = TDateTable; //# sourceMappingURL=Table.js.map