diff options
Diffstat (limited to 'lib/tbe/table/tbe-table-toolbar-actions.tsx')
| -rw-r--r-- | lib/tbe/table/tbe-table-toolbar-actions.tsx | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/lib/tbe/table/tbe-table-toolbar-actions.tsx b/lib/tbe/table/tbe-table-toolbar-actions.tsx deleted file mode 100644 index cf6a041e..00000000 --- a/lib/tbe/table/tbe-table-toolbar-actions.tsx +++ /dev/null @@ -1,72 +0,0 @@ -"use client" - -import * as React from "react" -import { type Table } from "@tanstack/react-table" -import { Download, Upload } from "lucide-react" -import { toast } from "sonner" - -import { exportTableToExcel } from "@/lib/export" -import { Button } from "@/components/ui/button" - - -import { InviteVendorsDialog } from "./invite-vendors-dialog" -import { VendorWithTbeFields } from "@/config/vendorTbeColumnsConfig" - -interface VendorsTableToolbarActionsProps { - table: Table<VendorWithTbeFields> - rfqId: number -} - -export function VendorsTableToolbarActions({ table,rfqId }: VendorsTableToolbarActionsProps) { - // 파일 input을 숨기고, 버튼 클릭 시 참조해 클릭하는 방식 - const fileInputRef = React.useRef<HTMLInputElement>(null) - - // 파일이 선택되었을 때 처리 - - function handleImportClick() { - // 숨겨진 <input type="file" /> 요소를 클릭 - fileInputRef.current?.click() - } - - // 선택된 행이 있는 경우 rfqId 확인 - const uniqueRfqIds = table.getFilteredSelectedRowModel().rows.length > 0 - ? [...new Set(table.getFilteredSelectedRowModel().rows.map(row => row.original.rfqId))] - : []; - - const hasMultipleRfqIds = uniqueRfqIds.length > 1; - - const invitationPossibeVendors = React.useMemo(() => { - return table - .getFilteredSelectedRowModel() - .rows - .map(row => row.original) - .filter(vendor => vendor.technicalResponseStatus === null); - }, [table.getFilteredSelectedRowModel().rows]); - - return ( - <div className="flex items-center gap-2"> - {invitationPossibeVendors.length > 0 && ( - <InviteVendorsDialog - vendors={invitationPossibeVendors} - rfqId={rfqId} - onSuccess={() => table.toggleAllRowsSelected(false)} - hasMultipleRfqIds={hasMultipleRfqIds} - /> - )} - <Button - variant="outline" - size="sm" - onClick={() => - exportTableToExcel(table, { - filename: "tasks", - excludeColumns: ["select", "actions"], - }) - } - className="gap-2" - > - <Download className="size-4" aria-hidden="true" /> - <span className="hidden sm:inline">Export</span> - </Button> - </div> - ) -}
\ No newline at end of file |
