@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
67 lines (58 loc) • 1.86 kB
JavaScript
import { Fragment as _Fragment, createVNode as _createVNode } from "vue";
import { defineComponent, computed } from 'vue';
import BasicHelp from '../../../basic-help/src/basic-help';
import EditTableHeaderCell from './edit-table-header-icon';
import useConfigInject from '../../../_util/hooks/useConfigInject';
export default defineComponent({
name: 'TableHeaderCell',
props: {
column: {
type: Object,
default: {}
},
prefixCls: String
},
setup: function setup(props) {
var _useConfigInject = useConfigInject('table-pro-header-cell', props),
prefixClsNew = _useConfigInject.prefixCls;
var getIsEdit = computed(function () {
var _a;
return !!((_a = props.column) === null || _a === void 0 ? void 0 : _a.edit);
});
var getTitle = computed(function () {
var _a;
return (_a = props.column) === null || _a === void 0 ? void 0 : _a.customTitle;
});
var getHelpMessage = computed(function () {
var _a;
return (_a = props.column) === null || _a === void 0 ? void 0 : _a.helpMessage;
});
return {
prefixClsNew: prefixClsNew,
getIsEdit: getIsEdit,
getTitle: getTitle,
getHelpMessage: getHelpMessage
};
},
render: function render() {
var _this = this;
var headerCellNode = null;
if (this.getIsEdit) {
headerCellNode = _createVNode(EditTableHeaderCell, null, {
default: function _default() {
return [_this.getTitle];
}
});
} else {
headerCellNode = this.getTitle;
}
var helpNode = null;
if (this.getHelpMessage) {
helpNode = _createVNode(BasicHelp, {
"text": this.getHelpMessage,
"class": "".concat(this.prefixClsNew, "__help")
}, null);
}
return _createVNode(_Fragment, null, [headerCellNode, helpNode]);
}
});