tdesign-vue
Version:
167 lines (159 loc) • 6.06 kB
JavaScript
/**
* tdesign v1.12.1
* (c) 2025 tdesign
* @license MIT
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
var dayjs = require('dayjs');
var utils_renderTnode = require('../utils/render-tnode.js');
var utils_mixins = require('../utils/mixins.js');
var configProvider_configReceiver = require('../config-provider/config-receiver.js');
require('@babel/runtime/helpers/readOnlyError');
require('@babel/runtime/helpers/typeof');
require('vue');
require('@vue/composition-api');
require('../_chunks/dep-bf70543d.js');
require('../_chunks/dep-f895c884.js');
require('../_chunks/dep-e1cc6f64.js');
require('../_chunks/dep-5ea2b00f.js');
require('../_chunks/dep-9b72cbc5.js');
require('../_chunks/dep-7b78e8c3.js');
require('../_chunks/dep-d7270eaf.js');
require('../_chunks/dep-68f48b50.js');
require('../_chunks/dep-051ce30d.js');
require('../_chunks/dep-4b30bfe2.js');
require('../_chunks/dep-727a349e.js');
require('../_chunks/dep-6247fdbf.js');
require('../_common/js/global-config/default-config.js');
require('../_common/js/global-config/locale/zh_CN.js');
require('../_chunks/dep-3ed0c42e.js');
require('../_chunks/dep-53935099.js');
require('../_chunks/dep-403352a7.js');
require('../_chunks/dep-cca66fee.js');
require('../_chunks/dep-4361b357.js');
require('../_chunks/dep-887c649b.js');
require('../_chunks/dep-411a10dd.js');
require('../_chunks/dep-51fe98f1.js');
require('../_chunks/dep-3d682642.js');
require('../_chunks/dep-dea23841.js');
require('../_chunks/dep-4aa08166.js');
require('../_chunks/dep-ddc1429e.js');
require('../_chunks/dep-65896ff9.js');
require('../_chunks/dep-b65b2f55.js');
require('../_chunks/dep-6e7b8cda.js');
require('../_chunks/dep-98f48ff2.js');
require('../_chunks/dep-80e3757f.js');
require('../_chunks/dep-08d7842c.js');
require('../_chunks/dep-1ca3138c.js');
require('../_chunks/dep-e6ed4b1f.js');
require('../_chunks/dep-c44b2462.js');
require('../_common/js/global-config/t.js');
require('@babel/runtime/helpers/slicedToArray');
require('../_chunks/dep-6b60413b.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
var classPrefixMixins = configProvider_configReceiver.getClassPrefixMixins("calendar");
var clickTypeEmitEventMap = {
click: "click",
dblclick: "dblclick",
contextmenu: "rightclick"
};
var CalendarCellItem = utils_mixins["default"](classPrefixMixins).extend({
name: "TCalendarCell",
props: {
item: {
type: Object,
"default": function _default() {
return null;
}
},
theme: {
type: String,
"default": function _default() {
return null;
}
},
fillWithZero: {
type: Boolean,
"default": void 0
},
t: Function,
global: Object,
cell: Function
},
computed: {
allowSlot: function allowSlot() {
return this.theme === "full";
},
disabled: function disabled() {
return this.item.mode === "month" && this.item.belongTo !== 0;
},
valueDisplay: function valueDisplay() {
if (this.item.mode === "month") {
var _ref, _this$fillWithZero;
var dateNum = this.item.date.getDate();
var fillZero = dateNum < 10 && ((_ref = (_this$fillWithZero = this.fillWithZero) !== null && _this$fillWithZero !== void 0 ? _this$fillWithZero : this.global.fillWithZero) !== null && _ref !== void 0 ? _ref : true);
return fillZero ? "0".concat(dateNum) : dateNum;
}
var map = this.t(this.global.cellMonth).split(",");
return map[this.item.date.getMonth().toString()];
},
cellCls: function cellCls() {
var _this$item = this.item,
mode = _this$item.mode,
date = _this$item.date,
formattedDate = _this$item.formattedDate,
isCurrent = _this$item.isCurrent;
var now = new Date();
var isNow = mode === "year" ? now.getMonth() === date.getMonth() && now.getFullYear() === date.getFullYear() : formattedDate === dayjs__default["default"]().format("YYYY-MM-DD");
return ["".concat(this.componentName, "__table-body-cell"), _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"]({}, "".concat(this.classPrefix, "-is-disabled"), this.disabled), "".concat(this.classPrefix, "-is-checked"), isCurrent), "".concat(this.componentName, "__table-body-cell--now"), isNow)];
}
},
methods: {
clickCell: function clickCell(e) {
if (this.disabled) return;
this.$emit(clickTypeEmitEventMap[e.type], e);
}
},
render: function render() {
var _this = this;
var h = arguments[0];
var item = this.item,
cellCls = this.cellCls,
clickCell = this.clickCell,
valueDisplay = this.valueDisplay,
allowSlot = this.allowSlot;
var defaultNode = function defaultNode() {
var cellContentOuterDomStyle = {
display: "flex",
flexDirection: "column",
alignItems: "flex-end"
};
return h("div", {
"style": cellContentOuterDomStyle
}, [h("div", {
"class": "".concat(_this.componentName, "__table-body-cell-display")
}, [valueDisplay]), h("div", {
"class": "".concat(_this.componentName, "__table-body-cell-content")
}, [allowSlot && utils_renderTnode.renderTNodeJSX(_this, "cellAppend", {
params: item
})])]);
};
return item && h("div", {
"class": cellCls,
"on": {
"click": clickCell,
"dblclick": clickCell,
"contextmenu": clickCell
}
}, [typeof this.cell === "function" ? this.cell(this.$createElement, item) : utils_renderTnode.renderTNodeJSXDefault(this, "cell", {
defaultNode: defaultNode(),
params: item
})]);
}
});
exports["default"] = CalendarCellItem;
//# sourceMappingURL=calendar-cell.js.map