UNPKG

ivue-material-plus

Version:

A high quality UI components Library with Vue.js

96 lines (91 loc) 2.93 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var utils = require('../utils.js'); var defaults = require('../table/defaults.js'); const prefixCls = "ivue-table"; function useStyle(props) { const IvueTable = vue.inject(defaults.TableContextKey); const getHeaderCellStyle = (rowIndex, columnIndex, row, column) => { var _a; let headerCellStyles = (_a = IvueTable == null ? void 0 : IvueTable.props.headerCellStyle) != null ? _a : {}; if (typeof headerCellStyles === "function") { headerCellStyles = headerCellStyles.call(null, { rowIndex, columnIndex, row, column }); } const fixedStyle = column.isSubColumn ? null : utils.getFixedColumnOffset(columnIndex, column.fixed, props.store, row); utils.ensurePosition(fixedStyle, "left"); utils.ensurePosition(fixedStyle, "right"); return Object.assign({}, headerCellStyles, fixedStyle); }; const getHeaderCellClass = (rowIndex, columnIndex, row, column) => { const fixedClasses = column.isSubColumn ? [] : utils.getFixedColumnsClass( prefixCls, columnIndex, column.fixed, props.store, row ); const classes = [ column.id, column.order, column.headerAlign, column.className, column.labelClassName, ...fixedClasses ]; if (!column.children) { classes.push("is-leaf"); } if (column.sortable) { classes.push("is-sortable"); } if (column.filterable) { classes.push("is-filterable"); } const headerCellClassName = IvueTable == null ? void 0 : IvueTable.props.headerCellClassName; if (typeof headerCellClassName === "string") { classes.push(headerCellClassName); } else if (typeof headerCellClassName === "function") { classes.push( headerCellClassName.call(null, { rowIndex, columnIndex, row, column }) ); } classes.push(`${prefixCls}-cell`); return classes.filter((className) => Boolean(className)).join(" "); }; const getHeaderRowStyle = (rowIndex) => { const headerRowStyle = IvueTable.props.headerRowStyle; if (typeof headerRowStyle === "function") { return headerRowStyle.call(null, { rowIndex }); } return headerRowStyle; }; const getHeaderRowClass = (rowIndex) => { const classes = []; const headerRowClassName = IvueTable.props.headerRowClassName; if (typeof headerRowClassName === "string") { classes.push(headerRowClassName); } else if (typeof headerRowClassName === "function") { classes.push(headerRowClassName.call(null, { rowIndex })); } return classes.join(" "); }; return { getHeaderCellClass, getHeaderCellStyle, getHeaderRowStyle, getHeaderRowClass }; } exports["default"] = useStyle; //# sourceMappingURL=styles.js.map