diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-23 09:08:03 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-23 09:08:03 +0000 |
| commit | a50bc9baea332f996e6bc3a5d70c69f6d2d0f194 (patch) | |
| tree | 7493b8a4d9cc7cc3375068f1aa10b0067e85988f /lib/tech-vendor-candidates/table/candidates-table-toolbar-actions.tsx | |
| parent | 7402e759857d511add0d3eb19f1fa13cb957c1df (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.tsx | 93 |
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 |
