summaryrefslogtreecommitdiff
path: root/lib/tech-vendors/contacts-table/contact-table-columns.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-17 10:50:52 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-17 10:50:52 +0000
commit2ef02e27dbe639876fa3b90c30307dda183545ec (patch)
treee132ae7f3dd774e1ce767291c2849be4a63ae762 /lib/tech-vendors/contacts-table/contact-table-columns.tsx
parentfb276ed3db86fe4fc0c0fcd870fd3d085b034be0 (diff)
(최겸) 기술영업 변경사항 적용
Diffstat (limited to 'lib/tech-vendors/contacts-table/contact-table-columns.tsx')
-rw-r--r--lib/tech-vendors/contacts-table/contact-table-columns.tsx45
1 files changed, 13 insertions, 32 deletions
diff --git a/lib/tech-vendors/contacts-table/contact-table-columns.tsx b/lib/tech-vendors/contacts-table/contact-table-columns.tsx
index fece5013..b8f4e7a2 100644
--- a/lib/tech-vendors/contacts-table/contact-table-columns.tsx
+++ b/lib/tech-vendors/contacts-table/contact-table-columns.tsx
@@ -4,48 +4,35 @@ import * as React from "react"
import { type DataTableRowAction } from "@/types/table"
import { type ColumnDef } from "@tanstack/react-table"
import { Ellipsis } from "lucide-react"
-import { toast } from "sonner"
-import { getErrorMessage } from "@/lib/handle-error"
import { formatDate } from "@/lib/utils"
-import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"
import { Checkbox } from "@/components/ui/checkbox"
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
- DropdownMenuRadioGroup,
- DropdownMenuRadioItem,
DropdownMenuSeparator,
DropdownMenuShortcut,
- DropdownMenuSub,
- DropdownMenuSubContent,
- DropdownMenuSubTrigger,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"
-import { DataTableColumnHeader } from "@/components/data-table/data-table-column-header"
-import { VendorContact, vendors } from "@/db/schema/vendors"
-import { modifyVendor } from "../service"
+import { TechVendorContact } from "@/db/schema/techVendors"
import { DataTableColumnHeaderSimple } from "@/components/data-table/data-table-column-simple-header"
-import { vendorContactsColumnsConfig } from "@/config/vendorContactsColumnsConfig"
-
-
-
+import { techVendorContactsColumnsConfig } from "@/config/techVendorContactsColumnsConfig"
interface GetColumnsProps {
- setRowAction: React.Dispatch<React.SetStateAction<DataTableRowAction<VendorContact> | null>>;
+ setRowAction: React.Dispatch<React.SetStateAction<DataTableRowAction<TechVendorContact> | null>>;
}
/**
* tanstack table 컬럼 정의 (중첩 헤더 버전)
*/
-export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<VendorContact>[] {
+export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<TechVendorContact>[] {
// ----------------------------------------------------------------
// 1) select 컬럼 (체크박스)
// ----------------------------------------------------------------
- const selectColumn: ColumnDef<VendorContact> = {
+ const selectColumn: ColumnDef<TechVendorContact> = {
id: "select",
header: ({ table }) => (
<Checkbox
@@ -74,12 +61,10 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<VendorC
// ----------------------------------------------------------------
// 2) actions 컬럼 (Dropdown 메뉴)
// ----------------------------------------------------------------
- const actionsColumn: ColumnDef<VendorContact> = {
+ const actionsColumn: ColumnDef<TechVendorContact> = {
id: "actions",
enableHiding: false,
cell: function Cell({ row }) {
- const [isUpdatePending, startUpdateTransition] = React.useTransition()
-
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
@@ -95,7 +80,6 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<VendorC
<DropdownMenuItem
onSelect={() => {
setRowAction({ row, type: "update" })
-
}}
>
Edit
@@ -118,10 +102,10 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<VendorC
// ----------------------------------------------------------------
// 3) 일반 컬럼들을 "그룹"별로 묶어 중첩 columns 생성
// ----------------------------------------------------------------
- // 3-1) groupMap: { [groupName]: ColumnDef<VendorContact>[] }
- const groupMap: Record<string, ColumnDef<VendorContact>[]> = {}
+ // 3-1) groupMap: { [groupName]: ColumnDef<TechVendorContact>[] }
+ const groupMap: Record<string, ColumnDef<TechVendorContact>[]> = {}
- vendorContactsColumnsConfig.forEach((cfg) => {
+ techVendorContactsColumnsConfig.forEach((cfg) => {
// 만약 group가 없으면 "_noGroup" 처리
const groupName = cfg.group || "_noGroup"
@@ -130,7 +114,7 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<VendorC
}
// child column 정의
- const childCol: ColumnDef<VendorContact> = {
+ const childCol: ColumnDef<TechVendorContact> = {
accessorKey: cfg.id,
enableResizing: true,
header: ({ column }) => (
@@ -142,19 +126,16 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<VendorC
type: cfg.type,
},
cell: ({ row, cell }) => {
-
-
if (cfg.id === "createdAt") {
const dateVal = cell.getValue() as Date
- return formatDate(dateVal, "KR")
+ return formatDate(dateVal)
}
if (cfg.id === "updatedAt") {
const dateVal = cell.getValue() as Date
- return formatDate(dateVal, "KR")
+ return formatDate(dateVal)
}
-
// code etc...
return row.getValue(cfg.id) ?? ""
},
@@ -166,7 +147,7 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<VendorC
// ----------------------------------------------------------------
// 3-2) groupMap에서 실제 상위 컬럼(그룹)을 만들기
// ----------------------------------------------------------------
- const nestedColumns: ColumnDef<VendorContact>[] = []
+ const nestedColumns: ColumnDef<TechVendorContact>[] = []
// 순서를 고정하고 싶다면 group 순서를 미리 정의하거나 sort해야 함
// 여기서는 그냥 Object.entries 순서