UNPKG

@1771technologies/lytenyte-pro

Version:

Blazingly fast headless React data grid with 100s of features.

23 lines (22 loc) 724 B
export function getSpanFn(rds, grid, visibleColumns, span) { if (visibleColumns.every((c) => !(span === "col" ? c.colSpan : c.rowSpan))) return null; return (r, c) => { const row = rds.rowByIndex(r); const column = visibleColumns[c]; if (!row || !column) return 1; const spanFn = span === "col" ? column.colSpan : column.rowSpan; if (!spanFn) return 1; if (typeof spanFn === "number") { if (span === "col") { return spanFn; } else { return r % spanFn === 0 ? spanFn : 1; } } return spanFn({ grid, rowIndex: r, colIndex: c, row }); }; }