@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
118 lines (105 loc) • 3.33 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _vue = require("vue");
var _useConfigInject2 = _interopRequireDefault(require("../../../_util/hooks/useConfigInject"));
var _errorImage = require("./error-image");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = (0, _vue.defineComponent)({
name: 'ATableCard',
props: {
imgSize: {
type: Number,
default: 80
},
imgUrl: {
type: String,
default: ''
},
imgBorderd: {
type: Boolean,
default: true
},
imgPreview: {
type: Boolean,
default: false
},
imgErrorImage: {
type: String,
default: _errorImage.errImage
},
title: {
type: String,
default: ''
},
desc: {
type: String,
default: ''
},
descMaxLength: {
type: Number,
default: 14
},
titleMaxLength: {
type: Number,
default: 14
},
prefixCls: String
},
setup: function setup(props) {
var _useConfigInject = (0, _useConfigInject2.default)('table-pro-card', props),
prefixClsNew = _useConfigInject.prefixCls;
return {
prefixClsNew: prefixClsNew
};
},
render: function render() {
var _a, _b, _c;
var titleNode = null;
var titleSuffixNodes = (_b = (_a = this.$slots).titleSuffix) === null || _b === void 0 ? void 0 : _b.call(_a);
var hasTitleSuffixNode = ((_c = titleSuffixNodes === null || titleSuffixNodes === void 0 ? void 0 : titleSuffixNodes[0]) === null || _c === void 0 ? void 0 : _c.shapeFlag) !== 8;
if (this.title) {
titleNode = (0, _vue.createVNode)((0, _vue.resolveComponent)("a-typography-text"), {
"style": {
width: hasTitleSuffixNode ? 'calc(100% - 32px)' : '100%'
},
"class": "".concat(this.prefixClsNew, "-text"),
"ellipsis": this.title.length > this.titleMaxLength ? {
tooltip: this.title
} : false,
"content": this.title
}, null);
}
var descNode = null;
if (this.desc) {
descNode = (0, _vue.createVNode)((0, _vue.resolveComponent)("a-typography-text"), {
"class": "".concat(this.prefixClsNew, "-text"),
"ellipsis": this.desc.length > this.descMaxLength ? {
tooltip: this.desc
} : false,
"type": "secondary",
"size": "small",
"content": this.desc
}, null);
}
return (0, _vue.createVNode)("div", {
"class": this.prefixClsNew
}, [(0, _vue.createVNode)((0, _vue.resolveComponent)("a-image"), {
"width": this.imgSize,
"height": this.imgSize,
"src": this.imgUrl,
"class": "voucher-list-img",
"preview": this.imgPreview,
"bordered": this.imgBorderd,
"fallback": this.imgErrorImage
}, null), (0, _vue.createVNode)("div", {
"class": "".concat(this.prefixClsNew, "-core"),
"style": this.desc ? "width: calc(100% - ".concat(this.imgSize, "px)") : "width: calc(100% - ".concat(this.imgSize, "px);line-height: ").concat(this.imgSize, "px")
}, [(0, _vue.createVNode)("div", {
"class": ["".concat(this.prefixClsNew, "-title")]
}, [titleNode, titleSuffixNodes]), descNode])]);
}
});
exports.default = _default;