diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-03-26 00:37:41 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-03-26 00:37:41 +0000 |
| commit | e0dfb55c5457aec489fc084c4567e791b4c65eb1 (patch) | |
| tree | 68543a65d88f5afb3a0202925804103daa91bc6f /lib/vendor-document-list/table/doc-table-toolbar-actions.tsx | |
3/25 까지의 대표님 작업사항
Diffstat (limited to 'lib/vendor-document-list/table/doc-table-toolbar-actions.tsx')
| -rw-r--r-- | lib/vendor-document-list/table/doc-table-toolbar-actions.tsx | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/vendor-document-list/table/doc-table-toolbar-actions.tsx b/lib/vendor-document-list/table/doc-table-toolbar-actions.tsx new file mode 100644 index 00000000..a30384dd --- /dev/null +++ b/lib/vendor-document-list/table/doc-table-toolbar-actions.tsx @@ -0,0 +1,66 @@ +"use client" + +import * as React from "react" +import { type Table } from "@tanstack/react-table" +import { Download, Send, Upload } from "lucide-react" +import { toast } from "sonner" + +import { exportTableToExcel } from "@/lib/export" +import { Button } from "@/components/ui/button" +import { DocumentStagesView } from "@/db/schema/vendorDocu" +import { AddDocumentListDialog } from "./add-doc-dialog" +import { DeleteDocumentsDialog } from "./delete-docs-dialog" + + +interface DocTableToolbarActionsProps { + table: Table<DocumentStagesView> + projectType: "ship" | "plant"; + selectedPackageId: number +} + +export function DocTableToolbarActions({ table, projectType, selectedPackageId }: DocTableToolbarActionsProps) { + + + return ( + <div className="flex items-center gap-2"> + {table.getFilteredSelectedRowModel().rows.length > 0 ? ( + <DeleteDocumentsDialog + documents={table + .getFilteredSelectedRowModel() + .rows.map((row) => row.original)} + onSuccess={() => table.toggleAllRowsSelected(false)} + /> + ) : null} + + + <AddDocumentListDialog projectType={projectType} contractId={selectedPackageId} /> + + <Button + variant="outline" + size="sm" + onClick={() => + exportTableToExcel(table, { + filename: "Document-list", + excludeColumns: ["select", "actions"], + }) + } + className="gap-2" + > + <Download className="size-4" aria-hidden="true" /> + <span className="hidden sm:inline">Export</span> + </Button> + + + + <Button + variant="samsung" + size="sm" + className="gap-2" + > + <Send className="size-4" aria-hidden="true" /> + <span className="hidden sm:inline">Send to SHI</span> + </Button> + + </div> + ) +}
\ No newline at end of file |
