UNPKG

comic-plus

Version:

<p align="center"> <img width="200px" src="./logo.png"/> </p>

80 lines (79 loc) 2.75 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const vue = require("vue"); const type = require("../type.js"); const index = require("../../../checkbox/index.js"); const tableColgroup = require("../components/table-colgroup.js"); require("../../../../utils/config.js"); const typescript = require("../../../../utils/typescript.js"); require("@vueuse/core"); const TableHeader = vue.defineComponent({ name: "TableHeader", setup() { const { props, columns, isAllSelected, indeterminate, getFixedIndex, selectAll, getCellClass } = vue.inject(type.TABLE_PROVIDE); const helpRender = (col) => { const type2 = col.props.type; if (type2 === "selection") { return vue.h(index.CuCheckbox, { modelValue: isAllSelected.value, indeterminate: indeterminate.value, onChange: selectAll }); } else if (type2 === "index") { return col.props.label; } else if (type2 === "default") { return col.header ? col.header({ column: "内容待定" }) : col.props.label; } }; return () => { return vue.h( "div", { class: "cu-table__header" }, vue.h( "table", { cellspacing: 0, cellpadding: 0 }, [ vue.h(tableColgroup.default), vue.h( "thead", vue.h( "tr", { class: ["cu-table__row", props.headerRowClass], style: props.headerRowStyle }, [ columns.value.map((col, colIdx) => { return vue.h( "th", { key: col.uid, class: [ "cu-table__th", col.fixed ? "fixed-" + col.fixed : void 0, { "fixed-shadow-left": getFixedIndex.value.left == colIdx }, { "fixed-shadow-right": getFixedIndex.value.right == colIdx }, typescript.isFunction(props.headerCellClass) ? props.headerCellClass({ col, colIndex: colIdx }) : props.headerCellClass ], style: col.style, rowspan: 1, colspan: 1 }, vue.h("div", { class: ["cu-table__cell", ...getCellClass(col)] }, helpRender(col)) ); }) ] ) ) ] ) ); }; } }); exports.default = TableHeader;