@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
77 lines (62 loc) • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _vue = require("vue");
var _divider = _interopRequireDefault(require("../../../divider"));
var _useConfigInject2 = _interopRequireDefault(require("../../../_util/hooks/useConfigInject"));
var _propsUtil = require("../../../_util/props-util");
var _index = _interopRequireDefault(require("./settings/index"));
var _tableTitle = _interopRequireDefault(require("./table-title"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = (0, _vue.defineComponent)({
name: 'TableProHeader',
components: {
Divider: _divider.default,
TableTitle: _tableTitle.default,
TableSetting: _index.default
},
props: {
title: {
type: [Function, String]
},
tableSetting: {
type: Object
},
showTableSetting: {
type: Boolean
},
titleHelpMessage: {
type: [String, Array],
default: ''
},
prefixCls: String
},
setup: function setup(props) {
var _useConfigInject = (0, _useConfigInject2.default)('table-pro-header', props),
prefixClsNew = _useConfigInject.prefixCls;
return {
prefixClsNew: prefixClsNew
};
},
render: function render() {
var tableTitleNode = (0, _propsUtil.getSlot)(this, 'tableTitle');
if (!tableTitleNode.length) {
tableTitleNode = [(0, _vue.createVNode)(_tableTitle.default, {
"help-message": this.titleHelpMessage,
"title": this.title
}, null)];
}
var settingNode = null;
if (this.showTableSetting) {
settingNode = (0, _vue.createVNode)(_index.default, {
"setting": this.tableSetting
}, null);
}
return (0, _vue.createVNode)(_vue.Fragment, null, [tableTitleNode, (0, _vue.createVNode)("div", {
"class": "".concat(this.prefixClsNew, "__toolbar")
}, [(0, _propsUtil.getSlot)(this, 'toolbar'), settingNode])]);
}
});
exports.default = _default;