MCPcopy Create free account
hub / github.com/TanStack/table / recurseHeadersForSpans

Function recurseHeadersForSpans

packages/table-core/src/core/headers.ts:601–634  ·  view source on GitHub ↗
(
    headers: Header<TData, unknown>[],
  )

Source from the content-addressed store, hash-verified

599 // })
600
601 const recurseHeadersForSpans = (
602 headers: Header<TData, unknown>[],
603 ): { colSpan: number; rowSpan: number }[] => {
604 const filteredHeaders = headers.filter((header) =>
605 header.column.getIsVisible(),
606 )
607
608 return filteredHeaders.map((header) => {
609 let colSpan = 0
610 let rowSpan = 0
611 let childRowSpans = [0]
612
613 if (header.subHeaders && header.subHeaders.length) {
614 childRowSpans = []
615
616 recurseHeadersForSpans(header.subHeaders).forEach(
617 ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {
618 colSpan += childColSpan
619 childRowSpans.push(childRowSpan)
620 },
621 )
622 } else {
623 colSpan = 1
624 }
625
626 const minChildRowSpan = Math.min(...childRowSpans)
627 rowSpan = rowSpan + minChildRowSpan
628
629 header.colSpan = colSpan
630 header.rowSpan = rowSpan
631
632 return { colSpan, rowSpan }
633 })
634 }
635
636 recurseHeadersForSpans(headerGroups[0]?.headers ?? [])
637

Callers 1

buildHeaderGroupsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected