UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

61 lines (56 loc) 1.66 kB
import { Fragment as _Fragment, createVNode as _createVNode } from "vue"; import { defineComponent } from 'vue'; import { default as Divider } from '../../../divider'; import useConfigInject from '../../../_util/hooks/useConfigInject'; import { getSlot } from '../../../_util/props-util'; import TableSettingComp from './settings/index'; import TableTitle from './table-title'; export default defineComponent({ name: 'TableProHeader', components: { Divider: Divider, TableTitle: TableTitle, TableSetting: TableSettingComp }, props: { title: { type: [Function, String] }, tableSetting: { type: Object }, showTableSetting: { type: Boolean }, titleHelpMessage: { type: [String, Array], default: '' }, prefixCls: String }, setup: function setup(props) { var _useConfigInject = useConfigInject('table-pro-header', props), prefixClsNew = _useConfigInject.prefixCls; return { prefixClsNew: prefixClsNew }; }, render: function render() { var tableTitleNode = getSlot(this, 'tableTitle'); if (!tableTitleNode.length) { tableTitleNode = [_createVNode(TableTitle, { "help-message": this.titleHelpMessage, "title": this.title }, null)]; } var settingNode = null; if (this.showTableSetting) { settingNode = _createVNode(TableSettingComp, { "setting": this.tableSetting }, null); } return _createVNode(_Fragment, null, [tableTitleNode, _createVNode("div", { "class": "".concat(this.prefixClsNew, "__toolbar") }, [getSlot(this, 'toolbar'), settingNode])]); } });