diff options
Diffstat (limited to 'lib/gtc-contract/status/gtc-documents-table-toolbar-actions.tsx')
| -rw-r--r-- | lib/gtc-contract/status/gtc-documents-table-toolbar-actions.tsx | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/gtc-contract/status/gtc-documents-table-toolbar-actions.tsx b/lib/gtc-contract/status/gtc-documents-table-toolbar-actions.tsx new file mode 100644 index 00000000..cb52b2ed --- /dev/null +++ b/lib/gtc-contract/status/gtc-documents-table-toolbar-actions.tsx @@ -0,0 +1,39 @@ +"use client" + +import { type Table } from "@tanstack/react-table" +import { Download } from "lucide-react" + +import { exportTableToCSV } from "@/lib/export" +import { Button } from "@/components/ui/button" + +import { type GtcDocumentWithRelations } from "@/db/schema/gtc" +import { CreateGtcDocumentDialog } from "./create-gtc-document-dialog" + +interface GtcDocumentsTableToolbarActionsProps { + table: Table<GtcDocumentWithRelations> +} + +export function GtcDocumentsTableToolbarActions({ + table, +}: GtcDocumentsTableToolbarActionsProps) { + return ( + <div className="flex items-center gap-2"> + {table.getFilteredSelectedRowModel().rows.length > 0 ? ( + <Button + variant="outline" + size="sm" + onClick={() => + exportTableToCSV(table, { + filename: "gtc-documents", + excludeColumns: ["select", "actions"], + }) + } + > + <Download className="mr-2 size-4" aria-hidden="true" /> + Export ({table.getFilteredSelectedRowModel().rows.length}) + </Button> + ) : null} + <CreateGtcDocumentDialog /> + </div> + ) +}
\ No newline at end of file |
