ivue-material-plus
Version:
A high quality UI components Library with Vue.js
46 lines (43 loc) • 1.2 kB
JavaScript
import { inject } from 'vue';
import { getFixedColumnsClass, getFixedColumnOffset, ensurePosition } from '../utils.mjs';
import { TableContextKey } from '../table/defaults.mjs';
const prefixCls = "ivue-table";
function useStyle(props) {
const table = inject(TableContextKey);
const store = table.store;
const columns = store.states.columns;
const getCellClass = (columns2, cellIndex) => {
const column = columns2[cellIndex];
const classes = [
"ivue-table-cell",
column.id,
column.align,
column.labelClassName,
...getFixedColumnsClass(prefixCls, cellIndex, column.fixed, props.store)
];
if (column.className) {
classes.push(column.className);
}
if (!column.children) {
classes.push("is-leaf");
}
return classes;
};
const getCellStyle = (column, cellIndex) => {
const fixedStyle = getFixedColumnOffset(
cellIndex,
column.fixed,
props.store
);
ensurePosition(fixedStyle, "left");
ensurePosition(fixedStyle, "right");
return fixedStyle;
};
return {
columns,
getCellClass,
getCellStyle
};
}
export { useStyle as default };
//# sourceMappingURL=styles.mjs.map