element-plus
Version:
A Component Library for Vue 3
1 lines • 5.15 kB
Source Map (JSON)
{"version":3,"file":"style.helper.mjs","sources":["../../../../../../../packages/components/table/src/table-header/style.helper.ts"],"sourcesContent":["import { getCurrentInstance } from 'vue'\n\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { Table } from '../table/defaults'\nimport type { TableHeaderProps } from '.'\n\nfunction useStyle<T>(props: TableHeaderProps<T>) {\n const instance = getCurrentInstance()\n const parent = instance.parent as Table<T>\n const storeData = parent.store.states\n const isCellHidden = (\n index: number,\n columns: TableColumnCtx<T>[]\n ): boolean => {\n let start = 0\n for (let i = 0; i < index; i++) {\n start += columns[i].colSpan\n }\n const after = start + columns[index].colSpan - 1\n if (props.fixed === 'left') {\n return after >= storeData.fixedLeafColumnsLength.value\n } else if (props.fixed === 'right') {\n return (\n start <\n storeData.columns.value.length -\n storeData.rightFixedLeafColumnsLength.value\n )\n } else {\n return (\n after < storeData.fixedLeafColumnsLength.value ||\n start >=\n storeData.columns.value.length -\n storeData.rightFixedLeafColumnsLength.value\n )\n }\n }\n\n const getHeaderRowStyle = (rowIndex: number) => {\n const headerRowStyle = parent.props.headerRowStyle\n if (typeof headerRowStyle === 'function') {\n return headerRowStyle.call(null, { rowIndex })\n }\n return headerRowStyle\n }\n\n const getHeaderRowClass = (rowIndex: number): string => {\n const classes = []\n const headerRowClassName = parent.props.headerRowClassName\n if (typeof headerRowClassName === 'string') {\n classes.push(headerRowClassName)\n } else if (typeof headerRowClassName === 'function') {\n classes.push(headerRowClassName.call(null, { rowIndex }))\n }\n\n return classes.join(' ')\n }\n\n const getHeaderCellStyle = (\n rowIndex: number,\n columnIndex: number,\n row: T,\n column: TableColumnCtx<T>\n ) => {\n const headerCellStyle = parent.props.headerCellStyle\n if (typeof headerCellStyle === 'function') {\n return headerCellStyle.call(null, {\n rowIndex,\n columnIndex,\n row,\n column,\n })\n }\n return headerCellStyle\n }\n\n const getHeaderCellClass = (\n rowIndex: number,\n columnIndex: number,\n row: T,\n column: TableColumnCtx<T>\n ) => {\n const classes = [\n column.id,\n column.order,\n column.headerAlign,\n column.className,\n column.labelClassName,\n ]\n if (\n rowIndex === 0 &&\n isCellHidden(columnIndex, row as unknown as TableColumnCtx<T>[])\n ) {\n classes.push('is-hidden')\n }\n\n if (!column.children) {\n classes.push('is-leaf')\n }\n\n if (column.sortable) {\n classes.push('is-sortable')\n }\n\n const headerCellClassName = parent.props.headerCellClassName\n if (typeof headerCellClassName === 'string') {\n classes.push(headerCellClassName)\n } else if (typeof headerCellClassName === 'function') {\n classes.push(\n headerCellClassName.call(null, {\n rowIndex,\n columnIndex,\n row,\n column,\n })\n )\n }\n\n classes.push('el-table__cell')\n\n return classes.join(' ')\n }\n\n return {\n getHeaderRowStyle,\n getHeaderRowClass,\n getHeaderCellStyle,\n getHeaderCellClass,\n }\n}\n\nexport default useStyle\n"],"names":[],"mappings":";;AAMA,kBAAqB,OAA4B;AAC/C,QAAM,WAAW;AACjB,QAAM,SAAS,SAAS;AACxB,QAAM,YAAY,OAAO,MAAM;AAC/B,QAAM,eAAe,CACnB,OACA,YACY;AACZ,QAAI,QAAQ;AACZ,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC9B,eAAS,QAAQ,GAAG;AAAA;AAEtB,UAAM,QAAQ,QAAQ,QAAQ,OAAO,UAAU;AAC/C,QAAI,MAAM,UAAU,QAAQ;AAC1B,aAAO,SAAS,UAAU,uBAAuB;AAAA,eACxC,MAAM,UAAU,SAAS;AAClC,aACE,QACA,UAAU,QAAQ,MAAM,SACtB,UAAU,4BAA4B;AAAA,WAErC;AACL,aACE,QAAQ,UAAU,uBAAuB,SACzC,SACE,UAAU,QAAQ,MAAM,SACtB,UAAU,4BAA4B;AAAA;AAAA;AAKhD,QAAM,oBAAoB,CAAC,aAAqB;AAC9C,UAAM,iBAAiB,OAAO,MAAM;AACpC,QAAI,OAAO,mBAAmB,YAAY;AACxC,aAAO,eAAe,KAAK,MAAM,EAAE;AAAA;AAErC,WAAO;AAAA;AAGT,QAAM,oBAAoB,CAAC,aAA6B;AACtD,UAAM,UAAU;AAChB,UAAM,qBAAqB,OAAO,MAAM;AACxC,QAAI,OAAO,uBAAuB,UAAU;AAC1C,cAAQ,KAAK;AAAA,eACJ,OAAO,uBAAuB,YAAY;AACnD,cAAQ,KAAK,mBAAmB,KAAK,MAAM,EAAE;AAAA;AAG/C,WAAO,QAAQ,KAAK;AAAA;AAGtB,QAAM,qBAAqB,CACzB,UACA,aACA,KACA,WACG;AACH,UAAM,kBAAkB,OAAO,MAAM;AACrC,QAAI,OAAO,oBAAoB,YAAY;AACzC,aAAO,gBAAgB,KAAK,MAAM;AAAA,QAChC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA;AAGJ,WAAO;AAAA;AAGT,QAAM,qBAAqB,CACzB,UACA,aACA,KACA,WACG;AACH,UAAM,UAAU;AAAA,MACd,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA;AAET,QACE,aAAa,KACb,aAAa,aAAa,MAC1B;AACA,cAAQ,KAAK;AAAA;AAGf,QAAI,CAAC,OAAO,UAAU;AACpB,cAAQ,KAAK;AAAA;AAGf,QAAI,OAAO,UAAU;AACnB,cAAQ,KAAK;AAAA;AAGf,UAAM,sBAAsB,OAAO,MAAM;AACzC,QAAI,OAAO,wBAAwB,UAAU;AAC3C,cAAQ,KAAK;AAAA,eACJ,OAAO,wBAAwB,YAAY;AACpD,cAAQ,KACN,oBAAoB,KAAK,MAAM;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA;AAKN,YAAQ,KAAK;AAEb,WAAO,QAAQ,KAAK;AAAA;AAGtB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;;;;"}