Files
manolia-alpha/node_modules/buetify/lib/components/table/BTableHeader.js
Robin COuret e0e50af706 init component
2026-02-16 17:28:37 +01:00

39 lines
1.1 KiB
JavaScript
Executable File

import { BCheckbox } from '../form/checkbox/BCheckbox';
import BTableColumn from './BTableColumn';
import { useInjectedVisibleColumns } from './composables/shared';
import { useInjectedCheckableTable } from './composables/useCheckableTable';
import { h } from 'vue';
export default function BTableHeader(props, {
slots
}) {
const {
allRowsChecked,
toggleAllRows,
variant,
isCheckable
} = useInjectedCheckableTable();
const columns = useInjectedVisibleColumns();
const nodes = columns.value.map(column => h(BTableColumn, {
key: column.label,
column
}, slots));
if (isCheckable.value) {
nodes.unshift(slots['header.checkbox'] ? h('th', slots['header.checkbox']({
modelValue: allRowsChecked.value,
variant: variant.value,
isDisabled: props.isDisabled,
'onUpdate:modelValue': toggleAllRows
})) : h('th', {
class: 'checkbox-cell'
}, [h(BCheckbox, {
modelValue: allRowsChecked.value,
variant: variant.value,
isDisabled: props.isDisabled,
'onUpdate:modelValue': toggleAllRows
})]));
}
return h('thead', [h('tr', nodes)]);
}
//# sourceMappingURL=BTableHeader.js.map