import { html } from 'lit-html'; import { FreeGrid } from '..'; import { resizeColumnElement } from './resizeColumnElement'; import { headerColumContent } from './headerColumContent'; import { columnDragDrop } from '../dragEvent'; import { eventIF } from '../eventIF'; export function headerColumnElements(freeGrid: FreeGrid) { /** current left of column, so they stack nicely */ const grouping = freeGrid.config.groupingSet && freeGrid.config.groupingSet.length; let curleft = grouping ? grouping * 15 : 0; return freeGrid.config.columns.map((col, i) => { if (!col.hide) { const style = `width:${col.width || 100}px;left:${curleft}px`; const mousedown = columnDragDrop('dragstart', col, i, freeGrid); const mouseenter = columnDragDrop('enter', col, i, freeGrid); const template = html` ${html` `} ${headerColumContent(freeGrid, col)} ${resizeColumnElement(freeGrid, col)} `; curleft = curleft + (col.width || 100); return template; } else { return html``; } }); }