MCPcopy Index your code
hub / github.com/TanStack/table / renderTable

Function renderTable

examples/vanilla/sorting/src/main.ts:63–135  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

61]
62
63const renderTable = () => {
64 // Create table elements
65 const tableElement = document.createElement('table')
66 const theadElement = document.createElement('thead')
67 const tbodyElement = document.createElement('tbody')
68
69 tableElement.classList.add('mb-2')
70
71 tableElement.appendChild(theadElement)
72 tableElement.appendChild(tbodyElement)
73
74 // Render table headers
75 table.getHeaderGroups().forEach((headerGroup) => {
76 const trElement = document.createElement('tr')
77 headerGroup.headers.forEach((header) => {
78 const thElement = document.createElement('th')
79 thElement.colSpan = header.colSpan
80 const divElement = document.createElement('div')
81 divElement.classList.add(
82 'w-36',
83 ...(header.column.getCanSort()
84 ? ['cursor-pointer', 'select-none']
85 : []),
86 )
87 ;((divElement.onclick = (e) =>
88 header.column.getToggleSortingHandler()?.(e)),
89 (divElement.innerHTML = header.isPlaceholder
90 ? ''
91 : flexRender(header.column.columnDef.header, header.getContext())))
92 divElement.innerHTML +=
93 {
94 asc: ' 🔼',
95 desc: ' 🔽',
96 }[header.column.getIsSorted() as string] ?? ''
97 thElement.appendChild(divElement)
98 trElement.appendChild(thElement)
99 })
100 theadElement.appendChild(trElement)
101 })
102
103 // Render table rows
104 table
105 .getRowModel()
106 .rows.slice(0, 10)
107 .forEach((row) => {
108 const trElement = document.createElement('tr')
109 row.getVisibleCells().forEach((cell) => {
110 const tdElement = document.createElement('td')
111 tdElement.innerHTML = flexRender(
112 cell.column.columnDef.cell,
113 cell.getContext(),
114 )
115 trElement.appendChild(tdElement)
116 })
117 tbodyElement.appendChild(trElement)
118 })
119
120 // Render table state info

Callers 1

main.tsFile · 0.70

Calls 2

flexRenderFunction · 0.90
getContextMethod · 0.80

Tested by

no test coverage detected