UNPKG

ivue-material-plus

Version:

A high quality UI components Library with Vue.js

1 lines 7.06 kB
{"version":3,"file":"styles.mjs","sources":["../../../../../../src/components/ivue-table/table-header/styles.ts"],"sourcesContent":["import { inject } from 'vue';\r\n\r\nimport {\r\n getFixedColumnsClass,\r\n getFixedColumnOffset,\r\n ensurePosition,\r\n} from '../utils';\r\n\r\n// ts\r\nimport type { TableHeaderProps } from './types';\r\nimport type { TableColumnCtx } from '../table-column/defaults';\r\nimport { TableContextKey } from '../table/defaults';\r\n\r\nconst prefixCls = 'ivue-table';\r\n\r\nfunction useStyle(props: TableHeaderProps) {\r\n // inject\r\n const IvueTable = inject(TableContextKey);\r\n\r\n // 头部行样式\r\n const getHeaderCellStyle = (\r\n rowIndex: number,\r\n columnIndex: number,\r\n row: TableColumnCtx[],\r\n column: TableColumnCtx\r\n ) => {\r\n let headerCellStyles = IvueTable?.props.headerCellStyle ?? {};\r\n\r\n if (typeof headerCellStyles === 'function') {\r\n headerCellStyles = headerCellStyles.call(null, {\r\n rowIndex,\r\n columnIndex,\r\n row,\r\n column,\r\n });\r\n }\r\n\r\n // fixedStyle\r\n const fixedStyle = column.isSubColumn\r\n ? null\r\n : getFixedColumnOffset(columnIndex, column.fixed, props.store, row);\r\n\r\n // 左边\r\n ensurePosition(fixedStyle, 'left');\r\n // 右边\r\n ensurePosition(fixedStyle, 'right');\r\n\r\n return Object.assign({}, headerCellStyles, fixedStyle);\r\n };\r\n\r\n // 头部行样式\r\n const getHeaderCellClass = (\r\n rowIndex: number,\r\n columnIndex: number,\r\n row: TableColumnCtx[],\r\n column: TableColumnCtx\r\n ) => {\r\n // 固定列样式\r\n const fixedClasses = column.isSubColumn\r\n ? []\r\n : getFixedColumnsClass(\r\n prefixCls,\r\n columnIndex,\r\n column.fixed,\r\n props.store,\r\n row\r\n );\r\n\r\n // class\r\n const classes = [\r\n column.id,\r\n column.order,\r\n column.headerAlign,\r\n column.className,\r\n column.labelClassName,\r\n ...fixedClasses,\r\n ];\r\n\r\n // 没有子项\r\n if (!column.children) {\r\n classes.push('is-leaf');\r\n }\r\n\r\n // 排序\r\n if (column.sortable) {\r\n classes.push('is-sortable');\r\n }\r\n\r\n // 过滤\r\n if (column.filterable) {\r\n classes.push('is-filterable');\r\n }\r\n\r\n // 表头单元格的 className 的回调方法,\r\n // 也可以使用字符串为所有表头单元格设置一个固定的 className\r\n const headerCellClassName = IvueTable?.props.headerCellClassName;\r\n\r\n // 字符串\r\n if (typeof headerCellClassName === 'string') {\r\n classes.push(headerCellClassName);\r\n }\r\n // 方法\r\n else if (typeof headerCellClassName === 'function') {\r\n classes.push(\r\n headerCellClassName.call(null, {\r\n rowIndex,\r\n columnIndex,\r\n row,\r\n column,\r\n })\r\n );\r\n }\r\n\r\n // cell\r\n classes.push(`${prefixCls}-cell`);\r\n\r\n // 过滤\r\n return classes.filter((className) => Boolean(className)).join(' ');\r\n };\r\n\r\n // 表头行的 style 的回调方法\r\n const getHeaderRowStyle = (rowIndex: number) => {\r\n const headerRowStyle = IvueTable.props.headerRowStyle;\r\n\r\n // 方法\r\n if (typeof headerRowStyle === 'function') {\r\n return headerRowStyle.call(null, { rowIndex });\r\n }\r\n\r\n return headerRowStyle;\r\n };\r\n\r\n // 表头行的 className 的回调方法\r\n const getHeaderRowClass = (rowIndex: number): string => {\r\n const classes: string[] = [];\r\n\r\n const headerRowClassName = IvueTable.props.headerRowClassName;\r\n\r\n // 字符串\r\n if (typeof headerRowClassName === 'string') {\r\n classes.push(headerRowClassName);\r\n }\r\n // 方法\r\n else if (typeof headerRowClassName === 'function') {\r\n classes.push(headerRowClassName.call(null, { rowIndex }));\r\n }\r\n\r\n return classes.join(' ');\r\n };\r\n\r\n return {\r\n getHeaderCellClass,\r\n getHeaderCellStyle,\r\n getHeaderRowStyle,\r\n getHeaderRowClass,\r\n };\r\n}\r\n\r\nexport default useStyle;\r\n"],"names":[],"mappings":"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"}