data-table-column-header.tsx — ui Source File
Architecture documentation for data-table-column-header.tsx, a tsx file in the ui codebase. 5 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR ac7d025e_c65b_8066_4ef7_9fc6b0584275["data-table-column-header.tsx"] eff11612_0b61_f7f9_e13e_9117a7062bb3["react-table"] ac7d025e_c65b_8066_4ef7_9fc6b0584275 --> eff11612_0b61_f7f9_e13e_9117a7062bb3 d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"] ac7d025e_c65b_8066_4ef7_9fc6b0584275 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3 79081a1f_55a3_945a_fb8c_d53d6d3eab81["utils"] ac7d025e_c65b_8066_4ef7_9fc6b0584275 --> 79081a1f_55a3_945a_fb8c_d53d6d3eab81 57e86e45_ac6e_7278_be08_9092724e8401["button"] ac7d025e_c65b_8066_4ef7_9fc6b0584275 --> 57e86e45_ac6e_7278_be08_9092724e8401 d1cb37f2_0d1d_01bc_0d60_a15219afac51["dropdown-menu"] ac7d025e_c65b_8066_4ef7_9fc6b0584275 --> d1cb37f2_0d1d_01bc_0d60_a15219afac51 43b33977_407a_3859_0d77_dc087ee891e4["columns.tsx"] 43b33977_407a_3859_0d77_dc087ee891e4 --> ac7d025e_c65b_8066_4ef7_9fc6b0584275 style ac7d025e_c65b_8066_4ef7_9fc6b0584275 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { type Column } from "@tanstack/react-table"
import { ArrowDown, ArrowUp, ChevronsUpDown, EyeOff } from "lucide-react"
import { cn } from "@/lib/utils"
import { Button } from "@/registry/new-york-v4/ui/button"
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/registry/new-york-v4/ui/dropdown-menu"
interface DataTableColumnHeaderProps<TData, TValue>
extends React.HTMLAttributes<HTMLDivElement> {
column: Column<TData, TValue>
title: string
}
export function DataTableColumnHeader<TData, TValue>({
column,
title,
className,
}: DataTableColumnHeaderProps<TData, TValue>) {
if (!column.getCanSort()) {
return <div className={cn(className)}>{title}</div>
}
return (
<div className={cn("flex items-center gap-2", className)}>
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button
variant="ghost"
size="sm"
className="data-[state=open]:bg-accent -ml-3 h-8"
>
<span>{title}</span>
{column.getIsSorted() === "desc" ? (
<ArrowDown />
) : column.getIsSorted() === "asc" ? (
<ArrowUp />
) : (
<ChevronsUpDown />
)}
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="start">
<DropdownMenuItem onClick={() => column.toggleSorting(false)}>
<ArrowUp />
Asc
</DropdownMenuItem>
<DropdownMenuItem onClick={() => column.toggleSorting(true)}>
<ArrowDown />
Desc
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem onClick={() => column.toggleVisibility(false)}>
<EyeOff />
Hide
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
</div>
)
}
Domain
Subdomains
Functions
Dependencies
- button
- dropdown-menu
- lucide-react
- react-table
- utils
Source
Frequently Asked Questions
What does data-table-column-header.tsx do?
data-table-column-header.tsx is a source file in the ui codebase, written in tsx. It belongs to the ApplicationExhibition domain, TaskManagement subdomain.
What functions are defined in data-table-column-header.tsx?
data-table-column-header.tsx defines 1 function(s): DataTableColumnHeader.
What does data-table-column-header.tsx depend on?
data-table-column-header.tsx imports 5 module(s): button, dropdown-menu, lucide-react, react-table, utils.
What files import data-table-column-header.tsx?
data-table-column-header.tsx is imported by 1 file(s): columns.tsx.
Where is data-table-column-header.tsx in the architecture?
data-table-column-header.tsx is located at apps/v4/app/(app)/examples/tasks/components/data-table-column-header.tsx (domain: ApplicationExhibition, subdomain: TaskManagement, directory: apps/v4/app/(app)/examples/tasks/components).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free