MCPcopy
hub / github.com/TanStack/table / renderTable

Function renderTable

examples/vanilla/pagination/src/main.ts:47–196  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

45]
46
47const renderTable = () => {
48 // Create table elements
49 const tableElement = document.createElement('table')
50 const theadElement = document.createElement('thead')
51 const tbodyElement = document.createElement('tbody')
52
53 tableElement.classList.add('mb-2')
54
55 tableElement.appendChild(theadElement)
56 tableElement.appendChild(tbodyElement)
57
58 // Render table headers
59 table.getHeaderGroups().forEach((headerGroup) => {
60 const trElement = document.createElement('tr')
61 headerGroup.headers.forEach((header) => {
62 const thElement = document.createElement('th')
63 thElement.colSpan = header.colSpan
64 const divElement = document.createElement('div')
65 divElement.classList.add(
66 'w-36',
67 ...(header.column.getCanSort()
68 ? ['cursor-pointer', 'select-none']
69 : []),
70 )
71 ;((divElement.onclick = (e) =>
72 header.column.getToggleSortingHandler()?.(e)),
73 (divElement.innerHTML = header.isPlaceholder
74 ? ''
75 : flexRender(header.column.columnDef.header, header.getContext())))
76 divElement.innerHTML +=
77 {
78 asc: ' 🔼',
79 desc: ' 🔽',
80 }[header.column.getIsSorted() as string] ?? ''
81 thElement.appendChild(divElement)
82 trElement.appendChild(thElement)
83 })
84 theadElement.appendChild(trElement)
85 })
86
87 // Render table rows
88 table.getRowModel().rows.forEach((row) => {
89 const trElement = document.createElement('tr')
90 row.getVisibleCells().forEach((cell) => {
91 const tdElement = document.createElement('td')
92 tdElement.innerHTML = flexRender(
93 cell.column.columnDef.cell,
94 cell.getContext(),
95 )
96 trElement.appendChild(tdElement)
97 })
98 tbodyElement.appendChild(trElement)
99 })
100
101 // Render pagination
102 const paginationElement = document.createElement('div')
103 paginationElement.classList.add('flex', 'items-center', 'gap-2')
104

Callers 1

main.tsFile · 0.70

Calls 4

flexRenderFunction · 0.90
getContextMethod · 0.80
previousPageMethod · 0.80
nextPageMethod · 0.80

Tested by

no test coverage detected