summaryrefslogtreecommitdiff
path: root/lib/tech-vendor-candidates/table/candidates-table-toolbar-actions.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-23 09:08:03 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-23 09:08:03 +0000
commita50bc9baea332f996e6bc3a5d70c69f6d2d0f194 (patch)
tree7493b8a4d9cc7cc3375068f1aa10b0067e85988f /lib/tech-vendor-candidates/table/candidates-table-toolbar-actions.tsx
parent7402e759857d511add0d3eb19f1fa13cb957c1df (diff)
(대표님, 최겸) 기본계약 템플릿 및 에디터, 기술영업 벤더정보, 파일 보안다운로드, 벤더 document sync 상태 서비스, 메뉴 Config, 기술영업 미사용 제거
Diffstat (limited to 'lib/tech-vendor-candidates/table/candidates-table-toolbar-actions.tsx')
-rw-r--r--lib/tech-vendor-candidates/table/candidates-table-toolbar-actions.tsx93
1 files changed, 0 insertions, 93 deletions
diff --git a/lib/tech-vendor-candidates/table/candidates-table-toolbar-actions.tsx b/lib/tech-vendor-candidates/table/candidates-table-toolbar-actions.tsx
deleted file mode 100644
index 17462841..00000000
--- a/lib/tech-vendor-candidates/table/candidates-table-toolbar-actions.tsx
+++ /dev/null
@@ -1,93 +0,0 @@
-"use client"
-
-import * as React from "react"
-import { type Table } from "@tanstack/react-table"
-import { Download, FileDown, Upload } from "lucide-react"
-
-import { exportTableToExcel } from "@/lib/export"
-import { Button } from "@/components/ui/button"
-import {
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuTrigger,
-} from "@/components/ui/dropdown-menu"
-
-import { AddCandidateDialog } from "./add-candidates-dialog"
-import { DeleteCandidatesDialog } from "./delete-candidates-dialog"
-import { InviteCandidatesDialog } from "./invite-candidates-dialog"
-import { ImportVendorCandidatesButton } from "./import-button"
-import { exportVendorCandidateTemplate } from "./excel-template-download"
-import { VendorCandidatesWithVendorInfo } from "@/db/schema/vendors"
-
-
-interface CandidatesTableToolbarActionsProps {
- table: Table<VendorCandidatesWithVendorInfo>
-}
-
-export function CandidatesTableToolbarActions({ table }: CandidatesTableToolbarActionsProps) {
- const selectedRows = table.getFilteredSelectedRowModel().rows
- const hasSelection = selectedRows.length > 0
- const [refreshKey, setRefreshKey] = React.useState(0)
-
- // Handler to refresh the table after import
- const handleImportSuccess = () => {
- // Trigger a refresh of the table data
- setRefreshKey(prev => prev + 1)
- }
-
- return (
- <div className="flex items-center gap-2">
- {/* Show actions only when rows are selected */}
- {hasSelection ? (
- <>
- {/* Invite dialog - new addition */}
- <InviteCandidatesDialog
- candidates={selectedRows.map((row) => row.original)}
- onSuccess={() => table.toggleAllRowsSelected(false)}
- />
-
- {/* Delete dialog */}
- <DeleteCandidatesDialog
- candidates={selectedRows.map((row) => row.original)}
- onSuccess={() => table.toggleAllRowsSelected(false)}
- />
- </>
- ) : null}
-
- {/* Add new candidate dialog */}
- <AddCandidateDialog />
-
- {/* Import Excel button */}
- <ImportVendorCandidatesButton onSuccess={handleImportSuccess} />
-
- {/* Export dropdown menu */}
- <DropdownMenu>
- <DropdownMenuTrigger asChild>
- <Button variant="outline" size="sm" className="gap-2">
- <Download className="size-4" aria-hidden="true" />
- <span className="hidden sm:inline">Export</span>
- </Button>
- </DropdownMenuTrigger>
- <DropdownMenuContent align="end">
- <DropdownMenuItem
- onClick={() => {
- exportTableToExcel(table, {
- filename: "vendor-candidates",
- excludeColumns: ["select", "actions"],
- useGroupHeader: false,
- })
- }}
- >
- <FileDown className="mr-2 h-4 w-4" />
- <span>Export Current Data</span>
- </DropdownMenuItem>
- <DropdownMenuItem onClick={exportVendorCandidateTemplate}>
- <FileDown className="mr-2 h-4 w-4" />
- <span>Download Template</span>
- </DropdownMenuItem>
- </DropdownMenuContent>
- </DropdownMenu>
- </div>
- )
-} \ No newline at end of file