From 5036cf2908792cef45f06256e71f10920f647f49 Mon Sep 17 00:00:00 2001
From: dujinkim <dujin.kim@dtsolution.co.kr>
Date: Wed, 28 May 2025 19:03:21 +0000
Subject: (김준회) 기술영업 조선 RFQ (SHI/벤더)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../table/rfq-table-toolbar-actions.tsx            | 63 ++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100644 lib/techsales-rfq/table/rfq-table-toolbar-actions.tsx

(limited to 'lib/techsales-rfq/table/rfq-table-toolbar-actions.tsx')

diff --git a/lib/techsales-rfq/table/rfq-table-toolbar-actions.tsx b/lib/techsales-rfq/table/rfq-table-toolbar-actions.tsx
new file mode 100644
index 00000000..da716eeb
--- /dev/null
+++ b/lib/techsales-rfq/table/rfq-table-toolbar-actions.tsx
@@ -0,0 +1,63 @@
+"use client"
+
+import * as React from "react"
+import { Download, RefreshCw } from "lucide-react"
+import { toast } from "sonner"
+
+import { exportTableToExcel } from "@/lib/export"
+import { Button } from "@/components/ui/button"
+import { type Table } from "@tanstack/react-table"
+import { CreateRfqDialog } from "./create-rfq-dialog"
+
+interface RFQTableToolbarActionsProps<TData> {
+  selection: Table<TData>;
+  onRefresh?: () => void;
+}
+
+export function RFQTableToolbarActions<TData>({
+  selection,
+  onRefresh
+}: RFQTableToolbarActionsProps<TData>) {
+
+  // 데이터 새로고침
+  const handleRefresh = () => {
+    if (onRefresh) {
+      onRefresh();
+      toast.success("데이터를 새로고침했습니다");
+    }
+  }
+
+  return (
+    <div className="flex items-center gap-2">
+      {/* RFQ 생성 다이얼로그 */}
+      <CreateRfqDialog onCreated={onRefresh} />
+
+      {/* 새로고침 버튼 */}
+      <Button
+        variant="outline"
+        size="sm"
+        onClick={handleRefresh}
+        className="gap-2"
+      >
+        <RefreshCw className="size-4" aria-hidden="true" />
+        <span className="hidden sm:inline">새로고침</span>
+      </Button>
+      
+      {/* 내보내기 버튼 */}
+      <Button
+        variant="outline"
+        size="sm"
+        onClick={() =>
+          exportTableToExcel(selection, {
+            filename: "tech_sales_rfq",
+            excludeColumns: ["select", "actions"],
+          })
+        }
+        className="gap-2"
+      >
+        <Download className="size-4" aria-hidden="true" />
+        <span className="hidden sm:inline">내보내기</span>
+      </Button>
+    </div>
+  )
+}
\ No newline at end of file
-- 
cgit v1.2.3

