UNPKG

vxe-table-demonic

Version:

一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...

87 lines (86 loc) 3.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.renderTitle = renderTitle; var _vue = require("vue"); var _conf = _interopRequireDefault(require("../../v-x-e-table/src/conf")); var _vXETable = require("../../v-x-e-table"); var _utils = require("../../tools/utils"); var _vn = require("../../tools/vn"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var __assign = void 0 && (void 0).__assign || function () { __assign = Object.assign || function (t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function renderPrefixIcon(titlePrefix) { return (0, _vue.h)('span', { class: 'vxe-form--item-title-prefix' }, [(0, _vue.h)('i', { class: titlePrefix.icon || _conf.default.icon.FORM_PREFIX })]); } function renderSuffixIcon(titleSuffix) { return (0, _vue.h)('span', { class: 'vxe-form--item-title-suffix' }, [(0, _vue.h)('i', { class: titleSuffix.icon || _conf.default.icon.FORM_SUFFIX })]); } function renderTitle($xeform, item) { var data = $xeform.props.data; var computeTooltipOpts = $xeform.getComputeMaps().computeTooltipOpts; var slots = item.slots, field = item.field, itemRender = item.itemRender, titlePrefix = item.titlePrefix, titleSuffix = item.titleSuffix; var tooltipOpts = computeTooltipOpts.value; var compConf = (0, _utils.isEnableConf)(itemRender) ? _vXETable.VXETable.renderer.get(itemRender.name) : null; var params = { data: data, field: field, property: field, item: item, $form: $xeform, $grid: $xeform.xegrid }; var titleSlot = slots ? slots.title : null; var contVNs = []; var titVNs = []; if (titlePrefix) { titVNs.push(titlePrefix.content || titlePrefix.message ? (0, _vue.h)((0, _vue.resolveComponent)('vxe-tooltip'), __assign(__assign(__assign({}, tooltipOpts), titlePrefix), { content: (0, _utils.getFuncText)(titlePrefix.content || titlePrefix.message) }), { default: function () { return renderPrefixIcon(titlePrefix); } }) : renderPrefixIcon(titlePrefix)); } titVNs.push((0, _vue.h)('span', { class: 'vxe-form--item-title-label' }, compConf && compConf.renderItemTitle ? (0, _vn.getSlotVNs)(compConf.renderItemTitle(itemRender, params)) : titleSlot ? $xeform.callSlot(titleSlot, params) : (0, _utils.getFuncText)(item.title))); contVNs.push((0, _vue.h)('div', { class: 'vxe-form--item-title-content' }, titVNs)); var fixVNs = []; if (titleSuffix) { fixVNs.push(titleSuffix.content || titleSuffix.message ? (0, _vue.h)((0, _vue.resolveComponent)('vxe-tooltip'), __assign(__assign(__assign({}, tooltipOpts), titleSuffix), { content: (0, _utils.getFuncText)(titleSuffix.content || titleSuffix.message) }), { default: function () { return renderSuffixIcon(titleSuffix); } }) : renderSuffixIcon(titleSuffix)); } contVNs.push((0, _vue.h)('div', { class: 'vxe-form--item-title-postfix' }, fixVNs)); return contVNs; }